RTEMS  5.1
Macros | Functions | Variables
nios2-thread-dispatch-disabled.c File Reference

NIOS II Specific Thread Dispatch Disabled Indicator. More...

#include <rtems/score/cpu.h>
#include <rtems/score/nios2-utility.h>

Macros

#define NIOS2_ASSERT_OFFSET(field, off)
 

Functions

 NIOS2_ASSERT_OFFSET (r16, R16)
 
 NIOS2_ASSERT_OFFSET (r17, R17)
 
 NIOS2_ASSERT_OFFSET (r18, R18)
 
 NIOS2_ASSERT_OFFSET (r19, R19)
 
 NIOS2_ASSERT_OFFSET (r20, R20)
 
 NIOS2_ASSERT_OFFSET (r21, R21)
 
 NIOS2_ASSERT_OFFSET (r22, R22)
 
 NIOS2_ASSERT_OFFSET (r23, R23)
 
 NIOS2_ASSERT_OFFSET (fp, FP)
 
 NIOS2_ASSERT_OFFSET (status, STATUS)
 
 NIOS2_ASSERT_OFFSET (sp, SP)
 
 NIOS2_ASSERT_OFFSET (ra, RA)
 
 NIOS2_ASSERT_OFFSET (thread_dispatch_disabled, THREAD_DISPATCH_DISABLED)
 
 NIOS2_ASSERT_OFFSET (stack_mpubase, STACK_MPUBASE)
 
 NIOS2_ASSERT_OFFSET (stack_mpuacc, STACK_MPUACC)
 

Variables

uint32_t _Nios2_Thread_dispatch_disabled
 Nios II specific thread dispatch disabled indicator. More...
 

Detailed Description

NIOS II Specific Thread Dispatch Disabled Indicator.

Macro Definition Documentation

◆ NIOS2_ASSERT_OFFSET

#define NIOS2_ASSERT_OFFSET (   field,
  off 
)
Value:
RTEMS_STATIC_ASSERT( \
offsetof(Context_Control, field) == NIOS2_CONTEXT_OFFSET_ ## off, \
nios2_context_offset_ ## field \
)
Thread register context.
Definition: cpu.h:194

Variable Documentation

◆ _Nios2_Thread_dispatch_disabled

uint32_t _Nios2_Thread_dispatch_disabled

Nios II specific thread dispatch disabled indicator.

This global variable is used by the interrupt dispatch support for the external interrupt controller (EIC) with shadow registers. This makes it possible to do the thread dispatch after an interrupt without disabled interrupts and thus probably reduce the maximum interrupt latency. Its purpose is to prevent unbounded stack usage of the interrupted thread.