On Wed, Jun 21, 2017 at 10:50:12AM +0530, Aneesh Kumar K.V wrote:
> The bit position is now marked reserved. Hence don't set the bit to 1.
> 
> Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.vnet.ibm.com>
> ---
>  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    0x0ffffffffffff000UL
>  
> diff --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.

Reply via email to