# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1273143142 -3600
# Node ID 924f54145fda26df64bf6f57010793893b29866f
# Parent 7e18b2bb7fe08aab707d46af930f6a2cedbd6d35
x86: add .data.page_aligned section
... and move page-aligned data there, instead of having random holes
(to fulfill the demanded alignment) in the final image.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
xen/arch/x86/boot/x86_32.S | 3 +++
xen/arch/x86/boot/x86_64.S | 4 +++-
xen/arch/x86/x86_64/compat_kexec.S | 6 ++++--
xen/arch/x86/xen.lds.S | 2 ++
4 files changed, 12 insertions(+), 3 deletions(-)
diff -r 7e18b2bb7fe0 -r 924f54145fda xen/arch/x86/boot/x86_32.S
--- a/xen/arch/x86/boot/x86_32.S Thu May 06 11:44:42 2010 +0100
+++ b/xen/arch/x86/boot/x86_32.S Thu May 06 11:52:22 2010 +0100
@@ -61,6 +61,8 @@ 0: pushl (%ebp)
jnz 0b
1: jmp 1b
+ .data
+ ALIGN
ENTRY(stack_start)
.long cpu0_stack
@@ -88,6 +90,7 @@ ENTRY(idle_pg_table)
.long sym_phys(idle_pg_table_l2) + 2*PAGE_SIZE + 0x01, 0
.long sym_phys(idle_pg_table_l2) + 3*PAGE_SIZE + 0x01, 0
+ .section .data.page_aligned, "aw", @progbits
.align PAGE_SIZE, 0
/* NB. Rings != 0 get access up to MACH2PHYS_VIRT_END. This allows access to */
/* the machine->physical mapping table. Ring 0 can access all memory. */
diff -r 7e18b2bb7fe0 -r 924f54145fda xen/arch/x86/boot/x86_64.S
--- a/xen/arch/x86/boot/x86_64.S Thu May 06 11:44:42 2010 +0100
+++ b/xen/arch/x86/boot/x86_64.S Thu May 06 11:52:22 2010 +0100
@@ -78,7 +78,8 @@ 1: jmp 1b
/*** DESCRIPTOR TABLES ***/
- .align 8, 0xCC
+ .data
+ .align 8
multiboot_ptr:
.long 0
@@ -95,6 +96,7 @@ ENTRY(stack_start)
ENTRY(stack_start)
.quad cpu0_stack
+ .section .data.page_aligned, "aw", @progbits
.align PAGE_SIZE, 0
ENTRY(boot_cpu_gdt_table)
.quad 0x0000000000000000 /* unused */
diff -r 7e18b2bb7fe0 -r 924f54145fda xen/arch/x86/x86_64/compat_kexec.S
--- a/xen/arch/x86/x86_64/compat_kexec.S Thu May 06 11:44:42 2010 +0100
+++ b/xen/arch/x86/x86_64/compat_kexec.S Thu May 06 11:52:22 2010 +0100
@@ -151,6 +151,8 @@ 1:
call *%eax
ud2
+ .data
+ .align 4
compat_page_list:
.fill 12,4,0
@@ -166,8 +168,8 @@ compat_pg_table:
.long SYM_PHYS(compat_pg_table_l2) + 2*PAGE_SIZE + 0x01, 0
.long SYM_PHYS(compat_pg_table_l2) + 3*PAGE_SIZE + 0x01, 0
- .align 4096,0
-
+ .section .data.page_aligned, "aw", @progbits
+ .align PAGE_SIZE,0
compat_pg_table_l2:
.macro identmap from=0, count=512
.if \count-1
diff -r 7e18b2bb7fe0 -r 924f54145fda xen/arch/x86/xen.lds.S
--- a/xen/arch/x86/xen.lds.S Thu May 06 11:44:42 2010 +0100
+++ b/xen/arch/x86/xen.lds.S Thu May 06 11:52:22 2010 +0100
@@ -53,6 +53,8 @@ SECTIONS
} :text
.data : { /* Data */
+ . = ALIGN(PAGE_SIZE);
+ *(.data.page_aligned)
*(.data)
CONSTRUCTORS
} :text
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|