| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * kexec for arm64 |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) Linaro. |
|---|
| 5 | 6 | * 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 | 7 | */ |
|---|
| 11 | 8 | |
|---|
| 12 | 9 | #ifndef _ARM64_KEXEC_H |
|---|
| .. | .. |
|---|
| 93 | 90 | static inline void crash_post_resume(void) {} |
|---|
| 94 | 91 | #endif |
|---|
| 95 | 92 | |
|---|
| 93 | +#ifdef CONFIG_KEXEC_FILE |
|---|
| 94 | +#define ARCH_HAS_KIMAGE_ARCH |
|---|
| 95 | + |
|---|
| 96 | +struct kimage_arch { |
|---|
| 97 | + void *dtb; |
|---|
| 98 | + unsigned long dtb_mem; |
|---|
| 99 | + /* Core ELF header buffer */ |
|---|
| 100 | + void *elf_headers; |
|---|
| 101 | + unsigned long elf_headers_mem; |
|---|
| 102 | + unsigned long elf_headers_sz; |
|---|
| 103 | +}; |
|---|
| 104 | + |
|---|
| 105 | +extern const struct kexec_file_ops kexec_image_ops; |
|---|
| 106 | + |
|---|
| 107 | +struct kimage; |
|---|
| 108 | + |
|---|
| 109 | +extern int arch_kimage_file_post_load_cleanup(struct kimage *image); |
|---|
| 110 | +extern int load_other_segments(struct kimage *image, |
|---|
| 111 | + unsigned long kernel_load_addr, unsigned long kernel_size, |
|---|
| 112 | + char *initrd, unsigned long initrd_len, |
|---|
| 113 | + char *cmdline); |
|---|
| 114 | +#endif |
|---|
| 115 | + |
|---|
| 96 | 116 | #endif /* __ASSEMBLY__ */ |
|---|
| 97 | 117 | |
|---|
| 98 | 118 | #endif |
|---|