RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines
authorAnup Patel <apatel@ventanamicro.com>
Mon, 9 Jan 2023 06:25:55 +0000 (11:55 +0530)
committerAnup Patel <anup@brainfault.org>
Fri, 21 Apr 2023 12:15:44 +0000 (17:45 +0530)
The hgatp.VMID mask defines are used before shifting when extracting
VMID value from hgatp CSR value so based on the convention followed
in the other parts of asm/csr.h, the hgatp.VMID mask defines should
not have a _MASK suffix.

While we are here, let's use GENMASK() for hgatp.VMID and hgatp.PPN.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Atish Patra <atishp@rivosinc.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
arch/riscv/include/asm/csr.h
arch/riscv/kvm/mmu.c
arch/riscv/kvm/vmid.c

index 3c8d681..3176355 100644 (file)
 
 #define HGATP32_MODE_SHIFT     31
 #define HGATP32_VMID_SHIFT     22
-#define HGATP32_VMID_MASK      _AC(0x1FC00000, UL)
-#define HGATP32_PPN            _AC(0x003FFFFF, UL)
+#define HGATP32_VMID           GENMASK(28, 22)
+#define HGATP32_PPN            GENMASK(21, 0)
 
 #define HGATP64_MODE_SHIFT     60
 #define HGATP64_VMID_SHIFT     44
-#define HGATP64_VMID_MASK      _AC(0x03FFF00000000000, UL)
-#define HGATP64_PPN            _AC(0x00000FFFFFFFFFFF, UL)
+#define HGATP64_VMID           GENMASK(57, 44)
+#define HGATP64_PPN            GENMASK(43, 0)
 
 #define HGATP_PAGE_SHIFT       12
 
 #ifdef CONFIG_64BIT
 #define HGATP_PPN              HGATP64_PPN
 #define HGATP_VMID_SHIFT       HGATP64_VMID_SHIFT
-#define HGATP_VMID_MASK                HGATP64_VMID_MASK
+#define HGATP_VMID             HGATP64_VMID
 #define HGATP_MODE_SHIFT       HGATP64_MODE_SHIFT
 #else
 #define HGATP_PPN              HGATP32_PPN
 #define HGATP_VMID_SHIFT       HGATP32_VMID_SHIFT
-#define HGATP_VMID_MASK                HGATP32_VMID_MASK
+#define HGATP_VMID             HGATP32_VMID
 #define HGATP_MODE_SHIFT       HGATP32_MODE_SHIFT
 #endif
 
index 46d6929..f2eb479 100644 (file)
@@ -755,8 +755,7 @@ void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu)
        unsigned long hgatp = gstage_mode;
        struct kvm_arch *k = &vcpu->kvm->arch;
 
-       hgatp |= (READ_ONCE(k->vmid.vmid) << HGATP_VMID_SHIFT) &
-                HGATP_VMID_MASK;
+       hgatp |= (READ_ONCE(k->vmid.vmid) << HGATP_VMID_SHIFT) & HGATP_VMID;
        hgatp |= (k->pgd_phys >> PAGE_SHIFT) & HGATP_PPN;
 
        csr_write(CSR_HGATP, hgatp);
index 5246da1..ddc9871 100644 (file)
@@ -26,9 +26,9 @@ void __init kvm_riscv_gstage_vmid_detect(void)
 
        /* Figure-out number of VMID bits in HW */
        old = csr_read(CSR_HGATP);
-       csr_write(CSR_HGATP, old | HGATP_VMID_MASK);
+       csr_write(CSR_HGATP, old | HGATP_VMID);
        vmid_bits = csr_read(CSR_HGATP);
-       vmid_bits = (vmid_bits & HGATP_VMID_MASK) >> HGATP_VMID_SHIFT;
+       vmid_bits = (vmid_bits & HGATP_VMID) >> HGATP_VMID_SHIFT;
        vmid_bits = fls_long(vmid_bits);
        csr_write(CSR_HGATP, old);