xref: /openbmc/linux/arch/arm64/include/asm/kexec.h (revision 79a93295)
1 /*
2  * kexec for arm64
3  *
4  * Copyright (C) Linaro.
5  * Copyright (C) Huawei Futurewei Technologies.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11 
12 #ifndef _ARM64_KEXEC_H
13 #define _ARM64_KEXEC_H
14 
15 /* Maximum physical address we can use pages from */
16 
17 #define KEXEC_SOURCE_MEMORY_LIMIT (-1UL)
18 
19 /* Maximum address we can reach in physical address mode */
20 
21 #define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL)
22 
23 /* Maximum address we can use for the control code buffer */
24 
25 #define KEXEC_CONTROL_MEMORY_LIMIT (-1UL)
26 
27 #define KEXEC_CONTROL_PAGE_SIZE 4096
28 
29 #define KEXEC_ARCH KEXEC_ARCH_AARCH64
30 
31 #ifndef __ASSEMBLY__
32 
33 /**
34  * crash_setup_regs() - save registers for the panic kernel
35  *
36  * @newregs: registers are saved here
37  * @oldregs: registers to be saved (may be %NULL)
38  */
39 
40 static inline void crash_setup_regs(struct pt_regs *newregs,
41 				    struct pt_regs *oldregs)
42 {
43 	/* Empty routine needed to avoid build errors. */
44 }
45 
46 #endif /* __ASSEMBLY__ */
47 
48 #endif
49