anchor.diff:  
   (defun ahci-run-command (ahci port command)
     (let* ((port-info (ahci-port ahci port))
  -         (irq-latch (ahci-port-irq-latch port-info)))
  +         (irq-latch (ahci-port-irq-latch port-info))
  +         (irq-timeout-timer (ahci-port-irq-timeout-timer port-info))
  +         (irq-watcher (ahci-port-irq-watcher port-info)))
       ;; Reset PRDBC, stop it accumulating over commands. I'm not sure how the HBA actually uses this,
       ;; if it keeps track of DMA progress or if it's just for reporting.
       (setf (sup::physical-memref-unsigned-byte-32 (ahci-port-command-list port-info) +ahci-ch-PRDBC+) 0)
  
positive.code:   command-list
    received-fis
    command-table
    (irq-latch (sup:make-event :name "AHCI Port IRQ Notifier"))
    atapi-p
    cdb-size
    lba48-capable
  
negative.code:     ;; Start command 1.
      (setf (ahci-port-register ahci port +ahci-register-PxCI+) 1)
      ;; Wait for it... Wait for it...
      (sup:timer-arm 30 irq-timeout-timer)
      (sup:watcher-wait irq-watcher)
      (when (not (sup:event-state irq-latch))
        (sup:ensure (sup:timer-expired-p irq-timeout-timer))
        ;; FIXME: Do something better than this.
        (sup:debug-print-line "*** AHCI-RUN-COMMAND TIMEOUT EXPIRED! ***"))
      ;; -absolute is non-consing
      (sup:timer-disarm-absolute irq-timeout-timer)))
  
  (defun ahci-initialize-port (ahci port)
    ;; Disable Command List processing and FIS RX.
  