Re: [PATCH] powerpc/mm/radix: GR field got removed in ISA 3.0B
From: Paul Mackerras <hidden>
Date: 2017-06-22 05:22:43
On Wed, Jun 21, 2017 at 10:50:12AM +0530, Aneesh Kumar K.V wrote:
quoted hunk ↗ jump to hunk
The bit position is now marked reserved. Hence don't set the bit to 1. Signed-off-by: Aneesh Kumar K.V <redacted> --- arch/powerpc/include/asm/book3s/64/mmu.h | 1 - arch/powerpc/kvm/book3s_hv.c | 6 +----- arch/powerpc/mm/pgtable-radix.c | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-)diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h index 77529a3e3811..e28ce2793e7d 100644 --- a/arch/powerpc/include/asm/book3s/64/mmu.h +++ b/arch/powerpc/include/asm/book3s/64/mmu.h@@ -55,7 +55,6 @@ extern struct patb_entry *partition_tb; #define RPDS_MASK 0x1f /* root page dir. size field */ /* Bits in patb1 field */ -#define PATB_GR (1UL << 63) /* guest uses radix; must match HR */ #define PRTS_MASK 0x1f /* process table size field */ #define PRTB_MASK 0x0ffffffffffff000ULdiff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 42b7a4fd57d9..657729a433f9 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c@@ -3185,7 +3185,7 @@ static void kvmppc_setup_partition_table(struct kvm *kvm) } else { dw0 = PATB_HR | radix__get_tree_size() | __pa(kvm->arch.pgtable) | RADIX_PGD_INDEX_SIZE; - dw1 = PATB_GR | kvm->arch.process_table; + dw1 = kvm->arch.process_table; } mmu_partition_table_set_entry(kvm->arch.lpid, dw0, dw1);@@ -3840,10 +3840,6 @@ static int kvmhv_configure_mmu(struct kvm *kvm, struct kvm_ppc_mmuv3_cfg *cfg) if (radix != kvm_is_radix(kvm)) return -EINVAL; - /* GR (guest radix) bit in process_table field must match */ - if (!!(cfg->process_table & PATB_GR) != radix) - return -EINVAL; -
It's OK to take out the check, but we should also clear the GR bit, and preferably any other reserved bits, before we put the value into the partition table. Paul.