From: Andrew Cooper Date: Thu, 25 Feb 2016 12:05:09 +0000 (+0100) Subject: x86: construct the {l2,l3}_bootmap at compile time X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0e9747a19aec20a4fe99b02e49c00ef982d42285;p=people%2Fliuw%2Fxen.git x86: construct the {l2,l3}_bootmap at compile time ... rather than at runtime. The bootmaps are discarded in zap_low_mappings(), so the tables themselves can live in .init.data and be reclaimed after boot. Hooking the l1_identmap into l2_xenmap stays for safety, along with a longer comment explaining why. This does not change the EFI construction of {l2,l3}_bootmap. EFI already constructs them cleanly in their relocated form. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index ac4962bb07..f3501fdf47 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -150,21 +150,13 @@ __start: mov %eax,sym_phys(boot_tsc_stamp) mov %edx,sym_phys(boot_tsc_stamp+4) - /* Initialise L2 boot-map page table entries (16MB). */ - mov $sym_phys(l2_bootmap),%edx - mov $PAGE_HYPERVISOR|_PAGE_PSE,%eax - mov $8,%ecx -1: mov %eax,(%edx) - add $8,%edx - add $(1<