anchor.diff:      ;; Done!
       (debug-print-line "Command completed.")
       (dump-mem identify-data-phys 32)
  -    ;; FIXME: These should be little-endian reads.
  -    (let* ((supported-command-sets (sys.int::memref-unsigned-byte-16 identify-data 83))
  +    (let* ((supported-command-sets (memref-ub16/le identify-data 83))
              (lba48-capable (logbitp 10 supported-command-sets))
  -           (sector-size (if (and (logbitp 14 (sys.int::memref-unsigned-byte-16 identify-data 106))
  -                                 (not (logbitp 13 (sys.int::memref-unsigned-byte-16 identify-data 106))))
  +           (sector-size (if (and (logbitp 14 (memref-ub16/le identify-data 106))
  +                                 (not (logbitp 13 (memref-ub16/le identify-data 106))))
                               ;; Data in logical sector size field valid.
  -                            (logior (sys.int::memref-unsigned-byte-16 identify-data 117)
  -                                    (ash (sys.int::memref-unsigned-byte-16 identify-data 118) 16))
  -                            ;; Not valid, use 512. (TODO: PACKET devices? when was this field introduced?)
  +                            (logior (memref-ub16/le identify-data 117)
  +                                    (ash (memref-ub16/le identify-data 118) 16))
  +                            ;; Not valid, use 512.
                               512))
              (sector-count (if lba48-capable
  -                             (logior (sys.int::memref-unsigned-byte-16 identify-data 100)
  -                                     (ash (sys.int::memref-unsigned-byte-16 identify-data 101) 16)
  -                                     (ash (sys.int::memref-unsigned-byte-16 identify-data 102) 32)
  -                                     (ash (sys.int::memref-unsigned-byte-16 identify-data 103) 48))
  -                             (logior (sys.int::memref-unsigned-byte-16 identify-data 60)
  -                                     (ash (sys.int::memref-unsigned-byte-16 identify-data 61) 16)))))
  +                             (logior (memref-ub16/le identify-data 100)
  +                                     (ash (memref-ub16/le identify-data 101) 16)
  +                                     (ash (memref-ub16/le identify-data 102) 32)
  +                                     (ash (memref-ub16/le identify-data 103) 48))
  +                             (logior (memref-ub16/le identify-data 60)
  +                                     (ash (memref-ub16/le identify-data 61) 16)))))
         (setf (ahci-port-lba48-capable port-info) lba48-capable
               (ahci-port-sector-size port-info) sector-size
               (ahci-port-sector-count port-info) sector-count)
  
positive.code:   received-fis
    command-table
    (irq-latch (make-latch "AHCI Port IRQ Notifier"))
    lba48-capable
    sector-size
    sector-count)
  
negative.code:       (setf (ldb (byte 1 +ahci-PxCMD-ST+) cmd) 1)
        (setf (ahci-port-register ahci port +ahci-register-PxCMD+) cmd))
      ;; Flush PxSERR.
      (setf (ahci-port-register ahci port +ahci-register-PxSERR+) #xFFFFFFFF)
      ;; Clear any outstanding interrupts on this port.
      (setf (ahci-port-register ahci port +ahci-register-PxIS+)
            (ahci-port-register ahci port +ahci-register-PxIS+))
  