From be3a78eaf804a2c437aa055d5c1e2f4a1310a0c1 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 28 Feb 2025 11:27:21 +0000 Subject: [PATCH] [lkrnprefix] Support a longer version string The bzImage specification allows two bytes for the setup code jump instruction at offset 0x200, which limits its relative offset to +0x7f bytes. This currently imposes an upper limit on the length of the version string, which currently precedes the setup code. Fix by moving the version string to the .prefix.data section, so that it no longer affects the placement of the setup code. Originally-fixed-by: Miao Wang Signed-off-by: Michael Brown --- src/arch/x86/prefix/lkrnprefix.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/arch/x86/prefix/lkrnprefix.S b/src/arch/x86/prefix/lkrnprefix.S index c8a04c9d7..19d30141b 100644 --- a/src/arch/x86/prefix/lkrnprefix.S +++ b/src/arch/x86/prefix/lkrnprefix.S @@ -104,6 +104,7 @@ hardware_subarch: hardware_subarch_data: .byte 0, 0, 0, 0, 0, 0, 0, 0 + .section ".prefix.data", "aw", @progbits version_string: .asciz VERSION @@ -113,6 +114,7 @@ version_string: * */ + .section ".prefix", "ax", @progbits setup: /* Fix up code segment */ pushw %ds