KVM: s390: include guest facilities in kvm facility test
authorMichael Mueller <mimu@linux.vnet.ibm.com>
Tue, 24 Feb 2015 12:51:04 +0000 (13:51 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Wed, 4 Mar 2015 09:33:25 +0000 (10:33 +0100)
commit981467c930bdfa4be59acbbc9f3a80eb9e3167a8
tree053681bb659da7ff0923bad2a338609f8e58f5fa
parent94422ee880afc4af050bac172ea39af8e2130034
KVM: s390: include guest facilities in kvm facility test

Most facility related decisions in KVM have to take into account:

- the facilities offered by the underlying run container (LPAR/VM)
- the facilities supported by the KVM code itself
- the facilities requested by a guest VM

This patch adds the KVM driver requested facilities to the test routine.

It additionally renames struct s390_model_fac to kvm_s390_fac and its field
names to be more meaningful.

The semantics of the facilities stored in the KVM architecture structure
is changed. The address arch.model.fac->list now points to the guest
facility list and arch.model.fac->mask points to the KVM facility mask.

This patch fixes the behaviour of KVM for some facilities for guests
that ignore the guest visible facility bits, e.g. guests could use
transactional memory intructions on hosts supporting them even if the
chosen cpu model would not offer them.

The userspace interface is not affected by this change.

Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/include/asm/kvm_host.h
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h
arch/s390/kvm/priv.c