Hello, The following series contain two minor improvements for early boot: the first one is an alignment check when building the initial page tables, the second is a consistency fix for the GDT used by the BSP for the trampoline code.
Both are a result of some debugging work done on a system with broken firmware that resulted in Xen text not being loaded at a 2Mb aligned address. This resulted in corrupted page tables that would manifest as the ljmp from compatibility mode in trampoline_protmode_entry causing a triple fault due to the GDT being located in the Xen text section, and the page table entry for that address being corrupt because Xen was not loaded a 2Mb boundary. The aim of the series (specially the first patch) is not to allow booting on such broken firmware, but to print an error message instead of causing a triple fault. Thanks, Roger. Roger Pau Monne (2): x86/head: check base address alignment x86/trampoline: load the GDT located in the trampoline page xen/arch/x86/boot/head.S | 14 ++++++++++++++ xen/arch/x86/boot/trampoline.S | 3 +++ 2 files changed, 17 insertions(+) -- 2.40.0