On 01/04/2025 6:56 am, Jan Beulich wrote:
> 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

Just as a note, this depends on the toolchain baseline bump, so can't be
backported.

Clang-11 does now like subsection, so we can remove the !__clang__
specialisation for UNLIKELY_{START,END}_SECTION.

~Andrew

Reply via email to