summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2018-05-02 13:20:12 +0000
committerkettenis <kettenis@openbsd.org>2018-05-02 13:20:12 +0000
commit9f2c39383ee470c5b76fb828f64ea58341b214e9 (patch)
treebc9f49b78ff07910572c52add5d343d4d45a5bc3
parentSplit out the handling of SIOCGIF* into a new function, in_ioctl_get(), (diff)
downloadwireguard-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.c30
-rw-r--r--sys/dev/ic/comreg.h7
-rw-r--r--sys/dev/ic/comvar.h3
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