Statistics
| Branch: | Revision:

root / softmmu_exec.h @ a74cdab4

History | View | Annotate | Download (3 kB)

1 a9049a07 bellard
/* Common softmmu definitions and inline routines.  */
2 a9049a07 bellard
3 6ebbf390 j_mayer
/* XXX: find something cleaner.
4 6ebbf390 j_mayer
 * Furthermore, this is false for 64 bits targets
5 6ebbf390 j_mayer
 */
6 6ebbf390 j_mayer
#define ldul_user       ldl_user
7 6ebbf390 j_mayer
#define ldul_kernel     ldl_kernel
8 6ebbf390 j_mayer
#define ldul_hypv       ldl_hypv
9 6ebbf390 j_mayer
#define ldul_executive  ldl_executive
10 6ebbf390 j_mayer
#define ldul_supervisor ldl_supervisor
11 a9049a07 bellard
12 79383c9c blueswir1
#include "softmmu_defs.h"
13 79383c9c blueswir1
14 a9049a07 bellard
#define ACCESS_TYPE 0
15 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE0_SUFFIX
16 a9049a07 bellard
#define DATA_SIZE 1
17 a9049a07 bellard
#include "softmmu_header.h"
18 a9049a07 bellard
19 a9049a07 bellard
#define DATA_SIZE 2
20 a9049a07 bellard
#include "softmmu_header.h"
21 a9049a07 bellard
22 a9049a07 bellard
#define DATA_SIZE 4
23 a9049a07 bellard
#include "softmmu_header.h"
24 a9049a07 bellard
25 a9049a07 bellard
#define DATA_SIZE 8
26 a9049a07 bellard
#include "softmmu_header.h"
27 a9049a07 bellard
#undef ACCESS_TYPE
28 a9049a07 bellard
#undef MEMSUFFIX
29 a9049a07 bellard
30 a9049a07 bellard
#define ACCESS_TYPE 1
31 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE1_SUFFIX
32 a9049a07 bellard
#define DATA_SIZE 1
33 a9049a07 bellard
#include "softmmu_header.h"
34 a9049a07 bellard
35 a9049a07 bellard
#define DATA_SIZE 2
36 a9049a07 bellard
#include "softmmu_header.h"
37 a9049a07 bellard
38 a9049a07 bellard
#define DATA_SIZE 4
39 a9049a07 bellard
#include "softmmu_header.h"
40 a9049a07 bellard
41 a9049a07 bellard
#define DATA_SIZE 8
42 a9049a07 bellard
#include "softmmu_header.h"
43 a9049a07 bellard
#undef ACCESS_TYPE
44 a9049a07 bellard
#undef MEMSUFFIX
45 a9049a07 bellard
46 6ebbf390 j_mayer
#if (NB_MMU_MODES >= 3)
47 6ebbf390 j_mayer
48 a9049a07 bellard
#define ACCESS_TYPE 2
49 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE2_SUFFIX
50 6ebbf390 j_mayer
#define DATA_SIZE 1
51 6ebbf390 j_mayer
#include "softmmu_header.h"
52 6ebbf390 j_mayer
53 6ebbf390 j_mayer
#define DATA_SIZE 2
54 6ebbf390 j_mayer
#include "softmmu_header.h"
55 6ebbf390 j_mayer
56 6ebbf390 j_mayer
#define DATA_SIZE 4
57 6ebbf390 j_mayer
#include "softmmu_header.h"
58 6ebbf390 j_mayer
59 6ebbf390 j_mayer
#define DATA_SIZE 8
60 6ebbf390 j_mayer
#include "softmmu_header.h"
61 6ebbf390 j_mayer
#undef ACCESS_TYPE
62 6ebbf390 j_mayer
#undef MEMSUFFIX
63 e37e6ee6 aurel32
#endif /* (NB_MMU_MODES >= 3) */
64 6ebbf390 j_mayer
65 6ebbf390 j_mayer
#if (NB_MMU_MODES >= 4)
66 6ebbf390 j_mayer
67 6ebbf390 j_mayer
#define ACCESS_TYPE 3
68 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE3_SUFFIX
69 6ebbf390 j_mayer
#define DATA_SIZE 1
70 6ebbf390 j_mayer
#include "softmmu_header.h"
71 6ebbf390 j_mayer
72 6ebbf390 j_mayer
#define DATA_SIZE 2
73 6ebbf390 j_mayer
#include "softmmu_header.h"
74 6ebbf390 j_mayer
75 6ebbf390 j_mayer
#define DATA_SIZE 4
76 6ebbf390 j_mayer
#include "softmmu_header.h"
77 6ebbf390 j_mayer
78 6ebbf390 j_mayer
#define DATA_SIZE 8
79 6ebbf390 j_mayer
#include "softmmu_header.h"
80 6ebbf390 j_mayer
#undef ACCESS_TYPE
81 6ebbf390 j_mayer
#undef MEMSUFFIX
82 e37e6ee6 aurel32
#endif /* (NB_MMU_MODES >= 4) */
83 6ebbf390 j_mayer
84 e37e6ee6 aurel32
#if (NB_MMU_MODES >= 5)
85 e37e6ee6 aurel32
86 e37e6ee6 aurel32
#define ACCESS_TYPE 4
87 e37e6ee6 aurel32
#define MEMSUFFIX MMU_MODE4_SUFFIX
88 e37e6ee6 aurel32
#define DATA_SIZE 1
89 e37e6ee6 aurel32
#include "softmmu_header.h"
90 e37e6ee6 aurel32
91 e37e6ee6 aurel32
#define DATA_SIZE 2
92 e37e6ee6 aurel32
#include "softmmu_header.h"
93 e37e6ee6 aurel32
94 e37e6ee6 aurel32
#define DATA_SIZE 4
95 e37e6ee6 aurel32
#include "softmmu_header.h"
96 e37e6ee6 aurel32
97 e37e6ee6 aurel32
#define DATA_SIZE 8
98 e37e6ee6 aurel32
#include "softmmu_header.h"
99 e37e6ee6 aurel32
#undef ACCESS_TYPE
100 e37e6ee6 aurel32
#undef MEMSUFFIX
101 e37e6ee6 aurel32
#endif /* (NB_MMU_MODES >= 5) */
102 e37e6ee6 aurel32
103 2065061e Igor V. Kovalenko
#if (NB_MMU_MODES >= 6)
104 2065061e Igor V. Kovalenko
105 2065061e Igor V. Kovalenko
#define ACCESS_TYPE 5
106 2065061e Igor V. Kovalenko
#define MEMSUFFIX MMU_MODE5_SUFFIX
107 2065061e Igor V. Kovalenko
#define DATA_SIZE 1
108 2065061e Igor V. Kovalenko
#include "softmmu_header.h"
109 2065061e Igor V. Kovalenko
110 2065061e Igor V. Kovalenko
#define DATA_SIZE 2
111 2065061e Igor V. Kovalenko
#include "softmmu_header.h"
112 2065061e Igor V. Kovalenko
113 2065061e Igor V. Kovalenko
#define DATA_SIZE 4
114 2065061e Igor V. Kovalenko
#include "softmmu_header.h"
115 2065061e Igor V. Kovalenko
116 2065061e Igor V. Kovalenko
#define DATA_SIZE 8
117 2065061e Igor V. Kovalenko
#include "softmmu_header.h"
118 2065061e Igor V. Kovalenko
#undef ACCESS_TYPE
119 2065061e Igor V. Kovalenko
#undef MEMSUFFIX
120 2065061e Igor V. Kovalenko
#endif /* (NB_MMU_MODES >= 6) */
121 2065061e Igor V. Kovalenko
122 2065061e Igor V. Kovalenko
#if (NB_MMU_MODES > 6)
123 2065061e Igor V. Kovalenko
#error "NB_MMU_MODES > 6 is not supported for now"
124 2065061e Igor V. Kovalenko
#endif /* (NB_MMU_MODES > 6) */
125 6ebbf390 j_mayer
126 6ebbf390 j_mayer
/* these access are slower, they must be as rare as possible */
127 6ebbf390 j_mayer
#define ACCESS_TYPE (NB_MMU_MODES)
128 a9049a07 bellard
#define MEMSUFFIX _data
129 a9049a07 bellard
#define DATA_SIZE 1
130 a9049a07 bellard
#include "softmmu_header.h"
131 a9049a07 bellard
132 a9049a07 bellard
#define DATA_SIZE 2
133 a9049a07 bellard
#include "softmmu_header.h"
134 a9049a07 bellard
135 a9049a07 bellard
#define DATA_SIZE 4
136 a9049a07 bellard
#include "softmmu_header.h"
137 a9049a07 bellard
138 a9049a07 bellard
#define DATA_SIZE 8
139 a9049a07 bellard
#include "softmmu_header.h"
140 a9049a07 bellard
#undef ACCESS_TYPE
141 a9049a07 bellard
#undef MEMSUFFIX
142 a9049a07 bellard
143 a9049a07 bellard
#define ldub(p) ldub_data(p)
144 a9049a07 bellard
#define ldsb(p) ldsb_data(p)
145 a9049a07 bellard
#define lduw(p) lduw_data(p)
146 a9049a07 bellard
#define ldsw(p) ldsw_data(p)
147 a9049a07 bellard
#define ldl(p) ldl_data(p)
148 a9049a07 bellard
#define ldq(p) ldq_data(p)
149 a9049a07 bellard
150 a9049a07 bellard
#define stb(p, v) stb_data(p, v)
151 a9049a07 bellard
#define stw(p, v) stw_data(p, v)
152 a9049a07 bellard
#define stl(p, v) stl_data(p, v)
153 a9049a07 bellard
#define stq(p, v) stq_data(p, v)