ref: fe06aef3cc7c0834c245e33ff74c57cfd579dbb9
parent: 8554f6c121623e70d85dccf082698205b5c9f9f8
	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;
}
--
⑨