[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] xen/uart: set a default baudrate if non specified neither found


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Mon, 30 Mar 2026 17:03:50 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nOEYxFkMgLVMEzDV0VHVibpdSm59ZWCphXiB0Z8mhOs=; b=PnZ/EU+eajKmfMBkoHbATiGUvtjC2oD3CmtTfjeX8eW3Ir4kH2Z3LyfCmmW6yEHRKW3zqFSbG777/FiUr/4pDcU9Nw8KChO/UUVaCqjQMYzttRCXOfLP+6tO2z2zY0ZXnE+/mNTE6DVCfJvZzrWwinyyh9+e13ld+E/E9bNNFCYkgyCAhUAz7+EXUdBOkhNj2EQ0E4Qs9vZ3yJxtgNhyFZ1CbkL4GCWW/DXErsPPLs1/050GeeJBMTbYQJApZiKW8pwliYk/DLdESsI9JiAqbrEkifp/qMsCh6+9OIf7k3Cgh5Hu4jaK0taFo9D9ucBe91WKcoxLc0RMntTBJIGclQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JdmgLJQmuf1r+9KcnQMYA6UUaFj4pPWdJMfYjzONPUo2QntqevyNRCE1fmfHTkSdteBkF0VNta3XBYvYBt0dsVzBEsQkKixflr93gvNGq0ma9mkVgvC4NmmKeWbujqL3zuIuLbgS2VBvU88lOYRBix+9nF7XN/qDB+uqbdWCaxsYU/9cXFA4qn2vrDzgZHZ6m+Mg84Bu6fbMB0ev9CLaE8LpHR3hkScuK0VD+ZK0bfOqNn7JPGPwyCEnnDPKzaah+sV9C8wgAfGoLkWEB8HDF0wG4qqLreoJ6KFc3GJLFkE5yf6U1G9N3xwoapX8YLsQRZQdS6qZaJO5O1YV+o67+Q==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Mon, 30 Mar 2026 15:04:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

If the user has set baudrate as "auto" (use whatever was configured) but
Xen cannot find any set baudrate use a default fallback baudrate of
115200.

Otherwise the console will very likely end up being non-functional, as
further values are derived from the baudrate (like the transmit timeout),
and using -1 will result in screwed parameters being derived from the
baudrate.

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 xen/drivers/char/ns16550.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index b23e85a3c68b..130e292f057d 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -346,9 +346,16 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
         if ( divisor )
             uart->baud = uart->clock_hz / (divisor << 4);
         else
+        {
+            uart->baud = 115200;
             printk(XENLOG_ERR
                    "Automatic baud rate determination was requested,"
-                   " but a baud rate was not set up\n");
+                   " but a baud rate was not set up\n"
+                   "Setting baudrate to %u\n", uart->baud);
+            divisor = uart->clock_hz / (uart->baud << 4);
+            ns_write_reg(uart, UART_DLL, (uint8_t)divisor);
+            ns_write_reg(uart, UART_DLM, (uint8_t)(divisor >> 8));
+        }
     }
     ns_write_reg(uart, UART_LCR, lcr);
 
-- 
2.51.0




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.