Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-06-03 Thread Philippe Mathieu-Daudé
On 6/2/21 4:22 PM, Eduardo Habkost wrote:
> 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é 
>>> ---
>>> 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.

OK :(




Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-06-02 Thread Eduardo Habkost
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é 
> > ---
> > 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




Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-06-02 Thread Philippe Mathieu-Daudé
This patch was supposed to go via Eduardo's tree but he
missed it, can it go via qemu-trivial instead?

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é 
> ---
> 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);
>  
>  #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];
>  }
> 




Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-03-18 Thread Brijesh Singh


On 3/18/21 10:38 AM, Philippe Mathieu-Daudé wrote:
> ping^2?
>
> On 3/8/21 11:21 AM, Philippe Mathieu-Daudé wrote:
>> ping?
>>
>> 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é 
>>> ---
>>> Based-on: <20210218151633.215374-1-cku...@redhat.com>

I am in the favor to keep list in sync with header updates. thanks

Acked-by: Brijesh Singh 

>>> ---
>>>  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);
>>>  
>>>  #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];
>>>  }
>>>



Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-03-18 Thread Philippe Mathieu-Daudé
ping^2?

On 3/8/21 11:21 AM, Philippe Mathieu-Daudé wrote:
> ping?
> 
> 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é 
>> ---
>> 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);
>>  
>>  #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];
>>  }
>>
> 




Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-03-08 Thread Philippe Mathieu-Daudé
ping?

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é 
> ---
> 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);
>  
>  #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];
>  }
> 




Re: [PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-02-19 Thread Connor Kuehl

On 2/19/21 12: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é 
---
Based-on: <20210218151633.215374-1-cku...@redhat.com>
---
  target/i386/sev.c | 5 -
  1 file changed, 4 insertions(+), 1 deletion(-)


Reviewed-by: Connor Kuehl 

Thanks!

Connor




[PATCH] target/i386/sev: Ensure sev_fw_errlist is sync with update-linux-headers

2021-02-19 Thread Philippe Mathieu-Daudé
Ensure sev_fw_errlist[] is updated after running
the update-linux-headers.sh script.

Signed-off-by: Philippe Mathieu-Daudé 
---
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);
 
 #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];
 }
-- 
2.26.2