term/ns8250-spcr: Add one more 16550 debug type

Type 0x01 was introduced with the ACPI DBGP table and type 0x12 was introduced
with the ACPI DBG2 table. Type 0x12 is used by the ACPI SPCR table on recent
AWS bare-metal instances (c6i/c7i). Also give each debug type a proper name.

Signed-off-by: Udo Steinberg <udo@hypervisor.org>
Reviewed-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Udo Steinberg authored and Daniel Kiper committed 2024-06-20 14:58:29 +02:00
1 parent 8abec8e153
commit 13b315c0a5
2 files changed
+4 -2

No files matched your search

+2 -1
View File
@@ -38,7 +38,8 @@ grub_ns8250_spcr_init (void)
grub_dprintf ("serial", "SPCR table revision %d < 2, continuing anyway\n", grub_dprintf ("serial", "SPCR table revision %d < 2, continuing anyway\n",
(int) spcr->hdr.revision); (int) spcr->hdr.revision);
if (spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550 && if (spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550 &&
spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550X) spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550_DBGP &&
spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550_DBG2)
return NULL; return NULL;
/* For now, we only support byte accesses. */ /* For now, we only support byte accesses. */
if (spcr->base_addr.access_size != GRUB_ACPI_GENADDR_SIZE_BYTE && if (spcr->base_addr.access_size != GRUB_ACPI_GENADDR_SIZE_BYTE &&
+2 -1
View File
@@ -201,7 +201,8 @@ struct grub_acpi_spcr {
struct grub_acpi_table_header hdr; struct grub_acpi_table_header hdr;
grub_uint8_t intf_type; grub_uint8_t intf_type;
#define GRUB_ACPI_SPCR_INTF_TYPE_16550 0x00 #define GRUB_ACPI_SPCR_INTF_TYPE_16550 0x00
#define GRUB_ACPI_SPCR_INTF_TYPE_16550X 0x01 #define GRUB_ACPI_SPCR_INTF_TYPE_16550_DBGP 0x01
#define GRUB_ACPI_SPCR_INTF_TYPE_16550_DBG2 0x12
grub_uint8_t reserved_0[3]; grub_uint8_t reserved_0[3];
struct grub_acpi_genaddr base_addr; struct grub_acpi_genaddr base_addr;
grub_uint8_t interrupt_type; grub_uint8_t interrupt_type;