diff mbox

[Xen-devel,RFC,1/9] xen: arm: rename p2m->first_level to p2m->root.

Message ID 3ef2b68c511f3e31de409b76757b95c78b99d750.1406728037.git.ian.campbell@citrix.com
State Accepted
Commit 1171aa90994d1570757217a103c8f649a4480dcb
Headers show

Commit Message

Ian Campbell July 30, 2014, 1:47 p.m. UTC
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.

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(-)

Comments

Julien Grall July 30, 2014, 4:06 p.m. UTC | #1
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;
>
Ian Campbell July 30, 2014, 4:19 p.m. UTC | #2
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.
Julien Grall July 30, 2014, 4:23 p.m. UTC | #3
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 mbox

Patch

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;