diff options
author | Pierre Gondois <pierre.gondois@arm.com> | 2025-03-12 18:01:24 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2025-03-18 16:23:27 +0000 |
commit | 8c208049d4045eb9e11d2009c2caa8219f4f484b (patch) | |
tree | 3e7b98614188847f454b3d37500b856865ae98ce | |
parent | 9bceb16000056f31119c79014788bc99d5cfdc3d (diff) | |
download | edk2-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.c | 9 | ||||
-rw-r--r-- | ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h | 2 |
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
|