]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
inmates: x86: Move loader page tables into rodata section
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 1 Jan 2016 12:19:29 +0000 (13:19 +0100)
committerJan Kiszka <jan.kiszka@siemens.com>
Fri, 8 Jan 2016 18:34:38 +0000 (19:34 +0100)
This enables the linker to compact the output a bit more, saving between
1500 bytes (32 bit) and 3300 bytes (64 bit) in the F-segment.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
inmates/lib/x86/header-32.S
inmates/lib/x86/header.S

index 17fa5b6d0a4c9345f015bf2e9d2790c07d62b45a..31a39fb826f2cedf5df214408290560f180d5afb 100644 (file)
@@ -47,7 +47,7 @@ start32:
        or $X86_CR4_PSE,%eax
        mov %eax,%cr4
 
-       mov $loader_pdpt + FSEGMENT_BASE,%eax
+       mov $loader_pdpt,%eax
        mov %eax,%cr3
 
        mov $(X86_CR0_PG | X86_CR0_WP | X86_CR0_PE),%eax
@@ -131,6 +131,9 @@ gdt_ptr:
        .short  gdt_ptr - loader_gdt - 1
        .long   loader_gdt + FSEGMENT_BASE
 
+
+       .section ".rodata"
+
        .align(4096)
        .global loader_pdpt
 loader_pdpt:
index af8e918504171e97af42fa71d048b425d38c06ba..f3037dc801c4ad50aaaf2b7eb157cbba9af93b40 100644 (file)
@@ -50,7 +50,7 @@ start32:
        or $X86_CR4_PAE,%eax
        mov %eax,%cr4
 
-       mov $pml4 + FSEGMENT_BASE,%eax
+       mov $pml4,%eax
        mov %eax,%cr3
 
        movl $MSR_MTRR_DEF_TYPE,%ecx
@@ -136,13 +136,16 @@ gdt_ptr:
        .short  gdt_ptr - gdt - 1
        .long   gdt + FSEGMENT_BASE
 
+
+       .section ".rodata"
+
        .align(4096)
 pml4:
-       .quad   pdpt + FSEGMENT_BASE + 0x003
+       .quad   pdpt + 0x003
 
        .align(4096)
 pdpt:
-       .quad   pd + FSEGMENT_BASE + 0x003
+       .quad   pd + 0x003
 
        .align(4096)
 pd: