summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/motorola_powerpc/irq
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-07-09 17:16:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-07-09 17:16:10 +0000
commit93180ea26a1c8a991602b7243e1e68e7f510e381 (patch)
tree45ffe3ae3ca4ed4bbad17b7700c3385b76d09f56 /c/src/lib/libbsp/powerpc/motorola_powerpc/irq
parentPatch from Jiri Gaisler <jgais@ws.estec.esa.nl>: (diff)
downloadrtems-93180ea26a1c8a991602b7243e1e68e7f510e381.tar.bz2
Patch from Eric Valette <valette@crf.canon.fr>:
- The same bug fix that was done on pc386 to prevent interrupt from occuring (never experienced it but who knows as I have 8259 emulation :() - Removed every compiler warning (except wrong ones and ones I can't do anything). - Removed any libc available code in code linked with mcp750 rtems executbale. Unfortunately using newlib functions for linking the bootloader does not work as the compilation options in bootloader (-mrelocatable -fixed-r13) are not compatible with newlib options. => I have put any libc external reference in one single new file (lib.c) that is linked only with the boot loader. Removing the file from ${OBJ} and using -lc crash the bootloader. Added big warning...
Diffstat (limited to 'c/src/lib/libbsp/powerpc/motorola_powerpc/irq')
-rw-r--r--c/src/lib/libbsp/powerpc/motorola_powerpc/irq/irq_init.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/irq/irq_init.c b/c/src/lib/libbsp/powerpc/motorola_powerpc/irq/irq_init.c
index cc3f343315..fcf1f8a09b 100644
--- a/c/src/lib/libbsp/powerpc/motorola_powerpc/irq/irq_init.c
+++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/irq/irq_init.c
@@ -101,7 +101,7 @@ static unsigned char mcp750_openpic_initsenses[] = {
void isa_bridge_interrupts_setup(void)
{
pci_isa_bridge_device pci_dev;
- unsigned long temp;
+ unsigned int temp;
unsigned char tmp;
unsigned char maxBus;
unsigned found = 0;
@@ -218,7 +218,6 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
{
rtems_raw_except_connect_data vectorDesc;
int i;
- register unsigned int msr;
/*
* First initialize the Interrupt management hardware
@@ -264,7 +263,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
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 = &decrementer_exception_vector_prolog_code_size;
+ vectorDesc.hdl.raw_hdl_size = (unsigned) &decrementer_exception_vector_prolog_code_size;
vectorDesc.on = nop_func;
vectorDesc.off = nop_func;
vectorDesc.isOn = connected;
@@ -274,15 +273,10 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
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 = &external_exception_vector_prolog_code_size;
+ vectorDesc.hdl.raw_hdl_size = (unsigned) &external_exception_vector_prolog_code_size;
if (!mpc60x_set_exception (&vectorDesc)) {
BSP_panic("Unable to initialize RTEMS external raw exception\n");
}
printk("RTEMS IRQ management is now operationnal\n");
- printk("Going to enable interrupts at processor level\n");
- _CPU_MSR_GET(msr);
- msr = msr |= MSR_EE;
- _CPU_MSR_SET(msr);
- printk("Interrupts enabled\n");
}