* [PATCH v7 0/4] Various patches to improve Secure Boot support
@ 2026-07-06 10:45 Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 1/4] Align relevant sections to 4KB Frediano Ziglio
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Frediano Ziglio @ 2026-07-06 10:45 UTC (permalink / raw)
To: xen-devel
Cc: Frediano Ziglio, Jan Beulich, Andrew Cooper, Roger Pau Monné,
Teddy Astie, Anthony PERARD, Michal Orzel, Julien Grall,
Stefano Stabellini, Daniel P. Smith,
Marek Marczykowski-Górecki
These patches improve support for Secure boot.
UEFI CA memory mitigation requires memory pages to be not executable and
writable at the same time. So changing permissions and splitting some section
is required.
Remove multiboot pieces from EFI executable.
Changes since v1:
- improved some comments;
- merged 2 pacthes removing multiboot support in x86 PE;
- removed a patch dealing with SBAT;
- other minor changes (see single patches).
Changes since v2:
- improved some comments.
Changes since v3:
- Added Acked-by;
- Improve commit message.
Changes since v4:
- Messages updates;
- Clean some dependencies cause by code removal;
- Add small commit to remove a possibly unused string.
Changes since v5:
- removed merged commit;
- remove more code/data from xen.efi output.
Changes since v6:
- fix commit message.
Frediano Ziglio (2):
Align relevant sections to 4KB
x86: Split .init section to satisfy UEFI CA memory mitigation
Roger Pau Monné (2):
x86/efi: discard multiboot and PVH support for PE binary
x86/efi: avoid a relocation in efi_arch_post_exit_boot()
docs/hypervisor-guide/x86/how-xen-boots.rst | 6 -----
xen/arch/x86/boot/head.S | 8 +++----
xen/arch/x86/efi/efi-boot.h | 7 ++++--
xen/arch/x86/xen.lds.S | 25 ++++++++++++---------
xen/tools/combine_two_binaries.py | 2 +-
5 files changed, 25 insertions(+), 23 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v7 1/4] Align relevant sections to 4KB
2026-07-06 10:45 [PATCH v7 0/4] Various patches to improve Secure Boot support Frediano Ziglio
@ 2026-07-06 10:45 ` Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary Frediano Ziglio
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Frediano Ziglio @ 2026-07-06 10:45 UTC (permalink / raw)
To: xen-devel
Cc: Frediano Ziglio, Frediano Ziglio, Marek Marczykowski-Górecki,
Jan Beulich
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Required by UEFI CA memory mitigation.
It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.
NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
Sections with different permissions must be in separate pages.
In the case of debug sections they are contiguous and have the same
permissions, including the immediately preceding .reloc section, so it's
not an issue if they are not aligned to the page.
Before the .debug sections you could have the .reloc or the SBAT section,
either are permission-compatible.
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v1:
- Change subject.
Changes since v2:
- Improved commit message and subject.
Changes since v3:
- Added Acked-by;
- Improved commit message.
Changes since v4:
- Added missing comment;
- Added Acked-by.
---
xen/arch/x86/xen.lds.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b9e888e596..8e63cf5bc2 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -162,8 +162,8 @@ SECTIONS
__note_gnu_build_id_end = .;
} PHDR(note) PHDR(text)
#elif defined(BUILD_ID_EFI)
- /* Workaround bug in binutils < 2.36 */
- . = ALIGN(32);
+ /* Align to satisfy UEFI CA memory mitigation. */
+ . = ALIGN(PAGE_SIZE);
DECL_SECTION(.buildid) {
__note_gnu_build_id_start = .;
*(.buildid)
@@ -330,6 +330,8 @@ SECTIONS
__2M_rwdata_end = ALIGN(SECTION_ALIGN);
#ifdef EFI
+ /* Align to satisfy UEFI CA memory mitigation. */
+ . = ALIGN(PAGE_SIZE);
.reloc ALIGN(4) : {
__base_relocs_start = .;
*(.reloc)
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary
2026-07-06 10:45 [PATCH v7 0/4] Various patches to improve Secure Boot support Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 1/4] Align relevant sections to 4KB Frediano Ziglio
@ 2026-07-06 10:45 ` Frediano Ziglio
2026-07-08 13:55 ` Jan Beulich
2026-07-14 17:10 ` Marek Marczykowski-Górecki
2026-07-06 10:45 ` [PATCH v7 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot() Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation Frediano Ziglio
3 siblings, 2 replies; 7+ messages in thread
From: Frediano Ziglio @ 2026-07-06 10:45 UTC (permalink / raw)
To: xen-devel
Cc: Roger Pau Monné, Jan Beulich, Andrew Cooper, Teddy Astie,
Marek Marczykowski-Górecki, Frediano Ziglio
From: Roger Pau Monné <roger.pau@citrix.com>
Multiboot and PVH booting are not supported for PE, hence discards them
in the linker script when doing a PE build.
That removes some relocations that otherwise appear due to the usage of the
start and __efi64_mb2_start symbols in the multiboot2 header.
Section discarding is not done updating DISCARD_SECTIONS definition as the
change is specific for x86.
No functional change intended.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
Changes since v1:
- improve commit message;
- change section orders to avoid changing code order in final executable;
- merge 2 commits;
- removed deprecated documentation section.
Changes since v2:
- Update commit message, join 2 sentences together.
Changes since v3:
- Added Acked-by.
Changes since v4:
- more clear subject;
- removed more code/data from EFI output;
- removed Acked-by.
Changes since v5:
- simplify section exclusion using more wildcard;
- exclude more multiboot functions.
---
docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
xen/arch/x86/boot/head.S | 8 ++++----
xen/arch/x86/xen.lds.S | 7 +++++++
xen/tools/combine_two_binaries.py | 2 +-
4 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
index 8b3229005c..b6d852050a 100644
--- a/docs/hypervisor-guide/x86/how-xen-boots.rst
+++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
@@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
PE32+ binary is created. It can be run directly from the EFI shell, and has
``efi_start`` as its entry symbol.
-.. note::
-
- xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
- build. However, entry via anything other than the EFI64 protocol is
- unsupported, and won't work.
-
Boot
----
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 68b963ce6f..981f262b5e 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -126,7 +126,7 @@ multiboot2_header:
.size multiboot2_header, . - multiboot2_header
.type multiboot2_header, @object
- .section .init.rodata, "a", @progbits
+ .section .init.rodata.multiboot, "a", @progbits
.Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
.Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
@@ -137,8 +137,7 @@ multiboot2_header:
.Lno_nx_msg: .asciz "ERR: Not an NX-capable CPU!"
#endif
- .section .init.data, "aw", @progbits
- .subsection 1 /* Put data here after the page tables (in x86_64.S). */
+ .section .init.data.multiboot, "aw", @progbits
.align 4
.word 0
@@ -154,7 +153,7 @@ vga_text_buffer:
efi_platform:
.byte 0
- .section .init.text, "ax", @progbits
+ .section .init.multiboot, "ax", @progbits
early_error: /* Here to improve the disassembly. */
@@ -712,6 +711,7 @@ trampoline_setup:
/* Jump into the relocated trampoline. */
lret
+ .section .init.text, "ax", @progbits
ENTRY(trampoline_start)
#include "trampoline.S"
ENTRY(trampoline_end)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 8e63cf5bc2..4ed1d2bec1 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -57,6 +57,10 @@ SECTIONS
__image_base__ = .;
#else
. = __image_base__;
+ /DISCARD/ : {
+ *(.text.header)
+ *(.init.*multiboot)
+ }
#endif
#if 0
@@ -195,6 +199,7 @@ SECTIONS
DECL_SECTION(.init.text) {
#endif
_sinittext = .;
+ *(.init.multiboot)
*(.init.text)
*(.text.startup)
_einittext = .;
@@ -220,6 +225,7 @@ SECTIONS
*(.init.rodata.cf_clobber)
__initdata_cf_clobber_end = .;
+ *(.init.rodata.multiboot)
*(.init.rodata)
*(.init.rodata.*)
@@ -234,6 +240,7 @@ SECTIONS
*(.initcall1.init)
__initcall_end = .;
+ *(.init.data.multiboot)
*(.init.data)
*(.init.data.rel)
*(.init.data.rel.*)
diff --git a/xen/tools/combine_two_binaries.py b/xen/tools/combine_two_binaries.py
index 581e57cbc0..5f0433dcad 100755
--- a/xen/tools/combine_two_binaries.py
+++ b/xen/tools/combine_two_binaries.py
@@ -33,7 +33,7 @@ parser.add_argument('--map', dest='mapfile',
parser.add_argument('--exports', dest='exports',
help='Symbols to export')
parser.add_argument('--section-header', dest='section_header',
- default='.section .init.text, "ax", @progbits',
+ default='.section .init.multiboot, "ax", @progbits',
help='Section header declaration')
parser.add_argument('-v', '--verbose',
action='store_true')
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v7 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot()
2026-07-06 10:45 [PATCH v7 0/4] Various patches to improve Secure Boot support Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 1/4] Align relevant sections to 4KB Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary Frediano Ziglio
@ 2026-07-06 10:45 ` Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation Frediano Ziglio
3 siblings, 0 replies; 7+ messages in thread
From: Frediano Ziglio @ 2026-07-06 10:45 UTC (permalink / raw)
To: xen-devel
Cc: Roger Pau Monné, Daniel P. Smith,
Marek Marczykowski-Górecki, Jan Beulich, Andrew Cooper,
Teddy Astie, Frediano Ziglio
From: Roger Pau Monné <roger.pau@citrix.com>
Instead of using the absolute __start_xen address, calculate it as an
offset from the current instruction pointer. The relocation would be
problematic if the generated PE binary had .init.text as a standalone
section with just read and execute permissions.
Removing this relocation is necessary to make it safe to split .init.
No functional change intended.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes since v1:
- Improve commit message.
Changes since v3:
- Added Acked-by.
Changes since v6:
- remove spurious quote.
---
xen/arch/x86/efi/efi-boot.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index d738b839ee..b983f054b5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -270,7 +270,9 @@ static void __init noreturn efi_arch_post_exit_boot(void)
/* Jump to higher mappings. */
"mov stack_start(%%rip), %%rsp\n\t"
- "movabs $__start_xen, %[rip]\n\t"
+ "lea __start_xen(%%rip), %[rip]\n\t"
+ "add %[offset], %[rip]\n\t"
+
"push %[cs]\n\t"
"push %[rip]\n\t"
"lretq"
@@ -278,7 +280,8 @@ static void __init noreturn efi_arch_post_exit_boot(void)
[cr4] "+&r" (cr4)
: [cr3] "r" (idle_pg_table),
[cs] "i" (__HYPERVISOR_CS),
- [ds] "r" (__HYPERVISOR_DS)
+ [ds] "r" (__HYPERVISOR_DS),
+ [offset] "r" (__XEN_VIRT_START - xen_phys_start)
: "memory" );
unreachable();
}
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v7 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation
2026-07-06 10:45 [PATCH v7 0/4] Various patches to improve Secure Boot support Frediano Ziglio
` (2 preceding siblings ...)
2026-07-06 10:45 ` [PATCH v7 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot() Frediano Ziglio
@ 2026-07-06 10:45 ` Frediano Ziglio
3 siblings, 0 replies; 7+ messages in thread
From: Frediano Ziglio @ 2026-07-06 10:45 UTC (permalink / raw)
To: xen-devel
Cc: Frediano Ziglio, Jan Beulich, Andrew Cooper, Roger Pau Monné,
Teddy Astie, Marek Marczykowski-Górecki, Frediano Ziglio
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Currently .init section is both writeable and executable, split data and code
to have 2 sections satisfying W^X rule.
It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.
NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Change since v1:
- update comment style.
Changes since v3:
- Added Acked-by.
Changes since v4:
- Added Acked-by.
---
xen/arch/x86/xen.lds.S | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 4ed1d2bec1..e26e37db13 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -193,11 +193,7 @@ SECTIONS
__2M_init_start = .; /* Start of 2M superpages, mapped RWX (boot only). */
. = ALIGN(PAGE_SIZE); /* Init code and data */
__init_begin = .;
-#ifdef EFI /* EFI wants to merge all of .init.* ELF doesn't. */
- DECL_SECTION(.init) {
-#else
DECL_SECTION(.init.text) {
-#endif
_sinittext = .;
*(.init.multiboot)
*(.init.text)
@@ -210,12 +206,12 @@ SECTIONS
*/
*(.altinstr_replacement)
-#ifdef EFI /* EFI wants to merge all of .init.* ELF doesn't. */
- . = ALIGN(SMP_CACHE_BYTES);
-#else
} PHDR(text)
- DECL_SECTION(.init.data) {
+#ifdef EFI
+ /* Align to satisfy UEFI CA memory mitigation. */
+ . = ALIGN(SECTION_ALIGN);
#endif
+ DECL_SECTION(.init.data) {
*(.init.bss.stack_aligned)
*(.init.data.page_aligned)
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary
2026-07-06 10:45 ` [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary Frediano Ziglio
@ 2026-07-08 13:55 ` Jan Beulich
2026-07-14 17:10 ` Marek Marczykowski-Górecki
1 sibling, 0 replies; 7+ messages in thread
From: Jan Beulich @ 2026-07-08 13:55 UTC (permalink / raw)
To: Frediano Ziglio
Cc: Roger Pau Monné, Andrew Cooper, Teddy Astie,
Marek Marczykowski-Górecki, Frediano Ziglio, xen-devel
On 06.07.2026 12:45, Frediano Ziglio wrote:
> From: Roger Pau Monné <roger.pau@citrix.com>
>
> Multiboot and PVH booting are not supported for PE, hence discards them
> in the linker script when doing a PE build.
>
> That removes some relocations that otherwise appear due to the usage of the
> start and __efi64_mb2_start symbols in the multiboot2 header.
>
> Section discarding is not done updating DISCARD_SECTIONS definition as the
> change is specific for x86.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary
2026-07-06 10:45 ` [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary Frediano Ziglio
2026-07-08 13:55 ` Jan Beulich
@ 2026-07-14 17:10 ` Marek Marczykowski-Górecki
1 sibling, 0 replies; 7+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-07-14 17:10 UTC (permalink / raw)
To: Frediano Ziglio
Cc: xen-devel, Roger Pau Monné, Jan Beulich, Andrew Cooper,
Teddy Astie, Frediano Ziglio
[-- Attachment #1: Type: text/plain, Size: 5575 bytes --]
On Mon, Jul 06, 2026 at 11:45:55AM +0100, Frediano Ziglio wrote:
> From: Roger Pau Monné <roger.pau@citrix.com>
>
> Multiboot and PVH booting are not supported for PE, hence discards them
> in the linker script when doing a PE build.
>
> That removes some relocations that otherwise appear due to the usage of the
> start and __efi64_mb2_start symbols in the multiboot2 header.
>
> Section discarding is not done updating DISCARD_SECTIONS definition as the
> change is specific for x86.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> Changes since v1:
> - improve commit message;
> - change section orders to avoid changing code order in final executable;
> - merge 2 commits;
> - removed deprecated documentation section.
>
> Changes since v2:
> - Update commit message, join 2 sentences together.
>
> Changes since v3:
> - Added Acked-by.
>
> Changes since v4:
> - more clear subject;
> - removed more code/data from EFI output;
> - removed Acked-by.
>
> Changes since v5:
> - simplify section exclusion using more wildcard;
> - exclude more multiboot functions.
> ---
> docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
> xen/arch/x86/boot/head.S | 8 ++++----
> xen/arch/x86/xen.lds.S | 7 +++++++
> xen/tools/combine_two_binaries.py | 2 +-
> 4 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
> index 8b3229005c..b6d852050a 100644
> --- a/docs/hypervisor-guide/x86/how-xen-boots.rst
> +++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
> @@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
> PE32+ binary is created. It can be run directly from the EFI shell, and has
> ``efi_start`` as its entry symbol.
>
> -.. note::
> -
> - xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
> - build. However, entry via anything other than the EFI64 protocol is
> - unsupported, and won't work.
> -
>
> Boot
> ----
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 68b963ce6f..981f262b5e 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -126,7 +126,7 @@ multiboot2_header:
> .size multiboot2_header, . - multiboot2_header
> .type multiboot2_header, @object
>
> - .section .init.rodata, "a", @progbits
> + .section .init.rodata.multiboot, "a", @progbits
>
> .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
> .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
> @@ -137,8 +137,7 @@ multiboot2_header:
> .Lno_nx_msg: .asciz "ERR: Not an NX-capable CPU!"
> #endif
>
> - .section .init.data, "aw", @progbits
> - .subsection 1 /* Put data here after the page tables (in x86_64.S). */
> + .section .init.data.multiboot, "aw", @progbits
> .align 4
>
> .word 0
> @@ -154,7 +153,7 @@ vga_text_buffer:
> efi_platform:
> .byte 0
>
> - .section .init.text, "ax", @progbits
> + .section .init.multiboot, "ax", @progbits
>
> early_error: /* Here to improve the disassembly. */
>
> @@ -712,6 +711,7 @@ trampoline_setup:
> /* Jump into the relocated trampoline. */
> lret
>
> + .section .init.text, "ax", @progbits
> ENTRY(trampoline_start)
> #include "trampoline.S"
> ENTRY(trampoline_end)
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index 8e63cf5bc2..4ed1d2bec1 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -57,6 +57,10 @@ SECTIONS
> __image_base__ = .;
> #else
> . = __image_base__;
> + /DISCARD/ : {
> + *(.text.header)
> + *(.init.*multiboot)
> + }
> #endif
>
> #if 0
> @@ -195,6 +199,7 @@ SECTIONS
> DECL_SECTION(.init.text) {
> #endif
> _sinittext = .;
> + *(.init.multiboot)
> *(.init.text)
> *(.text.startup)
> _einittext = .;
> @@ -220,6 +225,7 @@ SECTIONS
> *(.init.rodata.cf_clobber)
> __initdata_cf_clobber_end = .;
>
> + *(.init.rodata.multiboot)
> *(.init.rodata)
> *(.init.rodata.*)
>
> @@ -234,6 +240,7 @@ SECTIONS
> *(.initcall1.init)
> __initcall_end = .;
>
> + *(.init.data.multiboot)
> *(.init.data)
> *(.init.data.rel)
> *(.init.data.rel.*)
> diff --git a/xen/tools/combine_two_binaries.py b/xen/tools/combine_two_binaries.py
> index 581e57cbc0..5f0433dcad 100755
> --- a/xen/tools/combine_two_binaries.py
> +++ b/xen/tools/combine_two_binaries.py
> @@ -33,7 +33,7 @@ parser.add_argument('--map', dest='mapfile',
> parser.add_argument('--exports', dest='exports',
> help='Symbols to export')
> parser.add_argument('--section-header', dest='section_header',
> - default='.section .init.text, "ax", @progbits',
> + default='.section .init.multiboot, "ax", @progbits',
> help='Section header declaration')
> parser.add_argument('-v', '--verbose',
> action='store_true')
> --
> 2.43.0
>
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-07-14 17:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-06 10:45 [PATCH v7 0/4] Various patches to improve Secure Boot support Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 1/4] Align relevant sections to 4KB Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 2/4] x86/efi: discard multiboot and PVH support for PE binary Frediano Ziglio
2026-07-08 13:55 ` Jan Beulich
2026-07-14 17:10 ` Marek Marczykowski-Górecki
2026-07-06 10:45 ` [PATCH v7 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot() Frediano Ziglio
2026-07-06 10:45 ` [PATCH v7 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation Frediano Ziglio
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.