From 674b94973e915e98bebb679f738b3ff07abbc04d Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 18 Jul 2003 17:05:48 +0000 Subject: 2003-07-18 Till Straumann 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. --- c/src/lib/libbsp/powerpc/shared/ChangeLog | 8 ++++++++ .../lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c | 17 +++++------------ c/src/lib/libbsp/powerpc/shared/startup/bspstart.c | 6 ++++-- 3 files changed, 17 insertions(+), 14 deletions(-) (limited to 'c') 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 + + 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 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 -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 -- cgit v1.2.3