KVM: s390: add cpu model support
authorMichael Mueller <mimu@linux.vnet.ibm.com>
Mon, 2 Feb 2015 14:49:35 +0000 (15:49 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 9 Feb 2015 11:44:13 +0000 (12:44 +0100)
commit658b6eda2042c0fe0e3f8acd7ffd11fc6f280119
tree51849b96f3a5b295af5d943ad02659fab7caa714
parent9d8d578605b4fca37bd2230bbacb3ad0ee48e7e4
KVM: s390: add cpu model support

This patch enables cpu model support in kvm/s390 via the vm attribute
interface.

During KVM initialization, the host properties cpuid, IBC value and the
facility list are stored in the architecture specific cpu model structure.

During vcpu setup, these properties are taken to initialize the related SIE
state. This mechanism allows to adjust the properties from user space and thus
to implement different selectable cpu models.

This patch uses the IBC functionality to block instructions that have not
been implemented at the requested CPU type and GA level compared to the
full host capability.

Userspace has to initialize the cpu model before vcpu creation. A cpu model
change of running vcpus is not possible.

Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Documentation/virtual/kvm/devices/vm.txt
arch/s390/include/asm/kvm_host.h
arch/s390/include/uapi/asm/kvm.h
arch/s390/kvm/kvm-s390.c