|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 1/3] x86/boot: Early data should live in init.rodata
No real change as these were already in the init section, but does move it out
of a text section.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CC: Keir Fraser <keir@xxxxxxx>
CC: Jan Beulich <JBeulich@xxxxxxxx>
---
v2: All data can live in init.rodata
Fix up some missing @progbits
Pad before gdt_boot_descr to align its long.
---
xen/arch/x86/boot/cmdline.S | 4 ++++
xen/arch/x86/boot/head.S | 14 +++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/xen/arch/x86/boot/cmdline.S b/xen/arch/x86/boot/cmdline.S
index e1f4595..00687eb 100644
--- a/xen/arch/x86/boot/cmdline.S
+++ b/xen/arch/x86/boot/cmdline.S
@@ -329,6 +329,8 @@ cmdline_parse_early:
popa
ret
+ .pushsection .init.rodata, "a", @progbits
+
.Lvga_text_modes: /* rows, mode_number */
.word 25,VIDEO_80x25
.word 50,VIDEO_80x50
@@ -361,3 +363,5 @@ cmdline_parse_early:
.asciz "no"
.Ledd_opt:
.asciz "edd"
+
+ .popsection
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 1777c17..0d87b27 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -32,11 +32,19 @@ ENTRY(start)
/* Checksum: must be the negated sum of the first two fields. */
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
- .section .init.text, "ax"
+ .section .init.rodata, "a", @progbits
+ .align 4
+
+ .word 0
+gdt_boot_descr:
+ .word 6*8-1
+ .long sym_phys(trampoline_gdt)
.Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
.Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
+ .section .init.text, "ax", @progbits
+
bad_cpu:
mov $(sym_phys(.Lbad_cpu_msg)),%esi # Error message
jmp print_err
@@ -59,10 +67,6 @@ print_err:
stosb # Write an attribute to the VGA framebuffer
jmp 1b
-gdt_boot_descr:
- .word 6*8-1
- .long sym_phys(trampoline_gdt)
-
__start:
cld
cli
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |