summaryrefslogtreecommitdiff
path: root/i386
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2024-01-19 03:12:24 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-01-20 18:49:22 +0100
commitdd4dcfdefb3e8fc37b6f113a58cd1c628e096dee (patch)
tree933219289b902a39ad1beb3077251fed7e85595c /i386
parent6582babd42b3937ac199d03e3df960e107c24c77 (diff)
console: Fix baud rate on com ports, use 115200 default baud, 8 data bits
TESTED: By booting gnumach off an HP T620 with console=com0 and receiving 115200 8N1 console on another machine connected via the serial port in minicom. Without this patch, part of the console is garbled by mismatching com params (9600 7N1). Message-ID: <20240119031214.691086-1-damien@zamaudio.com>
Diffstat (limited to 'i386')
-rw-r--r--i386/i386at/com.c17
-rw-r--r--i386/i386at/kd.c4
2 files changed, 5 insertions, 16 deletions
diff --git a/i386/i386at/com.c b/i386/i386at/com.c
index de21206c..bfe353ce 100644
--- a/i386/i386at/com.c
+++ b/i386/i386at/com.c
@@ -62,20 +62,15 @@ boolean_t comfifo[NCOM];
boolean_t comtimer_active;
int comtimer_state[NCOM];
-#define RCBAUD B9600
+#define RCBAUD B115200
static int rcline = -1;
static struct bus_device *comcndev;
/* XX */
extern char *kernel_cmdline;
-#ifndef PORTSELECTOR
-#define ISPEED B9600
-#define IFLAGS (EVENP|ODDP|ECHO|CRMOD)
-#else
-#define ISPEED B4800
-#define IFLAGS (EVENP|ODDP)
-#endif
+#define ISPEED B115200
+#define IFLAGS (EVENP|ODDP|ECHO|CRMOD|XTABS|LITOUT)
u_short divisorreg[] = {
0, 2304, 1536, 1047, /* 0, 50, 75, 110*/
@@ -361,18 +356,12 @@ io_return_t comopen(
tp->t_mctl = commctl;
tp->t_getstat = comgetstat;
tp->t_setstat = comsetstat;
-#ifndef PORTSELECTOR
if (tp->t_ispeed == 0) {
-#else
- tp->t_state |= TS_HUPCLS;
-#endif /* PORTSELECTOR */
tp->t_ispeed = ISPEED;
tp->t_ospeed = ISPEED;
tp->t_flags = IFLAGS;
tp->t_state &= ~TS_BUSY;
-#ifndef PORTSELECTOR
}
-#endif /* PORTSELECTOR */
}
/*rvb tp->t_state |= TS_WOPEN; */
if ((tp->t_state & TS_ISOPEN) == 0)
diff --git a/i386/i386at/kd.c b/i386/i386at/kd.c
index e9b110bf..984d62e3 100644
--- a/i386/i386at/kd.c
+++ b/i386/i386at/kd.c
@@ -453,8 +453,8 @@ kdopen(
*/
tp->t_oproc = kdstart;
tp->t_stop = kdstop;
- tp->t_ospeed = tp->t_ispeed = B9600;
- tp->t_flags = ODDP|EVENP|ECHO|CRMOD|XTABS;
+ tp->t_ospeed = tp->t_ispeed = B115200;
+ tp->t_flags = ODDP|EVENP|ECHO|CRMOD|XTABS|LITOUT;
kdinit();
}
tp->t_state |= TS_CARR_ON;