diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-07-09 17:16:10 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-07-09 17:16:10 +0000 |
commit | 93180ea26a1c8a991602b7243e1e68e7f510e381 (patch) | |
tree | 45ffe3ae3ca4ed4bbad17b7700c3385b76d09f56 /c/src/lib/libbsp/powerpc/motorola_powerpc/irq | |
parent | Patch from Jiri Gaisler <jgais@ws.estec.esa.nl>: (diff) | |
download | rtems-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.c | 12 |
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"); } |