header.S 963 B

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. GLOBAL(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_status
  19. .long pa_trampoline_header
  20. #ifdef CONFIG_X86_64
  21. .long pa_trampoline_pgd;
  22. #endif
  23. /* ACPI S3 wakeup */
  24. #ifdef CONFIG_ACPI_SLEEP
  25. .long pa_wakeup_start
  26. .long pa_wakeup_header
  27. #endif
  28. /* APM/BIOS reboot */
  29. .long pa_machine_real_restart_asm
  30. #ifdef CONFIG_X86_64
  31. .long __KERNEL32_CS
  32. #endif
  33. END(real_mode_header)
  34. /* End signature, used to verify integrity */
  35. .section ".signature","a"
  36. .balign 4
  37. GLOBAL(end_signature)
  38. .long REALMODE_END_SIGNATURE
  39. END(end_signature)