RTEMS  5.1
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros
m68k.h File Reference

Motorola M68K CPU Dependent Source. More...

Go to the source code of this file.

Macros

#define CPU_NAME   "Motorola MC68xxx"
 
#define M68K_CPU_STACK_MINIMUM_SIZE   4096
 
#define M68K_CPU_STACK_MINIMUM_SIZE   4096
 
#define M68K_CPU_PRIORITY_MAXIMUM   255
 
#define M68K_COLDFIRE_ARCH   0
 
#define m68k_disable_interrupts(_level)
 
#define m68k_enable_interrupts(_level)   __asm__ volatile ( "move.w %0,%%sr " : : "d" (_level) : "cc");
 
#define m68k_flash_interrupts(_level)
 
#define m68k_get_interrupt_level(_level)
 
#define m68k_set_interrupt_level(_newlevel)
 
#define m68k_get_vbr(_vbr)   _vbr = (void *)_VBR
 
#define m68k_set_vbr(_vbr)
 
#define m68k_set_cacr(_cacr)   __asm__ volatile ("movec %0,%%cacr" : : "d" (_cacr))
 
#define m68k_set_acr0(_acr0)   __asm__ volatile ("movec %0,%%acr0" : : "d" (_acr0))
 
#define m68k_set_acr1(_acr1)   __asm__ volatile ("movec %0,%%acr1" : : "d" (_acr1))
 
#define CPU_swap_u32(value)   m68k_swap_u32( value )
 
#define CPU_swap_u16(value)   m68k_swap_u16( value )
 

Detailed Description

Motorola M68K CPU Dependent Source.

Macro Definition Documentation

◆ m68k_disable_interrupts

#define m68k_disable_interrupts (   _level)
Value:
__asm__ volatile ( "move.w %%sr,%0\n\t" \
"or.w #0x0700,%%sr" \
: "=d" (_level) \
: : "cc" )
register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__("g6")
The pointer to the current per-CPU control is available via register g6.

◆ m68k_flash_interrupts

#define m68k_flash_interrupts (   _level)
Value:
__asm__ volatile ( "move.w %0,%%sr\n\t" \
"or.w #0x0700,%%sr" \
: : "d" (_level) \
: "cc" )
register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__("g6")
The pointer to the current per-CPU control is available via register g6.

◆ m68k_get_interrupt_level

#define m68k_get_interrupt_level (   _level)
Value:
do { \
uint32_t _tmpsr; \
\
__asm__ volatile( "move.w %%sr,%0" : "=d" (_tmpsr)); \
_level = (_tmpsr & 0x0700) >> 8; \
} while (0)

◆ m68k_set_interrupt_level

#define m68k_set_interrupt_level (   _newlevel)
Value:
do { \
uint32_t _tmpsr; \
\
__asm__ volatile( "move.w %%sr,%0" : "=d" (_tmpsr)); \
_tmpsr = (_tmpsr & 0xf8ff) | ((_newlevel) << 8); \
__asm__ volatile( "move.w %0,%%sr" : : "d" (_tmpsr)); \
} while (0)