[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/6] x86/boot: Remove mappings at 0
This is the (long overdue) series which finally removes the mapping at 0 during early boot, which has bitten us in the past. It also removes an RWX gadget which persists past boot in the idle pagetables. Most of the complexity was down to the differing (and hard-to-follow) uses of the bootmap. I first opted to get rid of the bootmap entirely. While this is possible for the current Multiboot paths, it is incompatible with the EFI boot path, and works against David's existing plans to not use the trampoline at all. Further ideas: (not addressed here because -ETIME on my behalf.) 1) Get PV-shim to use hypercalls for AP startup, at which point we can compile out the trampoline entirely. This is probably helpful for robustness testing in combination with David's plans. 2) Drop BOOTSTRAP_MAP_{BASE,LIMIT} and have bootstrap_map() populate into the directmap, as we only request RAM mappings. This would allow us to drop 3 of the bootmap pagetables. However, I'm not entirely convinced the later logic will cope with cacheability boundaries forcing the use of small mappings. This series has had complete testing for MB and EFI boot paths. It turns out that grub can chainload xen.efi and test those paths. Andrew Cooper (6): x86/boot: Check for E820_RAM earlier when searching the E820 x86/boot: Map the trampoline as read-only x86/boot: Remove the preconstructed low 16M superpage mappings x86/boot: Clean up l?_bootmap[] construction x86/boot: Don't map 0 during boot x86/boot: Drop INVALID_VCPU xen/arch/x86/boot/head.S | 33 +++++++++++++++++---------------- xen/arch/x86/boot/x86_64.S | 21 ++++++++++----------- xen/arch/x86/cpu/mcheck/mce.c | 2 +- xen/arch/x86/domain_page.c | 2 +- xen/arch/x86/efi/efi-boot.h | 17 ++++++++++------- xen/arch/x86/setup.c | 24 +++++++++++++++--------- xen/arch/x86/tboot.c | 2 +- xen/arch/x86/x86_64/asm-offsets.c | 3 --- xen/arch/x86/x86_64/mm.c | 2 +- xen/arch/x86/xen.lds.S | 3 +++ xen/include/asm-x86/setup.h | 3 --- 11 files changed, 59 insertions(+), 53 deletions(-) -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |