[kvm-unit-tests PATCH v2 0/4] s390x: css: pv: css test adaptation for PV

Pierre Morel
2020-09-28T14:23:45Z

Hi all,

I send a v2 even I got not a lot of answers for v1 because:
1 I forgot the kvm-unit-test header
2 the patch on uv.h was very bad
3 I saw some stupid errors I can correct myself like
to zero the allocated page before use or free it on error.

That said, here what is done:

To adapt the CSS I/O tests to protected virtualisation we need
utilities to:

1- allocate the I/O buffers in a private page (patch 3)
It must be in a dedicated page to avoid exporting code or
guest private data to the host.

2- share the I/O buffer with the host (patch 2)

3- be sure to allocate memory under 2Gb (patch 1)

The 3 first patches are the implementation of the tools,
patch 4 is the modification of the css.c test for PV.

regards,
Pierre

Pierre Morel (4):
memory: allocation in low memory
s390x: pv: implement routine to share/unshare memory
s390x: define UV compatible I/O allocation
s390x: css: pv: css test adaptation for PV

lib/alloc_dma_page.c | 57 +++++++++++++++++++++++++++++++++++++++++++
lib/alloc_dma_page.h | 24 ++++++++++++++++++
lib/s390x/asm/uv.h | 50 +++++++++++++++++++++++++++++++++++++
lib/s390x/css.h | 3 +--
lib/s390x/css_lib.c | 28 ++++++---------------
lib/s390x/malloc_io.c | 49 +++++++++++++++++++++++++++++++++++++
lib/s390x/malloc_io.h | 18 ++++++++++++++
lib/s390x/sclp.c | 2 ++
s390x/Makefile | 2 ++
s390x/css.c | 35 +++++++++++++++++---------
10 files changed, 235 insertions(+), 33 deletions(-)
create mode 100644 lib/alloc_dma_page.c
create mode 100644 lib/alloc_dma_page.h
create mode 100644 lib/s390x/malloc_io.c
create mode 100644 lib/s390x/malloc_io.h

--
2.25.1

changelog:

from v1:

- add the kvm-unit-test header

- correct checks for errors on Set/Remove Shared Access

- Add report for uv Set/Remove Shared Access

- zero the allocated I/O page before use

- free the page on error.