Paul Mackerras <paulus@xxxxxxxxx> writes: > >> diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c >> index 71d0c90..d2c9932 100644 >> --- a/arch/powerpc/kvm/book3s_hv.c >> +++ b/arch/powerpc/kvm/book3s_hv.c >> @@ -1515,7 +1515,12 @@ static void kvmppc_add_seg_page_size(struct kvm_ppc_one_seg_page_size **sps, >> (*sps)->page_shift = def->shift; >> (*sps)->slb_enc = def->sllp; >> (*sps)->enc[0].page_shift = def->shift; >> - (*sps)->enc[0].pte_enc = def->penc; >> + /* >> + * FIXME!! >> + * This is returned to user space. Do we need to >> + * return details of MPSS here ? > > Yes, we do, probably a separate entry for each valid base/actual page > size pair. > How about commit fb7bca460d5e3a517dce24c0fe28cc94ffde37fa Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 24 22:55:38 2013 +0530 powerpc: Return all the valid pte ecndoing in KVM_PPC_GET_SMMU_INFO ioctl Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 48f6d99..e50eb0d 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -1508,14 +1508,21 @@ long kvm_vm_ioctl_allocate_rma(struct kvm *kvm, struct kvm_allocate_rma *ret) static void kvmppc_add_seg_page_size(struct kvm_ppc_one_seg_page_size **sps, int linux_psize) { + int i, index = 0; struct mmu_psize_def *def = &mmu_psize_defs[linux_psize]; if (!def->shift) return; (*sps)->page_shift = def->shift; (*sps)->slb_enc = def->sllp; - (*sps)->enc[0].page_shift = def->shift; - (*sps)->enc[0].pte_enc = def->penc[linux_psize]; + for (i = 0; i < MMU_PAGE_COUNT; i++) { + if ((signed int)def->penc[i] != -1) { + BUG_ON(index >= KVM_PPC_PAGE_SIZES_MAX_SZ); + (*sps)->enc[index].page_shift = mmu_psize_defs[i].shift; + (*sps)->enc[index].pte_enc = def->penc[i]; + index++; + } + } (*sps)++; } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>