aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/diag.c
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2014-03-31 09:44:30 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-04-01 09:23:38 +0200
commit1b6a19b34d54d3d56b90423e4a7c60b971d70197 (patch)
treeae463fa0260ef0dfce24f3739fd0287ffeb96189 /arch/s390/kvm/diag.c
parentlcs: Add missing destroy_timer_on_stack() (diff)
downloadlinux-dev-1b6a19b34d54d3d56b90423e4a7c60b971d70197.tar.xz
linux-dev-1b6a19b34d54d3d56b90423e4a7c60b971d70197.zip
kvm/s390: also set guest pages back to stable on kexec/kdump
We need to reset the usage state of the pages on kexec/kdump, which use subcode 0 and 1. We will only do the cmma reset in the kernel, everything else is done in userspace as before. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/diag.c')
-rw-r--r--arch/s390/kvm/diag.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/kvm/diag.c b/arch/s390/kvm/diag.c
index 6f9cfa500372..1facd9277f38 100644
--- a/arch/s390/kvm/diag.c
+++ b/arch/s390/kvm/diag.c
@@ -85,6 +85,10 @@ static int __diag_ipl_functions(struct kvm_vcpu *vcpu)
VCPU_EVENT(vcpu, 5, "diag ipl functions, subcode %lx", subcode);
switch (subcode) {
+ case 0:
+ case 1:
+ page_table_reset_pgste(current->mm, 0, TASK_SIZE);
+ return -EOPNOTSUPP;
case 3:
vcpu->run->s390_reset_flags = KVM_S390_RESET_CLEAR;
page_table_reset_pgste(current->mm, 0, TASK_SIZE);