[kvm-unit-tests PATCH v4 4/5] s390x: uv-guest: add share bit test

Steffen Eiden
2022-04-21T09:45:51Z

The UV facility bits shared/unshared must both be set or none.

Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
---
s390x/uv-guest.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/s390x/uv-guest.c b/s390x/uv-guest.c
index 728c60aa..77057bd2 100644
--- a/s390x/uv-guest.c
+++ b/s390x/uv-guest.c
@@ -159,6 +159,14 @@ static void test_invalid(void)
report_prefix_pop();
}

+static void test_share_bits(void)
+{
+ bool unshare = uv_query_test_call(BIT_UVC_CMD_REMOVE_SHARED_ACCESS);
+ bool share = uv_query_test_call(BIT_UVC_CMD_SET_SHARED_ACCESS);
+
+ report(!(share ^ unshare), "share bits");
+}
+
int main(void)
{
bool has_uvc = test_facility(158);
@@ -169,6 +177,12 @@ int main(void)
goto done;
}

+ /*
+ * Needs to be done before the guest-fence,
+ * as the fence tests if both shared bits are present
+ */
+ test_share_bits();
+
if (!uv_os_is_guest()) {
report_skip("Not a protected guest");
goto done;
--
2.30.2