Skip to content

Commit

Permalink
x86, realmode: Move bits to the proper sections in trampoline_64.S
Browse files Browse the repository at this point in the history
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@linux.intel.com>
Link: http://lkml.kernel.org/r/1336501366-28617-11-git-send-email-jarkko.sakkinen@intel.com
  • Loading branch information
H. Peter Anvin committed May 8, 2012
1 parent 487f50f commit 0247428
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions arch/x86/realmode/rm/trampoline_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ no_longmode:
jmp no_longmode
#include "../kernel/verify_cpu.S"

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

.section ".text64","ax"
.code64
.balign 4
ENTRY(startup_64)
Expand All @@ -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
Expand Down Expand Up @@ -153,9 +156,8 @@ startup_64_vector:
.word __KERNEL_CS, 0

.data

.balign 4
ENTRY(trampoline_status)
GLOBAL(trampoline_status)
.long 0

trampoline_stack:
Expand All @@ -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
Expand Down

0 comments on commit 0247428

Please sign in to comment.