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 set_vector( (handler), TEST_VECTOR, 1 );
74#define Cause_tm27_intr() \
75 __asm__ volatile( "ta 0x10; nop " );
77#define Clear_tm27_intr()
79#define Lower_tm27_intr()
87extern uint32_t Interrupt_nest;
89#define TEST_INTERRUPT_SOURCE 5
90#define TEST_INTERRUPT_SOURCE2 6
91#define MUST_WAIT_FOR_INTERRUPT 1
92#define TM27_INTERRUPT_VECTOR_DEFAULT TEST_INTERRUPT_SOURCE
101 TEST_INTERRUPT_SOURCE,
102 _SMP_Get_online_processors()
105 TEST_INTERRUPT_SOURCE2,
106 _SMP_Get_online_processors()
110 rtems_interrupt_entry_initialize(
117 TEST_INTERRUPT_SOURCE,
121 rtems_interrupt_entry_initialize(
128 TEST_INTERRUPT_SOURCE2,
134static inline void Cause_tm27_intr(
void )
138 vector = TEST_INTERRUPT_SOURCE + ( Interrupt_nest >> 1 );
139#if defined(RTEMS_SMP)
149static inline void Clear_tm27_intr(
void )
154#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:406
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