]> xenbits.xensource.com Git - xen.git/commit
xen/arm: Don't unflatten DT when booting with ACPI
authorPunit Agrawal <punit.agrawal@arm.com>
Fri, 21 Apr 2017 13:12:54 +0000 (14:12 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Fri, 21 Apr 2017 20:45:59 +0000 (13:45 -0700)
commit07abf27c0fcb53f1bdba58ef1748af36a6f5cb6c
tree53d1be27ea5e51a186dfc51997d93124f3c48da4
parentef3e8db8068ce4d82501d427dd0ca77a6af89572
xen/arm: Don't unflatten DT when booting with ACPI

Unflattening the device tree when booting with "acpi=force" leads to the
following stack trace on AMD Seattle platform -

(XEN) Xen call trace:
(XEN)    [<0000000000204bfc>] dt_irq_translate+0x48/0x58 (PC)
(XEN)    [<0000000000204f5c>] dt_device_get_irq+0x34/0x38 (LR)
(XEN)    [<0000000000251a08>] platform_get_irq+0x14/0x44
(XEN)    [<00000000002952bc>] smmu.c#arm_smmu_dt_init+0x190/0x100c
(XEN)    [<0000000000299310>] device_init+0xa8/0xdc
(XEN)    [<00000000002950f0>] iommu_hardware_setup+0x34/0x68
(XEN)    [<0000000000294ef0>] iommu_setup+0x48/0x1c8
(XEN)    [<000000000029cecc>] start_xen+0xb94/0xd34
(XEN)    [<00000083fbba91dc>] 00000083fbba91dc

The problem arises due to the unflattened device tree being
unconditionally used in iommu_hardware_setup().

Let's re-arrange the code without changing boot order to unflatten the
device tree only when acpi is disabled.

Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/setup.c