Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
#ifndef _ONOFF_COMMON_H
2
#define _ONOFF_COMMON_H
3
/* onoff_common.h */
4
/*****************************************************************************/
5
/* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
6
/*                                                                           */
7
/* AS-Port                                                                   */
8
/*                                                                           */
9
/* ON/OFF flags used by several targets                                      */
10
/*                                                                           */
11
/*****************************************************************************/
12
 
13
#define FPUAvailName     "HASFPU"     /* FPU-Befehle erlaubt */
14
#define PMMUAvailName    "HASPMMU"    /* PMMU-Befehle erlaubt */
15
#define FullPMMUName     "FULLPMMU"
16
#define MaxModeSymName    "INMAXMODE"  /* CPU in maximum mode */
17
#define MaxModeCmdName    "MAXMODE"
18
#define SrcModeCmdName    "SRCMODE"
19
#define SrcModeSymName    "INSRCMODE"  /* CPU im Quellcode-kompatiblen Modus */
20
#define ExtModeCmdName    "EXTMODE"
21
#define ExtModeSymName    "INEXTMODE"
22
#define LWordModeCmdName  "LWORDMODE"
23
#define LWordModeSymName  "INLWORDMODE"
24
#define DSPCmdName        "DSP"
25
#define DSPSymName        "HASDSP"
26
#define CustomAvailCmdName "CUSTOM"
27
#define CustomAvailSymName "CUSTOM"
28
#define BranchExtCmdName  "BRANCHEXT"
29
#define BranchExtSymName  "BRANCHEXT"
30
 
31
extern Boolean FPUAvail,
32
               PMMUAvail,
33
               SupAllowed,
34
               MaxMode,
35
               CompMode,
36
               TargetBigEndian,
37
               DoPadding,
38
               Packing;
39
 
40
/* NOTE: will have to switch this to #define as soon as
41
   everything up to 2**15 is used up - 16 bit compilers
42
   silently limit enums to int range */
43
 
44
enum
45
{
46
  e_onoff_reg_fpu = 1 << 0,
47
  e_onoff_reg_pmmu = 1 << 1,
48
  e_onoff_reg_custom = 1 << 2,
49
  e_onoff_reg_supmode = 1 << 3,
50
  e_onoff_reg_maxmode = 1 << 4,
51
  e_onoff_reg_extmode = 1 << 5,
52
  e_onoff_reg_srcmode = 1 << 6,
53
  e_onoff_reg_compmode = 1 << 7,
54
  e_onoff_reg_lwordmode = 1 << 8,
55
  e_onoff_reg_fullpmmu = 1 << 9,
56
  e_onoff_reg_dsp = 1 << 10,
57
  e_onoff_reg_packing = 1 << 11,
58
  e_onoff_reg_bigendian = 1 << 12,
59
  e_onoff_reg_branchext = 1 << 13,
60
  e_onoff_reg_z80syntax = 1 << 14
61
};
62
 
63
extern unsigned onoff_test_and_set(unsigned mask);
64
 
65
extern void onoff_fpu_add(void);
66
extern void onoff_pmmu_add(void);
67
extern void onoff_supmode_add(void);
68
extern void onoff_maxmode_add(void);
69
extern void onoff_compmode_add(void);
70
extern void onoff_bigendian_add(void);
71
extern void onoff_packing_add(Boolean def_value);
72
 
73
extern void onoff_common_init(void);
74
 
75
#endif /* _ONOFF_COMMON_H */