On 13/11/2024 10:23 am, Jan Beulich wrote: > On 13.11.2024 10:30, Andrew Cooper wrote: >> --- a/xen/arch/x86/include/asm/config.h >> +++ b/xen/arch/x86/include/asm/config.h >> @@ -51,8 +51,9 @@ >> >> #define IST_SHSTK_SIZE 1024 >> >> -#define TRAMPOLINE_STACK_SPACE PAGE_SIZE >> -#define TRAMPOLINE_SPACE (KB(64) - TRAMPOLINE_STACK_SPACE) >> +/* See asm/trampoline.h */ >> +#define TRAMPOLINE_SIZE KB(64) >> +#define TRAMPOLINE_HEAP_END (TRAMPOLINE_SIZE - PAGE_SIZE) > Is there actually a reason these can't move to trampoline.h?
I considered that, and ruled it out, but I can't remember why exactly. Right now, trampoline.h is C-only, but it can gain some __ASSEMBLY__ easily enough. The two later constants, WAKEUP_STACK_MIN and MBI_SPACE_MIN are used only in linker assertions, and of dubious value. In particular, the size of the VESA information in the heap is not accounted for in the MBI_SPACE_MIN check. I have an idea to remove all of this boot metadata shuffling when the boot_info work is a bit better done, which is why I left the constants alone. ~Andrew