Jarkko Sakkinen | b3266bd | 2012-05-08 21:22:25 +0300 | [diff] [blame] | 1 | /* |
| 2 | * Real-mode blob header; this should match realmode.h and be |
| 3 | * readonly; for mutable data instead add pointers into the .data |
| 4 | * or .bss sections as appropriate. |
| 5 | */ |
| 6 | |
| 7 | #include <linux/linkage.h> |
| 8 | #include <asm/page_types.h> |
H. Peter Anvin | 6505139 | 2012-06-16 21:47:37 -0700 | [diff] [blame] | 9 | #include <asm/segment.h> |
Jarkko Sakkinen | b3266bd | 2012-05-08 21:22:25 +0300 | [diff] [blame] | 10 | |
H. Peter Anvin | 61f5446 | 2012-05-21 00:02:45 -0700 | [diff] [blame] | 11 | #include "realmode.h" |
| 12 | |
Jarkko Sakkinen | f37240f | 2012-05-08 21:22:43 +0300 | [diff] [blame] | 13 | .section ".header", "a" |
Jarkko Sakkinen | b3266bd | 2012-05-08 21:22:25 +0300 | [diff] [blame] | 14 | |
Jarkko Sakkinen | cda846f | 2012-05-08 21:22:46 +0300 | [diff] [blame] | 15 | .balign 16 |
Jarkko Sakkinen | 8e029fc | 2012-05-08 21:22:40 +0300 | [diff] [blame] | 16 | GLOBAL(real_mode_header) |
Jarkko Sakkinen | f37240f | 2012-05-08 21:22:43 +0300 | [diff] [blame] | 17 | .long pa_text_start |
| 18 | .long pa_ro_end |
| 19 | /* SMP trampoline */ |
| 20 | .long pa_trampoline_start |
| 21 | .long pa_trampoline_status |
| 22 | .long pa_trampoline_header |
| 23 | #ifdef CONFIG_X86_64 |
| 24 | .long pa_trampoline_pgd; |
Jarkko Sakkinen | 5a8c9ae | 2012-05-08 21:22:27 +0300 | [diff] [blame] | 25 | #endif |
Jarkko Sakkinen | f37240f | 2012-05-08 21:22:43 +0300 | [diff] [blame] | 26 | /* ACPI S3 wakeup */ |
Jarkko Sakkinen | c9b77cc | 2012-05-08 21:22:29 +0300 | [diff] [blame] | 27 | #ifdef CONFIG_ACPI_SLEEP |
Jarkko Sakkinen | f37240f | 2012-05-08 21:22:43 +0300 | [diff] [blame] | 28 | .long pa_wakeup_start |
| 29 | .long pa_wakeup_header |
| 30 | #endif |
| 31 | /* APM/BIOS reboot */ |
Jarkko Sakkinen | f37240f | 2012-05-08 21:22:43 +0300 | [diff] [blame] | 32 | .long pa_machine_real_restart_asm |
H. Peter Anvin | 6505139 | 2012-06-16 21:47:37 -0700 | [diff] [blame] | 33 | #ifdef CONFIG_X86_64 |
| 34 | .long __KERNEL32_CS |
Jarkko Sakkinen | c9b77cc | 2012-05-08 21:22:29 +0300 | [diff] [blame] | 35 | #endif |
Jarkko Sakkinen | b3266bd | 2012-05-08 21:22:25 +0300 | [diff] [blame] | 36 | END(real_mode_header) |
H. Peter Anvin | 61f5446 | 2012-05-21 00:02:45 -0700 | [diff] [blame] | 37 | |
| 38 | /* End signature, used to verify integrity */ |
| 39 | .section ".signature","a" |
| 40 | .balign 4 |
| 41 | GLOBAL(end_signature) |
| 42 | .long REALMODE_END_SIGNATURE |
| 43 | END(end_signature) |