x86, realmode: Move bits to the proper sections in trampoline_64.S
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
This commit is contained in:
parent
487f50ffeb
commit
0247428611
1 changed files with 6 additions and 4 deletions
|
@ -80,6 +80,7 @@ no_longmode:
|
||||||
jmp no_longmode
|
jmp no_longmode
|
||||||
#include "../kernel/verify_cpu.S"
|
#include "../kernel/verify_cpu.S"
|
||||||
|
|
||||||
|
.section ".text32","ax"
|
||||||
.code32
|
.code32
|
||||||
.balign 4
|
.balign 4
|
||||||
ENTRY(startup_32)
|
ENTRY(startup_32)
|
||||||
|
@ -114,6 +115,7 @@ ENTRY(startup_32)
|
||||||
*/
|
*/
|
||||||
ljmpl *(pa_startup_64_vector)
|
ljmpl *(pa_startup_64_vector)
|
||||||
|
|
||||||
|
.section ".text64","ax"
|
||||||
.code64
|
.code64
|
||||||
.balign 4
|
.balign 4
|
||||||
ENTRY(startup_64)
|
ENTRY(startup_64)
|
||||||
|
@ -123,7 +125,8 @@ ENTRY(startup_64)
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
jmp *%rax
|
jmp *%rax
|
||||||
|
|
||||||
# Careful these need to be in the same 64K segment as the above;
|
.section ".rodata","a"
|
||||||
|
.balign 16
|
||||||
tidt:
|
tidt:
|
||||||
.word 0 # idt limit = 0
|
.word 0 # idt limit = 0
|
||||||
.word 0, 0 # idt base = 0L
|
.word 0, 0 # idt base = 0L
|
||||||
|
@ -153,9 +156,8 @@ startup_64_vector:
|
||||||
.word __KERNEL_CS, 0
|
.word __KERNEL_CS, 0
|
||||||
|
|
||||||
.data
|
.data
|
||||||
|
|
||||||
.balign 4
|
.balign 4
|
||||||
ENTRY(trampoline_status)
|
GLOBAL(trampoline_status)
|
||||||
.long 0
|
.long 0
|
||||||
|
|
||||||
trampoline_stack:
|
trampoline_stack:
|
||||||
|
@ -164,7 +166,7 @@ trampoline_stack_end:
|
||||||
|
|
||||||
.globl level3_ident_pgt
|
.globl level3_ident_pgt
|
||||||
.globl level3_kernel_pgt
|
.globl level3_kernel_pgt
|
||||||
ENTRY(trampoline_level4_pgt)
|
GLOBAL(trampoline_level4_pgt)
|
||||||
level3_ident_pgt: .quad 0
|
level3_ident_pgt: .quad 0
|
||||||
.fill 510,8,0
|
.fill 510,8,0
|
||||||
level3_kernel_pgt: .quad 0
|
level3_kernel_pgt: .quad 0
|
||||||
|
|
Loading…
Add table
Reference in a new issue