anchor.diff:  
   (defun get-pte-for-address (address &optional (allocate t))
     (let ((cr3 (+ +physical-map-base+ (logand (sys.int::%cr3) (lognot #xFFF))))
  -        (pml4e (ldb (byte 9 39) address))
  -        (pdpe (ldb (byte 9 30) address))
  -        (pde (ldb (byte 9 21) address))
  -        (pte (ldb (byte 9 12) address)))
  +        (pml4e (address-l4-bits address))
  +        (pdpe (address-l3-bits address))
  +        (pde (address-l2-bits address))
  +        (pte (address-l1-bits address)))
       (when (not (page-present-p cr3 pml4e))
         ;; No PDP. Allocate one.
         (when (not allocate)
  
positive.code:                                                                           sys.int::+block-map-present+))
                 (zero-cached-block id))
               (read-cached-block id))))
      (let* ((bml4e (ldb (byte 9 39) address))
             (bml3e (ldb (byte 9 30) address))
             (bml2e (ldb (byte 9 21) address))
             (bml1e (ldb (byte 9 12) address))
             (bml4 (read-cached-block *bml4-block*))
             (bml3 (read-level bml4 bml4e))
             (bml2 (read-level bml3 bml3e))
  
negative.code:                                                                             sys.int::+block-map-present+))
                   (zero-cached-block id))
                 (read-cached-block id))))
        (let* ((bml4e (address-l4-bits address))
               (bml3e (address-l3-bits address))
               (bml2e (address-l2-bits address))
               (bml1e (address-l1-bits address))
               (bml4 (read-cached-block *bml4-block*))
               (bml3 (read-level bml4 bml4e))
               (bml2 (read-level bml3 bml3e))
  