1 #ifndef _X86_64_KEXEC_H
2 #define _X86_64_KEXEC_H
8 * KEXEC_SOURCE_MEMORY_LIMIT maximum page get_free_page can return.
9 * I.e. Maximum page that is mapped directly into kernel memory,
10 * and kmap is not required.
12 * So far x86_64 is limited to 40 physical address bits.
15 /* Maximum physical address we can use pages from */
16 #define KEXEC_SOURCE_MEMORY_LIMIT (0xFFFFFFFFFFUL)
17 /* Maximum address we can reach in physical address mode */
18 #define KEXEC_DESTINATION_MEMORY_LIMIT (0xFFFFFFFFFFUL)
19 /* Maximum address we can use for the control pages */
20 #define KEXEC_CONTROL_MEMORY_LIMIT (0xFFFFFFFFFFUL)
22 /* Allocate one page for the pdp and the second for the code */
23 #define KEXEC_CONTROL_CODE_SIZE (4096UL + 4096UL)
25 /* The native architecture */
26 #define KEXEC_ARCH KEXEC_ARCH_X86_64
28 #define MAX_NOTE_BYTES 1024
29 typedef u32 note_buf_t[MAX_NOTE_BYTES/4];
31 extern note_buf_t crash_notes[];
33 #endif /* _X86_64_KEXEC_H */