WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] x86: add .data.page_aligned section

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] x86: add .data.page_aligned section
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Tue, 04 May 2010 16:51:44 +0100
Delivery-date: Tue, 04 May 2010 08:51:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
... 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>

--- 2010-03-02.orig/xen/arch/x86/boot/x86_32.S  2008-09-23 09:17:27.000000000 
+0200
+++ 2010-03-02/xen/arch/x86/boot/x86_32.S       2010-03-09 14:34:38.000000000 
+0100
@@ -61,6 +61,8 @@ ignore_int:
         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.    */
--- 2010-03-02.orig/xen/arch/x86/boot/x86_64.S  2008-09-23 09:17:27.000000000 
+0200
+++ 2010-03-02/xen/arch/x86/boot/x86_64.S       2010-03-09 14:35:26.000000000 
+0100
@@ -78,7 +78,8 @@ ignore_int:
 
 /*** DESCRIPTOR TABLES ***/
 
-        .align 8, 0xCC
+        .data
+        .align 8
 multiboot_ptr:
         .long   0
 
@@ -95,6 +96,7 @@ idt_descr:
 ENTRY(stack_start)
         .quad   cpu0_stack
 
+        .section .data.page_aligned, "aw", @progbits
         .align PAGE_SIZE, 0
 ENTRY(boot_cpu_gdt_table)
         .quad 0x0000000000000000     /* unused */
--- 2010-03-02.orig/xen/arch/x86/x86_64/compat_kexec.S  2007-07-04 
12:13:16.000000000 +0200
+++ 2010-03-02/xen/arch/x86/x86_64/compat_kexec.S       2010-03-09 
14:36:10.000000000 +0100
@@ -151,6 +151,8 @@ compatibility_mode:
         call *%eax
         ud2
 
+        .data
+        .align 4
 compat_page_list:
         .fill 12,4,0
 
@@ -166,7 +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
--- 2010-03-02.orig/xen/arch/x86/xen.lds.S      2010-01-18 09:34:04.000000000 
+0100
+++ 2010-03-02/xen/arch/x86/xen.lds.S   2010-03-09 14:33:27.000000000 +0100
@@ -53,6 +53,7 @@ SECTIONS
   } :text
 
   .data : {                    /* Data */
+       *(.data.page_aligned)
        *(.data)
        CONSTRUCTORS
   } :text



Attachment: x86-pagealigned-data.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] x86: add .data.page_aligned section, Jan Beulich <=