x86, realmode: Move end signature into header.S
The end signature was defined in wakeup_asm.S as it originally came from the ACPI wakeup code. However, we rely on the existence of the .signature section to expand .bss, otherwise we would have to include code to explicitly zero the .bss depending on the configuration. Since the expanded .bss is just in .init.data anyway, it's easier to always have it expanded. This fixes failures when compiled without CONFIG_ACPI_SLEEP. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
This commit is contained in:
Родитель
8a3b947c40
Коммит
61f5446169
|
@ -7,6 +7,8 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <asm/page_types.h>
|
||||
|
||||
#include "realmode.h"
|
||||
|
||||
.section ".header", "a"
|
||||
|
||||
.balign 16
|
||||
|
@ -30,3 +32,10 @@ GLOBAL(real_mode_header)
|
|||
.long pa_machine_real_restart_asm
|
||||
#endif
|
||||
END(real_mode_header)
|
||||
|
||||
/* End signature, used to verify integrity */
|
||||
.section ".signature","a"
|
||||
.balign 4
|
||||
GLOBAL(end_signature)
|
||||
.long REALMODE_END_SIGNATURE
|
||||
END(end_signature)
|
||||
|
|
|
@ -13,4 +13,9 @@
|
|||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
* Signature at the end of the realmode region
|
||||
*/
|
||||
#define REALMODE_END_SIGNATURE 0x65a22c82
|
||||
|
||||
#endif /* ARCH_X86_REALMODE_RM_REALMODE_H */
|
||||
|
|
|
@ -33,7 +33,6 @@ extern struct wakeup_header wakeup_header;
|
|||
|
||||
#define WAKEUP_HEADER_OFFSET 8
|
||||
#define WAKEUP_HEADER_SIGNATURE 0x51ee1111
|
||||
#define WAKEUP_END_SIGNATURE 0x65a22c82
|
||||
|
||||
/* Wakeup behavior bits */
|
||||
#define WAKEUP_BEHAVIOR_RESTORE_MISC_ENABLE 0
|
||||
|
|
|
@ -85,7 +85,7 @@ ENTRY(wakeup_start)
|
|||
|
||||
/* Check we really have everything... */
|
||||
movl end_signature, %eax
|
||||
cmpl $WAKEUP_END_SIGNATURE, %eax
|
||||
cmpl $REALMODE_END_SIGNATURE, %eax
|
||||
jne bogus_real_magic
|
||||
|
||||
/* Call the C code */
|
||||
|
@ -175,7 +175,3 @@ GLOBAL(wakeup_idt)
|
|||
.long 0 /* address */
|
||||
.word 0
|
||||
END(wakeup_idt)
|
||||
|
||||
.section ".signature","a"
|
||||
end_signature:
|
||||
.long WAKEUP_END_SIGNATURE
|
||||
|
|
Загрузка…
Ссылка в новой задаче