The current IORT table implementation is based on IORT Spec revision E.b [1], as evidenced by: * The PCI root complex node revision being set to `3` * The code being updated in late 2021 [2] when revision E.b was the latest version This patch ensures the IORT table is properly generated according to this specification revision, fixing three issues: 1. The IORT table revision should be `3` rather than `2` (see Table 2 in the spec [1]) 2. The GIC ITS group node revision should be `1` rather than `0` (see Table 12 in the spec [1]) 3. The "Memory access properties" and "ATS Attribute" fields of the PCI root complex node was set incorrectly - specifically the MAF (Memory Access Flags) including CPM and DACS bits (see Tables 14, 15, and 17 in the spec [1]) [1] https://developer.arm.com/documentation/den0049/eb/?lang=en [2] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/3356 Signed-off-by: Bo Chen <bchen@crusoe.ai> |
||
|---|---|---|
| .. | ||
| src | ||
| build.rs | ||
| Cargo.toml | ||