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

Cornelia Huck
2021-04-21T11:13:51Z

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?

> };
> int cc;
>