[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: add .data.page_aligned section
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |