Skip to content

Commit 52f1bda

Browse files
authored
Merge pull request #21 from vlsunil/kersten1-patch-1
Update rimt-main.adoc
2 parents 7cec704 + 071738f commit 52f1bda

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

src/rimt-main.adoc

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
== RISC-V IO Mapping Table (RIMT)
22

33
The <<rimt>> shows the structure of RIMT. Apart from the basic header, RIMT can contain several
4-
nodes. Each node represents a component which can be an IOMMU, a PCIe root complex or a platform
4+
nodes. Each node represents a component, which can be an IOMMU, a PCIe root complex, or a platform
55
device.
66

77
.RISC-V IO Mapping Table
@@ -58,7 +58,7 @@ types for those structures.
5858
|===
5959

6060
==== IOMMU Node
61-
The IOMMU may be implemented as a platform device or as a PCIe device. The IOMMU node is
61+
The IOMMU can be implemented as a platform device or as a PCIe device. The IOMMU node is
6262
the structure in RIMT used to report the configuration and capabilities of each IOMMU in the system.
6363

6464
.IOMMU Node
@@ -70,15 +70,15 @@ the structure in RIMT used to report the configuration and capabilities of each
7070
| Revision | 1 | 1 | 1
7171
| Length | 2 | 2 | The length of this structure.
7272
| Reserved | 2 | 4 | Must be zero.
73-
| ID | 2 | 6 | Unique ID of this node in the RIMT which can
73+
| ID | 2 | 6 | Unique ID of this node in the RIMT that can
7474
be used to locate it in the RIMT node array.
7575
It can be simply the array index in the RIMT
7676
node array.
7777
| Hardware ID | 8 | 8 | ACPI ID of the IOMMU when it is a platform device
7878
or PCIe ID (Vendor ID + Device ID) for
7979
the PCIe IOMMU device.
8080
| Base Address | 8 | 16 | Base address of the IOMMU registers.
81-
This field is valid only for an IOMMU
81+
This field is valid for only an IOMMU
8282
that is a platform device. If IOMMU
8383
is a PCIe device, the base address of
8484
the IOMMU registers may be discovered
@@ -107,17 +107,17 @@ a|
107107
domain.
108108
| PCIe Segment number | 2 | 32 | If the IOMMU is implemented as a PCIe
109109
device (Bit 0 of Flags is 1), then
110-
this field holds the PCIe segment on
111-
which this IOMMU is located.
110+
this field holds the PCIe segment
111+
where this IOMMU is located.
112112
| PCIe B/D/F | 2 | 34 | If the IOMMU is implemented as a PCIe
113113
device (Bit 0 of Flags is 1), then
114114
this field provides the
115115
Bus/Device/Function of the IOMMU.
116116
| Number of interrupt wires | 2 | 36 | An IOMMU may signal IOMMU initiated
117-
interrupts using wires or as message
117+
interrupts by using wires or as message
118118
signaled interrupts (MSI). When the
119119
IOMMU supports signaling interrupts
120-
using wires, this field provides the
120+
by using wires, this field provides the
121121
number of interrupt wires. This field
122122
must be 0 if the IOMMU does not
123123
support wire-based interrupt
@@ -159,9 +159,9 @@ a|
159159
|===
160160

161161
==== PCIe Root Complex Node
162-
The PCIe root complex node is the logical PCIe root complex which can be used to
163-
represent an entire physical root complex, an RCiEP/set of RCiEPs, a standalone PCIe device or the
164-
hierarchy below a PCIe host bridge.
162+
The PCIe root complex node is the logical PCIe root complex that can be used to
163+
represent an entire physical root complex, an RCiEP/set of RCiEPs, a standalone PCIe device, or the
164+
hierarchy following a PCIe host bridge.
165165

166166
.PCIe Root Complex Node
167167
[[rc_node_structure]]
@@ -172,7 +172,7 @@ hierarchy below a PCIe host bridge.
172172
|Revision | 1 | 1 | 1
173173
|Length | 2 | 2 | The length of this structure.
174174
|Reserved | 2 | 4 | Must be zero.
175-
| ID | 2 | 6 | Unique ID of this node in the RIMT which can
175+
| ID | 2 | 6 | Unique ID of this node in the RIMT that can
176176
be used to locate it in the RIMT node array.
177177
It can be simply the array index in the RIMT
178178
node array.
@@ -203,20 +203,20 @@ a|
203203
See <<id_mapping_structure>>.
204204
|===
205205

206-
The ID mapping structure provides information on how devices are connected to an IOMMU. The devices may be
207-
natively identified by a source ID but the platform may use a remapped ID to identify transactions from the
206+
The ID mapping structure provides information about how devices are connected to an IOMMU. The devices can be
207+
natively identified by a source ID, but the platform can use a remapped ID to identify transactions from the
208208
device to the IOMMU.
209209

210210
For PCIe devices, source ID is the 16-bit triplet of PCIe bus number (8-bit), device number (5-bit), and
211211
function number (3-bit) (collectively known as routing identifier or RID). A range of source IDs must map to a
212212
single IOMMU only. If there are multiple root complexes with the same PCIe segment number, then their source
213-
ID ranges must not overlap. For each ACPI device object of the root complex which belongs to the same PCIe
213+
ID ranges must not overlap. For each ACPI device object of the root complex that belongs to the same PCIe
214214
segment, the firmware must include the Device Specific Method (_DSM), Function Index 5, for preserving boot
215215
configurations as defined by the PCI Firmware Specification cite:[PCI-FW-SPEC]. The _DSM method must return
216216
zero to indicate that the Operating System must preserve PCIe resource assignments made by the firmware at
217217
boot time.
218218

219-
For platform devices, it is the implementation specific ID and managed by the device driver. Each ID mapping
219+
For platform devices, source ID is the implementation specific ID and managed by the device driver. Each ID mapping
220220
array entry provides a mapping from a range of source IDs to the corresponding device IDs that will be used at
221221
the input to the IOMMU. See <<Mapping-Examples>> for an example of ID mapping structures.
222222

@@ -238,8 +238,8 @@ the input to the IOMMU. See <<Mapping-Examples>> for an example of ID mapping st
238238
as mapped by this entry. This is the
239239
*device_id* as defined by the RISC-V IOMMU
240240
specification cite:[IOMMU-SPEC]
241-
| Destination IOMMU Offset | 4 | 12 | The destination IOMMU with which the
242-
these IDs are associated. This field
241+
| Destination IOMMU Offset | 4 | 12 | The destination IOMMU that is associated
242+
with these IDs. This field
243243
is the offset of the RISC-V IOMMU
244244
node from the start of the RIMT
245245
table.
@@ -258,9 +258,9 @@ a|
258258
|===
259259

260260
==== Platform Device Node
261-
There may be non-PCIe platform devices which are enumerated using Differentiated System Description
262-
Table(DSDT). These devices may have one or more source IDs in the mapping table, but they can have
263-
their own scheme to define the source IDs. Hence, those source IDs can only be unique to the ACPI
261+
There may be non-PCIe platform devices that are enumerated by using Differentiated System Description
262+
Table(DSDT). These devices can have one or more source IDs in the mapping table, but they can have
263+
their own scheme to define the source IDs. Hence, those source IDs can be unique to only the ACPI
264264
platform device. The interpretation of those source IDs is expected to be managed by the platform
265265
device's device driver.
266266

@@ -273,7 +273,7 @@ device's device driver.
273273
| Revision | 1 | 1 | 1
274274
| Length | 2 | 2 | The length of this structure.
275275
| Reserved | 2 | 4 | Must be zero.
276-
| ID | 2 | 6 | Unique ID of this node in the RIMT which can
276+
| ID | 2 | 6 | Unique ID of this node in the RIMT that can
277277
be used to locate it in the RIMT node array.
278278
It can be simply the array index in the RIMT
279279
node array.

0 commit comments

Comments
 (0)