RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
tm27.h
1/*
2 * @file
3 * @ingroup powerpc_ss555
4 * @brief Implementations for interrupt mechanisms for Time Test 27
5 */
6
7/*
8 * The license and distribution terms for this file may be
9 * found in the file LICENSE in this distribution or at
10 * http://www.rtems.org/license/LICENSE.
11 */
12
13#ifndef _RTEMS_TMTEST27
14#error "This is an RTEMS internal file you must not include directly."
15#endif
16
17#ifndef __tm27_h
18#define __tm27_h
19
20/*
21 * Stuff for Time Test 27
22 *
23 * The following require that IRQ7 be jumpered to ground. On the SS555,
24 * this can be done by shorting together CN5 pin 48 and CN5 pin 50.
25 */
26
27#define MUST_WAIT_FOR_INTERRUPT 1
28
29#define Install_tm27_vector( handler ) \
30{ \
31 extern rtems_irq_connect_data tm27IrqData; \
32 usiu.siel |= (1 << 17); \
33 usiu.sipend |= (1 << 17); \
34 \
35 tm27IrqData.hdl = (rtems_irq_hdl)handler; \
36 BSP_install_rtems_irq_handler (&tm27IrqData); \
37}
38
39#define Cause_tm27_intr() \
40{ \
41 usiu.siel &= ~(1 << 17); \
42}
43
44#define Clear_tm27_intr() \
45{ \
46 usiu.siel |= (1 << 17); \
47 usiu.sipend |= (1 << 17); \
48}
49
50#define Lower_tm27_intr() \
51{ \
52 ppc_cached_irq_mask |= (1 << 17); \
53 usiu.simask = ppc_cached_irq_mask; \
54}
55
56#endif