]>
Commit | Line | Data |
---|---|---|
583bb86f NS |
1 | /* |
2 | * kexec.h for kexec | |
3 | * Created by <nschichan@corp.free.fr> on Thu Oct 12 14:59:34 2006 | |
4 | * | |
5 | * This source code is licensed under the GNU General Public License, | |
6 | * Version 2. See the file COPYING for more details. | |
7 | */ | |
8 | ||
9 | #ifndef _MIPS_KEXEC | |
10 | # define _MIPS_KEXEC | |
11 | ||
7aa1c8f4 RB |
12 | #include <asm/stacktrace.h> |
13 | ||
583bb86f NS |
14 | /* Maximum physical address we can use pages from */ |
15 | #define KEXEC_SOURCE_MEMORY_LIMIT (0x20000000) | |
16 | /* Maximum address we can reach in physical address mode */ | |
17 | #define KEXEC_DESTINATION_MEMORY_LIMIT (0x20000000) | |
18 | /* Maximum address we can use for the control code buffer */ | |
19 | #define KEXEC_CONTROL_MEMORY_LIMIT (0x20000000) | |
7aa1c8f4 RB |
20 | /* Reserve 3*4096 bytes for board-specific info */ |
21 | #define KEXEC_CONTROL_PAGE_SIZE (4096 + 3*4096) | |
583bb86f NS |
22 | |
23 | /* The native architecture */ | |
24 | #define KEXEC_ARCH KEXEC_ARCH_MIPS | |
7aa1c8f4 | 25 | #define MAX_NOTE_BYTES 1024 |
583bb86f | 26 | |
583bb86f NS |
27 | static inline void crash_setup_regs(struct pt_regs *newregs, |
28 | struct pt_regs *oldregs) | |
29 | { | |
7aa1c8f4 RB |
30 | if (oldregs) |
31 | memcpy(newregs, oldregs, sizeof(*newregs)); | |
32 | else | |
33 | prepare_frametrace(newregs); | |
583bb86f NS |
34 | } |
35 | ||
7aa1c8f4 RB |
36 | #ifdef CONFIG_KEXEC |
37 | struct kimage; | |
38 | extern unsigned long kexec_args[4]; | |
39 | extern int (*_machine_kexec_prepare)(struct kimage *); | |
40 | extern void (*_machine_kexec_shutdown)(void); | |
41 | extern void (*_machine_crash_shutdown)(struct pt_regs *regs); | |
42 | extern void default_machine_crash_shutdown(struct pt_regs *regs); | |
43 | #ifdef CONFIG_SMP | |
44 | extern const unsigned char kexec_smp_wait[]; | |
45 | extern unsigned long secondary_kexec_args[4]; | |
46 | extern void (*relocated_kexec_smp_wait) (void *); | |
47 | extern atomic_t kexec_ready_to_reboot; | |
54c721b8 | 48 | extern void (*_crash_smp_send_stop)(void); |
7aa1c8f4 RB |
49 | #endif |
50 | #endif | |
51 | ||
583bb86f | 52 | #endif /* !_MIPS_KEXEC */ |