18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Real-mode blob header; this should match realmode.h and be 48c2ecf20Sopenharmony_ci * readonly; for mutable data instead add pointers into the .data 58c2ecf20Sopenharmony_ci * or .bss sections as appropriate. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <linux/linkage.h> 98c2ecf20Sopenharmony_ci#include <asm/page_types.h> 108c2ecf20Sopenharmony_ci#include <asm/segment.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include "realmode.h" 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci .section ".header", "a" 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci .balign 16 178c2ecf20Sopenharmony_ciSYM_DATA_START(real_mode_header) 188c2ecf20Sopenharmony_ci .long pa_text_start 198c2ecf20Sopenharmony_ci .long pa_ro_end 208c2ecf20Sopenharmony_ci /* SMP trampoline */ 218c2ecf20Sopenharmony_ci .long pa_trampoline_start 228c2ecf20Sopenharmony_ci .long pa_trampoline_header 238c2ecf20Sopenharmony_ci#ifdef CONFIG_AMD_MEM_ENCRYPT 248c2ecf20Sopenharmony_ci .long pa_sev_es_trampoline_start 258c2ecf20Sopenharmony_ci#endif 268c2ecf20Sopenharmony_ci#ifdef CONFIG_X86_64 278c2ecf20Sopenharmony_ci .long pa_trampoline_pgd; 288c2ecf20Sopenharmony_ci#endif 298c2ecf20Sopenharmony_ci /* ACPI S3 wakeup */ 308c2ecf20Sopenharmony_ci#ifdef CONFIG_ACPI_SLEEP 318c2ecf20Sopenharmony_ci .long pa_wakeup_start 328c2ecf20Sopenharmony_ci .long pa_wakeup_header 338c2ecf20Sopenharmony_ci#endif 348c2ecf20Sopenharmony_ci /* APM/BIOS reboot */ 358c2ecf20Sopenharmony_ci .long pa_machine_real_restart_asm 368c2ecf20Sopenharmony_ci#ifdef CONFIG_X86_64 378c2ecf20Sopenharmony_ci .long __KERNEL32_CS 388c2ecf20Sopenharmony_ci#endif 398c2ecf20Sopenharmony_ciSYM_DATA_END(real_mode_header) 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci /* End signature, used to verify integrity */ 428c2ecf20Sopenharmony_ci .section ".signature","a" 438c2ecf20Sopenharmony_ci .balign 4 448c2ecf20Sopenharmony_ciSYM_DATA(end_signature, .long REALMODE_END_SIGNATURE) 45