[PATCH -V2 12/26] powerpc: Return all the valid pte ecndoing in KVM_PPC_GET_SMMU_INFO ioctl
Paul Mackerras
paulus at samba.org
Wed Mar 13 15:11:02 EST 2013
On Wed, Mar 06, 2013 at 11:40:13AM +0530, Aneesh Kumar K.V wrote:
> From: "Aneesh Kumar K.V" <aneesh.kumar at linux.vnet.ibm.com>
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
> ---
> arch/powerpc/kvm/book3s_hv.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> 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);
BUG_ON is a bit harsh; just WARN_ON and break out of the loop.
Paul.
More information about the Linuxppc-dev
mailing list