summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-07-18 17:05:48 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-07-18 17:05:48 +0000
commit674b94973e915e98bebb679f738b3ff07abbc04d (patch)
treeb3e1c6e2406fb3b4822b095d0f99c77b671639bf /c
parent2003-07-16 Greg Menke <gregory.menke@gsfc.nasa.gov> (diff)
downloadrtems-674b94973e915e98bebb679f738b3ff07abbc04d.tar.bz2
2003-07-18 Till Straumann <strauman@slac.stanford.edu>
PR 415/bsps * pci/detect_raven_bridge.c, startup/bspstart.c: This patch reverts enabling MCP interrupts for the motorola_powerpc BSPs. REASON: pci config space scanning (as e.g. done by the DEC Ethernet driver) would raise machine check exceptions.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/shared/ChangeLog8
-rw-r--r--c/src/lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c17
-rw-r--r--c/src/lib/libbsp/powerpc/shared/startup/bspstart.c6
3 files changed, 17 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/ChangeLog b/c/src/lib/libbsp/powerpc/shared/ChangeLog
index 3ebbde4af4..4f315b5c94 100644
--- a/c/src/lib/libbsp/powerpc/shared/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/shared/ChangeLog
@@ -1,3 +1,11 @@
+2003-07-18 Till Straumann <strauman@slac.stanford.edu>
+
+ PR 415/bsps
+ * pci/detect_raven_bridge.c, startup/bspstart.c:
+ This patch reverts enabling MCP interrupts for the motorola_powerpc
+ BSPs. REASON: pci config space scanning (as e.g. done by the DEC
+ Ethernet driver) would raise machine check exceptions.
+
2003-07-16 Greg Menke <gregory.menke@gsfc.nasa.gov>
PR 428/bsps
diff --git a/c/src/lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c b/c/src/lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c
index feff4d1c0f..f68f7be2aa 100644
--- a/c/src/lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c
+++ b/c/src/lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c
@@ -13,8 +13,6 @@
#include <rtems/bspIo.h>
-SPR_RW(HID0)
-
#define RAVEN_MPIC_IOSPACE_ENABLE 0x1
#define RAVEN_MPIC_MEMSPACE_ENABLE 0x2
#define RAVEN_MASTER_ENABLE 0x4
@@ -22,15 +20,10 @@ SPR_RW(HID0)
#define RAVEN_SYSTEM_ERROR_ENABLE 0x100
#define RAVEN_CLEAR_EVENTS_MASK 0xf9000000
-#define RAVEN_MPIC_MEREN 0xfeff0020
-#define RAVEN_MPIC_MERST 0xfeff0024
-/* enable machine check on all conditions
- * EXCEPT for signalled master abort (which
- * can be caused by PCI configuration space
- * accesses to non-present devices)
- * - of course, this is sort of a hack :-(
- */
-#define MEREN_VAL 0x2d00
+#define RAVEN_MPIC_MEREN ((volatile unsigned *)0xfeff0020)
+#define RAVEN_MPIC_MERST ((volatile unsigned *)0xfeff0024)
+/* enable machine check on all conditions */
+#define MEREN_VAL 0x2f00
#define pci BSP_pci_configuration
@@ -50,8 +43,8 @@ unsigned merst;
if (!quiet)
printk("Enabling MCP generation on hostbridge errors\n");
out_be32(RAVEN_MPIC_MEREN, MEREN_VAL);
- _write_HID0(_read_HID0() | HID0_EMCP );
} else {
+ out_be32(RAVEN_MPIC_MEREN, 0);
if ( !quiet && enableMCP ) {
printk("leaving MCP interrupt disabled\n");
}
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
index 4e5e1d0d9e..dce5fb6191 100644
--- a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
@@ -336,8 +336,10 @@ void bsp_start( void )
BSP_time_base_divisor = (residualCopy.VitalProductData.TimeBaseDivisor?
residualCopy.VitalProductData.TimeBaseDivisor : 4000);
- /* clear hostbridge errors and enable MCP */
- _BSP_clear_hostbridge_errors(1/*enableMCP*/, 0/*quiet*/);
+ /* clear hostbridge errors but leave MCP disabled -
+ * PCI config space scanning code will trip otherwise :-(
+ */
+ _BSP_clear_hostbridge_errors(0 /* enableMCP */, 0/*quiet*/);
/* Allocate and set up the page table mappings