1 /* Common softmmu definitions and inline routines. */
3 /* XXX: find something cleaner.
4 * Furthermore, this is false for 64 bits targets
6 #define ldul_user ldl_user
7 #define ldul_kernel ldl_kernel
8 #define ldul_hypv ldl_hypv
9 #define ldul_executive ldl_executive
10 #define ldul_supervisor ldl_supervisor
13 #define MEMSUFFIX MMU_MODE0_SUFFIX
15 #include "softmmu_header.h"
18 #include "softmmu_header.h"
21 #include "softmmu_header.h"
24 #include "softmmu_header.h"
29 #define MEMSUFFIX MMU_MODE1_SUFFIX
31 #include "softmmu_header.h"
34 #include "softmmu_header.h"
37 #include "softmmu_header.h"
40 #include "softmmu_header.h"
44 #if (NB_MMU_MODES >= 3)
47 #define MEMSUFFIX MMU_MODE2_SUFFIX
49 #include "softmmu_header.h"
52 #include "softmmu_header.h"
55 #include "softmmu_header.h"
58 #include "softmmu_header.h"
62 #if (NB_MMU_MODES >= 4)
65 #define MEMSUFFIX MMU_MODE3_SUFFIX
67 #include "softmmu_header.h"
70 #include "softmmu_header.h"
73 #include "softmmu_header.h"
76 #include "softmmu_header.h"
80 #if (NB_MMU_MODES > 4)
81 #error "NB_MMU_MODES > 4 is not supported for now"
82 #endif /* (NB_MMU_MODES > 4) */
83 #endif /* (NB_MMU_MODES == 4) */
84 #endif /* (NB_MMU_MODES >= 3) */
86 /* these access are slower, they must be as rare as possible */
87 #define ACCESS_TYPE (NB_MMU_MODES)
88 #define MEMSUFFIX _data
90 #include "softmmu_header.h"
93 #include "softmmu_header.h"
96 #include "softmmu_header.h"
99 #include "softmmu_header.h"
103 #define ldub(p) ldub_data(p)
104 #define ldsb(p) ldsb_data(p)
105 #define lduw(p) lduw_data(p)
106 #define ldsw(p) ldsw_data(p)
107 #define ldl(p) ldl_data(p)
108 #define ldq(p) ldq_data(p)
110 #define stb(p, v) stb_data(p, v)
111 #define stw(p, v) stw_data(p, v)
112 #define stl(p, v) stl_data(p, v)
113 #define stq(p, v) stq_data(p, v)