diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-12-13 18:50:11 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-12-13 18:50:11 +0000 |
commit | 2002bf05d157be6af5da49dc2b2bd8b88afdb389 (patch) | |
tree | 971394269cc2afbed14a3daccfbd7c2a02b249c7 /sys/arch/mvme88k | |
parent | fd41d40029b4b6318c4f7ed90f9d2251ab04bc22 (diff) |
Disable write posting, this does not work on BusSwitch revision #1. The BUG
should do this for us, but better play safe.
Diffstat (limited to 'sys/arch/mvme88k')
-rw-r--r-- | sys/arch/mvme88k/dev/bussw.c | 8 | ||||
-rw-r--r-- | sys/arch/mvme88k/dev/busswreg.h | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/sys/arch/mvme88k/dev/bussw.c b/sys/arch/mvme88k/dev/bussw.c index 4e0a52249c3..79b7ef92513 100644 --- a/sys/arch/mvme88k/dev/bussw.c +++ b/sys/arch/mvme88k/dev/bussw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bussw.c,v 1.19 2007/12/04 23:45:52 miod Exp $ */ +/* $OpenBSD: bussw.c,v 1.20 2007/12/13 18:50:10 miod Exp $ */ /* * Copyright (c) 1999 Steve Murphree, Jr. * @@ -93,6 +93,7 @@ bussw_attach(parent, self, args) struct confargs *ca = args; struct bussw_softc *sc = (struct bussw_softc *)self; bus_space_handle_t ioh; + int i; if (bus_space_map(ca->ca_iot, ca->ca_paddr, BS_SIZE, 0, &ioh) != 0) { printf(": can't map registers!\n"); @@ -109,6 +110,11 @@ bussw_attach(parent, self, args) bus_space_write_2(sc->sc_iot, ioh, BS_GCSR, bus_space_read_2(sc->sc_iot, ioh, BS_GCSR) | BS_GCSR_XIPL); + /* disable write posting */ + for (i = 0; i < 4; i++) + bus_space_write_1(sc->sc_iot, ioh, BS_PAR + i, + bus_space_read_1(sc->sc_iot, ioh, BS_PAR + i) & ~BS_PAR_WPEN); + /* enable abort switch */ bus_space_write_1(sc->sc_iot, ioh, BS_ABORT, bus_space_read_1(sc->sc_iot, ioh, BS_ABORT) | BS_ABORT_IEN); diff --git a/sys/arch/mvme88k/dev/busswreg.h b/sys/arch/mvme88k/dev/busswreg.h index f17e49c5f01..a2c21c450d7 100644 --- a/sys/arch/mvme88k/dev/busswreg.h +++ b/sys/arch/mvme88k/dev/busswreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: busswreg.h,v 1.9 2007/12/04 23:45:52 miod Exp $ */ +/* $OpenBSD: busswreg.h,v 1.10 2007/12/13 18:50:10 miod Exp $ */ /* * Memory map for BusSwitch chip found in mvme197 boards. @@ -99,6 +99,10 @@ #define BS_GCSR_TBB 0x4000 /* Test Bus Busy */ #define BS_GCSR_POR 0x8000 /* Power On Reset */ +/* Processor Attribute Registers bit definitions */ +#define BS_PAR_DEN 0x01 /* Decode Enable */ +#define BS_PAR_WPEN 0x02 /* Write Post Enable */ + /* System Attribute Registers bit definitions */ #define BS_SAR_DEN 0x01 /* Decode Enable */ #define BS_SAR_INVR 0x04 /* Invalidate On Reads */ |