Finally, Xen also supports a form of shadow page tables in
which the guest OS uses a independent copy of page tables which are
unknown to the hardware (i.e. which are never pointed to by cr3). Instead Xen propagates changes made to the guest's tables to
the real ones, and vice versa. This is useful for logging page writes
(e.g. for live migration or checkpoint). A full version of the shadow
page tables also allows guest OS porting with less effort.