Skip to content

Commit

Permalink
editorial update
Browse files Browse the repository at this point in the history
  • Loading branch information
ved-rivos committed Sep 3, 2024
1 parent 270457f commit db6c53a
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 18 deletions.
21 changes: 12 additions & 9 deletions src/iommu_data_structures.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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`).
Expand Down Expand Up @@ -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`)
Expand Down Expand Up @@ -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`
Expand Down Expand Up @@ -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`
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
18 changes: 9 additions & 9 deletions src/iommu_in_memory_queues.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ determined by `fctl.BE` (<<FCTRL>>).
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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit db6c53a

Please sign in to comment.