From db6c53a837be613070b011431416c4b388ddb3fc Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Tue, 3 Sep 2024 18:14:38 -0500 Subject: [PATCH] editorial update --- src/iommu_data_structures.adoc | 21 ++++++++++++--------- src/iommu_in_memory_queues.adoc | 18 +++++++++--------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/iommu_data_structures.adoc b/src/iommu_data_structures.adoc index 236fd5b6..4b567aca 100644 --- a/src/iommu_data_structures.adoc +++ b/src/iommu_data_structures.adoc @@ -199,6 +199,8 @@ image::ddt-base.svg[width=800,height=400, align="center"] //ddtp--->+--+ +->+--+ +->+--+ ddtp--->+--+ +->+--+ ddtp--->+--+ //.... +<<< + ==== Non-leaf DDT entry A valid (`V==1`) non-leaf DDT entry provides the PPN of the next level DDT. @@ -215,6 +217,8 @@ A valid (`V==1`) non-leaf DDT entry provides the PPN of the next level DDT. ], config:{lanes: 2, hspace:1024, fontsize: 16}} .... +<<< + ==== Leaf DDT entry The leaf DDT page is indexed by `DDI[0]` and holds the device-context (`DC`). @@ -413,8 +417,7 @@ When `SXL` is 1, the following rules apply: * If the first-stage is not Bare, then a page fault corresponding to the original access type occurs if the `IOVA` has bits beyond bit 31 set to 1. * If the second-stage is not Bare, then a guest page fault corresponding to the - original access type occurs if the incoming GPA has bits beyond bit 33 set to - 1. + original access type occurs if the incoming GPA has bits beyond bit 33 set to 1. ===== IO hypervisor guest address translation and protection (`iohgatp`) @@ -444,7 +447,7 @@ encodings are as follows: [[IOHGATP_MODE_ENC]] .Encodings of `iohgatp.MODE` field -[width=75%, centered] +[%autowidth,float="center",align="center"] [%header, cols="3,3,20"] |=== 3+^| `fctl.GXL=0` @@ -549,7 +552,7 @@ address. [[IOSATP_MODE_ENC]] .Encodings of `iosatp.MODE` field -[width=75%, centered] +[%autowidth,float="center",align="center"] [%header, cols="3,3,20"] |=== 3+^| `DC.tc.SXL=0` @@ -597,8 +600,8 @@ first-stage page table with a `process_id`. [[PDTP_MODE_ENC]] .Encodings of `pdtp.MODE` field -[width=75%, centered] -[%header, cols="3^,3^,20"] +[%autowidth,float="center",align="center"] +[%header, cols="^3,^3,20"] |=== |Value | Name | Description | 0 | `Bare` | No first-stage address translation or protection. @@ -633,8 +636,8 @@ defined by the Advanced Interrupt Architecture specification. The `msiptp.MODE` field is used to select the MSI address translation scheme. .Encodings of `msiptp.MODE` field -[width=75%, centered] -[%header, cols="3^,3^,20"] +[%autowidth,float="center",align="center"] +[%header, cols="^3,^3,20"] |=== |Value | Name | Description | 0 | `Off` | Recognition of accesses to @@ -1457,7 +1460,7 @@ more IDs to tag the cached entries to identify a specific entry or a group of entries. .Identifiers used to tag IOATC entries -[width=75%, centered] +[%autowidth,float="center",align="center"] [%header, cols="8,10,10"] |=== |Data Structure cached |IDs used to tag entries | Invalidation command diff --git a/src/iommu_in_memory_queues.adoc b/src/iommu_in_memory_queues.adoc index 87b85ef3..4e363062 100644 --- a/src/iommu_in_memory_queues.adoc +++ b/src/iommu_in_memory_queues.adoc @@ -118,7 +118,7 @@ determined by `fctl.BE` (<>). The following command opcodes are defined: .IOMMU command opcodes -[width=75%, centered] +[%autowidth,float="center",align="center"] [%header, cols="12,^12,70"] |=== |`opcode` | Encoding ^| Description @@ -199,8 +199,8 @@ reads from IOMMU to the corresponding first-stage page tables. [[IVMA]] .`IOTINVAL.VMA` operands and operations -[width=75%, centered] -[%header, cols="2^,2^,3^,20"] +[%autowidth,float="center",align="center"] +[%header, cols="^2,^2,^3,20"] |=== |`GV`|`AV`|`PSCV`| Operation |0 |0 |0 | Invalidates all address-translation cache entries, including @@ -244,8 +244,8 @@ is illegal. [[IGVMA]] .`IOTINVAL.GVMA` operands and operations -[width=75%, centered] -[%header, cols="2^,2^,20"] +[%autowidth,float="center",align="center"] +[%header, cols="^2,^2,20"] |=== | `GV` | `AV` | Operation | 0 | ignored| Invalidates information cached from any level of the @@ -625,8 +625,8 @@ The `CAUSE` is a code indicating the cause of the fault/event. [[FAULT_CAUSE]] .Fault record `CAUSE` field encodings -[width=75%, centered] -[%header, cols="4^,20,6^"] +[%autowidth,float="center",align="center"] +[%header, cols="^4,20,^6"] |=== |CAUSE | Description | Reported if `DTF` is 1? |1 | Instruction access fault | No @@ -672,8 +672,8 @@ value assumed for reporting such faults is 0. The `TTYP` field reports inbound transaction type. .Fault record `TTYP` field encodings -[width=75%, centered] -[%header, cols="3^,20"] +[%autowidth,float="center",align="center"] +[%header, cols="^3,20"] |=== |TTYP | Description |0 | None. Fault not caused by an inbound transaction.