 |
RTEMS 5.2
|
Go to the documentation of this file.
21#ifndef _RTEMS_SCORE_V850_H
22#define _RTEMS_SCORE_V850_H
40#if defined(rtems_multilib)
45#define CPU_MODEL_NAME "rtems_multilib"
47#define V850_HAS_BYTE_SWAP_INSTRUCTION 0
49#elif defined(__v850e2v3__)
50#define CPU_MODEL_NAME "v850e2v3"
52#define V850_HAS_BYTE_SWAP_INSTRUCTION 1
54#elif defined(__v850e2__)
55#define CPU_MODEL_NAME "v850e2"
57#define V850_HAS_BYTE_SWAP_INSTRUCTION 1
59#elif defined(__v850es__)
60#define CPU_MODEL_NAME "v850es"
62#define V850_HAS_BYTE_SWAP_INSTRUCTION 1
64#elif defined(__v850e1__)
65#define CPU_MODEL_NAME "v850e1"
67#define V850_HAS_BYTE_SWAP_INSTRUCTION 1
69#elif defined(__v850e__)
70#define CPU_MODEL_NAME "v850e"
72#define V850_HAS_BYTE_SWAP_INSTRUCTION 1
75#define CPU_MODEL_NAME "v850"
77#define V850_HAS_BYTE_SWAP_INSTRUCTION 0
84#define CPU_NAME "v850 CPU"
89#define v850_set_psw( _psw ) \
90 __asm__ __volatile__( "ldsr %0, psw" : : "r" (_psw) )
95#define v850_get_psw( _psw ) \
96 __asm__ __volatile__( "stsr psw, %0" : "=&r" (_psw) )
101#define V850_PSW_ZERO_MASK 0x01
102#define V850_PSW_IS_ZERO 0x01
103#define V850_PSW_IS_NOT 0x00
105#define V850_PSW_SIGN_MASK 0x02
106#define V850_PSW_SIGN_IS_NEGATIVE 0x02
107#define V850_PSW_SIGN_IS_ZERO_OR_POSITIVE 0x00
109#define V850_PSW_OVERFLOW_MASK 0x02
110#define V850_PSW_OVERFLOW_OCCURRED 0x02
111#define V850_PSW_OVERFLOW_DID_NOT_OCCUR 0x00
113#define V850_PSW_CARRY_OR_BORROW_MASK 0x04
114#define V850_PSW_CARRY_OR_BORROW_OCCURRED 0x04
115#define V850_PSW_CARRY_OR_BORROW_DID_NOT_OCCUR 0x00
117#define V850_PSW_SATURATION_MASK 0x10
118#define V850_PSW_SATURATION_OCCURRED 0x10
119#define V850_PSW_SATURATION_DID_NOT_OCCUR 0x00
121#define V850_PSW_INTERRUPT_DISABLE_MASK 0x20
122#define V850_PSW_INTERRUPT_DISABLE 0x20
123#define V850_PSW_INTERRUPT_ENABLE 0x00
125#define V850_PSW_EXCEPTION_IN_PROCESS_MASK 0x40
126#define V850_PSW_EXCEPTION_IN_PROCESS 0x40
127#define V850_PSW_EXCEPTION_NOT_IN_PROCESS 0x00
129#define V850_PSW_NMI_IN_PROCESS_MASK 0x80
130#define V850_PSW_NMI_IN_PROCESS 0x80
131#define V850_PSW_NMI_NOT_IN_PROCESS 0x00