[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.6 4/4] xen/arm: Find automatically a PPI for the DOM0 event channel interrupt
Hi Stefano, On 15/12/14 15:35, Stefano Stabellini wrote: > On Fri, 12 Dec 2014, Julien Grall wrote: >> Use the new vgic interface to know which virtual PPI is free and use it >> for the event channel code. >> >> At the DOM0 creation time, Xen still don't know which vIRQ will be free. >> All the vIRQ will be reserved when we parse the device tree. So allocate >> when the hypervisor node is created. >> >> It's safe to defer the allocation because no vIRQ can be injected as >> long as the vCPU is not online. >> >> Also correct the check in arch_domain_create to use is_hardware_domain. >> >> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> >> --- >> xen/arch/arm/domain.c | 13 ++++++++++--- >> xen/arch/arm/domain_build.c | 10 ++++++++++ >> xen/arch/arm/platform.c | 7 ------- >> xen/arch/arm/platforms/xgene-storm.c | 1 - >> xen/include/asm-arm/platform.h | 4 ---- >> 5 files changed, 20 insertions(+), 15 deletions(-) >> >> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c >> index 7221bc8..7d14377 100644 >> --- a/xen/arch/arm/domain.c >> +++ b/xen/arch/arm/domain.c >> @@ -543,10 +543,17 @@ int arch_domain_create(struct domain *d, unsigned int >> domcr_flags) >> if ( (rc = domain_vtimer_init(d)) != 0 ) >> goto fail; >> >> - if ( d->domain_id ) >> + /* >> + * The hardware domain will get a PPI later in >> + * arch/arm/domain_build.c depending on the >> + * interrupt map of the hardware. >> + */ >> + if ( !is_hardware_domain(d) ) >> + { >> d->arch.evtchn_irq = GUEST_EVTCHN_PPI; >> - else >> - d->arch.evtchn_irq = platform_dom0_evtchn_ppi(); >> + /* At this stage vgic_reserve_virq should never fail */ >> + BUG_ON(vgic_reserve_virq(d, GUEST_EVTCHN_PPI)); >> + } > > Why do we still need this, if we have another vgic_allocate_virq call in > make_hypervisor_node? Wouldn't that work for DomUs too? Because make_hypervisor_node is only used for DOM0. Futhermore, DOMUs are using a specific hardcoded layout (see xen/include/public/arch-arm.h). Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |