class ArmDevicetreeGicItem

Defined at line 202 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

Parses either GIC v2 or GIC v3 device node into proper ZBI item.

This item will scan the devicetree for either a node compatible with GIC v2 bindings or GIC v3

bindings. Upon finding such node it will generate either a |zbi_dcfg_arm_gic_v2_driver_t| for

GIC v2 or a |zbi_dcfg_arm_gic_v3_driver_t| for GIC v3.

In case of GIC v2, it will determine whether the MSI extension is supported or not by looking

at the children of the GIC v2 node.

Each interrupt controller contains uses a custom format for their 'reg' property, which defines

the different address ranges required for the driver.

See for GIC v2:

* https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.txt

See for GIC v3:

* https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic-v3.txt

Public Members

static const auto kGicV2CompatibleDevices
static const auto kGicV3CompatibleDevices

Public Methods

template <typename Shim>
void Init (const Shim & shim)

Boot Shim Item API.

Defined at line 223 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

devicetree::ScanState OnScan ()

Defined at line 232 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

zbi_header_t ItemHeader (const zbi_dcfg_arm_gic_v2_driver_t & driver)

Boot Shim Item API.

Defined at line 235 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

zbi_header_t ItemHeader (const zbi_dcfg_arm_gic_v3_driver_t & driver)

Defined at line 239 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

devicetree::ScanState OnNode (const devicetree::NodePath & path, const devicetree::PropertyDecoder & decoder)

Matcher API.

Defined at line 285 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-arm-gic-item.cc

devicetree::ScanState OnSubtree (const devicetree::NodePath & path)

Defined at line 323 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-arm-gic-item.cc