RTEMS 6.3
Loading...
Searching...
No Matches
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)
#define m68k_flash_interrupts(_level)
#define m68k_get_interrupt_level(_level)
#define m68k_set_interrupt_level(_newlevel)
#define m68k_get_vbr(_vbr)
#define m68k_set_vbr(_vbr)
#define m68k_set_cacr(_cacr)
#define m68k_set_acr0(_acr0)
#define m68k_set_acr1(_acr1)
#define CPU_swap_u32(value)
#define CPU_swap_u16(value)

Detailed Description

Motorola M68K CPU Dependent Source.

Macro Definition Documentation

◆ CPU_swap_u16

#define CPU_swap_u16 ( value)
Value:
m68k_swap_u16( value )

◆ CPU_swap_u32

#define CPU_swap_u32 ( value)
Value:
m68k_swap_u32( value )

◆ m68k_disable_interrupts

#define m68k_disable_interrupts ( _level)
Value:
__asm__ volatile ( "move.w %%sr,%0\n\t" \
"or.w #0x0700,%%sr" \
: "=d" (_level) \
: : "cc" )

◆ m68k_enable_interrupts

#define m68k_enable_interrupts ( _level)
Value:
__asm__ volatile ( "move.w %0,%%sr " : : "d" (_level) : "cc");

◆ m68k_flash_interrupts

#define m68k_flash_interrupts ( _level)
Value:
__asm__ volatile ( "move.w %0,%%sr\n\t" \
"or.w #0x0700,%%sr" \
: : "d" (_level) \
: "cc" )

◆ 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_get_vbr

#define m68k_get_vbr ( _vbr)
Value:
_vbr = (void *)_VBR

◆ m68k_set_acr0

#define m68k_set_acr0 ( _acr0)
Value:
__asm__ volatile ("movec %0,%%acr0" : : "d" (_acr0))

◆ m68k_set_acr1

#define m68k_set_acr1 ( _acr1)
Value:
__asm__ volatile ("movec %0,%%acr1" : : "d" (_acr1))

◆ m68k_set_cacr

#define m68k_set_cacr ( _cacr)
Value:
__asm__ volatile ("movec %0,%%cacr" : : "d" (_cacr))

◆ 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)