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.
This commit is contained in:
Joel Sherrill
2003-07-18 17:05:39 +00:00
parent 552af999ba
commit bf939b0c02
3 changed files with 17 additions and 14 deletions

View File

@@ -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> 2003-07-16 Greg Menke <gregory.menke@gsfc.nasa.gov>
PR 428/bsps PR 428/bsps

View File

@@ -13,8 +13,6 @@
#include <rtems/bspIo.h> #include <rtems/bspIo.h>
SPR_RW(HID0)
#define RAVEN_MPIC_IOSPACE_ENABLE 0x1 #define RAVEN_MPIC_IOSPACE_ENABLE 0x1
#define RAVEN_MPIC_MEMSPACE_ENABLE 0x2 #define RAVEN_MPIC_MEMSPACE_ENABLE 0x2
#define RAVEN_MASTER_ENABLE 0x4 #define RAVEN_MASTER_ENABLE 0x4
@@ -22,15 +20,10 @@ SPR_RW(HID0)
#define RAVEN_SYSTEM_ERROR_ENABLE 0x100 #define RAVEN_SYSTEM_ERROR_ENABLE 0x100
#define RAVEN_CLEAR_EVENTS_MASK 0xf9000000 #define RAVEN_CLEAR_EVENTS_MASK 0xf9000000
#define RAVEN_MPIC_MEREN 0xfeff0020 #define RAVEN_MPIC_MEREN ((volatile unsigned *)0xfeff0020)
#define RAVEN_MPIC_MERST 0xfeff0024 #define RAVEN_MPIC_MERST ((volatile unsigned *)0xfeff0024)
/* enable machine check on all conditions /* enable machine check on all conditions */
* EXCEPT for signalled master abort (which #define MEREN_VAL 0x2f00
* 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 pci BSP_pci_configuration #define pci BSP_pci_configuration
@@ -50,8 +43,8 @@ unsigned merst;
if (!quiet) if (!quiet)
printk("Enabling MCP generation on hostbridge errors\n"); printk("Enabling MCP generation on hostbridge errors\n");
out_be32(RAVEN_MPIC_MEREN, MEREN_VAL); out_be32(RAVEN_MPIC_MEREN, MEREN_VAL);
_write_HID0(_read_HID0() | HID0_EMCP );
} else { } else {
out_be32(RAVEN_MPIC_MEREN, 0);
if ( !quiet && enableMCP ) { if ( !quiet && enableMCP ) {
printk("leaving MCP interrupt disabled\n"); printk("leaving MCP interrupt disabled\n");
} }

View File

@@ -336,8 +336,10 @@ void bsp_start( void )
BSP_time_base_divisor = (residualCopy.VitalProductData.TimeBaseDivisor? BSP_time_base_divisor = (residualCopy.VitalProductData.TimeBaseDivisor?
residualCopy.VitalProductData.TimeBaseDivisor : 4000); residualCopy.VitalProductData.TimeBaseDivisor : 4000);
/* clear hostbridge errors and enable MCP */ /* clear hostbridge errors but leave MCP disabled -
_BSP_clear_hostbridge_errors(1/*enableMCP*/, 0/*quiet*/); * PCI config space scanning code will trip otherwise :-(
*/
_BSP_clear_hostbridge_errors(0 /* enableMCP */, 0/*quiet*/);
/* Allocate and set up the page table mappings /* Allocate and set up the page table mappings