Message ID | 1481527598-15423-1-git-send-email-bhupinder.thakur@linaro.org |
---|---|
State | Superseded |
Headers | show |
Hi Bhupinder, On 12/12/16 07:26, 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> Regards,
On 13/12/16 14:06, Julien Grall wrote: > Hi Bhupinder, > > On 12/12/16 07:26, 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> Actually, one minor change. The function p2m_vmid_allocator_init does not need to be exported anymore. So can you please make it static? With that, you can keep my reviewed-by tag. Cheers,
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index cc5634b..d155c1d 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -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);
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> --- xen/arch/arm/p2m.c | 3 +++ xen/arch/arm/setup.c | 2 -- xen/include/asm-arm/p2m.h | 3 --- 3 files changed, 3 insertions(+), 5 deletions(-)