i386/sev: Reorder struct declarations
Move the declaration of PaddedSevHashTable before SevSnpGuest so we can add a new such field to the latter. No functional change intended. Signed-off-by: Dov Murik <dovmurik@linux.ibm.com> Signed-off-by: Michael Roth <michael.roth@amd.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@amd.com> Message-ID: <20240530111643.1091816-23-pankaj.gupta@amd.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
06cbd66cec
commit
cc483bf911
@ -46,6 +46,48 @@ OBJECT_DECLARE_TYPE(SevCommonState, SevCommonStateClass, SEV_COMMON)
|
|||||||
OBJECT_DECLARE_TYPE(SevGuestState, SevCommonStateClass, SEV_GUEST)
|
OBJECT_DECLARE_TYPE(SevGuestState, SevCommonStateClass, SEV_GUEST)
|
||||||
OBJECT_DECLARE_TYPE(SevSnpGuestState, SevCommonStateClass, SEV_SNP_GUEST)
|
OBJECT_DECLARE_TYPE(SevSnpGuestState, SevCommonStateClass, SEV_SNP_GUEST)
|
||||||
|
|
||||||
|
/* hard code sha256 digest size */
|
||||||
|
#define HASH_SIZE 32
|
||||||
|
|
||||||
|
typedef struct QEMU_PACKED SevHashTableEntry {
|
||||||
|
QemuUUID guid;
|
||||||
|
uint16_t len;
|
||||||
|
uint8_t hash[HASH_SIZE];
|
||||||
|
} SevHashTableEntry;
|
||||||
|
|
||||||
|
typedef struct QEMU_PACKED SevHashTable {
|
||||||
|
QemuUUID guid;
|
||||||
|
uint16_t len;
|
||||||
|
SevHashTableEntry cmdline;
|
||||||
|
SevHashTableEntry initrd;
|
||||||
|
SevHashTableEntry kernel;
|
||||||
|
} SevHashTable;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Data encrypted by sev_encrypt_flash() must be padded to a multiple of
|
||||||
|
* 16 bytes.
|
||||||
|
*/
|
||||||
|
typedef struct QEMU_PACKED PaddedSevHashTable {
|
||||||
|
SevHashTable ht;
|
||||||
|
uint8_t padding[ROUND_UP(sizeof(SevHashTable), 16) - sizeof(SevHashTable)];
|
||||||
|
} PaddedSevHashTable;
|
||||||
|
|
||||||
|
QEMU_BUILD_BUG_ON(sizeof(PaddedSevHashTable) % 16 != 0);
|
||||||
|
|
||||||
|
#define SEV_INFO_BLOCK_GUID "00f771de-1a7e-4fcb-890e-68c77e2fb44e"
|
||||||
|
typedef struct __attribute__((__packed__)) SevInfoBlock {
|
||||||
|
/* SEV-ES Reset Vector Address */
|
||||||
|
uint32_t reset_addr;
|
||||||
|
} SevInfoBlock;
|
||||||
|
|
||||||
|
#define SEV_HASH_TABLE_RV_GUID "7255371f-3a3b-4b04-927b-1da6efa8d454"
|
||||||
|
typedef struct QEMU_PACKED SevHashTableDescriptor {
|
||||||
|
/* SEV hash table area guest address */
|
||||||
|
uint32_t base;
|
||||||
|
/* SEV hash table area size (in bytes) */
|
||||||
|
uint32_t size;
|
||||||
|
} SevHashTableDescriptor;
|
||||||
|
|
||||||
struct SevCommonState {
|
struct SevCommonState {
|
||||||
X86ConfidentialGuest parent_obj;
|
X86ConfidentialGuest parent_obj;
|
||||||
|
|
||||||
@ -128,48 +170,6 @@ typedef struct SevLaunchUpdateData {
|
|||||||
|
|
||||||
static QTAILQ_HEAD(, SevLaunchUpdateData) launch_update;
|
static QTAILQ_HEAD(, SevLaunchUpdateData) launch_update;
|
||||||
|
|
||||||
#define SEV_INFO_BLOCK_GUID "00f771de-1a7e-4fcb-890e-68c77e2fb44e"
|
|
||||||
typedef struct __attribute__((__packed__)) SevInfoBlock {
|
|
||||||
/* SEV-ES Reset Vector Address */
|
|
||||||
uint32_t reset_addr;
|
|
||||||
} SevInfoBlock;
|
|
||||||
|
|
||||||
#define SEV_HASH_TABLE_RV_GUID "7255371f-3a3b-4b04-927b-1da6efa8d454"
|
|
||||||
typedef struct QEMU_PACKED SevHashTableDescriptor {
|
|
||||||
/* SEV hash table area guest address */
|
|
||||||
uint32_t base;
|
|
||||||
/* SEV hash table area size (in bytes) */
|
|
||||||
uint32_t size;
|
|
||||||
} SevHashTableDescriptor;
|
|
||||||
|
|
||||||
/* hard code sha256 digest size */
|
|
||||||
#define HASH_SIZE 32
|
|
||||||
|
|
||||||
typedef struct QEMU_PACKED SevHashTableEntry {
|
|
||||||
QemuUUID guid;
|
|
||||||
uint16_t len;
|
|
||||||
uint8_t hash[HASH_SIZE];
|
|
||||||
} SevHashTableEntry;
|
|
||||||
|
|
||||||
typedef struct QEMU_PACKED SevHashTable {
|
|
||||||
QemuUUID guid;
|
|
||||||
uint16_t len;
|
|
||||||
SevHashTableEntry cmdline;
|
|
||||||
SevHashTableEntry initrd;
|
|
||||||
SevHashTableEntry kernel;
|
|
||||||
} SevHashTable;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Data encrypted by sev_encrypt_flash() must be padded to a multiple of
|
|
||||||
* 16 bytes.
|
|
||||||
*/
|
|
||||||
typedef struct QEMU_PACKED PaddedSevHashTable {
|
|
||||||
SevHashTable ht;
|
|
||||||
uint8_t padding[ROUND_UP(sizeof(SevHashTable), 16) - sizeof(SevHashTable)];
|
|
||||||
} PaddedSevHashTable;
|
|
||||||
|
|
||||||
QEMU_BUILD_BUG_ON(sizeof(PaddedSevHashTable) % 16 != 0);
|
|
||||||
|
|
||||||
static Error *sev_mig_blocker;
|
static Error *sev_mig_blocker;
|
||||||
|
|
||||||
static const char *const sev_fw_errlist[] = {
|
static const char *const sev_fw_errlist[] = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user