From 36ba3fc4d1c48db08568e35f67bb5f8c436626cf Mon Sep 17 00:00:00 2001 From: Till Straumann Date: Wed, 23 Jul 2008 06:54:18 +0000 Subject: [PATCH] 2008-07-22 Till Straumann * irq/irq_init.c, include/bsp.h: define BSP_PPC403_CLOCK_HOOK_EXCEPTION so that we hook the timer exception rather than going through the interrupt dispatcher. --- c/src/lib/libbsp/powerpc/virtex/ChangeLog | 7 +++++++ c/src/lib/libbsp/powerpc/virtex/include/bsp.h | 3 ++- c/src/lib/libbsp/powerpc/virtex/irq/irq_init.c | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/powerpc/virtex/ChangeLog b/c/src/lib/libbsp/powerpc/virtex/ChangeLog index 642ca98261..29c86eee5b 100644 --- a/c/src/lib/libbsp/powerpc/virtex/ChangeLog +++ b/c/src/lib/libbsp/powerpc/virtex/ChangeLog @@ -1,3 +1,10 @@ +2008-07-22 Till Straumann + + * irq/irq_init.c, include/bsp.h: + define BSP_PPC403_CLOCK_HOOK_EXCEPTION + so that we hook the timer exception rather than going + through the interrupt dispatcher. + 2008-07-21 Till Straumann * startup/bspstart.c: Removed MSR_CE from interrupt diff --git a/c/src/lib/libbsp/powerpc/virtex/include/bsp.h b/c/src/lib/libbsp/powerpc/virtex/include/bsp.h index 607996b325..1984bfb024 100644 --- a/c/src/lib/libbsp/powerpc/virtex/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/virtex/include/bsp.h @@ -62,7 +62,6 @@ extern "C" { #include #include - /* Constants */ extern uint32_t _HeapSize; @@ -82,6 +81,8 @@ extern uint32_t _top_of_ram; extern xilTemac_driver_attach(struct rtems_bsdnet_ifconfig*, int ); #define RTEMS_BSP_NETWORK_DRIVER_ATTACH xilTemac_driver_attach +#define BSP_PPC403_CLOCK_HOOK_EXCEPTION ASM_BOOKE_DEC_VECTOR + /* * Device Driver Table Entries */ diff --git a/c/src/lib/libbsp/powerpc/virtex/irq/irq_init.c b/c/src/lib/libbsp/powerpc/virtex/irq/irq_init.c index bdee4a21c1..e50c09e90d 100644 --- a/c/src/lib/libbsp/powerpc/virtex/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/virtex/irq/irq_init.c @@ -99,10 +99,12 @@ int C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum) case ASM_EXT_VECTOR: BSP_irq_handle_at_opbintc(); break; +#if 0 /* We now let the clock driver hook the exception directly */ case ASM_BOOKE_DEC_VECTOR: BSP_rtems_irq_tbl[BSP_PIT].hdl (BSP_rtems_irq_tbl[BSP_PIT].handle); break; +#endif #if 0 /* Critical interrupts not yet supported */ case ASM_BOOKE_CRIT_VECTOR: break;