diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2005-11-09 03:20:13 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2005-11-09 03:20:13 +0000 |
commit | dad43ef2eb0c892c38795f30751cc7ffa5c1424f (patch) | |
tree | 0159a1ce23b6b0b08684bb30e31e50e6532852ad | |
parent | 2005-11-08 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-dad43ef2eb0c892c38795f30751cc7ffa5c1424f.tar.bz2 |
2005-11-08 Till Straumann <strauman@slac.stanford.edu>
PR 845/bsps
* startup/bspstart.c, start/start.S: setup BATs prior to attempting any
device access - missing BAT mappings were probably the reason for the
MMU malfunction assumption. Enabled MSR_DR.
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/ChangeLog | 14 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/start/start.S | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/bspstart.c | 48 |
3 files changed, 35 insertions, 31 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/ChangeLog b/c/src/lib/libbsp/powerpc/shared/ChangeLog index c7cfeb4dec..dbc465741b 100644 --- a/c/src/lib/libbsp/powerpc/shared/ChangeLog +++ b/c/src/lib/libbsp/powerpc/shared/ChangeLog @@ -1,9 +1,17 @@ 2005-11-08 Till Straumann <strauman@slac.stanford.edu> + PR 845/bsps + * startup/bspstart.c, start/start.S: setup BATs prior to attempting any + device access - missing BAT mappings were probably the reason for the + MMU malfunction assumption. Enabled MSR_DR. + +2005-11-08 Till Straumann <strauman@slac.stanford.edu> + PR 837/bsps - make sure exceptions_in_RAM flag is set prior to initializing exception - handling. Keep MCP disabled for memory probes :-( (the raven would - otherwise fault on PCI config space access to empty slots). + * startup/bspstart.c, pci/detect_raven_bridge.c: make sure exceptions_in_RAM + flag is set prior to initializing exception handling. Keep MCP disabled for + memory probes :-( (the raven would otherwise fault on PCI config space access + to empty slots). 2005-11-07 Till Straumann <strauman@slac.stanford.edu> diff --git a/c/src/lib/libbsp/powerpc/shared/start/start.S b/c/src/lib/libbsp/powerpc/shared/start/start.S index d9be4f86b8..6ff5b33c7c 100644 --- a/c/src/lib/libbsp/powerpc/shared/start/start.S +++ b/c/src/lib/libbsp/powerpc/shared/start/start.S @@ -131,10 +131,6 @@ enter_C_code: MMUon: mfmsr r0 ori r0,r0, MSR_IP | MSR_RI | MSR_IR | MSR_DR | MSR_EE | MSR_FE0 | MSR_FE1 | MSR_FP -#if defined(mvme2100) - /* Data addr translation is broken for the mvme2100, disable it here */ - xori r0,r0, MSR_DR -#endif #if (PPC_HAS_FPU == 0) xori r0, r0, MSR_EE | MSR_IP | MSR_FP #else diff --git a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c index 5b5b3c15a6..a6be69a451 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c @@ -262,9 +262,32 @@ void bsp_start( void ) myCpu = get_ppc_cpu_type(); myCpuRevision = get_ppc_cpu_revision(); + /* + * Init MMU block address translation to enable hardware access + */ + +#if !defined(mvme2100) + /* + * PC legacy IO space used for inb/outb and all PC compatible hardware + */ + setdbat(1, _IO_BASE, _IO_BASE, 0x10000000, IO_PAGE); +#endif + + /* + * PCI devices memory area. Needed to access OpenPIC features + * provided by the Raven + * + * T. Straumann: give more PCI address space + */ + setdbat(2, PCI_MEM_BASE, PCI_MEM_BASE, 0x10000000, IO_PAGE); + + /* + * Must have access to OpenPIC PCI ACK registers provided by the Raven + */ + setdbat(3, 0xf0000000, 0xf0000000, 0x10000000, IO_PAGE); + #if defined(mvme2100) EUMBBAR = get_eumbbar(); - { unsigned v = 0x3000 ; _CPU_MSR_SET(v); } #endif /* @@ -323,29 +346,6 @@ void bsp_start( void ) */ initialize_exceptions(); - /* - * Init MMU block address translation to enable hardware access - */ -#if !defined(mvme2100) - /* - * PC legacy IO space used for inb/outb and all PC compatible hardware - */ - setdbat(1, _IO_BASE, _IO_BASE, 0x10000000, IO_PAGE); -#endif - - /* - * PCI devices memory area. Needed to access OpenPIC features - * provided by the Raven - * - * T. Straumann: give more PCI address space - */ - setdbat(2, PCI_MEM_BASE, PCI_MEM_BASE, 0x10000000, IO_PAGE); - - /* - * Must have access to OpenPIC PCI ACK registers provided by the Raven - */ - setdbat(3, 0xf0000000, 0xf0000000, 0x10000000, IO_PAGE); - select_console(CONSOLE_LOG); /* |