anchor.diff:                  (push hdr-desc (virtio-net-free-tx-buffers dev))))))
           (sys.net:register-nic dev)
           ;; Unmask the IRQ.
  -        (setf (virtio-net-irq-signal dev) (sys.int::cons-in-area nil nil :static)
  -              (sys.int::isa-pic-interrupt-handler (sys.int::pci-irq-line pci-device))
  +        (setf (sys.int::isa-pic-interrupt-handler (sys.int::pci-irq-line pci-device))
                 (sys.int::make-interrupt-handler 'virtio-interrupt
                                                  (virtio-net-io-base dev)
  -                                               (virtio-net-irq-signal dev))
  -              (sys.int::isa-pic-irq-mask (sys.int::pci-irq-line pci-device)) nil)
  +                                               (virtio-net-irq-semaphore dev)))
  +        (setf (sys.int::isa-pic-irq-mask (sys.int::pci-irq-line pci-device)) nil)
           ;; Create worker process.
           (setf (virtio-net-process dev) (sys.int::make-process "Virtio-Net worker"))
           (sys.int::process-preset (virtio-net-process dev)
  
positive.code:   tx-array
    free-tx-buffers
    process
    irq-signal)
  
  (defmethod print-object ((object virtio-net) stream)
    (print-unreadable-object (object stream :type t)
  
negative.code: 
  (defun worker (dev)
    (loop
       (sys.int::wait-on-semaphore (virtio-net-irq-semaphore dev))
       #+nil(format t "Network interrupt! RX used idx: ~D  TX used idx: ~D~%"
               (vring-used-idx (aref (virtio-device-virtqueues dev) +net-receiveq+))
               (vring-used-idx (aref (virtio-device-virtqueues dev) +net-transmitq+)))
  