Message ID | 3ef2b68c511f3e31de409b76757b95c78b99d750.1406728037.git.ian.campbell@citrix.com |
---|---|
State | Accepted |
Commit | 1171aa90994d1570757217a103c8f649a4480dcb |
Headers | show |
Hi Ian, On 07/30/2014 02:47 PM, Ian Campbell wrote: > From: Ian Campbell <ian.campbell@citirx.com> > > 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 <ian.campbell@citrix.com> > Cc: Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com> > --- > 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 <asm/page.h> > > /* First level P2M is 2 consecutive pages */ > -#define P2M_FIRST_ORDER 1 > -#define P2M_FIRST_ENTRIES (LPAE_ENTRIES<<P2M_FIRST_ORDER) > +#define P2M_ROOT_ORDER 1 > +#define P2M_ROOT_ENTRIES (LPAE_ENTRIES<<P2M_ROOT_ORDER) > > 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; >
On Wed, 2014-07-30 at 17:06 +0100, Julien Grall wrote: > Hi Ian, > > On 07/30/2014 02:47 PM, Ian Campbell wrote: > > From: Ian Campbell <ian.campbell@citirx.com> > > > > 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. What I meant is that rather than switching from ->first_level to ->root_level (the "most trivial" change) I switched to just ->root.
On 07/30/2014 05:19 PM, Ian Campbell wrote: > On Wed, 2014-07-30 at 17:06 +0100, Julien Grall wrote: >> Hi Ian, >> >> On 07/30/2014 02:47 PM, Ian Campbell wrote: >>> From: Ian Campbell <ian.campbell@citirx.com> >>> >>> 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. > > What I meant is that rather than switching from ->first_level to > ->root_level (the "most trivial" change) I switched to just ->root. It's not clear in the commit message as the title is "rename p2m->first_level to p2m->root". IHMO, the sentence seems to come out of nowhere. Regards,
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 <asm/page.h> /* First level P2M is 2 consecutive pages */ -#define P2M_FIRST_ORDER 1 -#define P2M_FIRST_ENTRIES (LPAE_ENTRIES<<P2M_FIRST_ORDER) +#define P2M_ROOT_ORDER 1 +#define P2M_ROOT_ENTRIES (LPAE_ENTRIES<<P2M_ROOT_ORDER) 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;