anchor.diff:  
   (defun init-ata-controller (command-base control-base bus-master-register prdt-phys irq)
     (debug-print-line "New controller at " command-base " " control-base " " bus-master-register " " irq)
  -  (let ((controller (make-ata-controller :command command-base
  -                                         :control control-base
  -                                         :bus-master-register bus-master-register
  -                                         :prdt-phys prdt-phys
  -                                         :irq irq)))
  +  (let* ((dma32-bounce-buffer (allocate-physical-pages 1 "ATA DMA bounce buffer" t))
  +         (controller (make-ata-controller :command command-base
  +                                          :control control-base
  +                                          :bus-master-register bus-master-register
  +                                          :prdt-phys prdt-phys
  +                                          :irq irq
  +                                          :bounce-buffer dma32-bounce-buffer)))
       ;; Disable IRQs on the controller and reset both drives.
       (setf (sys.int::io-port/8 (+ control-base +ata-register-device-control+))
             (logior +ata-srst+ +ata-nien+))
  
positive.code:       (return-from ata-read t))
      (with-mutex ((ata-controller-command-lock controller))
        (with-mutex ((ata-controller-access-lock controller))
          (if (<= +physical-map-base+
                  mem-addr
                  ;; 4GB limit.
                  (+ +physical-map-base+ (* 4 1024 1024 1024)))
              (ata-read-dma controller device lba count (- mem-addr +physical-map-base+))
              (ata-read-pio controller device lba count mem-addr)))))
    t)
  
  (defun ata-write-pio (controller device lba count mem-addr)
  
negative.code:   (setf *ata-devices* '()))
  
  (defun ata-pci-register (location)
    (let* ((prdt-page (allocate-physical-pages 1 "ATA PRDT page" t)))
      ;; Make sure to enable PCI bus mastering for this device.
      (setf (pci-config/16 location +pci-config-command+) (logior (pci-config/16 location +pci-config-command+)
                                                                  ;; Bit 2 is Bus Master bit.
  