anchor.diff:          (pdpe (ldb (byte 9 30) address))
           (pde (ldb (byte 9 21) address))
           (pte (ldb (byte 9 12) address)))
  -    (when (not (logtest +page-table-present+ (sys.int::memref-unsigned-byte-64 cr3 pml4e)))
  +    (when (not (page-present-p cr3 pml4e))
         ;; No PDP. Allocate one.
         (when (not allocate)
           (return-from get-pte-for-address nil))
  
positive.code:   (with-mutex (*vm-lock*)
      (dotimes (i (truncate size #x1000))
        (let ((pte (get-pte-for-address (+ +physical-map-base+ base (* i #x1000)))))
          (when (not (logtest +page-table-present+ (sys.int::memref-unsigned-byte-64 pte 0)))
            (setf (sys.int::memref-unsigned-byte-64 pte 0) (logior (+ base (* i #x1000))
                                                                   +page-table-present+
                                                                   +page-table-write+)))))))
  
negative.code:                                                                     +page-table-present+
                                                                      +page-table-write+))))
        (let ((pdir (+ +physical-map-base+ (logand (sys.int::memref-unsigned-byte-64 pdp pdpe) +page-table-address-mask+))))
          (when (not (page-present-p pdir pde))
            ;; No PT. Allocate one.
            (when (not allocate)
              (return-from get-pte-for-address nil))
  