Re: [kvm-unit-tests PATCH 2/6] s390x: Add more Ultravisor command structure definitions

Janosch Frank
2021-04-26T14:33:56Z

On 4/21/21 1:13 PM, Cornelia Huck wrote:
> On Tue, 16 Mar 2021 09:16:50 +0000
> Janosch Frank <frankja@linux.ibm.com> wrote:
>
>> They are needed in the new UV tests.
>>
>> As we now extend the size of the query struct, we need to set the
>> length in the UV guest query test to a constant instead of using
>> sizeof.
>>
>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>> ---
>> lib/s390x/asm/uv.h | 148 ++++++++++++++++++++++++++++++++++++++++++++-
>> s390x/uv-guest.c | 2 +-
>> 2 files changed, 148 insertions(+), 2 deletions(-)
>>
>
> (...)
>
>> struct uv_cb_qui {
>> struct uv_cb_header header;
>> u64 reserved08;
>> u64 inst_calls_list[4];
>> - u64 reserved30[15];
>> + u64 reserved30[2];
>> + u64 uv_base_stor_len;
>> + u64 reserved48;
>> + u64 conf_base_phys_stor_len;
>> + u64 conf_base_virt_stor_len;
>> + u64 conf_virt_var_stor_len;
>> + u64 cpu_stor_len;
>> + u32 reserved70[3];
>> + u32 max_num_sec_conf;
>> + u64 max_guest_stor_addr;
>> + u8 reserved88[158 - 136];
>> + u16 max_guest_cpus;
>> + u8 reserveda0[200 - 160];
>> +} __attribute__((packed)) __attribute__((aligned(8)));
>
> (...)
>
>> diff --git a/s390x/uv-guest.c b/s390x/uv-guest.c
>> index a13669ab..95a968c5 100644
>> --- a/s390x/uv-guest.c
>> +++ b/s390x/uv-guest.c
>> @@ -59,7 +59,7 @@ static void test_query(void)
>> {
>> struct uv_cb_qui uvcb = {
>> .header.cmd = UVC_CMD_QUI,
>> - .header.len = sizeof(uvcb) - 8,
>> + .header.len = 0xa0,
>
> This is a magic constant coming out of nowhere. Could you please at
> least add a comment to make clear what you are testing?

Added:
/* A dword below the minimum length */

>
>> };
>> int cc;
>>
>