RTEMS 6.1-rc2
Loading...
Searching...
No Matches
Macros
lm32.h File Reference

LM32 Set up Basic CPU Dependency Settings Based on Compiler Settings. More...

Go to the source code of this file.

Macros

#define CPU_NAME   "LM32"
 
#define lm32_read_interrupts(_ip)    __asm__ volatile ("rcsr %0, ip":"=r"(_ip));
 
#define lm32_disable_interrupts(_level)
 
#define lm32_enable_interrupts(_level)    __asm__ volatile ("wcsr ie,%0"::"r"(_level));
 
#define lm32_flash_interrupts(_level)
 
#define lm32_interrupt_unmask(_mask)
 
#define lm32_interrupt_mask(_mask)
 
#define lm32_interrupt_ack(_mask)
 

Detailed Description

LM32 Set up Basic CPU Dependency Settings Based on Compiler Settings.

This file sets up basic CPU dependency settings based on compiler settings. For example, it can determine if floating point is available. This particular implementation is specified to the NO CPU port.

Macro Definition Documentation

◆ lm32_disable_interrupts

#define lm32_disable_interrupts (   _level)
Value:
do { uint32_t ie; \
__asm__ volatile ("rcsr %0,ie":"=r"(ie)); \
(_level) = ie; \
ie &= (~0x0001); \
__asm__ volatile ("wcsr ie,%0"::"r"(ie)); \
} while (0)
unsigned ie
Definition: tte.h:3

◆ lm32_flash_interrupts

#define lm32_flash_interrupts (   _level)
Value:
do { uint32_t ie; \
__asm__ volatile ("wcsr ie,%0"::"r"(_level)); \
ie = (_level) & (~0x0001); \
__asm__ volatile ("wcsr ie,%0"::"r"(ie)); \
} while (0)

◆ lm32_interrupt_ack

#define lm32_interrupt_ack (   _mask)
Value:
do { uint32_t ip = _mask; \
__asm__ volatile ("wcsr ip,%0"::"r"(ip)); \
} while (0)

◆ lm32_interrupt_mask

#define lm32_interrupt_mask (   _mask)
Value:
do { uint32_t im; \
__asm__ volatile ("rcsr %0,im":"=r"(im)); \
im &= ~(_mask); \
__asm__ volatile ("wcsr im,%0"::"r"(im)); \
} while (0)

◆ lm32_interrupt_unmask

#define lm32_interrupt_unmask (   _mask)
Value:
do { uint32_t im; \
__asm__ volatile ("rcsr %0,im":"=r"(im)); \
im |= _mask; \
__asm__ volatile ("wcsr im,%0"::"r"(im)); \
} while (0)