From 01d711e8939f8c074b2bc24d2fb6cd9bf29c73f5 Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Fri, 2 Jan 2026 22:08:08 +0000 Subject: [PATCH] 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 --- vmm/src/acpi.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vmm/src/acpi.rs b/vmm/src/acpi.rs index 5cb96f5d6..b2da91e08 100644 --- a/vmm/src/acpi.rs +++ b/vmm/src/acpi.rs @@ -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() {