From dad43ef2eb0c892c38795f30751cc7ffa5c1424f Mon Sep 17 00:00:00 2001 From: Till Straumann Date: Wed, 9 Nov 2005 03:20:13 +0000 Subject: 2005-11-08 Till Straumann 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. --- c/src/lib/libbsp/powerpc/shared/ChangeLog | 14 +++++-- c/src/lib/libbsp/powerpc/shared/start/start.S | 4 -- 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 + + 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 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 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); /* -- cgit v1.2.3