xen: arm: map child MMIO and IRQs to dom0 for PCI bus DT nodes.
authorIan Campbell <ian.campbell@citrix.com>
Tue, 7 Jul 2015 08:46:16 +0000 (09:46 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 7 Jul 2015 14:10:44 +0000 (15:10 +0100)
commit864f82adbcefe60b742d690d67ece381702c231a
treeb7d83b9068fc702e3c395620e3b099b8ba21b255
parenteed5e395e068fe1df46eee91d2ab0428fb8b5f42
xen: arm: map child MMIO and IRQs to dom0 for PCI bus DT nodes.

This uses the dt_for_each_{irq_map,range} helpers to map the interrupt
and child MMIO regions to dom0. Since PCI busses are enumerable these
resources may not be otherwise described in the DT (although they can
be).

Although PCI is the only bus we handle this way the code should be
generic enough to apply to similar buses in the future.

This replaces the xgene specific mapping. Tested on Mustang and on a
model with a PCI virtio controller.

This patch doesn't stop recursing when it finds such a node, since
double mapping these resources if they do happen to be described is
(or should be) harmless

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@citrix.com>
xen/arch/arm/domain_build.c
xen/arch/arm/platforms/xgene-storm.c