| * Definitions for the wakeup data structure at the head of the |
| #ifndef ARCH_X86_KERNEL_ACPI_RM_WAKEUP_H |
| #define ARCH_X86_KERNEL_ACPI_RM_WAKEUP_H |
| /* This must match data at wakeup.S */ |
| u16 video_mode; /* Video mode number */ |
| u32 pmode_entry; /* Protected mode resume point, 32-bit only */ |
| u32 pmode_cr0; /* Protected mode cr0 */ |
| u32 pmode_cr3; /* Protected mode cr3 */ |
| u32 pmode_cr4; /* Protected mode cr4 */ |
| u32 pmode_efer_low; /* Protected mode EFER */ |
| u32 pmode_misc_en_low; /* Protected mode MISC_ENABLE */ |
| u32 pmode_behavior; /* Wakeup routine behavior flags */ |
| u32 signature; /* To check we have correct structure */ |
| } __attribute__((__packed__)); |
| extern struct wakeup_header wakeup_header; |
| #define WAKEUP_HEADER_OFFSET 8 |
| #define WAKEUP_HEADER_SIGNATURE 0x51ee1111 |
| /* Wakeup behavior bits */ |
| #define WAKEUP_BEHAVIOR_RESTORE_MISC_ENABLE 0 |
| #endif /* ARCH_X86_KERNEL_ACPI_RM_WAKEUP_H */ |