aboutsummaryrefslogtreecommitdiff
path: root/target-s390x
diff options
context:
space:
mode:
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>2016-09-05 10:52:38 +0200
committerCornelia Huck <cornelia.huck@de.ibm.com>2016-09-06 17:06:51 +0200
commitc85d21c73b06064ae2ae7bd49cf36dfaaae2a0a8 (patch)
tree9f95960a62e4a572a7c4e65c4d98c0fe8f7244b6 /target-s390x
parent07059effd14e1cb6497f711e905c55affa525677 (diff)
s390x/kvm: don't enable key wrapping if msa3 is disabled
As the CPU model now controls msa3, trying to set wrapping keys without msa3 being around/enable in the kernel will produce misleading errors. So let's simply not configure key wrapping if msa3 is not enabled and make compat machines with disabled CPU model work correctly. Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Message-Id: <20160905085244.99980-25-dahi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'target-s390x')
-rw-r--r--target-s390x/cpu_models.c3
-rw-r--r--target-s390x/kvm.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/target-s390x/cpu_models.c b/target-s390x/cpu_models.c
index 5b9f35ee87..d1e1a5f7c0 100644
--- a/target-s390x/cpu_models.c
+++ b/target-s390x/cpu_models.c
@@ -155,6 +155,9 @@ bool s390_has_feat(S390Feat feat)
if (feat == S390_FEAT_RUNTIME_INSTRUMENTATION) {
return kvm_s390_get_ri();
}
+ if (feat == S390_FEAT_MSA_EXT_3) {
+ return true;
+ }
}
#endif
return 0;
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index 82a07ae49c..dfaf1ca8d1 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -260,8 +260,10 @@ static void kvm_s390_init_dea_kw(void)
void kvm_s390_crypto_reset(void)
{
- kvm_s390_init_aes_kw();
- kvm_s390_init_dea_kw();
+ if (s390_has_feat(S390_FEAT_MSA_EXT_3)) {
+ kvm_s390_init_aes_kw();
+ kvm_s390_init_dea_kw();
+ }
}
int kvm_arch_init(MachineState *ms, KVMState *s)