Re: [kvm-unit-tests PATCH 3/4] s390x: uv-guest: remove duplicated checks

Janosch Frank
2022-01-28T09:06:17Z

On 1/27/22 15:15, Steffen Eiden wrote:
> Removing some tests which are done at other points in the code
> implicitly.
>
> In lib/s390x/uc.c#setup_uv(void) the rc of the qui result is verified
> using asserts.
> The whole test is fenced by lib/s390x/uc.c#os_is_guest(void) which
> checks if SET and REMOVE SHARED is present.
>
> Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>

Reviewed-by: Janosch Frank <frankja@linux.ibm.com>

> ---
> s390x/uv-guest.c | 24 ++++++++----------------
> 1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/s390x/uv-guest.c b/s390x/uv-guest.c
> index 44ad2154..909b7256 100644
> --- a/s390x/uv-guest.c
> +++ b/s390x/uv-guest.c
> @@ -2,7 +2,7 @@
> /*
> * Guest Ultravisor Call tests
> *
> - * Copyright (c) 2020 IBM Corp
> + * Copyright (c) 2020, 2022 IBM Corp
> *
> * Authors:
> * Janosch Frank <frankja@linux.ibm.com>
> @@ -69,23 +69,15 @@ static void test_query(void)
> cc = uv_call(0, (u64)&uvcb);
> report(cc == 1 && uvcb.header.rc == UVC_RC_INV_LEN, "length");
>
> - uvcb.header.len = sizeof(uvcb);
> - cc = uv_call(0, (u64)&uvcb);
> - report((!cc && uvcb.header.rc == UVC_RC_EXECUTED) ||
> - (cc == 1 && uvcb.header.rc == 0x100),
> - "successful query");
> -
> /*
> - * These bits have been introduced with the very first
> - * Ultravisor version and are expected to always be available
> - * because they are basic building blocks.
> + * BIT_UVC_CMD_QUI, BIT_UVC_CMD_SET_SHARED_ACCESS and
> + * BIT_UVC_CMD_SET_SHARED_ACCESS are always present as they
> + * have been introduced with the first Ultravisor version.
> + * However, we only need to check for QUI as
> + * SET/REMOVE SHARED are used to fence this test to be only
> + * executed by protected guests.
> */
> - report(test_bit_inv(BIT_UVC_CMD_QUI, &uvcb.inst_calls_list[0]),
> - "query indicated");
> - report(test_bit_inv(BIT_UVC_CMD_SET_SHARED_ACCESS, &uvcb.inst_calls_list[0]),
> - "share indicated");
> - report(test_bit_inv(BIT_UVC_CMD_REMOVE_SHARED_ACCESS, &uvcb.inst_calls_list[0]),
> - "unshare indicated");
> + report(uv_query_test_call(BIT_UVC_CMD_QUI), "query indicated");
> report_prefix_pop();
> }
>
>