forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -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>
|
2005-11-08 Till Straumann <strauman@slac.stanford.edu>
|
||||||
|
|
||||||
PR 837/bsps
|
PR 837/bsps
|
||||||
make sure exceptions_in_RAM flag is set prior to initializing exception
|
* startup/bspstart.c, pci/detect_raven_bridge.c: make sure exceptions_in_RAM
|
||||||
handling. Keep MCP disabled for memory probes :-( (the raven would
|
flag is set prior to initializing exception handling. Keep MCP disabled for
|
||||||
otherwise fault on PCI config space access to empty slots).
|
memory probes :-( (the raven would otherwise fault on PCI config space access
|
||||||
|
to empty slots).
|
||||||
|
|
||||||
2005-11-07 Till Straumann <strauman@slac.stanford.edu>
|
2005-11-07 Till Straumann <strauman@slac.stanford.edu>
|
||||||
|
|
||||||
|
|||||||
@@ -131,10 +131,6 @@ enter_C_code:
|
|||||||
MMUon:
|
MMUon:
|
||||||
mfmsr r0
|
mfmsr r0
|
||||||
ori r0,r0, MSR_IP | MSR_RI | MSR_IR | MSR_DR | MSR_EE | MSR_FE0 | MSR_FE1 | MSR_FP
|
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)
|
#if (PPC_HAS_FPU == 0)
|
||||||
xori r0, r0, MSR_EE | MSR_IP | MSR_FP
|
xori r0, r0, MSR_EE | MSR_IP | MSR_FP
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -262,9 +262,32 @@ void bsp_start( void )
|
|||||||
myCpu = get_ppc_cpu_type();
|
myCpu = get_ppc_cpu_type();
|
||||||
myCpuRevision = get_ppc_cpu_revision();
|
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)
|
#if defined(mvme2100)
|
||||||
EUMBBAR = get_eumbbar();
|
EUMBBAR = get_eumbbar();
|
||||||
{ unsigned v = 0x3000 ; _CPU_MSR_SET(v); }
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -323,29 +346,6 @@ void bsp_start( void )
|
|||||||
*/
|
*/
|
||||||
initialize_exceptions();
|
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);
|
select_console(CONSOLE_LOG);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user