diff mbox

[Xen-devel,VMID,1/2] xen/arm: Move p2m_vmid_allocator_init() inside setup_virt_paging()

Message ID 1481782394-14285-1-git-send-email-bhupinder.thakur@linaro.org
State Superseded
Headers show

Commit Message

Bhupinder Thakur Dec. 15, 2016, 6:13 a.m. UTC
Since VMIDs are related to 2nd stage address translation, it makes more sense
to move the call to p2m_vmid_allocator_init(), which initializes the vmid
allocation bitmap, inside setup_virt_paging(), where 2nd stage address translation
is set up.

Signed-off-by: Bhupinder Thakur <bhupinder.thakur@linaro.org>
Reviewed-by: Julien Grall <julien.grall@arm.com>
---
 xen/arch/arm/p2m.c        | 5 ++++-
 xen/arch/arm/setup.c      | 2 --
 xen/include/asm-arm/p2m.h | 3 ---
 3 files changed, 4 insertions(+), 6 deletions(-)

Comments

Julien Grall Dec. 15, 2016, 10:04 a.m. UTC | #1
Hi Bhupinder,

Nothing related to this patch. I got confused this morning with this 
patch because there is no version numbering, I thought it was just a 
resend, but you did some changes and added my reviewed-by. In the 
future, may I ask you to put the same version number on all the patches 
of the series (in this case v4)?

No need to resend this series if there are no other comments.

Cheers,

On 15/12/16 06:13, Bhupinder Thakur wrote:
> Since VMIDs are related to 2nd stage address translation, it makes more sense
> to move the call to p2m_vmid_allocator_init(), which initializes the vmid
> allocation bitmap, inside setup_virt_paging(), where 2nd stage address translation
> is set up.
>
> Signed-off-by: Bhupinder Thakur <bhupinder.thakur@linaro.org>
> Reviewed-by: Julien Grall <julien.grall@arm.com>
> ---
>  xen/arch/arm/p2m.c        | 5 ++++-
>  xen/arch/arm/setup.c      | 2 --
>  xen/include/asm-arm/p2m.h | 3 ---
>  3 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index cc5634b..2327509 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -1241,7 +1241,7 @@ static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
>   */
>  static DECLARE_BITMAP(vmid_mask, MAX_VMID);
>
> -void p2m_vmid_allocator_init(void)
> +static void p2m_vmid_allocator_init(void)
>  {
>      set_bit(INVALID_VMID, vmid_mask);
>  }
> @@ -1659,6 +1659,9 @@ void __init setup_virt_paging(void)
>  #endif
>      printk("P2M: %d levels with order-%d root, VTCR 0x%lx\n",
>             4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
> +
> +    p2m_vmid_allocator_init();
> +
>      /* It is not allowed to concatenate a level zero root */
>      BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
>      setup_virt_paging_one((void *)val);
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 38eb888..ac49515 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -789,8 +789,6 @@ void __init start_xen(unsigned long boot_phys_offset,
>
>      gic_init();
>
> -    p2m_vmid_allocator_init();
> -
>      softirq_init();
>
>      tasklet_subsys_init();
> diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
> index fdb6b47..0987be2 100644
> --- a/xen/include/asm-arm/p2m.h
> +++ b/xen/include/asm-arm/p2m.h
> @@ -152,9 +152,6 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
>      /* Not supported on ARM. */
>  }
>
> -/* Initialise vmid allocator */
> -void p2m_vmid_allocator_init(void);
> -
>  /* Second stage paging setup, to be called on all CPUs */
>  void setup_virt_paging(void);
>
>
Bhupinder Thakur Dec. 15, 2016, 10:27 a.m. UTC | #2
Hi Julien,



On 15 December 2016 at 15:34, Julien Grall <julien.grall@arm.com> wrote:
> Hi Bhupinder,
>
> Nothing related to this patch. I got confused this morning with this patch
> because there is no version numbering, I thought it was just a resend, but
> you did some changes and added my reviewed-by. In the future, may I ask you
> to put the same version number on all the patches of the series (in this
> case v4)?
>
Sorry for the confusion. I will put the same version on all patches in
the series in future.

> No need to resend this series if there are no other comments.
>
> Cheers,
>
>
> On 15/12/16 06:13, Bhupinder Thakur wrote:
>>
>> Since VMIDs are related to 2nd stage address translation, it makes more
>> sense
>> to move the call to p2m_vmid_allocator_init(), which initializes the vmid
>> allocation bitmap, inside setup_virt_paging(), where 2nd stage address
>> translation
>> is set up.
>>
>> Signed-off-by: Bhupinder Thakur <bhupinder.thakur@linaro.org>
>> Reviewed-by: Julien Grall <julien.grall@arm.com>
>> ---
>>  xen/arch/arm/p2m.c        | 5 ++++-
>>  xen/arch/arm/setup.c      | 2 --
>>  xen/include/asm-arm/p2m.h | 3 ---
>>  3 files changed, 4 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
>> index cc5634b..2327509 100644
>> --- a/xen/arch/arm/p2m.c
>> +++ b/xen/arch/arm/p2m.c
>> @@ -1241,7 +1241,7 @@ static spinlock_t vmid_alloc_lock =
>> SPIN_LOCK_UNLOCKED;
>>   */
>>  static DECLARE_BITMAP(vmid_mask, MAX_VMID);
>>
>> -void p2m_vmid_allocator_init(void)
>> +static void p2m_vmid_allocator_init(void)
>>  {
>>      set_bit(INVALID_VMID, vmid_mask);
>>  }
>> @@ -1659,6 +1659,9 @@ void __init setup_virt_paging(void)
>>  #endif
>>      printk("P2M: %d levels with order-%d root, VTCR 0x%lx\n",
>>             4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
>> +
>> +    p2m_vmid_allocator_init();
>> +
>>      /* It is not allowed to concatenate a level zero root */
>>      BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
>>      setup_virt_paging_one((void *)val);
>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>> index 38eb888..ac49515 100644
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -789,8 +789,6 @@ void __init start_xen(unsigned long boot_phys_offset,
>>
>>      gic_init();
>>
>> -    p2m_vmid_allocator_init();
>> -
>>      softirq_init();
>>
>>      tasklet_subsys_init();
>> diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
>> index fdb6b47..0987be2 100644
>> --- a/xen/include/asm-arm/p2m.h
>> +++ b/xen/include/asm-arm/p2m.h
>> @@ -152,9 +152,6 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
>>      /* Not supported on ARM. */
>>  }
>>
>> -/* Initialise vmid allocator */
>> -void p2m_vmid_allocator_init(void);
>> -
>>  /* Second stage paging setup, to be called on all CPUs */
>>  void setup_virt_paging(void);
>>
>>
>
> --
> Julien Grall
diff mbox

Patch

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index cc5634b..2327509 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1241,7 +1241,7 @@  static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
  */
 static DECLARE_BITMAP(vmid_mask, MAX_VMID);
 
-void p2m_vmid_allocator_init(void)
+static void p2m_vmid_allocator_init(void)
 {
     set_bit(INVALID_VMID, vmid_mask);
 }
@@ -1659,6 +1659,9 @@  void __init setup_virt_paging(void)
 #endif
     printk("P2M: %d levels with order-%d root, VTCR 0x%lx\n",
            4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
+
+    p2m_vmid_allocator_init();
+
     /* It is not allowed to concatenate a level zero root */
     BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
     setup_virt_paging_one((void *)val);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 38eb888..ac49515 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -789,8 +789,6 @@  void __init start_xen(unsigned long boot_phys_offset,
 
     gic_init();
 
-    p2m_vmid_allocator_init();
-
     softirq_init();
 
     tasklet_subsys_init();
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index fdb6b47..0987be2 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -152,9 +152,6 @@  void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
     /* Not supported on ARM. */
 }
 
-/* Initialise vmid allocator */
-void p2m_vmid_allocator_init(void);
-
 /* Second stage paging setup, to be called on all CPUs */
 void setup_virt_paging(void);