anchor.diff:  						     +page-table-present+
   						     +page-table-writable+
   						     +page-table-large+))))
  -      (format t "Static-base: ~X  Dynamic-base: ~X  Support-base: ~X  End: ~X~%"
  -	      static-base dynamic-base support-base end-address)
  -      (values load-offset static-base dynamic-base support-base end-address
  +      (format t "Static-base: ~X  Dynamic-base: ~X  Support-base: ~X  End: ~X (~X)~%"
  +	      static-base dynamic-base support-base end-address zero-fill-end)
  +      (values load-offset static-base dynamic-base support-base end-address zero-fill-end
   	      pml4 page-tables))))
   
   (defun make-setup-function (gdt idt initial-page-table entry-function initial-stack-group)
  
positive.code: 	   ;; Four PML2s to map the first 4GB of the linear region.
  	   (pml2-linear (incf end-address (* 4 #x1000))))
        (incf end-address (* 4 #x1000))
        ;; Create the PML4.
        (setf (aref page-tables 0 0) (logior pml3-normal
  					   +page-table-present+
  
negative.code: (defun generate-physical-dump-layout (static-size dynamic-size)
    (let* ((load-offset #x200000) ; Physical base address.
  	 (static-base load-offset)
           (static-area-full-size (* 32 1024 1024))
           (static-area-size (* (ceiling (* static-size 8) #x200000) #x200000))
  	 (dynamic-base (+ static-base static-area-size))
           (dynamic-area-full-size (* 32 1024 1024))
           (dynamic-area-size (* (ceiling (* dynamic-size 8) #x200000) #x200000))
  	 (support-base (+ dynamic-base dynamic-area-size))
  	 (end-address support-base)
           (zero-fill-start)
           (zero-fill-end))
      (assert (<= static-area-size static-area-full-size))
      (assert (<= dynamic-area-size dynamic-area-full-size))
      ;; This is just to stop things getting silly.
      (when (>= end-address (* 2 1024 1024 1024))
        (error "End address too large, giving up."))
  