blob: ead488cf3981eafd6f59d26fe53e9ab26be1a70e [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Thiago Jung Bauermann467d2782016-12-19 16:22:32 -08002#ifndef _ASM_POWERPC_IMA_H
3#define _ASM_POWERPC_IMA_H
4
Thiago Jung Bauermannab6b1d12016-12-19 16:22:45 -08005struct kimage;
6
Thiago Jung Bauermann467d2782016-12-19 16:22:32 -08007int ima_get_kexec_buffer(void **addr, size_t *size);
8int ima_free_kexec_buffer(void);
9
10#ifdef CONFIG_IMA
11void remove_ima_buffer(void *fdt, int chosen_node);
12#else
13static inline void remove_ima_buffer(void *fdt, int chosen_node) {}
14#endif
15
Thiago Jung Bauermannab6b1d12016-12-19 16:22:45 -080016#ifdef CONFIG_IMA_KEXEC
17int arch_ima_add_kexec_buffer(struct kimage *image, unsigned long load_addr,
18 size_t size);
19
20int setup_ima_buffer(const struct kimage *image, void *fdt, int chosen_node);
21#else
22static inline int setup_ima_buffer(const struct kimage *image, void *fdt,
23 int chosen_node)
24{
25 remove_ima_buffer(fdt, chosen_node);
26 return 0;
27}
28#endif /* CONFIG_IMA_KEXEC */
29
Thiago Jung Bauermann467d2782016-12-19 16:22:32 -080030#endif /* _ASM_POWERPC_IMA_H */