forked from Imagelibrary/rtems
bsps/powerpc: Simplify ppc_exc_initialize()
Remove parameters from ppc_exc_initialize() since all BSPs passed the same values. Update #3459.
This commit is contained in:
@@ -177,8 +177,6 @@ void bsp_start( void )
|
||||
{
|
||||
unsigned char *stack;
|
||||
char *chpt;
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
|
||||
Triv121PgTbl pt=0;
|
||||
|
||||
@@ -231,21 +229,7 @@ void bsp_start( void )
|
||||
|
||||
*((uint32_t *)stack) = 0;
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings
|
||||
* SPRG0 = interrupt nesting level count
|
||||
* SPRG1 = software managed IRQ stack
|
||||
*
|
||||
* This could be done latter (e.g in IRQ_INIT) but it helps to understand
|
||||
* some settings below...
|
||||
*/
|
||||
intrStackStart = (uintptr_t)_Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers. See vectors/vectors_init.c
|
||||
*/
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
printk("CPU: %s\n", get_ppc_cpu_type_name(current_ppc_cpu));
|
||||
|
||||
|
||||
@@ -153,13 +153,10 @@ void bsp_start(void)
|
||||
|
||||
/* Initialize exception handler */
|
||||
ppc_exc_cache_wb_check = 0;
|
||||
ppc_exc_initialize(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
);
|
||||
ppc_exc_initialize();
|
||||
ppc_exc_set_handler(ASM_ALIGN_VECTOR, ppc_exc_alignment_handler);
|
||||
|
||||
/* Initalize interrupt support */
|
||||
/* Initialize interrupt support */
|
||||
bsp_interrupt_initialize();
|
||||
|
||||
/*
|
||||
|
||||
@@ -113,10 +113,7 @@ void bsp_start( void)
|
||||
#ifndef BSP_DATA_CACHE_ENABLED
|
||||
ppc_exc_cache_wb_check = 0;
|
||||
#endif
|
||||
ppc_exc_initialize(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
);
|
||||
ppc_exc_initialize();
|
||||
|
||||
/* Install default handler for the decrementer exception */
|
||||
sc = ppc_exc_set_handler( ASM_DEC_VECTOR, mpc83xx_decrementer_exception_handler);
|
||||
|
||||
@@ -181,13 +181,7 @@ void bsp_start( void )
|
||||
/* timebase register ticks/microsecond = CPU Clk in MHz */
|
||||
bsp_clicks_per_usec = 400;
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
);
|
||||
ppc_exc_initialize();
|
||||
|
||||
/*
|
||||
* Install our own set of exception vectors
|
||||
|
||||
@@ -300,11 +300,9 @@ rtems_status_code ppc_exc_make_prologue(
|
||||
size_t *prologue_size
|
||||
);
|
||||
|
||||
static inline void ppc_exc_initialize_interrupt_stack(
|
||||
uintptr_t stack_begin,
|
||||
uintptr_t stack_size
|
||||
)
|
||||
static inline void ppc_exc_initialize_interrupt_stack(uintptr_t stack_begin)
|
||||
{
|
||||
uintptr_t stack_size = rtems_configuration_get_interrupt_stack_size();
|
||||
uintptr_t stack_end = stack_begin + stack_size;
|
||||
uintptr_t stack_pointer = stack_end - PPC_MINIMUM_STACK_FRAME_SIZE;
|
||||
|
||||
@@ -326,7 +324,6 @@ static inline void ppc_exc_initialize_interrupt_stack(
|
||||
*/
|
||||
void ppc_exc_initialize_with_vector_base(
|
||||
uintptr_t interrupt_stack_begin,
|
||||
uintptr_t interrupt_stack_size,
|
||||
void *vector_base
|
||||
);
|
||||
|
||||
@@ -343,14 +340,10 @@ void ppc_exc_initialize_with_vector_base(
|
||||
* SVR4/EABI, or
|
||||
* - the minimal prologue creation failed.
|
||||
*/
|
||||
static inline void ppc_exc_initialize(
|
||||
uintptr_t interrupt_stack_begin,
|
||||
uintptr_t interrupt_stack_size
|
||||
)
|
||||
static inline void ppc_exc_initialize(void)
|
||||
{
|
||||
ppc_exc_initialize_with_vector_base(
|
||||
interrupt_stack_begin,
|
||||
interrupt_stack_size,
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
@@ -135,8 +135,6 @@ void bsp_start( void )
|
||||
#if !defined(mvme2100)
|
||||
unsigned l2cr;
|
||||
#endif
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
prep_t boardManufacturer;
|
||||
motorolaBoard myBoard;
|
||||
Triv121PgTbl pt=0;
|
||||
@@ -217,16 +215,7 @@ void bsp_start( void )
|
||||
set_L2CR(0xb9A14000);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings.
|
||||
*/
|
||||
intrStackStart = (uintptr_t)_Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
boardManufacturer = checkPrepBoardType(&residualCopy);
|
||||
if (boardManufacturer != PREP_Motorola) {
|
||||
@@ -242,7 +231,6 @@ void bsp_start( void )
|
||||
#ifdef SHOW_MORE_INIT_SETTINGS
|
||||
printk("Residuals are located at %x\n", (unsigned) &residualCopy);
|
||||
printk("Additionnal boot options are %s\n", loaderParam);
|
||||
printk("Software IRQ stack starts at %x with size %u\n", intrStackStart, intrStackSize);
|
||||
printk("-----------------------------------------\n");
|
||||
#endif
|
||||
|
||||
|
||||
@@ -88,14 +88,10 @@ void bsp_start(void)
|
||||
/* Time reference value */
|
||||
bsp_clicks_per_usec = bsp_clock_speed / 1000000;
|
||||
|
||||
/* Initialize exceptions */
|
||||
ppc_exc_initialize_with_vector_base(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size(),
|
||||
mpc55xx_exc_vector_base
|
||||
);
|
||||
|
||||
/* Initialize interrupts */
|
||||
bsp_interrupt_initialize();
|
||||
|
||||
#if MPC55XX_CHIP_FAMILY != 566
|
||||
|
||||
@@ -138,13 +138,7 @@ void bsp_start(void)
|
||||
mmu_init();
|
||||
*/
|
||||
|
||||
/* Initialize exception handler */
|
||||
ppc_exc_initialize(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
);
|
||||
|
||||
/* Initalize interrupt support */
|
||||
ppc_exc_initialize();
|
||||
bsp_interrupt_initialize();
|
||||
|
||||
/*
|
||||
|
||||
@@ -210,8 +210,6 @@ SPR_RW(HID1)
|
||||
void bsp_start( void )
|
||||
{
|
||||
unsigned char *stack;
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
char *chpt;
|
||||
int i;
|
||||
ppc_cpu_id_t myCpu;
|
||||
@@ -252,23 +250,13 @@ VpdBufRec vpdData [] = {
|
||||
/* tag the bottom */
|
||||
*((uint32_t*)stack) = 0;
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings.
|
||||
*/
|
||||
intrStackStart = (uintptr_t) _Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
printk("CPU 0x%x - rev 0x%x\n", myCpu, myCpuRevision);
|
||||
|
||||
#ifdef SHOW_MORE_INIT_SETTINGS
|
||||
printk("Additionnal boot options are %s\n", BSP_commandline_string);
|
||||
printk("Initial system stack at %" PRIxPTR "\n", (uintptr_t) stack);
|
||||
printk("Software IRQ stack starts at %x with size %u\n", intrStackStart, intrStackSize);
|
||||
#endif
|
||||
|
||||
#ifdef SHOW_MORE_INIT_SETTINGS
|
||||
|
||||
@@ -188,8 +188,6 @@ void bsp_start( void )
|
||||
#ifdef SHOW_LCR3_REGISTER
|
||||
unsigned l3cr;
|
||||
#endif
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
Triv121PgTbl pt=0;
|
||||
|
||||
/* Till Straumann: 4/2005
|
||||
@@ -222,16 +220,7 @@ void bsp_start( void )
|
||||
printk("Initial L1CR value = %x\n", l1cr);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings.
|
||||
*/
|
||||
intrStackStart = (uintptr_t) _Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
/*
|
||||
* Init MMU block address translation to enable hardware
|
||||
|
||||
@@ -87,12 +87,8 @@ void bsp_start( void )
|
||||
bsp_clicks_per_usec = BSP_bus_frequency;
|
||||
BSP_time_base_divisor = 1;
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize_with_vector_base(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size(),
|
||||
(void *) 0xfff00000
|
||||
);
|
||||
|
||||
|
||||
@@ -66,8 +66,6 @@ uint32_t _CPU_Counter_frequency(void)
|
||||
void bsp_start( void )
|
||||
{
|
||||
rtems_status_code sc = RTEMS_SUCCESSFUL;
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
|
||||
/*
|
||||
* Note we can not get CPU identification dynamically, so
|
||||
@@ -84,18 +82,9 @@ void bsp_start( void )
|
||||
bsp_time_base_frequency = 20000000;
|
||||
bsp_clicks_per_usec = BSP_bus_frequency;
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings.
|
||||
*/
|
||||
intrStackStart = (uintptr_t) _Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
BSP_mem_size = (uint32_t )RamSize;
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
/* Install default handler for the decrementer exception */
|
||||
sc = ppc_exc_set_handler( ASM_DEC_VECTOR, default_decrementer_exception_handler);
|
||||
|
||||
@@ -47,8 +47,7 @@ static bool is_started_by_u_boot(uint32_t cpu_index)
|
||||
void qoriq_start_thread(Per_CPU_Control *cpu_self)
|
||||
{
|
||||
ppc_exc_initialize_interrupt_stack(
|
||||
(uintptr_t) cpu_self->interrupt_stack_low,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
(uintptr_t) cpu_self->interrupt_stack_low
|
||||
);
|
||||
|
||||
bsp_interrupt_facility_initialize();
|
||||
|
||||
@@ -113,8 +113,7 @@ void qoriq_initialize_exceptions(void *interrupt_stack_begin)
|
||||
uintptr_t addr;
|
||||
|
||||
ppc_exc_initialize_interrupt_stack(
|
||||
(uintptr_t) interrupt_stack_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
(uintptr_t) interrupt_stack_begin
|
||||
);
|
||||
|
||||
addr = (uintptr_t) bsp_exc_vector_base;
|
||||
|
||||
@@ -82,7 +82,6 @@ static void ppc_exc_fatal_error(void)
|
||||
|
||||
void ppc_exc_initialize_with_vector_base(
|
||||
uintptr_t interrupt_stack_begin,
|
||||
uintptr_t interrupt_stack_size,
|
||||
void *vector_base
|
||||
)
|
||||
{
|
||||
@@ -110,7 +109,7 @@ void ppc_exc_initialize_with_vector_base(
|
||||
ppc_exc_fatal_error();
|
||||
}
|
||||
|
||||
ppc_exc_initialize_interrupt_stack(interrupt_stack_begin, interrupt_stack_size);
|
||||
ppc_exc_initialize_interrupt_stack(interrupt_stack_begin);
|
||||
|
||||
#ifndef PPC_EXC_CONFIG_BOOKE_ONLY
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@ static void bsp_work_area_initialize_later(void)
|
||||
uintptr_t work_size;
|
||||
uintptr_t work_area;
|
||||
|
||||
work_area = (uintptr_t)__rtems_end +
|
||||
rtems_configuration_get_interrupt_stack_size();
|
||||
work_area = (uintptr_t)__rtems_end;
|
||||
work_size = (uintptr_t)BSP_mem_size - work_area;
|
||||
|
||||
bsp_work_area_initialize_default((void *) work_area, work_size);
|
||||
|
||||
@@ -49,8 +49,7 @@ static void t32mppc_initialize_exceptions(void)
|
||||
uintptr_t addr;
|
||||
|
||||
ppc_exc_initialize_interrupt_stack(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin
|
||||
);
|
||||
|
||||
addr = (uintptr_t) bsp_exc_vector_base;
|
||||
|
||||
@@ -143,13 +143,7 @@ void bsp_start( void)
|
||||
bsp_time_base_frequency = BSP_bus_frequency / 16;
|
||||
bsp_clicks_per_usec = bsp_time_base_frequency / 1000000;
|
||||
|
||||
/* Initialize exception handler */
|
||||
ppc_exc_initialize(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size()
|
||||
);
|
||||
|
||||
/* Initalize interrupt support */
|
||||
ppc_exc_initialize();
|
||||
bsp_interrupt_initialize();
|
||||
|
||||
#ifdef SHOW_MORE_INIT_SETTINGS
|
||||
|
||||
@@ -94,12 +94,8 @@ void bsp_start( void )
|
||||
get_ppc_cpu_type();
|
||||
get_ppc_cpu_revision();
|
||||
|
||||
/*
|
||||
* Initialize default raw exception handlers.
|
||||
*/
|
||||
ppc_exc_initialize_with_vector_base(
|
||||
(uintptr_t) _Configuration_Interrupt_stack_area_begin,
|
||||
rtems_configuration_get_interrupt_stack_size(),
|
||||
virtex_exc_vector_base
|
||||
);
|
||||
__asm__ volatile ("mtevpr %0" : : "r" (virtex_exc_vector_base));
|
||||
|
||||
@@ -141,9 +141,6 @@ uint32_t _CPU_Counter_frequency(void)
|
||||
*/
|
||||
void bsp_start(void)
|
||||
{
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
|
||||
ppc_cpu_id_t myCpu;
|
||||
ppc_cpu_revision_t myCpuRevision;
|
||||
|
||||
@@ -168,25 +165,17 @@ void bsp_start(void)
|
||||
/* Timebase register ticks/microsecond; The application may override these */
|
||||
bsp_clicks_per_usec = 350;
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings.
|
||||
*/
|
||||
intrStackStart = (uintptr_t) _Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
/* Let the user know what parameters we were compiled with */
|
||||
printk(" Base/Start End Size\n"
|
||||
"RAM: %p %p\n"
|
||||
"RTEMS: %p\n"
|
||||
"Interrupt Stack: 0x%08x 0x%x\n"
|
||||
"Workspace: %p %p\n"
|
||||
"MsgArea: %p %p\n"
|
||||
"Physical RAM %p\n",
|
||||
RamBase, RamSize,
|
||||
__rtems_end,
|
||||
intrStackStart, intrStackSize,
|
||||
WorkAreaBase, __bsp_ram_end,
|
||||
MsgAreaBase, MsgAreaSize,
|
||||
__phy_ram_end);
|
||||
|
||||
@@ -155,9 +155,6 @@ uint32_t _CPU_Counter_frequency(void)
|
||||
*/
|
||||
void bsp_start(void)
|
||||
{
|
||||
uintptr_t intrStackStart;
|
||||
uintptr_t intrStackSize;
|
||||
|
||||
ppc_cpu_id_t myCpu;
|
||||
ppc_cpu_revision_t myCpuRevision;
|
||||
|
||||
@@ -187,25 +184,17 @@ void bsp_start(void)
|
||||
/* Timebase register ticks/microsecond; The application may override these */
|
||||
bsp_clicks_per_usec = BSP_bus_frequency/(BSP_time_base_divisor * 1000);
|
||||
|
||||
/*
|
||||
* Initialize the interrupt related settings.
|
||||
*/
|
||||
intrStackStart = (uintptr_t)_Configuration_Interrupt_stack_area_begin;
|
||||
intrStackSize = rtems_configuration_get_interrupt_stack_size();
|
||||
|
||||
ppc_exc_initialize(intrStackStart, intrStackSize);
|
||||
ppc_exc_initialize();
|
||||
|
||||
/* Let the user know what parameters we were compiled with */
|
||||
printk(" Base/Start End Size\n"
|
||||
"RAM: %p %p\n"
|
||||
"RTEMS: %p\n"
|
||||
"Interrupt Stack: 0x%08x 0x%x\n"
|
||||
"Workspace: %p %p\n"
|
||||
"MsgArea: %p %p\n"
|
||||
"Physical RAM %p\n",
|
||||
RamBase, RamSize,
|
||||
__rtems_end,
|
||||
intrStackStart, intrStackSize,
|
||||
WorkAreaBase, __bsp_ram_end,
|
||||
MsgAreaBase, MsgAreaSize,
|
||||
__phy_ram_end);
|
||||
|
||||
Reference in New Issue
Block a user