Expand description
Scalable translation structures (VT-d Rev 4.1, §§3.4.3, 9.2, 9.4-9.6).
These are formats, not a scalable-mode lookup implementation. The validators describe the second-stage-only profile: 39/48-bit walks, pass-through, 16-bit domain IDs, CM=0, RID_PASID, second-stage A/D, page-walk snooping and snoop control. First-stage/nested translation, memory types, explicit PASID, ATS, PRI and supervisor requests are unsupported. Defining this profile does not advertise or enable any of its capabilities.
Validate only entries used by a request. Not-present entries ignore all fields except FPD (where defined). Callers must retain the original request’s IOVA/source ID, accumulate context/directory/table FPD even on not-present entries, and apply it only to qualified faults (Table 26, §7.1.3). Format errors alone do not determine fault qualification.
Structs§
- Pasid
Directory Entry - Scalable PASID-directory entry (§9.5), 64 bits.
- Pasid
Table Entry - Scalable PASID-table entry (§9.6), 512 bits.
- Pasid
Table Entry First Stage - PASID-table bits 191:128.
- Pasid
Table Entry Hi - PASID-table bits 127:64.
- Pasid
Table Entry Lo - PASID-table bits 63:0.
- Pasid
Translation Type - PASID granular translation type (PGTT, §9.6).
- Scalable
Context Entry - Scalable context entry (§9.4), 256 bits.
- Scalable
Context Entry Hi - Scalable context bits 127:64.
- Scalable
Context Entry Lo - Scalable context bits 63:0.
- Scalable
Root Entry - Scalable root entry (§9.2), indexed by the bus number.
- Scalable
Root Entry Half - One 64-bit half of a scalable root entry (§9.2).
Enums§
- Scalable
Validation Error - Validation failure in a scalable translation structure.
Constants§
- PASID_
TABLE_ ENTRIES - Entries in each 4KB PASID table.
- SCALABLE_
CONTEXT_ TABLE_ ENTRIES - Entries in each 4KB lower/upper context table.
Functions§
- pasid_
directory_ entries - Decode PDTS without truncating or shifting by an unchecked guest value.