diff options
author | 2018-05-02 13:20:12 +0000 | |
---|---|---|
committer | 2018-05-02 13:20:12 +0000 | |
commit | 9f2c39383ee470c5b76fb828f64ea58341b214e9 (patch) | |
tree | bc9f49b78ff07910572c52add5d343d4d45a5bc3 | |
parent | Split out the handling of SIOCGIF* into a new function, in_ioctl_get(), (diff) | |
download | wireguard-openbsd-9f2c39383ee470c5b76fb828f64ea58341b214e9.tar.xz wireguard-openbsd-9f2c39383ee470c5b76fb828f64ea58341b214e9.zip |
Revert previous commit; the XR17V35X probe that was added accesses registers
that aren't guaranteed to be there and may even belong to a different device.
This triggers a fault on hppa machines like the C3000 for example.
-rw-r--r-- | sys/dev/ic/com.c | 30 | ||||
-rw-r--r-- | sys/dev/ic/comreg.h | 7 | ||||
-rw-r--r-- | sys/dev/ic/comvar.h | 3 |
3 files changed, 6 insertions, 34 deletions
diff --git a/sys/dev/ic/com.c b/sys/dev/ic/com.c index d94cd170685..38ba49ca48d 100644 --- a/sys/dev/ic/com.c +++ b/sys/dev/ic/com.c @@ -1,4 +1,4 @@ -/* $OpenBSD: com.c,v 1.167 2018/04/15 15:07:25 jcs Exp $ */ +/* $OpenBSD: com.c,v 1.168 2018/05/02 13:20:12 kettenis Exp $ */ /* $NetBSD: com.c,v 1.82.4.1 1996/06/02 09:08:00 mrg Exp $ */ /* @@ -306,9 +306,6 @@ comopen(dev_t dev, int flag, int mode, struct proc *p) case COM_UART_TI16750: com_write_reg(sc, com_ier, 0); break; - case COM_UART_XR17V35X: - com_write_reg(sc, UART_EXAR_SLEEP, 0); - break; } } @@ -501,9 +498,6 @@ compwroff(struct com_softc *sc) case COM_UART_TI16750: com_write_reg(sc, com_ier, IER_SLEEP); break; - case COM_UART_XR17V35X: - com_write_reg(sc, UART_EXAR_SLEEP, 0xff); - break; } } } @@ -539,9 +533,6 @@ com_resume(struct com_softc *sc) case COM_UART_TI16750: com_write_reg(sc, com_ier, 0); break; - case COM_UART_XR17V35X: - com_write_reg(sc, UART_EXAR_SLEEP, 0); - break; } } @@ -928,7 +919,7 @@ comstart(struct tty *tp) } if (ISSET(sc->sc_hwflags, COM_HW_FIFO)) { - u_char buffer[256]; /* largest fifo */ + u_char buffer[128]; /* largest fifo */ int i, n; n = q_to_b(&tp->t_outq, buffer, @@ -1317,7 +1308,7 @@ void com_attach_subr(struct com_softc *sc) { int probe = 0; - u_int8_t lcr, dvid; + u_int8_t lcr; sc->sc_ier = 0; /* disable interrupts */ @@ -1364,13 +1355,6 @@ com_attach_subr(struct com_softc *sc) probe = 1; } - /* Probe for XR17V35X */ - if (probe && sc->sc_uarttype == COM_UART_16550A) { - dvid = com_read_reg(sc, UART_EXAR_DVID); - if (dvid == 0x82 || dvid == 0x84 || dvid == 0x88) - sc->sc_uarttype = COM_UART_XR17V35X; - } - /* Probe for ST16650s */ if (probe && sc->sc_uarttype == COM_UART_16550A) { com_write_reg(sc, com_lcr, lcr | LCR_DLAB); @@ -1499,11 +1483,6 @@ com_attach_subr(struct com_softc *sc) break; #endif #endif - case COM_UART_XR17V35X: - printf(": xr17v35x, 256 byte fifo\n"); - SET(sc->sc_hwflags, COM_HW_FIFO); - sc->sc_fifolen = 256; - break; default: panic("comattach: bad fifo type"); } @@ -1511,8 +1490,7 @@ com_attach_subr(struct com_softc *sc) #ifdef COM_CONSOLE if (!ISSET(sc->sc_hwflags, COM_HW_CONSOLE)) #endif - if (sc->sc_fifolen < 256) - com_fifo_probe(sc); + com_fifo_probe(sc); if (sc->sc_fifolen == 0) { CLR(sc->sc_hwflags, COM_HW_FIFO); diff --git a/sys/dev/ic/comreg.h b/sys/dev/ic/comreg.h index 96ee9fcc764..21ea12b4cd9 100644 --- a/sys/dev/ic/comreg.h +++ b/sys/dev/ic/comreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: comreg.h,v 1.18 2018/04/15 15:07:25 jcs Exp $ */ +/* $OpenBSD: comreg.h,v 1.19 2018/05/02 13:20:12 kettenis Exp $ */ /* $NetBSD: comreg.h,v 1.8 1996/02/05 23:01:50 scottr Exp $ */ /* @@ -182,11 +182,6 @@ #define COM_NPORTS 8 -/* Exar XR17V35X */ -#define UART_EXAR_INT0 0x80 -#define UART_EXAR_SLEEP 0x8b /* Sleep mode */ -#define UART_EXAR_DVID 0x8d /* Device identification */ - /* * WARNING: Serial console is assumed to be at COM1 address */ diff --git a/sys/dev/ic/comvar.h b/sys/dev/ic/comvar.h index 0b75bb30172..a9909743961 100644 --- a/sys/dev/ic/comvar.h +++ b/sys/dev/ic/comvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: comvar.h,v 1.55 2018/04/15 15:07:25 jcs Exp $ */ +/* $OpenBSD: comvar.h,v 1.56 2018/05/02 13:20:12 kettenis Exp $ */ /* $NetBSD: comvar.h,v 1.5 1996/05/05 19:50:47 christos Exp $ */ /* @@ -103,7 +103,6 @@ struct com_softc { #define COM_UART_ST16C654 0x08 /* 64 bytes fifo */ #define COM_UART_XR16850 0x10 /* 128 byte fifo */ #define COM_UART_OX16C950 0x11 /* 128 byte fifo */ -#define COM_UART_XR17V35X 0x12 /* 256 byte fifo */ u_char sc_hwflags; #define COM_HW_NOIEN 0x01 |