[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 06/25] xen/arm: move evtchn_allocate call out of make_hypervisor_node
In the case of domUs, evtchn_irq is allocated by arch_domain_create and set to GUEST_EVTCHN_PPI. To make make_hypervisor_node more reusable, move the call to evtchn_allocate out of make_hypervisor_node, to the dom0 specific caller (handle_node). Signed-off-by: Stefano Stabellini <stefanos@xxxxxxxxxx> --- Changes in v3: - add patch - add BUG_ON --- xen/arch/arm/domain_build.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 0177492..b51d014 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -619,11 +619,7 @@ static int __init make_hypervisor_node(struct domain *d, if ( res ) return res; - /* - * It is safe to allocate the event channel here because all the - * PPIs used by the hardware domain have been registered. - */ - evtchn_allocate(d); + BUG_ON(d->arch.evtchn_irq == 0); /* * Interrupt event channel upcall: @@ -1293,6 +1289,13 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo, int addrcells = dt_child_n_addr_cells(node); int sizecells = dt_child_n_size_cells(node); + + /* + * It is safe to allocate the event channel here because all the + * PPIs used by the hardware domain have been registered. + */ + evtchn_allocate(d); + /* * The hypervisor node should always be created after all nodes * from the host DT have been parsed. -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |