RTEMS: cpukit/score/cpu/m68k/include/rtems/score/m68k.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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_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" )

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