|  | /* SPDX-License-Identifier: GPL-2.0 */ | 
|  | #ifndef _LINUX_PURGATORY_H | 
|  | #define _LINUX_PURGATORY_H | 
|  |  | 
|  | #include <linux/types.h> | 
|  | #include <crypto/sha.h> | 
|  | #include <uapi/linux/kexec.h> | 
|  |  | 
|  | struct kexec_sha_region { | 
|  | unsigned long start; | 
|  | unsigned long len; | 
|  | }; | 
|  |  | 
|  | /* | 
|  | * These forward declarations serve two purposes: | 
|  | * | 
|  | * 1) Make sparse happy when checking arch/purgatory | 
|  | * 2) Document that these are required to be global so the symbol | 
|  | *    lookup in kexec works | 
|  | */ | 
|  | extern struct kexec_sha_region purgatory_sha_regions[KEXEC_SEGMENT_MAX]; | 
|  | extern u8 purgatory_sha256_digest[SHA256_DIGEST_SIZE]; | 
|  |  | 
|  | #endif |