[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-l
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers |
Date: |
Wed, 2 Jun 2021 10:22:12 -0400 |
On Wed, Jun 02, 2021 at 12:48:18PM +0200, Philippe Mathieu-Daudé wrote:
> This patch was supposed to go via Eduardo's tree but he
> missed it, can it go via qemu-trivial instead?
My apologies, again. I'm still behind on my qemu-devel backlog,
and this was still buried in my inbox.
>
> On 2/19/21 7:01 PM, Philippe Mathieu-Daudé wrote:
> > Ensure sev_fw_errlist[] is updated after running
> > the update-linux-headers.sh script.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> > Based-on: <20210218151633.215374-1-ckuehl@redhat.com>
> > ---
> > target/i386/sev.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/target/i386/sev.c b/target/i386/sev.c
> > index 37690ae809c..92c69a23769 100644
> > --- a/target/i386/sev.c
> > +++ b/target/i386/sev.c
> > @@ -87,7 +87,7 @@ typedef struct __attribute__((__packed__)) SevInfoBlock {
> > static SevGuestState *sev_guest;
> > static Error *sev_mig_blocker;
> >
> > -static const char *const sev_fw_errlist[] = {
> > +static const char *const sev_fw_errlist[SEV_RET_MAX] = {
> > [SEV_RET_SUCCESS] = "",
> > [SEV_RET_INVALID_PLATFORM_STATE] = "Platform state is invalid",
> > [SEV_RET_INVALID_GUEST_STATE] = "Guest state is invalid",
> > @@ -114,6 +114,8 @@ static const char *const sev_fw_errlist[] = {
> > [SEV_RET_RESOURCE_LIMIT] = "Required firmware resource
> > depleted",
> > [SEV_RET_SECURE_DATA_INVALID] = "Part-specific integrity check
> > failure",
> > };
> > +/* Ensure sev_fw_errlist[] is updated after running
> > update-linux-headers.sh */
> > +QEMU_BUILD_BUG_ON(SEV_RET_SECURE_DATA_INVALID + 1 != SEV_RET_MAX);
A mechanism to notify us when sev_fw_errlist needs to be updated
would be useful, but I'm not sure I agree with this change.
I expect update-linux-headers patches always consist of 100%
automated changes. This patch would require a manual update of
target/i386/sev.c to be included in the same commit as
the header update.
> >
> > #define SEV_FW_MAX_ERROR ARRAY_SIZE(sev_fw_errlist)
> >
> > @@ -160,6 +162,7 @@ fw_error_to_str(int code)
> > if (code < 0 || code >= SEV_FW_MAX_ERROR) {
> > return "unknown error";
> > }
> > + assert(sev_fw_errlist[code]);
> >
> > return sev_fw_errlist[code];
> > }
> >
>
--
Eduardo