35#ifndef _RTEMS_TMTEST27
36#error "This is an RTEMS internal file you must not include directly."
57#define SIS_USE_SYNCHRONOUS_TRAP 0
63#if (SIS_USE_SYNCHRONOUS_TRAP == 1)
65#define TEST_VECTOR SPARC_SYNCHRONOUS_TRAP( 0x90 )
67#define MUST_WAIT_FOR_INTERRUPT 1
69#define TM27_USE_VECTOR_HANDLER
71#define Install_tm27_vector( handler ) \
72 rtems_interrupt_handler_install( \
74 "test tm27 interrupt", \
75 RTEMS_INTERRUPT_UNIQUE, \
79 SPARC_Clear_and_unmask_interrupt(TEST_VECTOR);
81#define Cause_tm27_intr() \
82 __asm__ volatile( "ta 0x10; nop " );
84#define Clear_tm27_intr()
86#define Lower_tm27_intr()
94extern uint32_t Interrupt_nest;
96#define TEST_INTERRUPT_SOURCE 5
97#define TEST_INTERRUPT_SOURCE2 6
98#define MUST_WAIT_FOR_INTERRUPT 1
99#define TM27_INTERRUPT_VECTOR_DEFAULT TEST_INTERRUPT_SOURCE
106#if defined(RTEMS_SMP)
108 TEST_INTERRUPT_SOURCE,
109 _SMP_Get_online_processors()
112 TEST_INTERRUPT_SOURCE2,
113 _SMP_Get_online_processors()
117 rtems_interrupt_entry_initialize(
124 TEST_INTERRUPT_SOURCE,
128 rtems_interrupt_entry_initialize(
135 TEST_INTERRUPT_SOURCE2,
141static inline void Cause_tm27_intr(
void )
145 vector = TEST_INTERRUPT_SOURCE + ( Interrupt_nest >> 1 );
146#if defined(RTEMS_SMP)
156static inline void Clear_tm27_intr(
void )
161#define Lower_tm27_intr()
This header file evaluates configuration options related to the BSP configuration.
rtems_status_code rtems_interrupt_entry_install(rtems_vector_number vector, rtems_option options, rtems_interrupt_entry *entry)
Installs the interrupt entry at the interrupt vector.
Definition: irq-generic.c:264
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
#define RTEMS_INTERRUPT_SHARED
This interrupt handler install option allows that the interrupt handler may share the interrupt vecto...
Definition: intr.h:960
rtems_status_code rtems_interrupt_raise_on(rtems_vector_number vector, uint32_t cpu_index)
Raises the interrupt vector on the processor.
Definition: irq-raise-clear.c:68
rtems_status_code rtems_interrupt_raise(rtems_vector_number vector)
Raises the interrupt vector.
Definition: irq-raise-clear.c:59
void(* rtems_interrupt_handler)(void *)
Interrupt handler routines shall have this type.
Definition: intr.h:1030
rtems_status_code rtems_interrupt_clear(rtems_vector_number vector)
Clears the interrupt vector.
Definition: irq-raise-clear.c:92
#define rtems_scheduler_get_processor()
Returns the index of the current processor.
Definition: scheduler.h:372
rtems_status_code bsp_interrupt_set_affinity(rtems_vector_number vector, const Processor_mask *affinity)
Sets the processor affinity set of the interrupt vector.
Definition: irq.c:407
This header file provides interfaces of the Interrupt Manager implementation.
This header file provides interfaces of the SMP Support which are only used by the implementation.
#define nop()
Definition: sparc.h:281
This structure represents an interrupt entry.
Definition: intr.h:1070