[PATCH 10/23] x86, realmode: Move bits to the proper sections in trampoline_64.S

From: Jarkko Sakkinen
Date: Tue May 08 2012 - 14:27:47 EST


From: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx>

Move various bits to the sections they really belong in in
trampoline_64.S. Use GLOBAL() rather than ENTRY() for data objects:
ENTRY() should only be used with code and forces alignment to 16
bytes.

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
---
arch/x86/realmode/rm/trampoline_64.S | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S
index 063da00..66c58cf 100644
--- a/arch/x86/realmode/rm/trampoline_64.S
+++ b/arch/x86/realmode/rm/trampoline_64.S
@@ -80,6 +80,7 @@ no_longmode:
jmp no_longmode
#include "../kernel/verify_cpu.S"

+ .section ".text32","ax"
.code32
.balign 4
ENTRY(startup_32)
@@ -114,6 +115,7 @@ ENTRY(startup_32)
*/
ljmpl *(pa_startup_64_vector)

+ .section ".text64","ax"
.code64
.balign 4
ENTRY(startup_64)
@@ -123,7 +125,8 @@ ENTRY(startup_64)
addl %esi, %eax
jmp *%rax

- # Careful these need to be in the same 64K segment as the above;
+ .section ".rodata","a"
+ .balign 16
tidt:
.word 0 # idt limit = 0
.word 0, 0 # idt base = 0L
@@ -153,9 +156,8 @@ startup_64_vector:
.word __KERNEL_CS, 0

.data
-
.balign 4
-ENTRY(trampoline_status)
+GLOBAL(trampoline_status)
.long 0

trampoline_stack:
@@ -164,7 +166,7 @@ trampoline_stack_end:

.globl level3_ident_pgt
.globl level3_kernel_pgt
-ENTRY(trampoline_level4_pgt)
+GLOBAL(trampoline_level4_pgt)
level3_ident_pgt: .quad 0
.fill 510,8,0
level3_kernel_pgt: .quad 0
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/