GNU Linux-libre 4.9-gnu1
[releases.git] / arch / arm64 / include / asm / kexec.h
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