On Thu, 3 Feb 2022 09:19:33 +0000 Steffen Eiden <seiden@xxxxxxxxxxxxx> wrote: > Some tests need the information provided by the QUI UVC and lib/s390x/uv.c > already has cached the qui result. Let's add a function to avoid > unnecessary QUI UVCs. I'm not against this approach, but I wonder if it's not easier to just make the QUI buffer public? > > Signed-off-by: Steffen Eiden <seiden@xxxxxxxxxxxxx> > --- > lib/s390x/uv.c | 8 ++++++++ > lib/s390x/uv.h | 1 + > 2 files changed, 9 insertions(+) > > diff --git a/lib/s390x/uv.c b/lib/s390x/uv.c > index 6fe11dff..602cbbfc 100644 > --- a/lib/s390x/uv.c > +++ b/lib/s390x/uv.c > @@ -47,6 +47,14 @@ bool uv_query_test_call(unsigned int nr) > return test_bit_inv(nr, uvcb_qui.inst_calls_list); > } > > +const struct uv_cb_qui *uv_get_query_data(void) > +{ > + /* Query needs to be called first */ > + assert(uvcb_qui.header.rc); > + > + return &uvcb_qui; > +} > + > int uv_setup(void) > { > if (!test_facility(158)) > diff --git a/lib/s390x/uv.h b/lib/s390x/uv.h > index 8175d9c6..44264861 100644 > --- a/lib/s390x/uv.h > +++ b/lib/s390x/uv.h > @@ -8,6 +8,7 @@ > bool uv_os_is_guest(void); > bool uv_os_is_host(void); > bool uv_query_test_call(unsigned int nr); > +const struct uv_cb_qui *uv_get_query_data(void); > void uv_init(void); > int uv_setup(void); > void uv_create_guest(struct vm *vm);