From 76488aa308f780bc56be416158ebae08a4c2c4e8 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Fri, 23 Apr 2004 02:25:58 +0000 Subject: 2004-04-22 Ralf Corsepius * include/bsp.h: Split out tmtest27 support. * include/tm27.h: New. --- c/src/lib/libbsp/powerpc/dmv177/ChangeLog | 5 ++ c/src/lib/libbsp/powerpc/dmv177/include/bsp.h | 35 ------------ c/src/lib/libbsp/powerpc/dmv177/include/tm27.h | 53 ++++++++++++++++++ c/src/lib/libbsp/powerpc/eth_comm/ChangeLog | 5 ++ c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h | 14 ----- c/src/lib/libbsp/powerpc/eth_comm/include/tm27.h | 32 +++++++++++ c/src/lib/libbsp/powerpc/gen405/ChangeLog | 5 ++ c/src/lib/libbsp/powerpc/gen405/include/bsp.h | 14 ----- c/src/lib/libbsp/powerpc/gen405/include/tm27.h | 32 +++++++++++ c/src/lib/libbsp/powerpc/helas403/ChangeLog | 5 ++ c/src/lib/libbsp/powerpc/helas403/include/bsp.h | 14 ----- c/src/lib/libbsp/powerpc/helas403/include/tm27.h | 32 +++++++++++ c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog | 5 ++ c/src/lib/libbsp/powerpc/mbx8xx/include/bsp.h | 14 ----- c/src/lib/libbsp/powerpc/mbx8xx/include/tm27.h | 32 +++++++++++ .../lib/libbsp/powerpc/motorola_powerpc/ChangeLog | 5 ++ .../libbsp/powerpc/motorola_powerpc/include/bsp.h | 47 ---------------- .../libbsp/powerpc/motorola_powerpc/include/tm27.h | 65 ++++++++++++++++++++++ 18 files changed, 276 insertions(+), 138 deletions(-) create mode 100644 c/src/lib/libbsp/powerpc/dmv177/include/tm27.h create mode 100644 c/src/lib/libbsp/powerpc/eth_comm/include/tm27.h create mode 100644 c/src/lib/libbsp/powerpc/gen405/include/tm27.h create mode 100644 c/src/lib/libbsp/powerpc/helas403/include/tm27.h create mode 100644 c/src/lib/libbsp/powerpc/mbx8xx/include/tm27.h create mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/include/tm27.h (limited to 'c') diff --git a/c/src/lib/libbsp/powerpc/dmv177/ChangeLog b/c/src/lib/libbsp/powerpc/dmv177/ChangeLog index 4597360a6b..743250d644 100644 --- a/c/src/lib/libbsp/powerpc/dmv177/ChangeLog +++ b/c/src/lib/libbsp/powerpc/dmv177/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + 2004-04-21 Ralf Corsepius PR 613/bsps diff --git a/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h b/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h index 58e192407a..21cfc26dd5 100644 --- a/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h @@ -64,41 +64,6 @@ int rtems_dmv177_sonic_driver_attach(struct rtems_bsdnet_ifconfig *config); #define Z8530_Baud( _frequency, _clock_by, _baud_rate ) \ ( (_frequency /( _clock_by * 2 * _baud_rate)) - 2) -/* - * Stuff for Time Test 27 - */ - -#define MUST_WAIT_FOR_INTERRUPT 1 - -#define Install_tm27_vector( _handler ) \ - set_vector( (_handler), PPC_IRQ_DECREMENTER, 1 ) - -#define Cause_tm27_intr() \ - do { \ - uint32_t _clicks = 1; \ - asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ - } while (0) - -#define Clear_tm27_intr() \ - do { \ - uint32_t _clicks = 0xffffffff; \ - uint32_t _msr = 0; \ - _ISR_Set_level( 0 ); \ - asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ - _msr &= ~0x8000; \ - asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ - asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ - } while (0) - -#define Lower_tm27_intr() \ - do { \ - uint32_t _msr = 0; \ - _ISR_Set_level( 0 ); \ - asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ - _msr |= 0x8002; \ - asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ - } while (0) - /* Constants */ /* diff --git a/c/src/lib/libbsp/powerpc/dmv177/include/tm27.h b/c/src/lib/libbsp/powerpc/dmv177/include/tm27.h new file mode 100644 index 0000000000..8d9c45f128 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/dmv177/include/tm27.h @@ -0,0 +1,53 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Stuff for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 1 + +#define Install_tm27_vector( _handler ) \ + set_vector( (_handler), PPC_IRQ_DECREMENTER, 1 ) + +#define Cause_tm27_intr() \ + do { \ + uint32_t _clicks = 1; \ + asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ + } while (0) + +#define Clear_tm27_intr() \ + do { \ + uint32_t _clicks = 0xffffffff; \ + uint32_t _msr = 0; \ + _ISR_Set_level( 0 ); \ + asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + _msr &= ~0x8000; \ + asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ + } while (0) + +#define Lower_tm27_intr() \ + do { \ + uint32_t _msr = 0; \ + _ISR_Set_level( 0 ); \ + asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + _msr |= 0x8002; \ + asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + } while (0) + +#endif diff --git a/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog b/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog index 58b37c370f..012a3ff59e 100644 --- a/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog +++ b/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + 2004-04-21 Ralf Corsepius PR 613/bsps diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h b/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h index fe43e173d5..f852c51b67 100644 --- a/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h @@ -56,20 +56,6 @@ extern int rtems_enet_driver_attach (struct rtems_bsdnet_ifconfig *config); */ #define NOCACHE_MEM_SIZE 512*1024 -/* - * Stuff for Time Test 27 - */ - -#define MUST_WAIT_FOR_INTERRUPT 0 - -#define Install_tm27_vector( handler ) /* set_vector( (handler), PPC_IRQ_SCALL, 1 ) */ - -#define Cause_tm27_intr() asm volatile ("sc") - -#define Clear_tm27_intr() - -#define Lower_tm27_intr() - /* Constants */ #define RAM_START 0 diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/tm27.h b/c/src/lib/libbsp/powerpc/eth_comm/include/tm27.h new file mode 100644 index 0000000000..57135ff852 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/eth_comm/include/tm27.h @@ -0,0 +1,32 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Stuff for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 0 + +#define Install_tm27_vector( handler ) /* set_vector( (handler), PPC_IRQ_SCALL, 1 ) */ + +#define Cause_tm27_intr() asm volatile ("sc") + +#define Clear_tm27_intr() + +#define Lower_tm27_intr() + +#endif diff --git a/c/src/lib/libbsp/powerpc/gen405/ChangeLog b/c/src/lib/libbsp/powerpc/gen405/ChangeLog index ac08ebb27b..371513cdab 100644 --- a/c/src/lib/libbsp/powerpc/gen405/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen405/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + 2004-04-21 Ralf Corsepius PR 613/bsps diff --git a/c/src/lib/libbsp/powerpc/gen405/include/bsp.h b/c/src/lib/libbsp/powerpc/gen405/include/bsp.h index 2e2f8def2d..6f21df01c8 100644 --- a/c/src/lib/libbsp/powerpc/gen405/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/gen405/include/bsp.h @@ -69,20 +69,6 @@ extern "C" { #include #include -/* - * Stuff for Time Test 27 - */ - -#define MUST_WAIT_FOR_INTERRUPT 0 - -#define Install_tm27_vector( handler ) set_vector( (handler), PPC_IRQ_SCALL, 1 ) - -#define Cause_tm27_intr() asm volatile ("sc") - -#define Clear_tm27_intr() - -#define Lower_tm27_intr() - /* Constants */ #define RAM_START 0 diff --git a/c/src/lib/libbsp/powerpc/gen405/include/tm27.h b/c/src/lib/libbsp/powerpc/gen405/include/tm27.h new file mode 100644 index 0000000000..6e6eadd0bb --- /dev/null +++ b/c/src/lib/libbsp/powerpc/gen405/include/tm27.h @@ -0,0 +1,32 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Stuff for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 0 + +#define Install_tm27_vector( handler ) set_vector( (handler), PPC_IRQ_SCALL, 1 ) + +#define Cause_tm27_intr() asm volatile ("sc") + +#define Clear_tm27_intr() + +#define Lower_tm27_intr() + +#endif diff --git a/c/src/lib/libbsp/powerpc/helas403/ChangeLog b/c/src/lib/libbsp/powerpc/helas403/ChangeLog index 9344012ff4..a702deb6bd 100644 --- a/c/src/lib/libbsp/powerpc/helas403/ChangeLog +++ b/c/src/lib/libbsp/powerpc/helas403/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + 2004-04-21 Ralf Corsepius PR 613/bsps diff --git a/c/src/lib/libbsp/powerpc/helas403/include/bsp.h b/c/src/lib/libbsp/powerpc/helas403/include/bsp.h index ed9d5e0cc7..96e5b747b8 100644 --- a/c/src/lib/libbsp/powerpc/helas403/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/helas403/include/bsp.h @@ -66,20 +66,6 @@ extern "C" { #include #include -/* - * Stuff for Time Test 27 - */ - -#define MUST_WAIT_FOR_INTERRUPT 0 - -#define Install_tm27_vector( handler ) set_vector( (handler), PPC_IRQ_SCALL, 1 ) - -#define Cause_tm27_intr() asm volatile ("sc") - -#define Clear_tm27_intr() - -#define Lower_tm27_intr() - /* Constants */ #define RAM_START 0 diff --git a/c/src/lib/libbsp/powerpc/helas403/include/tm27.h b/c/src/lib/libbsp/powerpc/helas403/include/tm27.h new file mode 100644 index 0000000000..6e6eadd0bb --- /dev/null +++ b/c/src/lib/libbsp/powerpc/helas403/include/tm27.h @@ -0,0 +1,32 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Stuff for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 0 + +#define Install_tm27_vector( handler ) set_vector( (handler), PPC_IRQ_SCALL, 1 ) + +#define Cause_tm27_intr() asm volatile ("sc") + +#define Clear_tm27_intr() + +#define Lower_tm27_intr() + +#endif diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog index 7cc9a6aaa4..2a8110f5f5 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + 2004-04-21 Ralf Corsepius PR 613/bsps diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/include/bsp.h b/c/src/lib/libbsp/powerpc/mbx8xx/include/bsp.h index 4292b0d838..f5d4345f69 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/mbx8xx/include/bsp.h @@ -69,20 +69,6 @@ extern int rtems_enet_driver_attach (struct rtems_bsdnet_ifconfig *config, int a */ #define NOCACHE_MEM_SIZE 512*1024 -/* - * Stuff for Time Test 27 - */ - -#define MUST_WAIT_FOR_INTERRUPT 0 - -#define Install_tm27_vector( handler ) /* set_vector( (handler), 0, 1 ) */ - -#define Cause_tm27_intr() - -#define Clear_tm27_intr() - -#define Lower_tm27_intr() - /* miscellaneous stuff assumed to exist */ extern rtems_configuration_table BSP_Configuration; diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/include/tm27.h b/c/src/lib/libbsp/powerpc/mbx8xx/include/tm27.h new file mode 100644 index 0000000000..15ef907c68 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mbx8xx/include/tm27.h @@ -0,0 +1,32 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Stuff for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 0 + +#define Install_tm27_vector( handler ) /* set_vector( (handler), 0, 1 ) */ + +#define Cause_tm27_intr() + +#define Clear_tm27_intr() + +#define Lower_tm27_intr() + +#endif diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog index b30f4d7689..4e98f545c4 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + 2004-04-01 Ralf Corsepius * include/bsp.h: Include instead of . diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h b/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h index c2abd385a5..dc7b0d3b91 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h @@ -104,53 +104,6 @@ extern int BSP_connect_clock_handler (void); */ extern unsigned long _BSP_clear_hostbridge_errors(int enableMCP, int quiet); -/* - * TM27 stuff - */ - -#if defined(USE_ENHANCED_INTR_API) && defined(RTEMS_TM27) - -#include - -#define MUST_WAIT_FOR_INTERRUPT 1 - -void nullFunc() {} -static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER, - 0, - (rtems_irq_enable)nullFunc, - (rtems_irq_disable)nullFunc, - (rtems_irq_is_enabled) nullFunc}; -void Install_tm27_vector(void (*_handler)()) -{ - clockIrqData.hdl = _handler; - if (!BSP_install_rtems_irq_handler (&clockIrqData)) { - printk("Error installing clock interrupt handler!\n"); - rtems_fatal_error_occurred(1); - } -} - -#define Cause_tm27_intr() \ - do { \ - uint32_t _clicks = 8; \ - asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ - } while (0) - -#define Clear_tm27_intr() \ - do { \ - uint32_t _clicks = 0xffffffff; \ - asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ - } while (0) - -#define Lower_tm27_intr() \ - do { \ - uint32_t _msr = 0; \ - _ISR_Set_level( 0 ); \ - asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ - _msr |= 0x8002; \ - asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ - } while (0) -#endif - #endif #endif diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/include/tm27.h b/c/src/lib/libbsp/powerpc/motorola_powerpc/include/tm27.h new file mode 100644 index 0000000000..7e03122cae --- /dev/null +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/include/tm27.h @@ -0,0 +1,65 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Stuff for Time Test 27 + */ + +#if defined(USE_ENHANCED_INTR_API) + +#include + +#define MUST_WAIT_FOR_INTERRUPT 1 + +void nullFunc() {} +static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER, + 0, + (rtems_irq_enable)nullFunc, + (rtems_irq_disable)nullFunc, + (rtems_irq_is_enabled) nullFunc}; +void Install_tm27_vector(void (*_handler)()) +{ + clockIrqData.hdl = _handler; + if (!BSP_install_rtems_irq_handler (&clockIrqData)) { + printk("Error installing clock interrupt handler!\n"); + rtems_fatal_error_occurred(1); + } +} + +#define Cause_tm27_intr() \ + do { \ + uint32_t _clicks = 8; \ + asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ + } while (0) + +#define Clear_tm27_intr() \ + do { \ + uint32_t _clicks = 0xffffffff; \ + asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ + } while (0) + +#define Lower_tm27_intr() \ + do { \ + uint32_t _msr = 0; \ + _ISR_Set_level( 0 ); \ + asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + _msr |= 0x8002; \ + asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + } while (0) +#endif + +#endif -- cgit v1.2.3