From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH RFC 1/9] xen: arm: rename p2m->first_level to p2m->root. Date: Wed, 30 Jul 2014 17:06:52 +0100 Message-ID: <53D9181C.40505@linaro.org> References: <1406727891.10402.24.camel@kazak.uk.xensource.com> <3ef2b68c511f3e31de409b76757b95c78b99d750.1406728037.git.ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <3ef2b68c511f3e31de409b76757b95c78b99d750.1406728037.git.ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell , xen-devel@lists.xen.org Cc: Vijaya Kumar K , Ian Campbell , tim@xen.org, vijay.kilari@gmail.com, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org Hi Ian, On 07/30/2014 02:47 PM, Ian Campbell wrote: > From: Ian Campbell > > This was previously part of Vigaya's "xen/arm: Add 4-level page table > for stage 2 translation" but is split out here to make that patch > easier to read. I also switched from ->root_level to just ->root. The last sentence doesn't seem to be relevant. At least I don't find any such change in the patch. Regards, > > Signed-off-by: Ian Campbell > Cc: Vijaya Kumar K > --- > xen/arch/arm/p2m.c | 24 ++++++++++++------------ > xen/drivers/passthrough/arm/smmu.c | 2 +- > xen/include/asm-arm/p2m.h | 2 +- > 3 files changed, 14 insertions(+), 14 deletions(-) > > diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c > index 143199b..61958ba 100644 > --- a/xen/arch/arm/p2m.c > +++ b/xen/arch/arm/p2m.c > @@ -12,8 +12,8 @@ > #include > > /* First level P2M is 2 consecutive pages */ > -#define P2M_FIRST_ORDER 1 > -#define P2M_FIRST_ENTRIES (LPAE_ENTRIES< +#define P2M_ROOT_ORDER 1 > +#define P2M_ROOT_ENTRIES (LPAE_ENTRIES< > static bool_t p2m_valid(lpae_t pte) > { > @@ -61,9 +61,9 @@ void dump_p2m_lookup(struct domain *d, paddr_t addr) > } > > printk("P2M @ %p mfn:0x%lx\n", > - p2m->first_level, page_to_mfn(p2m->first_level)); > + p2m->root, page_to_mfn(p2m->root)); > > - first = __map_domain_page(p2m->first_level); > + first = __map_domain_page(p2m->root); > dump_pt_walk(first, addr); > unmap_domain_page(first); > } > @@ -137,10 +137,10 @@ static lpae_t *p2m_map_first(struct p2m_domain *p2m, paddr_t addr) > { > struct page_info *page; > > - if ( first_linear_offset(addr) >= P2M_FIRST_ENTRIES ) > + if ( first_linear_offset(addr) >= P2M_ROOT_ENTRIES ) > return NULL; > > - page = p2m->first_level + p2m_first_level_index(addr); > + page = p2m->root + p2m_first_level_index(addr); > > return __map_domain_page(page); > } > @@ -879,7 +879,7 @@ int p2m_alloc_table(struct domain *d) > struct p2m_domain *p2m = &d->arch.p2m; > struct page_info *page; > > - page = alloc_domheap_pages(NULL, P2M_FIRST_ORDER, 0); > + page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0); > if ( page == NULL ) > return -ENOMEM; > > @@ -889,9 +889,9 @@ int p2m_alloc_table(struct domain *d) > clear_and_clean_page(page); > clear_and_clean_page(page + 1); > > - p2m->first_level = page; > + p2m->root = page; > > - d->arch.vttbr = page_to_maddr(p2m->first_level) > + d->arch.vttbr = page_to_maddr(p2m->root) > | ((uint64_t)p2m->vmid&0xff)<<48; > > /* Make sure that all TLBs corresponding to the new VMID are flushed > @@ -968,9 +968,9 @@ void p2m_teardown(struct domain *d) > while ( (pg = page_list_remove_head(&p2m->pages)) ) > free_domheap_page(pg); > > - free_domheap_pages(p2m->first_level, P2M_FIRST_ORDER); > + free_domheap_pages(p2m->root, P2M_ROOT_ORDER); > > - p2m->first_level = NULL; > + p2m->root = NULL; > > p2m_free_vmid(d); > > @@ -994,7 +994,7 @@ int p2m_init(struct domain *d) > > d->arch.vttbr = 0; > > - p2m->first_level = NULL; > + p2m->root = NULL; > > p2m->max_mapped_gfn = 0; > p2m->lowest_mapped_gfn = ULONG_MAX; > diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c > index f4eb2a2..42bde75 100644 > --- a/xen/drivers/passthrough/arm/smmu.c > +++ b/xen/drivers/passthrough/arm/smmu.c > @@ -937,7 +937,7 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain_cfg *cfg) > paddr_t p2maddr; > > ASSERT(cfg->domain != NULL); > - p2maddr = page_to_maddr(cfg->domain->arch.p2m.first_level); > + p2maddr = page_to_maddr(cfg->domain->arch.p2m.root); > > gr1_base = SMMU_GR1(smmu); > cb_base = SMMU_CB_BASE(smmu) + SMMU_CB(smmu, cfg->cbndx); > diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h > index 06c93a0..cfd0c52 100644 > --- a/xen/include/asm-arm/p2m.h > +++ b/xen/include/asm-arm/p2m.h > @@ -14,7 +14,7 @@ struct p2m_domain { > struct page_list_head pages; > > /* Root of p2m page tables, 2 contiguous pages */ > - struct page_info *first_level; > + struct page_info *root; > > /* Current VMID in use */ > uint8_t vmid; > -- Julien Grall