diff options
-rw-r--r-- | arch/x86/realmode/rm/header.S | 9 | ||||
-rw-r--r-- | arch/x86/realmode/rm/realmode.h | 5 | ||||
-rw-r--r-- | arch/x86/realmode/rm/wakeup.h | 1 | ||||
-rw-r--r-- | arch/x86/realmode/rm/wakeup_asm.S | 6 |
4 files changed, 15 insertions, 6 deletions
diff --git a/arch/x86/realmode/rm/header.S b/arch/x86/realmode/rm/header.S index 4612d5382791..fadf48378ada 100644 --- a/arch/x86/realmode/rm/header.S +++ b/arch/x86/realmode/rm/header.S | |||
@@ -7,6 +7,8 @@ | |||
7 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
8 | #include <asm/page_types.h> | 8 | #include <asm/page_types.h> |
9 | 9 | ||
10 | #include "realmode.h" | ||
11 | |||
10 | .section ".header", "a" | 12 | .section ".header", "a" |
11 | 13 | ||
12 | .balign 16 | 14 | .balign 16 |
@@ -30,3 +32,10 @@ GLOBAL(real_mode_header) | |||
30 | .long pa_machine_real_restart_asm | 32 | .long pa_machine_real_restart_asm |
31 | #endif | 33 | #endif |
32 | END(real_mode_header) | 34 | END(real_mode_header) |
35 | |||
36 | /* End signature, used to verify integrity */ | ||
37 | .section ".signature","a" | ||
38 | .balign 4 | ||
39 | GLOBAL(end_signature) | ||
40 | .long REALMODE_END_SIGNATURE | ||
41 | END(end_signature) | ||
diff --git a/arch/x86/realmode/rm/realmode.h b/arch/x86/realmode/rm/realmode.h index 15ab6335f843..d74cff6350ed 100644 --- a/arch/x86/realmode/rm/realmode.h +++ b/arch/x86/realmode/rm/realmode.h | |||
@@ -13,4 +13,9 @@ | |||
13 | 13 | ||
14 | #endif /* __ASSEMBLY__ */ | 14 | #endif /* __ASSEMBLY__ */ |
15 | 15 | ||
16 | /* | ||
17 | * Signature at the end of the realmode region | ||
18 | */ | ||
19 | #define REALMODE_END_SIGNATURE 0x65a22c82 | ||
20 | |||
16 | #endif /* ARCH_X86_REALMODE_RM_REALMODE_H */ | 21 | #endif /* ARCH_X86_REALMODE_RM_REALMODE_H */ |
diff --git a/arch/x86/realmode/rm/wakeup.h b/arch/x86/realmode/rm/wakeup.h index 2dfaf06b8af1..9317e0042f24 100644 --- a/arch/x86/realmode/rm/wakeup.h +++ b/arch/x86/realmode/rm/wakeup.h | |||
@@ -33,7 +33,6 @@ extern struct wakeup_header wakeup_header; | |||
33 | 33 | ||
34 | #define WAKEUP_HEADER_OFFSET 8 | 34 | #define WAKEUP_HEADER_OFFSET 8 |
35 | #define WAKEUP_HEADER_SIGNATURE 0x51ee1111 | 35 | #define WAKEUP_HEADER_SIGNATURE 0x51ee1111 |
36 | #define WAKEUP_END_SIGNATURE 0x65a22c82 | ||
37 | 36 | ||
38 | /* Wakeup behavior bits */ | 37 | /* Wakeup behavior bits */ |
39 | #define WAKEUP_BEHAVIOR_RESTORE_MISC_ENABLE 0 | 38 | #define WAKEUP_BEHAVIOR_RESTORE_MISC_ENABLE 0 |
diff --git a/arch/x86/realmode/rm/wakeup_asm.S b/arch/x86/realmode/rm/wakeup_asm.S index 46108f05e04e..8905166b0bbb 100644 --- a/arch/x86/realmode/rm/wakeup_asm.S +++ b/arch/x86/realmode/rm/wakeup_asm.S | |||
@@ -85,7 +85,7 @@ ENTRY(wakeup_start) | |||
85 | 85 | ||
86 | /* Check we really have everything... */ | 86 | /* Check we really have everything... */ |
87 | movl end_signature, %eax | 87 | movl end_signature, %eax |
88 | cmpl $WAKEUP_END_SIGNATURE, %eax | 88 | cmpl $REALMODE_END_SIGNATURE, %eax |
89 | jne bogus_real_magic | 89 | jne bogus_real_magic |
90 | 90 | ||
91 | /* Call the C code */ | 91 | /* Call the C code */ |
@@ -175,7 +175,3 @@ GLOBAL(wakeup_idt) | |||
175 | .long 0 /* address */ | 175 | .long 0 /* address */ |
176 | .word 0 | 176 | .word 0 |
177 | END(wakeup_idt) | 177 | END(wakeup_idt) |
178 | |||
179 | .section ".signature","a" | ||
180 | end_signature: | ||
181 | .long WAKEUP_END_SIGNATURE | ||