[kvm-unit-tests PATCH 5/8] s390x: uv-host: Explain why we set up the home space and remove the space change

Janosch Frank
2021-08-13T07:37:41Z

UV home addresses don't require us to be in home space but we need to
have it set up so hw/fw can use the home asce to translate home
virtual addresses.

Hence we add a comment why we're setting up the home asce and remove
the address space since it's unneeded.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
---
s390x/uv-host.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/s390x/uv-host.c b/s390x/uv-host.c
index 426a67f6..28035707 100644
--- a/s390x/uv-host.c
+++ b/s390x/uv-host.c
@@ -444,13 +444,18 @@ static void test_clear(void)

static void setup_vmem(void)
{
- uint64_t asce, mask;
+ uint64_t asce;

setup_mmu(get_max_ram_size(), NULL);
+ /*
+ * setup_mmu() will enable DAT and set the primary address
+ * space but we need to have a valid home space since UV calls
+ * take home space virtual addresses.
+ *
+ * Hence we just copy the primary asce into the home space.
+ */
asce = stctg(1);
lctlg(13, asce);
- mask = extract_psw_mask() | 0x0000C00000000000UL;
- load_psw_mask(mask);
}

int main(void)
--
2.30.2