RTEMS CPU Kit with SuperCore  4.11.3
m32c.h
Go to the documentation of this file.
1 
12 /*
13  * COPYRIGHT (c) 1989-1999.
14  * On-Line Applications Research Corporation (OAR).
15  *
16  * The license and distribution terms for this file may be
17  * found in the file LICENSE in this distribution or at
18  * http://www.rtems.org/license/LICENSE.
19  */
20 
21 #ifndef _RTEMS_SCORE_NO_CPU_H
22 #define _RTEMS_SCORE_NO_CPU_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /*
29  * This file contains the information required to build
30  * RTEMS for a particular member of the NO CPU family.
31  * It does this by setting variables to indicate which
32  * implementation dependent features are present in a particular
33  * member of the family.
34  *
35  * This is a good place to list all the known CPU models
36  * that this port supports and which RTEMS CPU model they correspond
37  * to.
38  */
39 
40 #if defined(rtems_multilib)
41 /*
42  * Figure out all CPU Model Feature Flags based upon compiler
43  * predefines.
44  */
45 
46 #define CPU_MODEL_NAME "rtems_multilib"
47 #define NOCPU_HAS_FPU 1
48 
49 #elif defined(__m32c__)
50 
51 #define CPU_MODEL_NAME "m32c"
52 #define M32C_HAS_FPU 0
53 
54 #else
55 
56 #error "Unsupported CPU Model"
57 
58 #endif
59 
60 /*
61  * Define the name of the CPU family.
62  */
63 
64 #define CPU_NAME "m32c"
65 
66 #define m32c_get_flg( _flg ) \
67  __asm__ volatile( "stc flg, %0" : "=r" (_flg))
68 
69 #define m32c_set_flg( _flg ) \
70  __asm__ volatile( "ldc %1, flg" : "=r" (_flg) : "r" (_flg) )
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* _RTEMS_SCORE_NO_CPU_H */