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é <phi...@redhat.com> > > --- > > Based-on: <20210218151633.215374-1-cku...@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