2012-05-08 12:22:25 -06:00
|
|
|
/*
|
|
|
|
* Real-mode blob header; this should match realmode.h and be
|
|
|
|
* readonly; for mutable data instead add pointers into the .data
|
|
|
|
* or .bss sections as appropriate.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/linkage.h>
|
|
|
|
#include <asm/page_types.h>
|
2012-06-16 22:47:37 -06:00
|
|
|
#include <asm/segment.h>
|
2012-05-08 12:22:25 -06:00
|
|
|
|
2012-05-21 01:02:45 -06:00
|
|
|
#include "realmode.h"
|
|
|
|
|
2012-05-08 12:22:43 -06:00
|
|
|
.section ".header", "a"
|
2012-05-08 12:22:25 -06:00
|
|
|
|
2012-05-08 12:22:46 -06:00
|
|
|
.balign 16
|
2012-05-08 12:22:40 -06:00
|
|
|
GLOBAL(real_mode_header)
|
2012-05-08 12:22:43 -06:00
|
|
|
.long pa_text_start
|
|
|
|
.long pa_ro_end
|
|
|
|
/* SMP trampoline */
|
|
|
|
.long pa_trampoline_start
|
|
|
|
.long pa_trampoline_status
|
|
|
|
.long pa_trampoline_header
|
|
|
|
#ifdef CONFIG_X86_64
|
|
|
|
.long pa_trampoline_pgd;
|
2012-05-08 12:22:29 -06:00
|
|
|
#endif
|
2012-05-08 12:22:43 -06:00
|
|
|
/* ACPI S3 wakeup */
|
2012-05-08 12:22:29 -06:00
|
|
|
#ifdef CONFIG_ACPI_SLEEP
|
2012-05-08 12:22:43 -06:00
|
|
|
.long pa_wakeup_start
|
|
|
|
.long pa_wakeup_header
|
|
|
|
#endif
|
|
|
|
/* APM/BIOS reboot */
|
|
|
|
.long pa_machine_real_restart_asm
|
2012-06-16 22:47:37 -06:00
|
|
|
#ifdef CONFIG_X86_64
|
|
|
|
.long __KERNEL32_CS
|
2012-05-08 12:22:27 -06:00
|
|
|
#endif
|
2012-05-08 12:22:25 -06:00
|
|
|
END(real_mode_header)
|
2012-05-21 01:02:45 -06:00
|
|
|
|
|
|
|
/* End signature, used to verify integrity */
|
|
|
|
.section ".signature","a"
|
|
|
|
.balign 4
|
|
|
|
GLOBAL(end_signature)
|
|
|
|
.long REALMODE_END_SIGNATURE
|
|
|
|
END(end_signature)
|