|
@@ -15,18 +15,15 @@
|
|
|
#include <asm/boot.h>
|
|
|
#include <asm/processor-flags.h>
|
|
|
#include <asm/segment.h>
|
|
|
+#include <linux/linkage.h>
|
|
|
|
|
|
.text
|
|
|
-
|
|
|
- .globl protected_mode_jump
|
|
|
- .type protected_mode_jump, @function
|
|
|
-
|
|
|
.code16
|
|
|
|
|
|
/*
|
|
|
* void protected_mode_jump(u32 entrypoint, u32 bootparams);
|
|
|
*/
|
|
|
-protected_mode_jump:
|
|
|
+GLOBAL(protected_mode_jump)
|
|
|
movl %edx, %esi # Pointer to boot_params table
|
|
|
|
|
|
xorl %ebx, %ebx
|
|
@@ -47,12 +44,10 @@ protected_mode_jump:
|
|
|
.byte 0x66, 0xea # ljmpl opcode
|
|
|
2: .long in_pm32 # offset
|
|
|
.word __BOOT_CS # segment
|
|
|
-
|
|
|
- .size protected_mode_jump, .-protected_mode_jump
|
|
|
+ENDPROC(protected_mode_jump)
|
|
|
|
|
|
.code32
|
|
|
- .type in_pm32, @function
|
|
|
-in_pm32:
|
|
|
+GLOBAL(in_pm32)
|
|
|
# Set up data segments for flat 32-bit mode
|
|
|
movl %ecx, %ds
|
|
|
movl %ecx, %es
|
|
@@ -78,5 +73,4 @@ in_pm32:
|
|
|
lldt %cx
|
|
|
|
|
|
jmpl *%eax # Jump to the 32-bit entrypoint
|
|
|
-
|
|
|
- .size in_pm32, .-in_pm32
|
|
|
+ENDPROC(in_pm32)
|