Re: [PATCH v4 22/31] i386/sev: Reorder struct declarations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 30, 2024 at 1:17 PM Pankaj Gupta <pankaj.gupta@xxxxxxx> wrote:
>
> From: Dov Murik <dovmurik@xxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxx>
> Signed-off-by: Michael Roth <michael.roth@xxxxxxx>
> Signed-off-by: Pankaj Gupta <pankaj.gupta@xxxxxxx>
> ---
>  target/i386/sev.c | 56 +++++++++++++++++++++++------------------------
>  1 file changed, 28 insertions(+), 28 deletions(-)
>
> diff --git a/target/i386/sev.c b/target/i386/sev.c
> index 831745c02a..1b29fdbc9a 100644
> --- a/target/i386/sev.c
> +++ b/target/i386/sev.c
> @@ -45,6 +45,34 @@ OBJECT_DECLARE_TYPE(SevCommonState, SevCommonStateClass, SEV_COMMON)
>  OBJECT_DECLARE_TYPE(SevGuestState, SevGuestStateClass, SEV_GUEST)
>  OBJECT_DECLARE_TYPE(SevSnpGuestState, SevSnpGuestStateClass, 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);

Please move also the following lines (SevInfoBlock,
SevHashTableDescriptor and the GUIDs) as they are related.

Paolo






[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux