forked from Imagelibrary/rtems
2007-12-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* irq/irq_init.c: Spacing.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2007-12-04 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||||
|
|
||||||
|
* clock/clock.c: Fix typo.
|
||||||
|
|
||||||
2007-12-04 Till Straumann <strauman@slac.stanford.edu>
|
2007-12-04 Till Straumann <strauman@slac.stanford.edu>
|
||||||
|
|
||||||
* irq/irq_init.c: removed unnecessary code (alredy
|
* irq/irq_init.c: removed unnecessary code (alredy
|
||||||
|
|||||||
@@ -35,11 +35,11 @@ static int not_connected() {return 0;}
|
|||||||
*/
|
*/
|
||||||
static int connected() {return 1;}
|
static int connected() {return 1;}
|
||||||
|
|
||||||
static rtems_irq_connect_data rtemsIrq[BSP_IRQ_NUMBER];
|
static rtems_irq_connect_data rtemsIrq[BSP_IRQ_NUMBER];
|
||||||
static rtems_irq_global_settings initial_config;
|
static rtems_irq_global_settings initial_config;
|
||||||
static rtems_irq_connect_data defaultIrq = {
|
static rtems_irq_connect_data defaultIrq = {
|
||||||
/* vectorIdex, hdl , handle , on , off , isOn */
|
/* vectorIdex, hdl , handle , on , off , isOn */
|
||||||
0, nop_func , NULL , nop_func , nop_func , not_connected
|
0, nop_func , NULL , nop_func , nop_func , not_connected
|
||||||
};
|
};
|
||||||
static rtems_irq_prio irqPrioTable[BSP_IRQ_NUMBER]={
|
static rtems_irq_prio irqPrioTable[BSP_IRQ_NUMBER]={
|
||||||
/*
|
/*
|
||||||
@@ -65,30 +65,57 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
|
|||||||
/*
|
/*
|
||||||
* Initialize Rtems management interrupt table
|
* Initialize Rtems management interrupt table
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* re-init the rtemsIrq table
|
* re-init the rtemsIrq table
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < BSP_IRQ_NUMBER; i++) {
|
for (i = 0; i < BSP_IRQ_NUMBER; i++) {
|
||||||
rtemsIrq[i] = defaultIrq;
|
rtemsIrq[i] = defaultIrq;
|
||||||
rtemsIrq[i].name = i;
|
rtemsIrq[i].name = i;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Init initial Interrupt management config
|
* Init initial Interrupt management config
|
||||||
*/
|
*/
|
||||||
initial_config.irqNb = BSP_IRQ_NUMBER;
|
initial_config.irqNb = BSP_IRQ_NUMBER;
|
||||||
initial_config.defaultEntry = defaultIrq;
|
initial_config.defaultEntry = defaultIrq;
|
||||||
initial_config.irqHdlTbl = rtemsIrq;
|
initial_config.irqHdlTbl = rtemsIrq;
|
||||||
initial_config.irqBase = BSP_LOWEST_OFFSET;
|
initial_config.irqBase = BSP_LOWEST_OFFSET;
|
||||||
initial_config.irqPrioTbl = irqPrioTable;
|
initial_config.irqPrioTbl = irqPrioTable;
|
||||||
|
|
||||||
if (!BSP_rtems_irq_mngt_set(&initial_config)) {
|
if (!BSP_rtems_irq_mngt_set(&initial_config)) {
|
||||||
/*
|
/*
|
||||||
* put something here that will show the failure...
|
* put something here that will show the failure...
|
||||||
*/
|
*/
|
||||||
BSP_panic("Unable to initialize RTEMS interrupt Management!!! System locked\n");
|
BSP_panic(
|
||||||
}
|
"Unable to initialize RTEMS interrupt Management!!! System locked\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef TRACE_IRQ_INIT
|
/*
|
||||||
|
* We must connect the raw irq handler for the two
|
||||||
|
* expected interrupt sources : decrementer and external interrupts.
|
||||||
|
*/
|
||||||
|
vectorDesc.exceptIndex = ASM_DEC_VECTOR;
|
||||||
|
vectorDesc.hdl.vector = ASM_DEC_VECTOR;
|
||||||
|
vectorDesc.hdl.raw_hdl = decrementer_exception_vector_prolog_code;
|
||||||
|
vectorDesc.hdl.raw_hdl_size =
|
||||||
|
(unsigned) decrementer_exception_vector_prolog_code_size;
|
||||||
|
vectorDesc.on = nop_func;
|
||||||
|
vectorDesc.off = nop_func;
|
||||||
|
vectorDesc.isOn = connected;
|
||||||
|
if (!ppc_set_exception (&vectorDesc))
|
||||||
|
{
|
||||||
|
BSP_panic("Unable to initialize RTEMS decrementer raw exception\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
vectorDesc.exceptIndex = ASM_EXT_VECTOR;
|
||||||
|
vectorDesc.hdl.vector = ASM_EXT_VECTOR;
|
||||||
|
vectorDesc.hdl.raw_hdl = external_exception_vector_prolog_code;
|
||||||
|
vectorDesc.hdl.raw_hdl_size =
|
||||||
|
(unsigned) external_exception_vector_prolog_code_size;
|
||||||
|
if (!ppc_set_exception (&vectorDesc)) {
|
||||||
|
BSP_panic("Unable to initialize RTEMS external raw exception\n");
|
||||||
|
}
|
||||||
|
#ifdef TRACE_IRQ_INIT
|
||||||
printk("RTEMS IRQ management is now operationnal\n");
|
printk("RTEMS IRQ management is now operationnal\n");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user