linux/drivers/scsi/mpi3mr/mpi/mpi30_image.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *  Copyright 2018-2023 Broadcom Inc. All rights reserved.
 */
#ifndef MPI30_IMAGE_H
#define MPI30_IMAGE_H
struct mpi3_comp_image_version {};

struct mpi3_hash_exclusion_format {};

#define MPI3_IMAGE_HASH_EXCUSION_NUM
struct mpi3_component_image_header {};

#define MPI3_IMAGE_HEADER_SIGNATURE0_MPI3
#define MPI3_IMAGE_HEADER_LOAD_ADDRESS_INVALID
#define MPI3_IMAGE_HEADER_SIGNATURE1_APPLICATION
#define MPI3_IMAGE_HEADER_SIGNATURE1_FIRST_MUTABLE
#define MPI3_IMAGE_HEADER_SIGNATURE1_BSP
#define MPI3_IMAGE_HEADER_SIGNATURE1_ROM_BIOS
#define MPI3_IMAGE_HEADER_SIGNATURE1_HII_X64
#define MPI3_IMAGE_HEADER_SIGNATURE1_HII_ARM
#define MPI3_IMAGE_HEADER_SIGNATURE1_CPLD
#define MPI3_IMAGE_HEADER_SIGNATURE1_SPD
#define MPI3_IMAGE_HEADER_SIGNATURE1_GAS_GAUGE
#define MPI3_IMAGE_HEADER_SIGNATURE1_PBLP
#define MPI3_IMAGE_HEADER_SIGNATURE1_MANIFEST
#define MPI3_IMAGE_HEADER_SIGNATURE1_OEM
#define MPI3_IMAGE_HEADER_SIGNATURE1_RMC
#define MPI3_IMAGE_HEADER_SIGNATURE1_SMM
#define MPI3_IMAGE_HEADER_SIGNATURE1_PSW
#define MPI3_IMAGE_HEADER_SIGNATURE2_VALUE
#define MPI3_IMAGE_HEADER_FLAGS_DEVICE_KEY_BASIS_MASK
#define MPI3_IMAGE_HEADER_FLAGS_DEVICE_KEY_BASIS_CDI
#define MPI3_IMAGE_HEADER_FLAGS_DEVICE_KEY_BASIS_DI
#define MPI3_IMAGE_HEADER_FLAGS_SIGNED_NVDATA
#define MPI3_IMAGE_HEADER_FLAGS_REQUIRES_ACTIVATION
#define MPI3_IMAGE_HEADER_FLAGS_COMPRESSED
#define MPI3_IMAGE_HEADER_FLAGS_FLASH
#define MPI3_IMAGE_HEADER_SIGNATURE0_OFFSET
#define MPI3_IMAGE_HEADER_LOAD_ADDRESS_OFFSET
#define MPI3_IMAGE_HEADER_DATA_SIZE_OFFSET
#define MPI3_IMAGE_HEADER_START_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_SIGNATURE1_OFFSET
#define MPI3_IMAGE_HEADER_FLASH_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_FLASH_SIZE_OFFSET
#define MPI3_IMAGE_HEADER_VERSION_STRING_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_BUILD_DATE_STRING_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_BUILD_TIME_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_ENVIROMENT_VAR_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_APPLICATION_SPECIFIC_OFFSET
#define MPI3_IMAGE_HEADER_SIGNATURE2_OFFSET
#define MPI3_IMAGE_HEADER_HEADER_SIZE_OFFSET
#define MPI3_IMAGE_HEADER_CRC_OFFSET
#define MPI3_IMAGE_HEADER_FLAGS_OFFSET
#define MPI3_IMAGE_HEADER_SECONDARY_FLASH_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_ETP_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_ETP_SIZE_OFFSET
#define MPI3_IMAGE_HEADER_RMC_INTERFACE_VER_OFFSET
#define MPI3_IMAGE_HEADER_ETP_INTERFACE_VER_OFFSET
#define MPI3_IMAGE_HEADER_COMPONENT_IMAGE_VER_OFFSET
#define MPI3_IMAGE_HEADER_HASH_EXCLUSION_OFFSET
#define MPI3_IMAGE_HEADER_NEXT_IMAGE_HEADER_OFFSET_OFFSET
#define MPI3_IMAGE_HEADER_SIZE
#ifndef MPI3_CI_MANIFEST_MPI_MAX
#define MPI3_CI_MANIFEST_MPI_MAX
#endif
struct mpi3_ci_manifest_mpi_comp_image_ref {};

struct mpi3_ci_manifest_mpi {};

#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_DEV
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_PREALPHA
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_ALPHA
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_BETA
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_RC
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_GCA
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_POINT
#define MPI3_CI_MANIFEST_MPI_FLAGS_DIAG_AUTHORIZATION
#define MPI3_CI_MANIFEST_MPI_SUBSYSTEMID_IGNORED
#define MPI3_CI_MANIFEST_MPI_PKG_VER_STR_OFF_UNSPECIFIED
#define MPI3_CI_MANIFEST_MPI_PKG_BUILD_DATE_STR_OFF_UNSPECIFIED
#define MPI3_CI_MANIFEST_MPI_PKG_BUILD_TIME_STR_OFF_UNSPECIFIED
mpi3_ci_manifest;

#define MPI3_CI_MANIFEST_TYPE_MPI
struct mpi3_extended_image_header {};

#define MPI3_EXT_IMAGE_IMAGETYPE_OFFSET
#define MPI3_EXT_IMAGE_IMAGESIZE_OFFSET
#define MPI3_EXT_IMAGE_NEXTIMAGE_OFFSET
#define MPI3_EXT_IMAGE_HEADER_SIZE
#define MPI3_EXT_IMAGE_TYPE_UNSPECIFIED
#define MPI3_EXT_IMAGE_TYPE_NVDATA
#define MPI3_EXT_IMAGE_TYPE_SUPPORTED_DEVICES
#define MPI3_EXT_IMAGE_TYPE_ENCRYPTED_HASH
#define MPI3_EXT_IMAGE_TYPE_RDE
#define MPI3_EXT_IMAGE_TYPE_AUXILIARY_PROCESSOR
#define MPI3_EXT_IMAGE_TYPE_MIN_PRODUCT_SPECIFIC
#define MPI3_EXT_IMAGE_TYPE_MAX_PRODUCT_SPECIFIC
struct mpi3_supported_device {};

#ifndef MPI3_SUPPORTED_DEVICE_MAX
#define MPI3_SUPPORTED_DEVICE_MAX
#endif
struct mpi3_supported_devices_data {};

#ifndef MPI3_PUBLIC_KEY_MAX
#define MPI3_PUBLIC_KEY_MAX
#endif
struct mpi3_encrypted_hash_entry {};

#define MPI3_HASH_IMAGE_TYPE_KEY_WITH_SIGNATURE
#define MPI3_HASH_ALGORITHM_VERSION_MASK
#define MPI3_HASH_ALGORITHM_VERSION_NONE
#define MPI3_HASH_ALGORITHM_VERSION_SHA1
#define MPI3_HASH_ALGORITHM_VERSION_SHA2
#define MPI3_HASH_ALGORITHM_VERSION_SHA3
#define MPI3_HASH_ALGORITHM_SIZE_MASK
#define MPI3_HASH_ALGORITHM_SIZE_UNUSED
#define MPI3_HASH_ALGORITHM_SIZE_SHA256
#define MPI3_HASH_ALGORITHM_SIZE_SHA512
#define MPI3_HASH_ALGORITHM_SIZE_SHA384
#define MPI3_ENCRYPTION_ALGORITHM_UNUSED
#define MPI3_ENCRYPTION_ALGORITHM_RSA256
#define MPI3_ENCRYPTION_ALGORITHM_RSA512
#define MPI3_ENCRYPTION_ALGORITHM_RSA1024
#define MPI3_ENCRYPTION_ALGORITHM_RSA2048
#define MPI3_ENCRYPTION_ALGORITHM_RSA4096
#define MPI3_ENCRYPTION_ALGORITHM_RSA3072

#ifndef MPI3_ENCRYPTED_HASH_ENTRY_MAX
#define MPI3_ENCRYPTED_HASH_ENTRY_MAX
#endif
struct mpi3_encrypted_hash_data {};

#ifndef MPI3_AUX_PROC_DATA_MAX
#define MPI3_AUX_PROC_DATA_MAX
#endif
struct mpi3_aux_processor_data {};

#define MPI3_AUX_PROC_DATA_OFFSET
#define MPI3_AUXPROCESSOR_BOOT_METHOD_MO_MSG
#define MPI3_AUXPROCESSOR_BOOT_METHOD_MO_DOORBELL
#define MPI3_AUXPROCESSOR_BOOT_METHOD_COMPONENT
#define MPI3_AUXPROCESSOR_TYPE_ARM_A15
#define MPI3_AUXPROCESSOR_TYPE_ARM_M0
#define MPI3_AUXPROCESSOR_TYPE_ARM_R4
#endif