summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Gondois <pierre.gondois@arm.com>2025-03-12 18:01:24 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-03-18 16:23:27 +0000
commit8c208049d4045eb9e11d2009c2caa8219f4f484b (patch)
tree3e7b98614188847f454b3d37500b856865ae98ce
parent9bceb16000056f31119c79014788bc99d5cfdc3d (diff)
downloadedk2-8c208049d4045eb9e11d2009c2caa8219f4f484b.zip
edk2-8c208049d4045eb9e11d2009c2caa8219f4f484b.tar.gz
edk2-8c208049d4045eb9e11d2009c2caa8219f4f484b.tar.bz2
ArmVirtPkg: Kvmtool: Advertise all serial ports
kvmtool advertises 4 serial ports. The DynamicTablesPkg advertises: - the first port as the console port / SPCR table - the second port as the debug port / DBG2 table - the other ports are currently ignored Advertise the last 2 serial port to the OS by describing them in SSDT tables. New serial devices can be seen at: Before patch: $ ls /sys/devices/pnp0 00:00 00:01 00:02 power uevent After patch: $ ls /sys/devices/pnp0 00:00 00:01 00:02 00:03 00:04 power uevent The EStdAcpiTableIdSsdtSerialPort entry is placed before the last 3 PCI related tables as they might be dynamically removed depending on kvmtool parameters. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
-rw-r--r--ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c9
-rw-r--r--ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
index 96fbea3..0b26f5f 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
@@ -106,6 +106,15 @@ EDKII_PLATFORM_REPOSITORY_INFO mKvmtoolPlatRepositoryInfo = {
NULL
},
//
+ // SSDT Serial Port Table
+ //
+ {
+ EFI_ACPI_6_3_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE,
+ 0, // Unused
+ CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdSsdtSerialPort),
+ NULL
+ },
+ //
// PCI MCFG Table
//
{
diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
index 4fb12db..8070da6 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
@@ -63,7 +63,7 @@ typedef EFI_STATUS (*CM_OBJECT_HANDLER_PROC) (
///
/// The number of ACPI tables to install
///
-#define PLAT_ACPI_TABLE_COUNT 10
+#define PLAT_ACPI_TABLE_COUNT 11
///
/// A structure describing the platform configuration