blob: 30b0d30d861a22679b69127c2bfa0ebe2c5ea4d6 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Real-mode blob header; this should match realmode.h and be
4 * readonly; for mutable data instead add pointers into the .data
5 * or .bss sections as appropriate.
6 */
7
8#include <linux/linkage.h>
9#include <asm/page_types.h>
10#include <asm/segment.h>
11
12#include "realmode.h"
13
14 .section ".header", "a"
15
16 .balign 16
17GLOBAL(real_mode_header)
18 .long pa_text_start
19 .long pa_ro_end
20 /* SMP trampoline */
21 .long pa_trampoline_start
22 .long pa_trampoline_status
23 .long pa_trampoline_header
24#ifdef CONFIG_X86_64
25 .long pa_trampoline_pgd;
26#endif
27 /* ACPI S3 wakeup */
28#ifdef CONFIG_ACPI_SLEEP
29 .long pa_wakeup_start
30 .long pa_wakeup_header
31#endif
32 /* APM/BIOS reboot */
33 .long pa_machine_real_restart_asm
34#ifdef CONFIG_X86_64
35 .long __KERNEL32_CS
36#endif
37END(real_mode_header)
38
39 /* End signature, used to verify integrity */
40 .section ".signature","a"
41 .balign 4
42GLOBAL(end_signature)
43 .long REALMODE_END_SIGNATURE
44END(end_signature)