11573Srgrimes/* SPDX-License-Identifier: GPL-2.0 */ 21573Srgrimes#ifndef _LINUX_PURGATORY_H 31573Srgrimes#define _LINUX_PURGATORY_H 41573Srgrimes 51573Srgrimes#include <linux/types.h> 61573Srgrimes#include <crypto/sha2.h> 71573Srgrimes#include <uapi/linux/kexec.h> 81573Srgrimes 91573Srgrimesstruct kexec_sha_region { 101573Srgrimes unsigned long start; 111573Srgrimes unsigned long len; 121573Srgrimes}; 131573Srgrimes 141573Srgrimes/* 151573Srgrimes * These forward declarations serve two purposes: 161573Srgrimes * 171573Srgrimes * 1) Make sparse happy when checking arch/purgatory 181573Srgrimes * 2) Document that these are required to be global so the symbol 191573Srgrimes * lookup in kexec works 201573Srgrimes */ 211573Srgrimesextern struct kexec_sha_region purgatory_sha_regions[KEXEC_SEGMENT_MAX]; 221573Srgrimesextern u8 purgatory_sha256_digest[SHA256_DIGEST_SIZE]; 231573Srgrimes 241573Srgrimes#endif 251573Srgrimes