vmm: acpi: Explicitly write ITS identifier in IORT table

The IORT specification (Revision E.b, Table 12) defines the ITS Group
Node structure with an ITS Identifiers array following the node header.
Although the IORT table is zero-initialized, this commit adds an
explicit write of the ITS identifier value (0) for clarity and spec
compliance.

This ITS identifier must match the `translation_id` field in the MADT
GIC ITS structure to ensure proper interrupt routing on ARM platforms.

Signed-off-by: Bo Chen <bchen@crusoe.ai>
This commit is contained in:
Bo Chen 2026-01-02 22:08:08 +00:00
parent c87ca39219
commit 01d711e893

View file

@ -542,6 +542,8 @@ fn create_iort_table(pci_segments: &[PciSegment]) -> Sdt {
iort.write(51, (1u8).to_le());
// ITS counts
iort.write(64, (1u32).to_le());
// GIC ITS Identity Array
iort.write(68, (0u32).to_le()); // Value must match what's defined in MADT
// Root Complex Nodes
for (i, segment) in pci_segments.iter().enumerate() {