summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/intercept.c
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2008-03-25 18:47:29 +0100
committerAvi Kivity <avi@qumranet.com>2008-04-27 12:00:45 +0300
commit453423dce2785b8e22077e3b3eeecb4f60fe3470 (patch)
treeafe9d502d7fa07d5b59175dfb990f818e0642720 /arch/s390/kvm/intercept.c
parentba5c1e9b6ceebdc39343cc03eb39f077abd3c571 (diff)
downloadkernel-crypto-453423dce2785b8e22077e3b3eeecb4f60fe3470.tar.gz
kernel-crypto-453423dce2785b8e22077e3b3eeecb4f60fe3470.tar.xz
kernel-crypto-453423dce2785b8e22077e3b3eeecb4f60fe3470.zip
KVM: s390: intercepts for privileged instructions
This patch introduces in-kernel handling of some intercepts for privileged instructions: handle_set_prefix() sets the prefix register of the local cpu handle_store_prefix() stores the content of the prefix register to memory handle_store_cpu_address() stores the cpu number of the current cpu to memory handle_skey() just decrements the instruction address and retries handle_stsch() delivers condition code 3 "operation not supported" handle_chsc() same here handle_stfl() stores the facility list which contains the capabilities of the cpu handle_stidp() stores cpu type/model/revision and such handle_stsi() stores information about the system topology Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Carsten Otte <cotte@de.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/s390/kvm/intercept.c')
-rw-r--r--arch/s390/kvm/intercept.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
index 7f7347b5f34..7a20d63a2eb 100644
--- a/arch/s390/kvm/intercept.c
+++ b/arch/s390/kvm/intercept.c
@@ -95,6 +95,7 @@ static int handle_lctl(struct kvm_vcpu *vcpu)
}
static intercept_handler_t instruction_handlers[256] = {
+ [0xb2] = kvm_s390_handle_priv,
[0xb7] = handle_lctl,
[0xeb] = handle_lctg,
};