From: Michael Brown Date: Wed, 5 Nov 2025 20:06:53 +0000 (+0000) Subject: [spcr] Accept alternative type value for a 16550-compatible UART X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=HEAD;p=thirdparty%2Fipxe.git [spcr] Accept alternative type value for a 16550-compatible UART Some systems (observed on an AWS EC2 m7i.metal-24xl instance in eu-south-2) use the newer "16550-compatible with parameters defined in Generic Address Structure" type value. (There does not appear to be any particular reason why the newer value needs to be used: the UART is still a standard 16550 with single-byte registers.) Accept this additional type value for a 16550-compatible UART. Signed-off-by: Michael Brown --- diff --git a/src/core/spcr.c b/src/core/spcr.c index 88914cac7..b1cee1608 100644 --- a/src/core/spcr.c +++ b/src/core/spcr.c @@ -143,6 +143,7 @@ static struct uart * spcr_console ( void ) { switch ( spcr->type ) { case SPCR_TYPE_16550: case SPCR_TYPE_16450: + case SPCR_TYPE_16550_GAS: if ( ( rc = spcr_16550 ( spcr, uart ) ) != 0 ) goto err_type; break; diff --git a/src/include/ipxe/spcr.h b/src/include/ipxe/spcr.h index ff41a4b89..366092ade 100644 --- a/src/include/ipxe/spcr.h +++ b/src/include/ipxe/spcr.h @@ -74,6 +74,7 @@ struct spcr_table { /* SPCR interface types */ #define SPCR_TYPE_16550 0x0000 /**< 16550-compatible */ #define SPCR_TYPE_16450 0x0001 /**< 16450-compatible */ +#define SPCR_TYPE_16550_GAS 0x0012 /**< 16550-compatible */ /** SPCR baud rates */ enum spcr_baud {