summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-02-04 17:21:24 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-02-04 17:21:24 +0000
commit3f83044b5d075e543c70f21def475bd4542108ec (patch)
treed609d26377610711b5e7aacb23891473204d11f5 /sys/arch
parented1908a5314982e32aceafdc84e9ec3be343df48 (diff)
On systems with viper memory controllers, always print its revision,
and allow asp interrupts to pass through even if not revision 0. ok kettenis@
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/dev/mem.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/arch/hppa/dev/mem.c b/sys/arch/hppa/dev/mem.c
index 83bfb147613..444c4f387d2 100644
--- a/sys/arch/hppa/dev/mem.c
+++ b/sys/arch/hppa/dev/mem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mem.c,v 1.30 2007/09/22 16:21:32 krw Exp $ */
+/* $OpenBSD: mem.c,v 1.31 2009/02/04 17:21:23 miod Exp $ */
/*
* Copyright (c) 1998-2004 Michael Shalayeff
@@ -189,12 +189,16 @@ memattach(parent, self, aux)
sc->sc_vp = (struct vi_trs *)
&((struct iomod *)ca->ca_hpa)->priv_trs;
+ printf(" viper rev %x,", sc->sc_vp->vi_status.hw_rev);
+
/* XXX other values seem to blow it up */
if (sc->sc_vp->vi_status.hw_rev == 0) {
u_int32_t vic;
int s, settimeout;
switch (cpu_hvers) {
+ case HPPA_BOARD_HP705:
+ case HPPA_BOARD_HP710:
case HPPA_BOARD_HP715_33:
case HPPA_BOARD_HP715S_33:
case HPPA_BOARD_HP715T_33:
@@ -202,8 +206,11 @@ memattach(parent, self, aux)
case HPPA_BOARD_HP715S_50:
case HPPA_BOARD_HP715T_50:
case HPPA_BOARD_HP715_75:
+ case HPPA_BOARD_HP720:
case HPPA_BOARD_HP725_50:
case HPPA_BOARD_HP725_75:
+ case HPPA_BOARD_HP730_66:
+ case HPPA_BOARD_HP750_66:
settimeout = 1;
break;
default:
@@ -213,7 +220,6 @@ memattach(parent, self, aux)
if (sc->sc_dev.dv_cfdata->cf_flags & 1)
settimeout = !settimeout;
- printf(" viper rev %x,", sc->sc_vp->vi_status.hw_rev);
#ifdef DEBUG
printf(" ctrl %b", VI_CTRL, VI_CTRL_BITS);
#endif
@@ -236,8 +242,9 @@ memattach(parent, self, aux)
#ifdef DEBUG
printf (" >> %b,", vic, VI_CTRL_BITS);
#endif
- } else
- sc->sc_vp = NULL;
+ } else {
+ /* set at least VI_CTRL_EISA_DEN ? */
+ }
} else
sc->sc_vp = NULL;