diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/psim/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/psim/Makefile.am | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/psim/irq/irq_init.c | 30 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/psim/preinstall.am | 10 |
4 files changed, 20 insertions, 40 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/ChangeLog b/c/src/lib/libbsp/powerpc/psim/ChangeLog index 1df0c06bbb..da20af73c1 100644 --- a/c/src/lib/libbsp/powerpc/psim/ChangeLog +++ b/c/src/lib/libbsp/powerpc/psim/ChangeLog @@ -1,3 +1,8 @@ +2007-12-10 Till Straumann <strauman@slac.stanford.edu> + + * Makefile.am, irq/irq_init.c: use vector/interrupt + support from libcpu/powerpc/new-exceptions/bspsupport. + 2007-12-08 Till Straumann <strauman@slac.stanford.edu> * Makefile.am: irq_supp.h was moved from shared/irq to diff --git a/c/src/lib/libbsp/powerpc/psim/Makefile.am b/c/src/lib/libbsp/powerpc/psim/Makefile.am index 3c8da359b8..33cc85566f 100644 --- a/c/src/lib/libbsp/powerpc/psim/Makefile.am +++ b/c/src/lib/libbsp/powerpc/psim/Makefile.am @@ -62,24 +62,24 @@ consoleio_rel_SOURCES = console/console-io.c console/consupp.S consoleio_rel_CPPFLAGS = $(AM_CPPFLAGS) consoleio_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) -include_bsp_HEADERS = irq/irq.h \ - ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/irq_supp.h +include_bsp_HEADERS = irq/irq.h noinst_PROGRAMS += irq.rel -irq_rel_SOURCES = ../shared/irq/irq.c irq/irq_init.c \ - ../shared/irq/irq_asm.S irq/no_pic.c +irq_rel_SOURCES = irq/irq_init.c irq/no_pic.c irq_rel_CPPFLAGS = $(AM_CPPFLAGS) irq_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) EXTRA_DIST += vectors/README noinst_PROGRAMS += vectors.rel -vectors_rel_SOURCES = vectors/align_h.S ../../powerpc/shared/vectors/vectors.S \ - ../../powerpc/shared/vectors/vectors_init.c +vectors_rel_SOURCES = vectors/align_h.S vectors_rel_CPPFLAGS = $(AM_CPPFLAGS) vectors_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) -include_bsp_HEADERS += ../../powerpc/shared/vectors/vectors.h +include_bsp_HEADERS += \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/vectors.h \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/irq_supp.h \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/ppc_exc_bspsupp.h if HAS_MP EXTRA_DIST += shmsupp/README @@ -99,6 +99,7 @@ libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \ ../../../libcpu/@RTEMS_CPU@/mpc6xx/clock.rel \ ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel \ + ../../../libcpu/@RTEMS_CPU@/@exceptions@/exc_bspsupport.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 9b8fe7cac3..560d882de4 100644 --- a/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c @@ -30,10 +30,6 @@ static void nop_func(){} * default isOn function */ static int not_connected() {return 0;} -/* - * default possible isOn function - */ -static int connected() {return 1;} static rtems_irq_connect_data rtemsIrq[BSP_IRQ_NUMBER]; static rtems_irq_global_settings initial_config; @@ -56,7 +52,6 @@ static rtems_irq_prio irqPrioTable[BSP_IRQ_NUMBER]={ */ void BSP_rtems_irq_mng_init(unsigned cpuId) { - rtems_raw_except_connect_data vectorDesc; int i; /* @@ -91,31 +86,6 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) ); } - /* - * 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"); #endif diff --git a/c/src/lib/libbsp/powerpc/psim/preinstall.am b/c/src/lib/libbsp/powerpc/psim/preinstall.am index a239dac949..0c96435c3d 100644 --- a/c/src/lib/libbsp/powerpc/psim/preinstall.am +++ b/c/src/lib/libbsp/powerpc/psim/preinstall.am @@ -69,11 +69,15 @@ $(PROJECT_INCLUDE)/bsp/irq.h: irq/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h +$(PROJECT_INCLUDE)/bsp/vectors.h: ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/vectors.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/vectors.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/vectors.h + $(PROJECT_INCLUDE)/bsp/irq_supp.h: ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/irq_supp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq_supp.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq_supp.h -$(PROJECT_INCLUDE)/bsp/vectors.h: ../../powerpc/shared/vectors/vectors.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/vectors.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/vectors.h +$(PROJECT_INCLUDE)/bsp/ppc_exc_bspsupp.h: ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/ppc_exc_bspsupp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ppc_exc_bspsupp.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ppc_exc_bspsupp.h |