[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] term/ns8250-spcr: Add one more 16550 debug type.
From: |
Glenn Washburn |
Subject: |
Re: [PATCH] term/ns8250-spcr: Add one more 16550 debug type. |
Date: |
Sat, 8 Jun 2024 12:42:21 -0500 |
On Fri, 7 Jun 2024 23:57:14 +0200
Udo Steinberg <udo@hypervisor.org> wrote:
> Hi all,
>
> below is a patch for picking up the correct UART address from the ACPI SPCR
> table on modern AWS bare-metal instances.
>
> CC: Benjamin and Glenn for review.
>
> Cheers,
> Udo
LGTM for the changes itself. I don't think you used git to send the
patch, but this is small enough that perhaps Daniel won't have an issue
applying it.
Reviewed-by: Glenn Washburn <development@efficientek.com>
Glenn Washburn
>
> --
>
> From ddb2b0f0da4f5f6be13a70d5a8d7dff6f90e2208 Mon Sep 17 00:00:00 2001
> From: Udo Steinberg <udo@hypervisor.org>
> Date: Fri, 7 Jun 2024 23:44:43 +0200
> Subject: [PATCH] term/ns8250-spcr: Add one more 16550 debug type.
>
> Type 0x1 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>
> ---
> grub-core/term/ns8250-spcr.c | 3 ++-
> include/grub/acpi.h | 5 +++--
> 2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/grub-core/term/ns8250-spcr.c b/grub-core/term/ns8250-spcr.c
> index d52b52c26..4efaaf768 100644
> --- a/grub-core/term/ns8250-spcr.c
> +++ b/grub-core/term/ns8250-spcr.c
> @@ -38,7 +38,8 @@ grub_ns8250_spcr_init (void)
> grub_dprintf ("serial", "SPCR table revision %d < 2, continuing
> anyway\n",
> (int) spcr->hdr.revision);
> 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;
> /* For now, we only support byte accesses. */
> if (spcr->base_addr.access_size != GRUB_ACPI_GENADDR_SIZE_BYTE &&
> diff --git a/include/grub/acpi.h b/include/grub/acpi.h
> index f2862da74..1046f22d7 100644
> --- a/include/grub/acpi.h
> +++ b/include/grub/acpi.h
> @@ -200,8 +200,9 @@ struct grub_acpi_genaddr {
> struct grub_acpi_spcr {
> struct grub_acpi_table_header hdr;
> grub_uint8_t intf_type;
> -#define GRUB_ACPI_SPCR_INTF_TYPE_16550 0x00
> -#define GRUB_ACPI_SPCR_INTF_TYPE_16550X 0x01
> +#define GRUB_ACPI_SPCR_INTF_TYPE_16550 0x00
> +#define GRUB_ACPI_SPCR_INTF_TYPE_16550_DBGP 0x01
> +#define GRUB_ACPI_SPCR_INTF_TYPE_16550_DBG2 0x12
> grub_uint8_t reserved_0[3];
> struct grub_acpi_genaddr base_addr;
> grub_uint8_t interrupt_type;