aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/diag.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2013-05-21 17:29:52 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-02-21 08:50:20 +0100
commitdeedabb2b4a68a63351a949b1abcf73fc97eb406 (patch)
tree1ecb9504a61ef30a74a9ac268e5b32719ac57f91 /arch/s390/kvm/diag.c
parents390/kvm: support collaborative memory management (diff)
downloadlinux-dev-deedabb2b4a68a63351a949b1abcf73fc97eb406.tar.xz
linux-dev-deedabb2b4a68a63351a949b1abcf73fc97eb406.zip
s390/kvm: set guest page states to stable on re-ipl
The guest page state needs to be reset to stable for all pages on initial program load via diagnose 0x308. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/diag.c')
-rw-r--r--arch/s390/kvm/diag.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/kvm/diag.c b/arch/s390/kvm/diag.c
index 8216c0e0b2e2..6f9cfa500372 100644
--- a/arch/s390/kvm/diag.c
+++ b/arch/s390/kvm/diag.c
@@ -13,6 +13,7 @@
#include <linux/kvm.h>
#include <linux/kvm_host.h>
+#include <asm/pgalloc.h>
#include <asm/virtio-ccw.h>
#include "kvm-s390.h"
#include "trace.h"
@@ -86,9 +87,11 @@ static int __diag_ipl_functions(struct kvm_vcpu *vcpu)
switch (subcode) {
case 3:
vcpu->run->s390_reset_flags = KVM_S390_RESET_CLEAR;
+ page_table_reset_pgste(current->mm, 0, TASK_SIZE);
break;
case 4:
vcpu->run->s390_reset_flags = 0;
+ page_table_reset_pgste(current->mm, 0, TASK_SIZE);
break;
default:
return -EOPNOTSUPP;