diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-29 22:01:18 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-29 22:01:18 +0000 |
commit | 27d4569a6827cadfb2fe73264cdec868d0cc5207 (patch) | |
tree | f76c0c293ce0bc5a15e5ace59905df693dccfc7d /c/src/lib/libbsp/powerpc/mvme3100/startup | |
parent | 2008-01-29 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-27d4569a6827cadfb2fe73264cdec868d0cc5207.tar.bz2 |
2008-01-29 Eric Norum <norume@aps.anl.gov>
* startup/bspstart.c: Fixes a lockup which occurs when a speculative
load occurs from a particular range of memory.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mvme3100/startup')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c index 5fb1481715..c5486abf34 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c @@ -228,6 +228,10 @@ bsp_predriver_hook(void) * This routine does the bulk of the system initialization. */ +#include <libcpu/spr.h> + +SPR_RW(HID1) + void bsp_start( void ) { unsigned char *stack; @@ -317,6 +321,15 @@ VpdBufRec vpdData [] = { printk("Going to start PCI buses scanning and initialization\n"); #endif + { + /* disable checking for memory-select errors */ + *(volatile uint32_t*)0xe1002e44 |= 1; + /* clear all pending errors */ + *(volatile uint32_t*)0xe1002e40 = 0xffffffff; + /* enable machine check for bad bus errors */ + _write_HID1( _read_HID1() | 0x20000 ); + } + printk("Build Date: %s\n",BSP_build_date); BSP_vpdRetrieveFields( vpdData ); |