On 2/18/20 2:13 PM, Cornelia Huck wrote: > On Fri, 14 Feb 2020 10:16:19 -0500 > Janosch Frank wrote: > >> Most of the QEMU changes for PV are related to the new IPL type with >> subcodes 8 - 10 and the execution of the necessary Ultravisor calls to >> IPL secure guests. Note that we can only boot into secure mode from >> normal mode, i.e. stfle 161 is not active in secure mode. >> >> The other changes related to data gathering for emulation and >> disabling addressing checks in secure mode, as well as CPU resets. > > Does it make sense to start looking at this series now, or I should I > wait until review on the kernel side has settled? (I've lost track of > the state of the interfaces...) There won't be too many change because of KVM review. Most noteworthy is the switch from vm/vcpu create to a global switch through the VM, but that's just merging IOCTLs. > >> >> V3: >> * Use dedicated functions to access SIDA >> * Smaller cleanups and segfault fixes >> * Error reporting for Ultravisor calls >> * Inject of RC of diag308 subcode 10 fails >> >> V2: >> * Split out cleanups >> * Internal PV state tracking >> * Review feedback >> >> Janosch Frank (17): >> Header sync >> s390x: Add missing vcpu reset functions >> Sync pv >> s390x: protvirt: Add diag308 subcodes 8 - 10 >> s390x: protvirt: Support unpack facility >> s390x: protvirt: Add migration blocker >> s390x: protvirt: Handle diag 308 subcodes 0,1,3,4 >> s390x: protvirt: KVM intercept changes >> s390: protvirt: Move STSI data over SIDAD >> s390x: Add SIDA memory ops >> s390x: protvirt: SCLP interpretation >> s390x: protvirt: Set guest IPL PSW >> s390x: protvirt: Move diag 308 data over SIDAD >> s390x: protvirt: Disable address checks for PV guest IO emulation >> s390x: protvirt: Move IO control structures over SIDA >> s390x: protvirt: Handle SIGP store status correctly >> s390x: For now add unpack feature to GA1 >> >> hw/s390x/Makefile.objs | 1 + >> hw/s390x/ipl.c | 80 +++++++++++++- >> hw/s390x/ipl.h | 33 ++++++ >> hw/s390x/pv.c | 160 ++++++++++++++++++++++++++++ >> hw/s390x/pv.h | 40 +++++++ >> hw/s390x/s390-virtio-ccw.c | 136 ++++++++++++++++++++++- >> hw/s390x/sclp.c | 17 +++ >> include/hw/s390x/s390-virtio-ccw.h | 1 + >> include/hw/s390x/sclp.h | 2 + >> linux-headers/linux/kvm.h | 48 ++++++++- >> target/s390x/cpu.c | 41 +++++-- >> target/s390x/cpu.h | 8 +- >> target/s390x/cpu_features_def.inc.h | 1 + >> target/s390x/diag.c | 63 +++++++++-- >> target/s390x/gen-features.c | 1 + >> target/s390x/helper.c | 4 + >> target/s390x/ioinst.c | 113 ++++++++++++++------ >> target/s390x/kvm-stub.c | 10 +- >> target/s390x/kvm.c | 89 ++++++++++++++-- >> target/s390x/kvm_s390x.h | 6 +- >> target/s390x/mmu_helper.c | 9 ++ >> target/s390x/sigp.c | 1 + >> 22 files changed, 789 insertions(+), 75 deletions(-) >> create mode 100644 hw/s390x/pv.c >> create mode 100644 hw/s390x/pv.h >> > > -ENODOC; can you add something under docs/ that describes how you > configure a pv guest and what the initialization/teardown flow is? Sure, but could you give me a bit more detail? What do you mean by configure? Command line options?