2007-11-30 Till Straumann <strauman@slac.stanford.edu>

* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h,
	old-exception/cpu.c: define bsp_exceptions_in_RAM variable.
	This is probably only used by the simulator (were else
	can you install something to ROM ??).
This commit is contained in:
Till Straumann
2007-12-01 01:26:41 +00:00
parent e72dc606b6
commit ea39487c59
4 changed files with 36 additions and 1 deletions

View File

@@ -1,3 +1,10 @@
2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h,
old-exception/cpu.c: define bsp_exceptions_in_RAM variable.
This is probably only used by the simulator (were else
can you install something to ROM ??).
2007-11-30 Till Straumann <strauman@slac.stanford.edu> 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: use new * mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: use new

View File

@@ -39,6 +39,7 @@ static rtems_raw_except_global_settings* local_settings;
void * codemove(void *, const void *, unsigned int, unsigned long); void * codemove(void *, const void *, unsigned int, unsigned long);
boolean bsp_exceptions_in_RAM = TRUE;
static void* ppc_get_vector_addr(rtems_vector vector) static void* ppc_get_vector_addr(rtems_vector vector)
{ {

View File

@@ -319,6 +319,20 @@ extern int ppc_vector_is_valid(rtems_vector vector);
extern int ppc_init_exceptions (rtems_raw_except_global_settings* config); extern int ppc_init_exceptions (rtems_raw_except_global_settings* config);
extern int ppc_get_exception_config (rtems_raw_except_global_settings** config); extern int ppc_get_exception_config (rtems_raw_except_global_settings** config);
/* This variable is initialized to 'TRUE' by default;
* BSPs which have their vectors in ROM should set it
* to FALSE prior to initializing raw exceptions.
*
* I suspect the only candidate is the simulator.
* After all, the value of this variable is used to
* determine where to install the prologue code and
* installing to ROM on anyting that's real ROM
* will fail anyways.
*
* This should probably go away... (T.S. 2007/11/30)
*/
extern boolean bsp_exceptions_in_RAM;
# endif /* ASM */ # endif /* ASM */
#endif #endif

View File

@@ -56,6 +56,20 @@ static void ppc_spurious(int, CPU_Interrupt_frame *);
int _CPU_spurious_count = 0; int _CPU_spurious_count = 0;
int _CPU_last_spurious = 0; int _CPU_last_spurious = 0;
/* This variable is initialized to 'TRUE' by default;
* BSPs which have their vectors in ROM should set it
* to FALSE prior to initializing raw exceptions.
*
* I suspect the only candidate is the simulator.
* After all, the value of this variable is used to
* determine where to install the prologue code and
* installing to ROM on anyting that's real ROM
* will fail anyways.
*
* This should probably go away... (T.S. 2007/11/30)
*/
boolean bsp_exceptions_in_RAM = TRUE;
void _CPU_Initialize( void _CPU_Initialize(
rtems_cpu_table *cpu_table, rtems_cpu_table *cpu_table,
void (*thread_dispatch) /* ignored on this CPU */ void (*thread_dispatch) /* ignored on this CPU */
@@ -308,7 +322,6 @@ void _CPU_ISR_install_vector(
{ {
proc_ptr ignored; proc_ptr ignored;
extern void (*bsp_spurious_handler)(uint32_t vector, CPU_Interrupt_frame *); extern void (*bsp_spurious_handler)(uint32_t vector, CPU_Interrupt_frame *);
extern boolean bsp_exceptions_in_RAM;
*old_handler = _ISR_Vector_table[ vector ]; *old_handler = _ISR_Vector_table[ vector ];