Message ID | 20200304114231.23493-17-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: Protected Virtualization support | expand |
On 04.03.20 12:42, Janosch Frank wrote: > From: Christian Borntraeger <borntraeger@de.ibm.com> > > 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 <borntraeger@de.ibm.com> > --- > 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); > Reviewed-by: David Hildenbrand <david@redhat.com>
On 3/4/20 12:42 PM, Janosch Frank wrote: > From: Christian Borntraeger <borntraeger@de.ibm.com> > > 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 <borntraeger@de.ibm.com> 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); >
On 06.03.20 11:14, Janosch Frank wrote: > On 3/4/20 12:42 PM, Janosch Frank wrote: >> From: Christian Borntraeger <borntraeger@de.ibm.com> >> >> 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 <borntraeger@de.ibm.com> > > 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 You should still enable the whole machinery only after everything has been implemented. Moving the feature is fine.
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);