Skip to content

Commit

Permalink
Minor fixups to PLIC/APLIC text.
Browse files Browse the repository at this point in the history
Signed-off-by: Andrei Warkentin <[email protected]>
  • Loading branch information
Andrei Warkentin authored and andreiw committed Apr 15, 2024
1 parent 241575b commit c553283
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 15 deletions.
4 changes: 2 additions & 2 deletions acpi-id.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[[acpi-ids]]
=== RVI specific ACPI IDs
=== RVI-specific ACPI IDs

ACPI ID is used in the _HID (Hardware ID), _CID (Compatibility ID) or
_SUB (Subsystem ID) objects as described in the ACPI Specification for
devices that do not have a standard enumeration mechanism. The ACPI ID
devices, that do not have a standard enumeration mechanism. The ACPI ID
consists of two parts: a Vendor ID followed by a product identifier.

Vendor IDs consist of 4 characters, each character being either an
Expand Down
12 changes: 6 additions & 6 deletions acpi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ available to an OS loader via the standard UEFI EFI_GRAPHICS_OUTPUT_PROTOCOL int
** There must be a matching AML device object.
2+| _<<acpi-guidance-spcr, See additional guidance>>_.
| [[acpi-namespace-dev]]ACPI_080 | Depending on the interrupt controller
implemented by the system, PLIC or APLIC namespace devices must be
implemented by the system, PLIC or APLIC namespace devices MUST be
present in the ACPI namespace along with MADT entries. <<acpi-ids,
See RVI ACPI IDs>>.
2+| _Also see <<acpi-irq-gsb, AML_090>> and <<acpi-irq-dep, AML_100>>_.
2+| _Also see <<acpi-irq-gsb, AML_090>>, <<acpi-irq-dep, AML_100>> and <<acpi-guidance-gsi-namespace, additional guidance>>_.
|===

[[acpi-aml]]
Expand Down Expand Up @@ -74,11 +74,11 @@ vendor-specific OS driver for correct function (SPI, I2C, etc), the TAD must
be functional if the OS driver is not loaded. That is, when a dependent
driver is loaded, an AML method switches further accesses to go
through the driver-backed OperationRegion._
| [[acpi-irq-gsb]] AML_090 | PLIC and APLIC devices must support
Global System Interrupt Base (_GSB, cite:[ACPI] Section 6.2.7).
| [[acpi-irq-gsb]] AML_090 | PLIC and APLIC device objects MUST support
the Global System Interrupt Base (_GSB, cite:[ACPI] Section 6.2.7) object.
<<acpi-guidance-gsi-namespace, See additional guidance>>.
| [[acpi-irq-dep]] AML_100 | Devices which use Global System
Interrupts (GSI) must indicate the dependency on corresponding
| [[acpi-irq-dep]] AML_100 | Devices with Global System
Interrupt (GSI, aka wired interrupt) resources MUST indicate the dependency on the corresponding
interrupt controller using Operation Region Dependencies (_DEP,
cite:[ACPI] Section 6.5.8).
<<acpi-guidance-gsi-namespace, See additional guidance>>.
Expand Down
13 changes: 6 additions & 7 deletions non-normative/acpi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,10 @@ The PPTT Processor Properties Topology Table (PPTT) is to be used to
describe affinities.

[[acpi-guidance-gsi-namespace]]
==== PLIC/APLIC as namespace devices
The devices which have wired interrupts (GSI), should provide the
dependency on the appropriate interrupt controller similar to below
example with PLIC.
==== PLIC/APLIC Namespace Devices

Here's an example of an ASL excerpt satisfying <<acpi-namespace-dev, ACPI_080>>,
<<acpi-irq-dep, AML_090>> and <<acpi-irq-gsb, AML_100>> requirements.

Scope (\_SB)
{
Expand All @@ -122,17 +121,17 @@ example with PLIC.
}
}
Device (DEV1)
{
{
...
Name (_DEP, Package() {\_SB.IC00})
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
{
Memory32Fixed (ReadWrite,
0x10010000, // Address Base.
0x00010000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,,)
{
{
0x10,
}
})
Expand Down

0 comments on commit c553283

Please sign in to comment.