anchor.diff:  (defconstant +page-table-global+         #x100)
   (defconstant +page-table-copy-on-write+  #x400)
   (defconstant +page-table-address-mask+   #x000FFFFFFFFFF000)
  +
  +(defun pager-log (&rest things)
  +  (declare (dynamic-extent things))
  +  (when *pager-noisy*
  +    (debug-print-line-1 things)))
   
   (declaim (inline flush-tlb))
   (defun flush-tlb ()
  
positive.code:   (pager-rpc 'protect-memory-range-in-pager base length flags))
  
  (defun protect-memory-range-in-pager (base length flags)
    (when *pager-noisy*
      (debug-print-line "Protect range " base "-" (+ base length) "  " flags))
    (with-mutex (*vm-lock*)
      (dotimes (i (truncate length #x1000))
        ;; Update block map.
  
negative.code:              (is-zero-page nil))
          (setf (physical-page-frame-block-id frame) (ldb (byte sys.int::+block-map-id-size+ sys.int::+block-map-id-shift+) block-info)
                (physical-page-virtual-address frame) (logand address (lognot (1- +4k-page-size+))))
          (when (not *page-replacement-list-head*)
            (pager-log "addr " address " vaddr " (physical-page-virtual-address frame) " frame " frame " pteA " (get-pte-for-address address #+(or)(physical-page-virtual-address frame) nil) " pteB " (get-pte-for-address (physical-page-virtual-address frame) nil)))
          (append-to-page-replacement-list frame)
          (cond ((logtest sys.int::+block-map-zero-fill+ block-info)
                 ;; Block is zero-filled.
  