ref: 5f27ddcb3c11e75609d82091557381eda7ebbcdf
parent: 1352d29f7a5d0787cbf264babd7f661cc0322e67
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Mon Aug 4 09:11:50 EDT 2025
9boot: Add the *nouartbios parameter Some BIOS emulates the screen output redirecting it to the serial port, and using the BIOS functions at the same time that the emulation generates some problems. The new parameter *nouartbios remove any use of the BIOS to access the uart.
--- a/sys/man/8/9boot
+++ b/sys/man/8/9boot
@@ -188,7 +188,7 @@
.B console=
but the parameters are ignored as BIOS allows
only a maximum baud-rate of 9600 so the setting
-.B "b9660 l8 s1"
+.B "b9600 l8 s1"
is assumed.
Some BIOS emulate/redirect keyboard input
and CGA output to the serial console,
@@ -198,6 +198,11 @@
and
.B *nocga=
parameters.
+Also,
+in some of these emulations the BIOS uart functions
+can produce some problems that can be avoided using the
+.B *nouartbios=
+parameter.
Serial console is not supported by EFI.
.PP
.B 9bootfat
--- a/sys/src/boot/pc/sub.c
+++ b/sys/src/boot/pc/sub.c
@@ -297,7 +297,9 @@
nocga = 1;
if(memcmp("*nokbd", line, 6) == 0)
nokbd = 1;
- if(memcmp("console", line, 8) == 0)
+ if (memcmp("*nouartbios", line, 11) == 0)
+ uart = -2;
+ if(memcmp("console", line, 8) == 0 && uart != -2)
uartconf(p);
s = confend;
@@ -504,7 +506,7 @@
{
if(*s >= '0' && *s <= '3'){
uart = *s - '0';
- uartinit(uart, (7<<5) | 3); /* b9660 l8 s1 */
+ uartinit(uart, (7<<5) | 3); /* b9600 l8 s1 */
} else
uart = -1;
}
--
⑨