On Tue, 16 May 2023 15:04:52 +0200 Nico Boehr <nrb@xxxxxxxxxxxxx> wrote: > This is to prepare for running guests without MSO/MSL, which is > currently not possible. > > We already have code in sie64a to setup a guest primary ASCE before > entering SIE, so we can in theory switch to the page tables which > translate gpa to hpa. > > But the host is running in primary space mode already, so changing the > primary ASCE before entering SIE will also affect the host's code and > data. > > To make this switch useful, the host should run in a different address > space mode. Hence, set up and change to home address space mode before > installing the guest ASCE. > > The home space ASCE is just copied over from the primary space ASCE, so > no functional change is intended, also for tests that want to use > MSO/MSL. If a test intends to use a different primary space ASCE, it can > now just set the guest.asce in the save_area. > > Signed-off-by: Nico Boehr <nrb@xxxxxxxxxxxxx> > --- [...] > diff --git a/lib/s390x/sie.h b/lib/s390x/sie.h > index 147cb0f2a556..0b00fb709776 100644 > --- a/lib/s390x/sie.h > +++ b/lib/s390x/sie.h > @@ -284,5 +284,6 @@ void sie_handle_validity(struct vm *vm); > void sie_guest_sca_create(struct vm *vm); > void sie_guest_create(struct vm *vm, uint64_t guest_mem, uint64_t guest_mem_len); > void sie_guest_destroy(struct vm *vm); > +bool sie_had_pgm_int(struct vm *vm); what's this? > > #endif /* _S390X_SIE_H_ */