Message ID | 1481872588-10876-1-git-send-email-bhupinder.thakur@linaro.org |
---|---|
State | Accepted |
Commit | 3ca8573f8b81b2ff8d14c0fb29260420f868ab7a |
Headers | show |
Both patches applied. FYI most committers/reviewers prefer to have a [PATCH 0/NUM] email before the actual patches, so that patches are all properly threaded as replies (when using git-send-email --in-reply-to=). For example: https://lkml.org/lkml/2016/12/15/654 I don't particularly care about this, but other might. Cheers, Stefano On Fri, 16 Dec 2016, 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); > > -- > 2.7.4 >
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);