KVM: s390: vsie: simplify < 8k address checks
authorDavid Hildenbrand <david@redhat.com>
Wed, 9 May 2018 14:12:18 +0000 (16:12 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 17 May 2018 11:34:21 +0000 (13:34 +0200)
This makes it certainly more readable.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/vsie.c

index 969882b..84c89cb 100644 (file)
@@ -557,7 +557,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
        if (test_kvm_cpu_feat(vcpu->kvm, KVM_S390_VM_CPU_FEAT_64BSCAO))
                gpa |= (u64) READ_ONCE(scb_o->scaoh) << 32;
        if (gpa) {
-               if (!(gpa & ~0x1fffUL))
+               if (gpa < 2 * PAGE_SIZE)
                        rc = set_validity_icpt(scb_s, 0x0038U);
                else if ((gpa & ~0x1fffUL) == kvm_s390_get_prefix(vcpu))
                        rc = set_validity_icpt(scb_s, 0x0011U);
@@ -578,7 +578,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
 
        gpa = READ_ONCE(scb_o->itdba) & ~0xffUL;
        if (gpa && (scb_s->ecb & ECB_TE)) {
-               if (!(gpa & ~0x1fffUL)) {
+               if (gpa < 2 * PAGE_SIZE) {
                        rc = set_validity_icpt(scb_s, 0x0080U);
                        goto unpin;
                }
@@ -594,7 +594,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
 
        gpa = READ_ONCE(scb_o->gvrd) & ~0x1ffUL;
        if (gpa && (scb_s->eca & ECA_VX) && !(scb_s->ecd & ECD_HOSTREGMGMT)) {
-               if (!(gpa & ~0x1fffUL)) {
+               if (gpa < 2 * PAGE_SIZE) {
                        rc = set_validity_icpt(scb_s, 0x1310U);
                        goto unpin;
                }
@@ -613,7 +613,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
 
        gpa = READ_ONCE(scb_o->riccbd) & ~0x3fUL;
        if (gpa && (scb_s->ecb3 & ECB3_RI)) {
-               if (!(gpa & ~0x1fffUL)) {
+               if (gpa < 2 * PAGE_SIZE) {
                        rc = set_validity_icpt(scb_s, 0x0043U);
                        goto unpin;
                }
@@ -632,7 +632,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
 
                gpa = READ_ONCE(scb_o->sdnxo) & ~0xfUL;
                sdnxc = READ_ONCE(scb_o->sdnxo) & 0xfUL;
-               if (!gpa || !(gpa & ~0x1fffUL)) {
+               if (!gpa || gpa < 2 * PAGE_SIZE) {
                        rc = set_validity_icpt(scb_s, 0x10b0U);
                        goto unpin;
                }