Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 9df245f45c2ab33e8c38c7c4adc96ed28084e431
      
https://github.com/tianocore/edk2/commit/9df245f45c2ab33e8c38c7c4adc96ed28084e431
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/RiscV/Intc/RiscVIntcParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Add ReadFdtCells64() helper

Add a ReadFdtCells64() helper function, allowing to
read a value spanning on 1 or 2 UINT32 FDT cells.

Use ReadFdtCells64() wherever relevant.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 369a603902c381e8ac9e360483866a861815bea3
      
https://github.com/tianocore/edk2/commit/369a603902c381e8ac9e360483866a861815bea3
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Iort/SmmuV3Parser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Rename FdtGetIntcParentNode

The interrupt parent of a node is:
- the node pointed by the "interrupt-parent" property
  if the property is present
- the direct parent otherwise.

FdtGetIntcParentNode() doesn't aim to find the next
parent node in the interrupt hierarchy. It aims to find
the interrupt-controller node upon which the input node
depends. This interrupt-controller node might be multiple
nodes up in the device tree hierarchy.

Thus, rename FdtGetIntcParentNode() to FdtGetIntcNode()
to make the function name less ambiguous and prepare for
the addition of a function which gets the next parent node
in an interrupt hierarchy.

No functional change.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 66d3983c387d679cc44dc70033304a67ecd3a5ec
      
https://github.com/tianocore/edk2/commit/66d3983c387d679cc44dc70033304a67ecd3a5ec
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Rework FdtGetIntcNode()

Rework FdtGetIntcNode() to prepare for following patches
which will allow to make the distinction between
interrupt-controller nodes and interrupt nexus nodes.

Add the following functions:
- FdtGetIntcParentNode()
- FdtIsIntcDomainNode()

No functional change.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 767340edee7a48cc45b8f98384b0686d590ad3d5
      
https://github.com/tianocore/edk2/commit/767340edee7a48cc45b8f98384b0686d590ad3d5
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Iort/SmmuV3Parser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Split FdtGetIntcParentNode()

The Devicetree Specification [1] defines the concept of interrupt
mapping, interrupt domain, interrupt nexus and interrupt controller.

The "interrupt-controller" property defines a node as an interrupt
controller. The "interrupt-map" property defines a node as an
interrupt nexus. Both node types are defined as the root of an
interrupt domain.

A GIC (Generic Interrupt Controller) is an interrupt controller. The
GIC version should be fetched to the matching device tree node. A
node defining an interrupt domain might not necessarily be an
interrupt controller and contain this information.

Introduce 2 functions:
- FdtGetIntControllerNode()
- FdtGetIntDomainNode()`
to distinguish the 2 concepts.

As the presence of interrupt nexus/domains is currently not supported,
replace FdtGetIntcParentNode() calls with FdtGetIntControllerNode().
The distinction will be useful in following patches.

Also, update the detection of an interrupt domain to the presence
of one of these properties:
- interrupt-controller
- interrupt-map
instead of relying on the presence of the #interrupt-cells property,
which is not a guarantee.

[1] Spec. v0.4, s2.4 Interrupts and Interrupt Mapping

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 10ccceddbd733b1e3ae7608151dbbfebaa94fef6
      
https://github.com/tianocore/edk2/commit/10ccceddbd733b1e3ae7608151dbbfebaa94fef6
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Handle int-ctrl in FdtGetIntcNode()

An interrupt-controller node might have interrupts itself.
In such case, the interrupt parent of the interrupt-controller
must be found.
If no interrupt parent is found, fallback to the input node
(if the node is an interrupt-controller itself).

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: c1b412e6b52d1f58dde782b8798fb63c166d3010
      
https://github.com/tianocore/edk2/commit/c1b412e6b52d1f58dde782b8798fb63c166d3010
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Add FdtGetInterruptMap()

A FDT interrupt nexus defines an "interrupt-map" property.
The property is an array of 5 columns as:
- child unit address
- child interrupt specifier
- interrupt-parent (phandle on 1 cell)
- parent unit address
- parent interrupt specifier

It is difficult to iterate over the lines of the
"interrupt-map" array. To determine the location of each
property in the interrupt-map, the size of the child unit
address and interrupt specifier must be fetched. The
interrupt-parent cells then allows to fetch the size of the
parent unit address and interrupt specifier.

Create a FdtGetInterruptMap() function allowing to fetch
all the properties of an interrupt-map entry.
Use the function to simplify the PCI config space parser.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 3601415fb481a5d952a1bd7aba682f43a2fce884
      
https://github.com/tianocore/edk2/commit/3601415fb481a5d952a1bd7aba682f43a2fce884
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Iort/SmmuV3Parser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Relax GetNodeInterruptCells()

FdtGetInterruptCellsInfo() expects to receive an interrupt
controller node. However, a common use-case is to get the
"#interrupt-cells" of a non interrupt-controller node in order
to decode an "interrupts" property.

Add a "SearchInHierarchy" parameter to
FdtGetInterruptCellsInfo() to conditionnaly relax the
function and either get the "#interrupt-cells" property:
- from the input node
- from the hierachy of the input node.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: c5cfa75ee54d910771f1fd9cf183e4637f45b339
      
https://github.com/tianocore/edk2/commit/c5cfa75ee54d910771f1fd9cf183e4637f45b339
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtInterrupt.c
    M 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Iort/SmmuV3Parser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/RiscV/RiscVFdtInterrupt.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Add Size param to interrupt getters

Add a Size parameter to:
- FdtGetInterruptId()
- FdtGetInterruptFlags()
This allows to check the size of the interrupt data to parse
inside the later functions.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: b377584b344a47f878124c52cfba5904cd886587
      
https://github.com/tianocore/edk2/commit/b377584b344a47f878124c52cfba5904cd886587
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Add FdtResolveInterrupt()

The Devicetree Specification [1] defines the concept of interrupt
mapping, interrupt domain, interrupt nexus and interrupt controller.
An interrupt property might need to be translated through an
interrupt nexus to obtain the interrupt type, id, flags.

Add a FdtResolveInterrupt() function, resolving an interrupt property
through interrupt nexuses until reaching the interrupt-controller
node.

Make use of FdtResolveInterrupt() wherever relevant.
This allows to handle the presence of interrupt nexus
by default.

[1] Spec. v0.4, s2.4 Interrupts and Interrupt Mapping

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 54ef58cb48113208925ec026d8f1ac2a1d2b9f99
      
https://github.com/tianocore/edk2/commit/54ef58cb48113208925ec026d8f1ac2a1d2b9f99
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Iort/SmmuV3Parser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Add FdtGetReg() helper

Add a FdtGetReg() helper to fetch the "reg" property of a node.
Use the newly introduce helper wherever relevant.

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: 3819cffa5ef1cfcbbc14d2bc0ba14604dde20488
      
https://github.com/tianocore/edk2/commit/3819cffa5ef1cfcbbc14d2bc0ba14604dde20488
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Iort/SmmuV3Parser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Add FdtGetTranslatedReg()

The Devicetree Specification [1] defines the "ranges" property.
"""
The ranges property provides a means of defining a mapping or
translation between the address space of the bus (the child
address space) and the address space of the bus node’s parent
(the parent address space).
"""

Add a FdtGetTranslatedReg() function, reading the "reg" property
of a node and translating the base address through the "ranges"
properties present in the node hierarchy.

Make use of FdtGetTranslatedReg() wherever relevant.
This allows to handle the presence of "ranges" property in
a node hierarchy by default.

[1] Spec. v0.4, s2.3.8 ranges

Signed-off-by: Pierre Gondois <[email protected]>


  Commit: a311509574edf15285f379df416063e9e9c015b5
      
https://github.com/tianocore/edk2/commit/a311509574edf15285f379df416063e9e9c015b5
  Author: Pierre Gondois <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h

  Log Message:
  -----------
  DynamicTablesPkg/HwInfoParser: Remove IRQ helper macros

The following IRQ helper macros are now unused:
- GET_DT_REG_ADDRESS_OFFSET()
- GET_DT_REG_SIZE_OFFSET()
Remove them.

Signed-off-by: Pierre Gondois <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/69f6970bd95c...a311509574ed

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to