summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil V L <sunilvl@ventanamicro.com>2022-09-23 12:05:42 +0530
committerSunil V L <sunilvl@ventanamicro.com>2023-02-13 10:48:59 +0530
commitbd6d1ae1e13abe78e149c8b61b4bc7bc7feab015 (patch)
treea0e9b54252512705a2319f203828212662a062f6
parent1aaa3da8c7dd710eeb68fbeeda0b25f10009628f (diff)
downloadacpica-bd6d1ae1e13abe78e149c8b61b4bc7bc7feab015.tar.gz
MADT: Add RISC-V INTC interrupt controller
The ECR to add RISC-V INTC interrupt controller is approved by the UEFI forum and will be available in the next revision of the ACPI specification. Reference: Mantis ID: 2348 Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
-rw-r--r--source/common/dmtable.c1
-rw-r--r--source/include/actbl2.h21
2 files changed, 21 insertions, 1 deletions
diff --git a/source/common/dmtable.c b/source/common/dmtable.c
index d5de9c286..a0fa2b7dd 100644
--- a/source/common/dmtable.c
+++ b/source/common/dmtable.c
@@ -421,6 +421,7 @@ static const char *AcpiDmMadtSubnames[] =
"MSI Interrupt Controller", /* ACPI_MADT_TYPE_MSI_PIC */
"Bridge I/O Interrupt Controller", /* ACPI_MADT_TYPE_BIO_PIC */
"LPC Interrupt Controller", /* ACPI_MADT_TYPE_LPC_PIC */
+ "RISC-V Interrupt Controller", /* ACPI_MADT_TYPE_RINTC */
"Unknown Subtable Type", /* Reserved */
"Types 80-FF are used for OEM data" /* Reserved for OEM data */
};
diff --git a/source/include/actbl2.h b/source/include/actbl2.h
index 6dc2efd0c..a7773ac54 100644
--- a/source/include/actbl2.h
+++ b/source/include/actbl2.h
@@ -1135,7 +1135,8 @@ enum AcpiMadtType
ACPI_MADT_TYPE_MSI_PIC = 21,
ACPI_MADT_TYPE_BIO_PIC = 22,
ACPI_MADT_TYPE_LPC_PIC = 23,
- ACPI_MADT_TYPE_RESERVED = 24, /* 24 to 0x7F are reserved */
+ ACPI_MADT_TYPE_RINTC = 24,
+ ACPI_MADT_TYPE_RESERVED = 25, /* 25 to 0x7F are reserved */
ACPI_MADT_TYPE_OEM_RESERVED = 0x80 /* 0x80 to 0xFF are reserved for OEM use */
};
@@ -1548,6 +1549,24 @@ enum AcpiMadtLpcPicVersion {
ACPI_MADT_LPC_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */
};
+/* 24: RISC-V INTC */
+struct acpi_madt_rintc {
+ ACPI_SUBTABLE_HEADER Header;
+ UINT8 Version;
+ UINT8 Reserved;
+ UINT32 Flags;
+ UINT64 HartId;
+ UINT32 Uid; /* ACPI processor UID */
+};
+
+/* Values for RISC-V INTC Version field above */
+
+enum AcpiMadtRintcVersion {
+ ACPI_MADT_RINTC_VERSION_NONE = 0,
+ ACPI_MADT_RINTC_VERSION_V1 = 1,
+ ACPI_MADT_RINTC_VERSION_RESERVED = 2 /* 2 and greater are reserved */
+};
+
/* 80: OEM data */
typedef struct acpi_madt_oem_data