diff options
author | Peter Grehan <grehan@FreeBSD.org> | 2021-01-19 17:30:22 +0000 |
---|---|---|
committer | Peter Grehan <grehan@FreeBSD.org> | 2021-01-19 17:30:22 +0000 |
commit | eed1cc6cdfa743e52ac3ea0b788e95b069a5f2f3 (patch) | |
tree | b84fe2acec48d5764a7355d16e7b8af8e6f63001 | |
parent | e6cc42f181ce346a294ae7aa1d1c321fdc90f241 (diff) |
Support COM3 and COM4 serial ports.
Submitted by: Jan Poctavek <janci@binaryparadise.com>, otis
Reviewed by: grehan (bhyve), imp, 0mp (manpages)
Differential Revision: https://reviews.freebsd.org/D28207
-rw-r--r-- | usr.sbin/bhyve/bhyve.8 | 6 | ||||
-rw-r--r-- | usr.sbin/bhyve/pci_lpc.c | 4 | ||||
-rw-r--r-- | 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])) |