On 3/4/20 12:42 PM, Janosch Frank wrote: > From: Christian Borntraeger > > The unpack facility is an indication that diagnose 308 subcodes 8-10 > are available to the guest. That means, that the guest can put itself > into protected mode. > > Once it is in protected mode, the hardware stops any attempt of VM > introspection by the hypervisor. > > Some features are currently not supported in protected mode: > * Passthrough devices > * Migration > * Huge page backings > > Signed-off-by: Christian Borntraeger This one will be the first patch (after sync) and will also get the DEF_FEAT definition, so I can use it in the diag 308 8-10 patch > --- > target/s390x/gen-features.c | 1 + > target/s390x/kvm.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c > index 6278845b12..8ddeebc544 100644 > --- a/target/s390x/gen-features.c > +++ b/target/s390x/gen-features.c > @@ -562,6 +562,7 @@ static uint16_t full_GEN15_GA1[] = { > S390_FEAT_GROUP_MSA_EXT_9, > S390_FEAT_GROUP_MSA_EXT_9_PCKMO, > S390_FEAT_ETOKEN, > + S390_FEAT_UNPACK, > }; > > /* Default features (in order of release) > diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c > index a4cbdc5fc6..bf807793bc 100644 > --- a/target/s390x/kvm.c > +++ b/target/s390x/kvm.c > @@ -2396,6 +2396,11 @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp) > clear_bit(S390_FEAT_BPB, model->features); > } > > + /* we do have the IPL enhancements */ > + if (cap_protected) { > + set_bit(S390_FEAT_UNPACK, model->features); > + } > + > /* We emulate a zPCI bus and AEN, therefore we don't need HW support */ > set_bit(S390_FEAT_ZPCI, model->features); > set_bit(S390_FEAT_ADAPTER_EVENT_NOTIFICATION, model->features); >