anchor.diff:  (defun flush-tlb ()
     ;; Reloading CR3 on x86oids causes all TLBs to be marked invalid.
     (setf (sys.int::%cr3) (sys.int::%cr3)))
  +
  +(declaim (inline page-present-p))
  +(defun page-present-p (page-table index)
  +  (logtest +page-table-present+
  +           (sys.int::memref-unsigned-byte-64 page-table index)))
   
   (defun detect-paging-disk ()
     (dolist (disk (all-disks))
  
positive.code:       (set-address-flags (+ base (* i #x1000)) flags)
        ;; Update page tables and release pages if possible.
        (let ((pte (get-pte-for-address (+ base (* i #x1000)) nil)))
          (when (and pte (logtest +page-table-present+ (sys.int::memref-unsigned-byte-64 pte 0)))
            (cond ((or (not (logtest sys.int::+block-map-present+ flags))
                       (logtest sys.int::+block-map-zero-fill+ flags))
                   ;; Page going away, but it's ok. It'll be back, zero-filled.
  
negative.code:       (release-block-at-virtual-address (+ base (* i #x1000)))
        ;; Update page tables and release pages if possible.
        (let ((pte (get-pte-for-address (+ base (* i #x1000)) nil)))
          (when (and pte (page-present-p pte 0))
            (release-vm-page (ash (sys.int::memref-unsigned-byte-64 pte 0) -12))
            (setf (sys.int::memref-unsigned-byte-64 pte 0) 0))))
      (flush-tlb)))
  