From 78f96ab7c7ac4e8a2794eefc36813b56f8274e3c Mon Sep 17 00:00:00 2001 From: Thomas Doerfler Date: Thu, 5 Jul 2007 20:32:43 +0000 Subject: fixed some problems with shared PPC exception handling code --- c/src/lib/libbsp/powerpc/ep1a/ChangeLog | 4 ++++ c/src/lib/libbsp/powerpc/ep1a/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/gen5200/ChangeLog | 4 ++++ c/src/lib/libbsp/powerpc/gen5200/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/gen5200/irq/irq_init.c | 6 +++--- c/src/lib/libbsp/powerpc/gen5200/vectors/vectors_init.c | 4 ++-- c/src/lib/libbsp/powerpc/mvme5500/ChangeLog | 4 ++++ c/src/lib/libbsp/powerpc/mvme5500/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/psim/ChangeLog | 4 ++++ c/src/lib/libbsp/powerpc/psim/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/psim/irq/irq_init.c | 4 ++-- c/src/lib/libbsp/powerpc/score603e/ChangeLog | 4 ++++ c/src/lib/libbsp/powerpc/score603e/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/virtex/ChangeLog | 10 ++++++++++ c/src/lib/libbsp/powerpc/virtex/include/bsp.h | 3 ++- c/src/lib/libbsp/powerpc/virtex/opbintctrl/opbintctrl.c | 14 -------------- 16 files changed, 44 insertions(+), 27 deletions(-) (limited to 'c/src/lib/libbsp') diff --git a/c/src/lib/libbsp/powerpc/ep1a/ChangeLog b/c/src/lib/libbsp/powerpc/ep1a/ChangeLog index 34c3540277..1bd26824a3 100644 --- a/c/src/lib/libbsp/powerpc/ep1a/ChangeLog +++ b/c/src/lib/libbsp/powerpc/ep1a/ChangeLog @@ -1,3 +1,7 @@ +2007-07-06 Thomas Doerfler + + * Makefile.am: adapted to shared exception code + 2007-04-12 Ralf Corsépius * bsp_specs: Remove qrtems_debug. diff --git a/c/src/lib/libbsp/powerpc/ep1a/Makefile.am b/c/src/lib/libbsp/powerpc/ep1a/Makefile.am index 44f1153342..91fb2f6d59 100644 --- a/c/src/lib/libbsp/powerpc/ep1a/Makefile.am +++ b/c/src/lib/libbsp/powerpc/ep1a/Makefile.am @@ -129,7 +129,7 @@ libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \ ../../../libcpu/@RTEMS_CPU@/shared/stack.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/clock.rel \ - ../../../libcpu/@RTEMS_CPU@/mpc6xx/exceptions.rel \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel diff --git a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog index 19874248b7..f517d67f77 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog @@ -1,3 +1,7 @@ +2007-07-06 Thomas Doerfler + + * irq_init.c, Makefile.am: adapted to shared exception code + 2007-06-22 Joel Sherrill * clock/clock.c, network_5200/network.c: Convert to using clock driver diff --git a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am index 83892efce5..ea0dc05b1c 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am @@ -144,7 +144,7 @@ libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel \ - ../../../libcpu/@RTEMS_CPU@/mpc6xx/exceptions.rel + ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel include $(srcdir)/preinstall.am include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/powerpc/gen5200/irq/irq_init.c b/c/src/lib/libbsp/powerpc/gen5200/irq/irq_init.c index 4c4ad1f6fa..643022b4a7 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/gen5200/irq/irq_init.c @@ -273,7 +273,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) vectorDesc.off = nop_func; vectorDesc.isOn = connected; - if (!mpc60x_set_exception (&vectorDesc)) + if (!ppc_set_exception (&vectorDesc)) { BSP_panic("Unable to initialize RTEMS decrementer raw exception\n"); } @@ -283,7 +283,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) vectorDesc.hdl.raw_hdl = external_exception_vector_prolog_code; vectorDesc.hdl.raw_hdl_size = (unsigned) &external_exception_vector_prolog_code_size; - if (!mpc60x_set_exception (&vectorDesc)) + if (!ppc_set_exception (&vectorDesc)) { BSP_panic("Unable to initialize RTEMS external raw exception\n"); } @@ -293,7 +293,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) vectorDesc.hdl.raw_hdl = system_management_exception_vector_prolog_code; vectorDesc.hdl.raw_hdl_size = (unsigned) &system_management_exception_vector_prolog_code_size; - if (!mpc60x_set_exception (&vectorDesc)) + if (!ppc_set_exception (&vectorDesc)) { BSP_panic("Unable to initialize RTEMS system management raw exception\n"); } diff --git a/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors_init.c b/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors_init.c index 3d409f1b9d..8e4aa8474b 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors_init.c +++ b/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors_init.c @@ -186,7 +186,7 @@ void initialize_exceptions() printk("installing exception number %d\n", i); - if (!mpc60x_vector_is_valid(i)) + if (!ppc_vector_is_valid(i)) continue; exception_table[i].exceptIndex = i; @@ -197,7 +197,7 @@ void initialize_exceptions() exception_table[i].isOn = except_always_enabled; } - if (!mpc60x_init_exceptions(&exception_config)) + if (!ppc_init_exceptions(&exception_config)) BSP_panic("Exception handling initialization failed\n"); else printk("Exception handling initialization done\n"); diff --git a/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog b/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog index 17b484f363..a8d3afd1c1 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog @@ -1,3 +1,7 @@ +2007-07-06 Thomas Doerfler + + * Makefile.am: adapted to shared exception code + 2007-04-12 Ralf Corsépius * bsp_specs: Remove qrtems_debug. diff --git a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am index 7c4627d51e..5d5d83ccdd 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am @@ -149,7 +149,7 @@ libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \ ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/clock.rel \ - ../../../libcpu/@RTEMS_CPU@/mpc6xx/exceptions.rel \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel diff --git a/c/src/lib/libbsp/powerpc/psim/ChangeLog b/c/src/lib/libbsp/powerpc/psim/ChangeLog index 97918e4c61..52d536080f 100644 --- a/c/src/lib/libbsp/powerpc/psim/ChangeLog +++ b/c/src/lib/libbsp/powerpc/psim/ChangeLog @@ -1,3 +1,7 @@ +2007-07-06 Thomas Doerfler + + * irq_init.c, Makefile.am: adapted to shared exception code + 2007-04-12 Ralf Corsépius * bsp_specs: Remove qrtems_debug. diff --git a/c/src/lib/libbsp/powerpc/psim/Makefile.am b/c/src/lib/libbsp/powerpc/psim/Makefile.am index 859a8637fc..73f3fda792 100644 --- a/c/src/lib/libbsp/powerpc/psim/Makefile.am +++ b/c/src/lib/libbsp/powerpc/psim/Makefile.am @@ -96,7 +96,7 @@ libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \ ../../../libcpu/@RTEMS_CPU@/shared/stack.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/clock.rel \ - ../../../libcpu/@RTEMS_CPU@/mpc6xx/exceptions.rel \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel diff --git a/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c b/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c index d3d75559c2..9789832750 100644 --- a/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c @@ -151,14 +151,14 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) vectorDesc.on = nop_func; vectorDesc.off = nop_func; vectorDesc.isOn = connected; - if (!mpc60x_set_exception (&vectorDesc)) { + 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 (!mpc60x_set_exception (&vectorDesc)) { + if (!ppc_set_exception (&vectorDesc)) { BSP_panic("Unable to initialize RTEMS external raw exception\n"); } #ifdef TRACE_IRQ_INIT diff --git a/c/src/lib/libbsp/powerpc/score603e/ChangeLog b/c/src/lib/libbsp/powerpc/score603e/ChangeLog index 857c36e328..86bb5003db 100644 --- a/c/src/lib/libbsp/powerpc/score603e/ChangeLog +++ b/c/src/lib/libbsp/powerpc/score603e/ChangeLog @@ -1,3 +1,7 @@ +2007-07-06 Thomas Doerfler + + * Makefile.am: adapted to shared exception code + 2007-04-12 Ralf Corsépius * bsp_specs: Remove qrtems_debug. diff --git a/c/src/lib/libbsp/powerpc/score603e/Makefile.am b/c/src/lib/libbsp/powerpc/score603e/Makefile.am index 3989479609..73062360dd 100644 --- a/c/src/lib/libbsp/powerpc/score603e/Makefile.am +++ b/c/src/lib/libbsp/powerpc/score603e/Makefile.am @@ -120,7 +120,7 @@ libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \ ../../../libcpu/@RTEMS_CPU@/shared/stack.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/clock.rel \ - ../../../libcpu/@RTEMS_CPU@/mpc6xx/exceptions.rel \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel diff --git a/c/src/lib/libbsp/powerpc/virtex/ChangeLog b/c/src/lib/libbsp/powerpc/virtex/ChangeLog index 087de10af6..6c6ce2b2cb 100644 --- a/c/src/lib/libbsp/powerpc/virtex/ChangeLog +++ b/c/src/lib/libbsp/powerpc/virtex/ChangeLog @@ -1,3 +1,13 @@ +2007-07-05 Thomas Doerfler + + * include/bsp.h: + added bsp/vectors.h and bsp/irq.h to list of included headers + +2007-07-05 Thomas Doerfler + + * opbintctrl/opbintctrl.c: + removed obsolete code + 2007-07-05 Joel Sherrill * .cvsignore: New file. diff --git a/c/src/lib/libbsp/powerpc/virtex/include/bsp.h b/c/src/lib/libbsp/powerpc/virtex/include/bsp.h index 6ce4d4b1bc..a5d67af1f3 100644 --- a/c/src/lib/libbsp/powerpc/virtex/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/virtex/include/bsp.h @@ -69,7 +69,8 @@ extern "C" { #include #include #include - +#include +#include /* Constants */ diff --git a/c/src/lib/libbsp/powerpc/virtex/opbintctrl/opbintctrl.c b/c/src/lib/libbsp/powerpc/virtex/opbintctrl/opbintctrl.c index 9d2ed9ac4b..8b95ff8857 100644 --- a/c/src/lib/libbsp/powerpc/virtex/opbintctrl/opbintctrl.c +++ b/c/src/lib/libbsp/powerpc/virtex/opbintctrl/opbintctrl.c @@ -100,7 +100,6 @@ void BSP_irq_handle_at_opbintc(void) */ rtems_status_code opb_intc_init(void) { - uint32_t msr_value; uint32_t i, mask = 0; /* mask off all interrupts */ @@ -125,19 +124,6 @@ rtems_status_code opb_intc_init(void) *((volatile uint32_t *) (OPB_INTC_BASE + OPB_INTC_MER)) = (OPB_INTC_MER_HIE | OPB_INTC_MER_ME); -#if 0 /* EB: we do it somewhere else */ - /* - * enable (non-critical) exceptions - */ - - _CPU_MSR_GET(msr_value); - msr_value |= PPC_MSR_EE; - _CPU_MSR_SET(msr_value); - - /* install exit handler to close opb_intc when program atexit called */ - /* atexit(opb_intc_exit); */ -#endif - return RTEMS_SUCCESSFUL; } -- cgit v1.2.3