blob: 51068017440e08832783d735195e156551db2afa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
/*
* @file
* @ingroup powerpc_ss555
* @brief Implementations for interrupt mechanisms for Time Test 27
*/
/*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
#ifndef _RTEMS_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
*
* The following require that IRQ7 be jumpered to ground. On the SS555,
* this can be done by shorting together CN5 pin 48 and CN5 pin 50.
*/
#define MUST_WAIT_FOR_INTERRUPT 1
#define Install_tm27_vector( handler ) \
{ \
extern rtems_irq_connect_data tm27IrqData; \
usiu.siel |= (1 << 17); \
usiu.sipend |= (1 << 17); \
\
tm27IrqData.hdl = (rtems_irq_hdl)handler; \
BSP_install_rtems_irq_handler (&tm27IrqData); \
}
#define Cause_tm27_intr() \
{ \
usiu.siel &= ~(1 << 17); \
}
#define Clear_tm27_intr() \
{ \
usiu.siel |= (1 << 17); \
usiu.sipend |= (1 << 17); \
}
#define Lower_tm27_intr() \
{ \
ppc_cached_irq_mask |= (1 << 17); \
usiu.simask = ppc_cached_irq_mask; \
}
#endif
|