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

| RTEMS 5.4-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)
ie
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)