1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_PURGATORY_H
3 #define _LINUX_PURGATORY_H
4 
5 #include <linux/types.h>
6 #include <crypto/sha2.h>
7 #include <uapi/linux/kexec.h>
8 
9 struct kexec_sha_region {
10 	unsigned long start;
11 	unsigned long len;
12 };
13 
14 /*
15  * These forward declarations serve two purposes:
16  *
17  * 1) Make sparse happy when checking arch/purgatory
18  * 2) Document that these are required to be global so the symbol
19  *    lookup in kexec works
20  */
21 extern struct kexec_sha_region purgatory_sha_regions[KEXEC_SEGMENT_MAX];
22 extern u8 purgatory_sha256_digest[SHA256_DIGEST_SIZE];
23 
24 #endif
25