git: eed1cc6cdfa7 - main - Support COM3 and COM4 serial ports.

Peter Grehan grehan at FreeBSD.org
Tue Jan 19 08:23:14 UTC 2021


The branch main has been updated by grehan:

URL: https://cgit.FreeBSD.org/src/commit/?id=eed1cc6cdfa743e52ac3ea0b788e95b069a5f2f3

commit eed1cc6cdfa743e52ac3ea0b788e95b069a5f2f3
Author:     Peter Grehan <grehan at FreeBSD.org>
AuthorDate: 2021-01-19 17:30:22 +0000
Commit:     Peter Grehan <grehan at FreeBSD.org>
CommitDate: 2021-01-19 17:30:22 +0000

    Support COM3 and COM4 serial ports.
    
    Submitted by: Jan Poctavek <janci at binaryparadise.com>, otis
    Reviewed by: grehan (bhyve), imp, 0mp (manpages)
    Differential Revision: https://reviews.freebsd.org/D28207
---
 usr.sbin/bhyve/bhyve.8     | 6 +++---
 usr.sbin/bhyve/pci_lpc.c   | 4 ++--
 usr.sbin/bhyve/uart_emul.c | 6 ++++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8
index a3ea7be0b579..5d8f37813e7f 100644
--- a/usr.sbin/bhyve/bhyve.8
+++ b/usr.sbin/bhyve/bhyve.8
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 23, 2020
+.Dd January 18, 2021
 .Dt BHYVE 8
 .Os
 .Sh NAME
@@ -153,8 +153,8 @@ If this option is not specified, virtual CPUs will use 100% of a host CPU.
 Allow devices behind the LPC PCI-ISA bridge to be configured.
 The only supported devices are the TTY-class devices
 .Ar com1
-and
-.Ar com2 ,
+through
+.Ar com4 ,
 the boot ROM device
 .Ar bootrom ,
 and the debug/test device
diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c
index 3f7df55b5ffd..aa5997848f24 100644
--- a/usr.sbin/bhyve/pci_lpc.c
+++ b/usr.sbin/bhyve/pci_lpc.c
@@ -70,7 +70,7 @@ static struct pci_devinst *lpc_bridge;
 
 static const char *romfile;
 
-#define	LPC_UART_NUM	2
+#define	LPC_UART_NUM	4
 static struct lpc_uart_softc {
 	struct uart_softc *uart_softc;
 	const char *opts;
@@ -79,7 +79,7 @@ static struct lpc_uart_softc {
 	int	enabled;
 } lpc_uart_softc[LPC_UART_NUM];
 
-static const char *lpc_uart_names[LPC_UART_NUM] = { "COM1", "COM2" };
+static const char *lpc_uart_names[LPC_UART_NUM] = { "COM1", "COM2", "COM3", "COM4" };
 
 static bool pctestdev_present;
 
diff --git a/usr.sbin/bhyve/uart_emul.c b/usr.sbin/bhyve/uart_emul.c
index a89974590a1f..1b55231b2bf5 100644
--- a/usr.sbin/bhyve/uart_emul.c
+++ b/usr.sbin/bhyve/uart_emul.c
@@ -62,6 +62,10 @@ __FBSDID("$FreeBSD$");
 #define	COM1_IRQ	4
 #define	COM2_BASE      	0x2F8
 #define	COM2_IRQ	3
+#define	COM3_BASE	0x3E8
+#define	COM3_IRQ	4
+#define	COM4_BASE	0x2E8
+#define	COM4_IRQ	3
 
 #define	DEFAULT_RCLK	1843200
 #define	DEFAULT_BAUD	9600
@@ -89,6 +93,8 @@ static struct {
 } uart_lres[] = {
 	{ COM1_BASE, COM1_IRQ, false},
 	{ COM2_BASE, COM2_IRQ, false},
+	{ COM3_BASE, COM3_IRQ, false},
+	{ COM4_BASE, COM4_IRQ, false},
 };
 
 #define	UART_NLDEVS	(sizeof(uart_lres) / sizeof(uart_lres[0]))


More information about the dev-commits-src-all mailing list