35#ifndef _RTEMS_TMTEST27
36#error "This is an RTEMS internal file you must not include directly."
50#define ERC32_BSP_USE_SYNCHRONOUS_TRAP 0
56#if (ERC32_BSP_USE_SYNCHRONOUS_TRAP == 1)
58#define TEST_VECTOR SPARC_SYNCHRONOUS_TRAP( 0x90 )
60#define MUST_WAIT_FOR_INTERRUPT 1
62#define TM27_USE_VECTOR_HANDLER
64#define Install_tm27_vector( handler ) \
65 rtems_interrupt_handler_install( \
67 "test tm27 interrupt", \
68 RTEMS_INTERRUPT_UNIQUE, \
72 SPARC_Clear_and_unmask_interrupt(TEST_VECTOR);
74#define Cause_tm27_intr() \
75 __asm__ volatile( "ta 0x10; nop " );
77#define Clear_tm27_intr()
79#define Lower_tm27_intr()
87#define TEST_INTERRUPT_SOURCE ERC32_INTERRUPT_EXTERNAL_1
88#define TEST_INTERRUPT_SOURCE2 (ERC32_INTERRUPT_EXTERNAL_1+1)
90#define MUST_WAIT_FOR_INTERRUPT 1
95 TEST_INTERRUPT_SOURCE,
102 TEST_INTERRUPT_SOURCE2,
110#define Cause_tm27_intr() \
112 ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1) ); \
118#define Clear_tm27_intr() \
119 ERC32_Clear_interrupt( TEST_INTERRUPT_SOURCE )
121#define Lower_tm27_intr()
rtems_status_code rtems_interrupt_handler_install(rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler routine, void *arg)
Installs the interrupt handler routine and argument at the interrupt vector.
Definition: irq-handler-install.c:85
#define RTEMS_INTERRUPT_SHARED
This interrupt handler install option allows that the interrupt handler may share the interrupt vecto...
Definition: intr.h:960
void(* rtems_interrupt_handler)(void *)
Interrupt handler routines shall have this type.
Definition: intr.h:1030