Move the guest pagetable walker out of shadow/multi.c
PATCH 2/3 Move the guest pagetable walker out of shadow/multi.c
Move the guest PT walker into its own file, and purge it of references to the rest of the shadow code.
Signed-off-by Tim Deegan <[email protected]>
xen/arch/x86/mm/Makefile +6 -0
@@ -3,3 +3,9 @@ subdir-y += hap obj-y += paging.o obj-y += p2m.o +obj-y += guest_walk_2.o +obj-y += guest_walk_3.o +obj-$(x86_64) += guest_walk_4.o + +guest_walk_%.o: guest_walk.c $(HDRS) Makefile + $(CC) $(CFLAGS) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
xen/arch/x86/mm/shadow/multi.c +22 -319
383 lines not on this page · raw message
xen/include/asm-x86/guest_pt.h +89 -0
99 lines not on this page · raw message
xen/include/asm-x86/perfc_defn.h +1 -1
@@ -33,6 +33,7 @@ PERFCOUNTER(ptwr_emulations, "wri PERFCOUNTER(exception_fixed, "pre-exception fixed") +PERFCOUNTER (guest_walk,"guest pagetable walks" ) /* Shadow counters */PERFCOUNTER (shadow_alloc,"calls to shadow_alloc" )
@@ -92,7 +93,6 @@ PERFCOUNTER(shadow_up_pointer, "shad PERFCOUNTER(shadow_up_pointer, "shadow unshadow by up-pointer") PERFCOUNTER(shadow_unshadow_bf, "shadow unshadow brute-force") PERFCOUNTER(shadow_get_page_fail, "shadow_get_page_from_l1e failed") -PERFCOUNTER(shadow_guest_walk, "shadow walks guest tables") PERFCOUNTER(shadow_check_gwalk, "shadow checks gwalk") PERFCOUNTER(shadow_inconsistent_gwalk, "shadow check inconsistent gwalk") PERFCOUNTER(shadow_rm_write_flush_tlb,
xen/arch/x86/mm/guest_walk.c new file +260 -0
260 lines not on this page · raw message
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel