/* SPDX-License-Identifier: GPL-2.0 */ /* * 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> #include <asm/segment.h> #include "realmode.h" .section ".header", "a" .balign 16 SYM_DATA_START(real_mode_header) .long pa_text_start .long pa_ro_end /* SMP trampoline */ .long pa_trampoline_start .long pa_trampoline_header #ifdef CONFIG_AMD_MEM_ENCRYPT .long pa_sev_es_trampoline_start #endif #ifdef CONFIG_X86_64 .long pa_trampoline_start64 .long pa_trampoline_pgd; #endif /* ACPI S3 wakeup */ #ifdef CONFIG_ACPI_SLEEP .long pa_wakeup_start .long pa_wakeup_header #endif /* APM/BIOS reboot */ .long pa_machine_real_restart_asm #ifdef CONFIG_X86_64 .long __KERNEL32_CS #endif SYM_DATA_END(real_mode_header) /* End signature, used to verify integrity */ .section ".signature","a" .balign 4 SYM_DATA(end_signature, .long REALMODE_END_SIGNATURE