summaryrefslogtreecommitdiffstats
path: root/arch/x86/realmode/rm/trampoline_common.S
diff options
context:
space:
mode:
authorJarkko Sakkinen <jarkko.sakkinen@intel.com>2012-05-08 21:22:43 +0300
committerH. Peter Anvin <hpa@linux.intel.com>2012-05-08 11:48:45 -0700
commitf37240f16bec91f15ce564515f70a6ca9715ce96 (patch)
treed1e98241650bfed0d87f60e3e71a8ad716782f6d /arch/x86/realmode/rm/trampoline_common.S
parentc4845474a01f699966272536e8416222e3f2d2cb (diff)
downloadlinux-f37240f16bec91f15ce564515f70a6ca9715ce96.tar.bz2
x86, realmode: header for trampoline code
Added header for trampoline code that can be used to supply input data to it. This makes interface between real mode code and kernel cleaner and simpler. Replaced two confusing pointers to level4 pgt in trampoline_64.S with a single pointer to the beginning of the page table. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@intel.com> Link: http://lkml.kernel.org/r/1336501366-28617-21-git-send-email-jarkko.sakkinen@intel.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/realmode/rm/trampoline_common.S')
-rw-r--r--arch/x86/realmode/rm/trampoline_common.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/x86/realmode/rm/trampoline_common.S b/arch/x86/realmode/rm/trampoline_common.S
new file mode 100644
index 000000000000..c3f951c468c5
--- /dev/null
+++ b/arch/x86/realmode/rm/trampoline_common.S
@@ -0,0 +1,23 @@
+ .section ".rodata","a"
+
+ .balign 4
+tr_idt: .fill 1, 6, 0
+
+ .bss
+
+ .balign 4
+GLOBAL(trampoline_status) .space 4
+
+GLOBAL(trampoline_header)
+#ifdef CONFIG_X86_32
+ tr_start: .space 4
+ tr_gdt: .space 6
+#else
+ tr_start: .space 8
+#endif
+END(trampoline_header)
+
+#ifdef CONFIG_X86_64
+ .balign PAGE_SIZE
+GLOBAL(trampoline_pgd) .space PAGE_SIZE
+#endif