header.S 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* 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. #include <linux/linkage.h>
  8. #include <asm/page_types.h>
  9. #include <asm/segment.h>
  10. #include "realmode.h"
  11. .section ".header", "a"
  12. .balign 16
  13. SYM_DATA_START(real_mode_header)
  14. .long pa_text_start
  15. .long pa_ro_end
  16. /* SMP trampoline */
  17. .long pa_trampoline_start
  18. .long pa_trampoline_header
  19. #ifdef CONFIG_AMD_MEM_ENCRYPT
  20. .long pa_sev_es_trampoline_start
  21. #endif
  22. #ifdef CONFIG_X86_64
  23. .long pa_trampoline_start64
  24. .long pa_trampoline_pgd;
  25. #endif
  26. /* ACPI S3 wakeup */
  27. #ifdef CONFIG_ACPI_SLEEP
  28. .long pa_wakeup_start
  29. .long pa_wakeup_header
  30. #endif
  31. /* APM/BIOS reboot */
  32. .long pa_machine_real_restart_asm
  33. #ifdef CONFIG_X86_64
  34. .long __KERNEL32_CS
  35. #endif
  36. SYM_DATA_END(real_mode_header)
  37. /* End signature, used to verify integrity */
  38. .section ".signature","a"
  39. .balign 4
  40. SYM_DATA(end_signature, .long REALMODE_END_SIGNATURE)