This in particular goes a few small steps further towards proper !HVM and !PV config handling (i.e. no carrying of unnecessary baggage).
1: x86/shadow: dirty VRAM tracking is needed for HVM only 2: x86/shadow: shadow_table[] needs only one entry for PV-only configs 3: x86/PV: drop a few misleading paging_mode_refcounts() checks 4: x86/shadow: have just a single instance of sh_set_toplevel_shadow() 5: x86/shadow: l3table[] and gl3e[] are HVM only Jan