aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/priv.c
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2008-08-29 13:29:45 +0200
committerAvi Kivity <avi@qumranet.com>2008-10-15 10:15:24 +0200
commita0046b6db1c514149585e11895cd8434e0eafa79 (patch)
treedf02a1764fcae0bd94b0db8fa3463558cc690bde /arch/s390/kvm/priv.c
parenta89c1ad270ca7ad0eec2667bc754362ce7b142be (diff)
downloadkernel_goldelico_gta04-a0046b6db1c514149585e11895cd8434e0eafa79.zip
kernel_goldelico_gta04-a0046b6db1c514149585e11895cd8434e0eafa79.tar.gz
kernel_goldelico_gta04-a0046b6db1c514149585e11895cd8434e0eafa79.tar.bz2
KVM: s390: Make facility bits future-proof
Heiko Carstens pointed out, that its safer to activate working facilities instead of disabling problematic facilities. The new code uses the host facility bits and masks it with known good ones. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/s390/kvm/priv.c')
-rw-r--r--arch/s390/kvm/priv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index d1faf5c..cce40ff 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -157,8 +157,8 @@ static int handle_stfl(struct kvm_vcpu *vcpu)
int rc;
vcpu->stat.instruction_stfl++;
- facility_list &= ~(1UL<<24); /* no stfle */
- facility_list &= ~(1UL<<23); /* no large pages */
+ /* only pass the facility bits, which we can handle */
+ facility_list &= 0xfe00fff3;
rc = copy_to_guest(vcpu, offsetof(struct _lowcore, stfl_fac_list),
&facility_list, sizeof(facility_list));