Putting a few bytes ahead of page tables isn't very efficient; there's a gap almost worth a full page. To avoid re-ordering of items in the source file, simply put the few small items in sub-section 1, for them to end up after the page tables, followed (in the final binary) by non- page-aligned items from other CUs.
Signed-off-by: Jan Beulich <jbeul...@suse.com> --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -136,6 +136,7 @@ multiboot2_header: .Lno_nx_msg: .asciz "ERR: Not an NX-capable CPU!" .section .init.data, "aw", @progbits + .subsection 1 /* Put data here after the page tables (in x86_64.S). */ .align 4 .word 0