Statistics
| Branch: | Revision:

root / softmmu_exec.h @ a36b1029

History | View | Annotate | Download (2.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 6ebbf390 j_mayer
64 6ebbf390 j_mayer
#if (NB_MMU_MODES >= 4)
65 6ebbf390 j_mayer
66 6ebbf390 j_mayer
#define ACCESS_TYPE 3
67 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE3_SUFFIX
68 6ebbf390 j_mayer
#define DATA_SIZE 1
69 6ebbf390 j_mayer
#include "softmmu_header.h"
70 6ebbf390 j_mayer
71 6ebbf390 j_mayer
#define DATA_SIZE 2
72 6ebbf390 j_mayer
#include "softmmu_header.h"
73 6ebbf390 j_mayer
74 6ebbf390 j_mayer
#define DATA_SIZE 4
75 6ebbf390 j_mayer
#include "softmmu_header.h"
76 6ebbf390 j_mayer
77 6ebbf390 j_mayer
#define DATA_SIZE 8
78 6ebbf390 j_mayer
#include "softmmu_header.h"
79 6ebbf390 j_mayer
#undef ACCESS_TYPE
80 6ebbf390 j_mayer
#undef MEMSUFFIX
81 6ebbf390 j_mayer
82 6ebbf390 j_mayer
#if (NB_MMU_MODES > 4)
83 6ebbf390 j_mayer
#error "NB_MMU_MODES > 4 is not supported for now"
84 6ebbf390 j_mayer
#endif /* (NB_MMU_MODES > 4) */
85 6ebbf390 j_mayer
#endif /* (NB_MMU_MODES == 4) */
86 6ebbf390 j_mayer
#endif /* (NB_MMU_MODES >= 3) */
87 6ebbf390 j_mayer
88 6ebbf390 j_mayer
/* these access are slower, they must be as rare as possible */
89 6ebbf390 j_mayer
#define ACCESS_TYPE (NB_MMU_MODES)
90 a9049a07 bellard
#define MEMSUFFIX _data
91 a9049a07 bellard
#define DATA_SIZE 1
92 a9049a07 bellard
#include "softmmu_header.h"
93 a9049a07 bellard
94 a9049a07 bellard
#define DATA_SIZE 2
95 a9049a07 bellard
#include "softmmu_header.h"
96 a9049a07 bellard
97 a9049a07 bellard
#define DATA_SIZE 4
98 a9049a07 bellard
#include "softmmu_header.h"
99 a9049a07 bellard
100 a9049a07 bellard
#define DATA_SIZE 8
101 a9049a07 bellard
#include "softmmu_header.h"
102 a9049a07 bellard
#undef ACCESS_TYPE
103 a9049a07 bellard
#undef MEMSUFFIX
104 a9049a07 bellard
105 a9049a07 bellard
#define ldub(p) ldub_data(p)
106 a9049a07 bellard
#define ldsb(p) ldsb_data(p)
107 a9049a07 bellard
#define lduw(p) lduw_data(p)
108 a9049a07 bellard
#define ldsw(p) ldsw_data(p)
109 a9049a07 bellard
#define ldl(p) ldl_data(p)
110 a9049a07 bellard
#define ldq(p) ldq_data(p)
111 a9049a07 bellard
112 a9049a07 bellard
#define stb(p, v) stb_data(p, v)
113 a9049a07 bellard
#define stw(p, v) stw_data(p, v)
114 a9049a07 bellard
#define stl(p, v) stl_data(p, v)
115 a9049a07 bellard
#define stq(p, v) stq_data(p, v)