diff options
| author | Nick Hibma <n_hibma@FreeBSD.org> | 2002-06-18 21:30:37 +0000 |
|---|---|---|
| committer | Nick Hibma <n_hibma@FreeBSD.org> | 2002-06-18 21:30:37 +0000 |
| commit | d8dbc77c56c7f0e8a5b5adcffd074071b02bb205 (patch) | |
| tree | e59c17b9c6f153be7cb57be48355a858e1eee1e9 /sys/pc98 | |
| parent | 54f43a77ca857599dc8ebfdf52846a7ac2cc0768 (diff) | |
Notes
Diffstat (limited to 'sys/pc98')
| -rw-r--r-- | sys/pc98/cbus/sio.c | 41 | ||||
| -rw-r--r-- | sys/pc98/pc98/sio.c | 41 |
2 files changed, 52 insertions, 30 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c index 7ff381681f7fe..85b073ce3f8a2 100644 --- a/sys/pc98/cbus/sio.c +++ b/sys/pc98/cbus/sio.c @@ -430,9 +430,9 @@ int comconsole = -1; static volatile speed_t comdefaultrate = CONSPEED; static u_long comdefaultrclk = DEFAULT_RCLK; SYSCTL_ULONG(_machdep, OID_AUTO, conrclk, CTLFLAG_RW, &comdefaultrclk, 0, ""); -#ifdef __alpha__ -static volatile speed_t gdbdefaultrate = CONSPEED; -#endif +static speed_t gdbdefaultrate = GDBSPEED; +SYSCTL_UINT(_machdep, OID_AUTO, gdbspeed, CTLFLAG_RW, + &gdbdefaultrate, GDBSPEED, ""); static u_int com_events; /* input chars + weighted output completions */ static Port_t siocniobase; #ifndef __alpha__ @@ -4359,13 +4359,17 @@ siocncheckc(dev) Port_t iobase; int s; struct siocnstate sp; + speed_t speed; - if (minor(dev) == siogdbunit) - iobase = siogdbiobase; - else + if (minor(dev) == siocnunit) { iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } s = spltty(); - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); if (inb(iobase + com_lsr) & LSR_RXRDY) c = inb(iobase + com_data); else @@ -4384,13 +4388,17 @@ siocngetc(dev) Port_t iobase; int s; struct siocnstate sp; + speed_t speed; - if (minor(dev) == siogdbunit) - iobase = siogdbiobase; - else + if (minor(dev) == siocnunit) { iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } s = spltty(); - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); while (!(inb(iobase + com_lsr) & LSR_RXRDY)) ; c = inb(iobase + com_data); @@ -4409,17 +4417,20 @@ siocnputc(dev, c) struct siocnstate sp; Port_t iobase; - if (minor(dev) == siogdbunit) - iobase = siogdbiobase; - else + if (minor(dev) == siocnunit) { iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } s = spltty(); need_unlock = 0; if (sio_inited == 2 && !mtx_owned(&sio_lock)) { mtx_lock_spin(&sio_lock); need_unlock = 1; } - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); siocntxwait(iobase); outb(iobase + com_data, c); siocnclose(&sp, iobase); diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c index 7ff381681f7fe..85b073ce3f8a2 100644 --- a/sys/pc98/pc98/sio.c +++ b/sys/pc98/pc98/sio.c @@ -430,9 +430,9 @@ int comconsole = -1; static volatile speed_t comdefaultrate = CONSPEED; static u_long comdefaultrclk = DEFAULT_RCLK; SYSCTL_ULONG(_machdep, OID_AUTO, conrclk, CTLFLAG_RW, &comdefaultrclk, 0, ""); -#ifdef __alpha__ -static volatile speed_t gdbdefaultrate = CONSPEED; -#endif +static speed_t gdbdefaultrate = GDBSPEED; +SYSCTL_UINT(_machdep, OID_AUTO, gdbspeed, CTLFLAG_RW, + &gdbdefaultrate, GDBSPEED, ""); static u_int com_events; /* input chars + weighted output completions */ static Port_t siocniobase; #ifndef __alpha__ @@ -4359,13 +4359,17 @@ siocncheckc(dev) Port_t iobase; int s; struct siocnstate sp; + speed_t speed; - if (minor(dev) == siogdbunit) - iobase = siogdbiobase; - else + if (minor(dev) == siocnunit) { iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } s = spltty(); - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); if (inb(iobase + com_lsr) & LSR_RXRDY) c = inb(iobase + com_data); else @@ -4384,13 +4388,17 @@ siocngetc(dev) Port_t iobase; int s; struct siocnstate sp; + speed_t speed; - if (minor(dev) == siogdbunit) - iobase = siogdbiobase; - else + if (minor(dev) == siocnunit) { iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } s = spltty(); - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); while (!(inb(iobase + com_lsr) & LSR_RXRDY)) ; c = inb(iobase + com_data); @@ -4409,17 +4417,20 @@ siocnputc(dev, c) struct siocnstate sp; Port_t iobase; - if (minor(dev) == siogdbunit) - iobase = siogdbiobase; - else + if (minor(dev) == siocnunit) { iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } s = spltty(); need_unlock = 0; if (sio_inited == 2 && !mtx_owned(&sio_lock)) { mtx_lock_spin(&sio_lock); need_unlock = 1; } - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); siocntxwait(iobase); outb(iobase + com_data, c); siocnclose(&sp, iobase); |
