From: Julien Grall <julien.grall@linaro.org>
To: Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>,
xen-devel@lists.xen.org
Subject: Re: [PATCH v02 2/7] arm: omap: introduce iommu translation for IPU remoteproc
Date: Fri, 04 Jul 2014 15:30:19 +0100 [thread overview]
Message-ID: <53B6BA7B.8090806@linaro.org> (raw)
In-Reply-To: <1403780826-22123-3-git-send-email-andrii.tseglytskyi@globallogic.com>
Hi Andrii,
On 26/06/14 12:07, Andrii Tseglytskyi wrote:
> +static u32 mmu_pte_table_alloc(struct mmu_info *mmu, u32 pgd, u32 sect_num,
> + struct mmu_pagetable *pgt, u32 hyp_addr)
> +{
> + u32 *pte = NULL;
> + u32 i;
> +
> + /* allocate pte table once */
> + if ( 0 == hyp_addr )
> + {
> + pte = xzalloc_bytes(PAGE_SIZE);
> + if ( !pte )
> + {
> + pr_mmu("failed to alloc 2nd level table");
> + return 0;
> + }
> + }
> + else
> + {
> + pte = __va(hyp_addr & MMU_SECTION_MASK(mmu->pg_data->pte_shift));
> + }
> +
> + ASSERT(256 == MMU_PTRS_PER_PTE(mmu));
> +
> + for ( i = 0; i < MMU_PTRS_PER_PTE(mmu); i++ )
> + {
> + u32 paddr, maddr;
> +
> + paddr = pgd + (i * PAGE_SIZE);
> + maddr = p2m_lookup(current->domain, paddr, NULL);
> + ASSERT(maddr != INVALID_PADDR);
Hmmm, what prevents the guest to pass an invalid IPA? On debug build you
will hit the assert, but on non-debug build you will screw the IPU page
table.
[..]
> +static u32 mmu_ipu_translate_pagetable(struct mmu_info *mmu, struct mmu_pagetable *pgt)
> +{
[..]
> + /* first level pointers have different formats, depending on their type */
> + if ( ipu_pgd_is_super(pgd) )
> + pd_mask = MMU_SECTION_MASK(MMU_OMAP_SUPER_SHIFT);
> + else if ( ipu_pgd_is_section(pgd) )
> + pd_mask = MMU_SECTION_MASK(MMU_OMAP_SECTION_SHIFT);
> + else if ( ipu_pgd_is_table(pgd) )
> + pd_mask = MMU_SECTION_MASK(MMU_OMAP_SECOND_LEVEL_SHIFT);
> +
> + pd_paddr = pgd & pd_mask;
> + pd_flags = pgd & ~pd_mask;
> + pd_maddr = p2m_lookup(current->domain, pd_paddr, NULL);
> + ASSERT(pd_maddr != INVALID_PADDR);
Same remark here.
--
Julien Grall
next prev parent reply other threads:[~2014-07-04 14:30 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-26 11:06 [PATCH v02 0/7] arm: introduce remoteprocessor iommu module Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 1/7] " Andrii Tseglytskyi
2014-06-29 18:00 ` Julien Grall
2014-07-22 15:20 ` Andrii Tseglytskyi
2014-07-22 16:29 ` Julien Grall
2014-07-31 11:59 ` Andrii Tseglytskyi
2014-07-31 12:11 ` Julien Grall
2014-07-31 12:49 ` Andrii Tseglytskyi
2014-07-04 13:59 ` Stefano Stabellini
2014-07-16 15:19 ` Ian Campbell
2014-07-22 12:42 ` Stefano Stabellini
2014-07-22 13:29 ` Julien Grall
2014-07-22 16:31 ` Andrii Tseglytskyi
2014-07-22 17:22 ` Andrii Tseglytskyi
2014-07-23 10:32 ` Stefano Stabellini
2014-07-23 10:54 ` Andrii Tseglytskyi
2014-07-22 15:40 ` Andrii Tseglytskyi
2014-07-22 15:32 ` Andrii Tseglytskyi
2014-08-01 10:06 ` Andrii Tseglytskyi
2014-08-01 10:32 ` Julien Grall
2014-08-01 10:34 ` Andrii Tseglytskyi
2014-08-01 10:37 ` Julien Grall
2014-08-01 10:43 ` Andrii Tseglytskyi
2014-08-20 19:40 ` Andrii Tseglytskyi
2014-08-21 15:30 ` Andrii Tseglytskyi
2014-08-21 23:41 ` Stefano Stabellini
2014-08-21 23:43 ` Stefano Stabellini
2014-07-16 15:29 ` Ian Campbell
2014-07-16 15:34 ` Ian Campbell
2014-07-22 16:24 ` Andrii Tseglytskyi
2014-07-22 16:14 ` Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 2/7] arm: omap: introduce iommu translation for IPU remoteproc Andrii Tseglytskyi
2014-07-04 14:01 ` Stefano Stabellini
2014-07-22 16:56 ` Andrii Tseglytskyi
2014-07-04 14:30 ` Julien Grall [this message]
2014-07-22 16:58 ` Andrii Tseglytskyi
2014-07-16 15:36 ` Ian Campbell
2014-07-22 17:16 ` Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 3/7] arm: omap: introduce iommu translation for GPU remoteproc Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 4/7] arm: omap: introduce print pagetable function for IPU remoteproc Andrii Tseglytskyi
2014-07-16 15:38 ` Ian Campbell
2014-07-22 16:55 ` Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 5/7] arm: omap: introduce print pagetable function for GPU remoteproc Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 6/7] arm: introduce do_translate_pagetable hypercall Andrii Tseglytskyi
2014-07-04 14:05 ` Stefano Stabellini
2014-07-16 15:42 ` Ian Campbell
2014-07-22 16:47 ` Andrii Tseglytskyi
2014-07-22 16:37 ` Andrii Tseglytskyi
2014-07-04 14:35 ` Julien Grall
2014-07-16 15:43 ` Ian Campbell
2014-07-22 16:50 ` Andrii Tseglytskyi
2014-07-22 16:39 ` Andrii Tseglytskyi
2014-07-22 16:44 ` Julien Grall
2014-07-22 16:48 ` Andrii Tseglytskyi
2014-06-26 11:07 ` [PATCH v02 7/7] arm: add trap for remoteproc mmio accesses Andrii Tseglytskyi
2014-06-26 16:52 ` Julien Grall
2014-06-27 8:36 ` Andrii Tseglytskyi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53B6BA7B.8090806@linaro.org \
--to=julien.grall@linaro.org \
--cc=andrii.tseglytskyi@globallogic.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.