Statistics
| Branch: | Revision:

root / softmmu_exec.h @ 579a97f7

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 a9049a07 bellard
#define ACCESS_TYPE 0
13 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE0_SUFFIX
14 a9049a07 bellard
#define DATA_SIZE 1
15 a9049a07 bellard
#include "softmmu_header.h"
16 a9049a07 bellard
17 a9049a07 bellard
#define DATA_SIZE 2
18 a9049a07 bellard
#include "softmmu_header.h"
19 a9049a07 bellard
20 a9049a07 bellard
#define DATA_SIZE 4
21 a9049a07 bellard
#include "softmmu_header.h"
22 a9049a07 bellard
23 a9049a07 bellard
#define DATA_SIZE 8
24 a9049a07 bellard
#include "softmmu_header.h"
25 a9049a07 bellard
#undef ACCESS_TYPE
26 a9049a07 bellard
#undef MEMSUFFIX
27 a9049a07 bellard
28 a9049a07 bellard
#define ACCESS_TYPE 1
29 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE1_SUFFIX
30 a9049a07 bellard
#define DATA_SIZE 1
31 a9049a07 bellard
#include "softmmu_header.h"
32 a9049a07 bellard
33 a9049a07 bellard
#define DATA_SIZE 2
34 a9049a07 bellard
#include "softmmu_header.h"
35 a9049a07 bellard
36 a9049a07 bellard
#define DATA_SIZE 4
37 a9049a07 bellard
#include "softmmu_header.h"
38 a9049a07 bellard
39 a9049a07 bellard
#define DATA_SIZE 8
40 a9049a07 bellard
#include "softmmu_header.h"
41 a9049a07 bellard
#undef ACCESS_TYPE
42 a9049a07 bellard
#undef MEMSUFFIX
43 a9049a07 bellard
44 6ebbf390 j_mayer
#if (NB_MMU_MODES >= 3)
45 6ebbf390 j_mayer
46 a9049a07 bellard
#define ACCESS_TYPE 2
47 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE2_SUFFIX
48 6ebbf390 j_mayer
#define DATA_SIZE 1
49 6ebbf390 j_mayer
#include "softmmu_header.h"
50 6ebbf390 j_mayer
51 6ebbf390 j_mayer
#define DATA_SIZE 2
52 6ebbf390 j_mayer
#include "softmmu_header.h"
53 6ebbf390 j_mayer
54 6ebbf390 j_mayer
#define DATA_SIZE 4
55 6ebbf390 j_mayer
#include "softmmu_header.h"
56 6ebbf390 j_mayer
57 6ebbf390 j_mayer
#define DATA_SIZE 8
58 6ebbf390 j_mayer
#include "softmmu_header.h"
59 6ebbf390 j_mayer
#undef ACCESS_TYPE
60 6ebbf390 j_mayer
#undef MEMSUFFIX
61 6ebbf390 j_mayer
62 6ebbf390 j_mayer
#if (NB_MMU_MODES >= 4)
63 6ebbf390 j_mayer
64 6ebbf390 j_mayer
#define ACCESS_TYPE 3
65 6ebbf390 j_mayer
#define MEMSUFFIX MMU_MODE3_SUFFIX
66 6ebbf390 j_mayer
#define DATA_SIZE 1
67 6ebbf390 j_mayer
#include "softmmu_header.h"
68 6ebbf390 j_mayer
69 6ebbf390 j_mayer
#define DATA_SIZE 2
70 6ebbf390 j_mayer
#include "softmmu_header.h"
71 6ebbf390 j_mayer
72 6ebbf390 j_mayer
#define DATA_SIZE 4
73 6ebbf390 j_mayer
#include "softmmu_header.h"
74 6ebbf390 j_mayer
75 6ebbf390 j_mayer
#define DATA_SIZE 8
76 6ebbf390 j_mayer
#include "softmmu_header.h"
77 6ebbf390 j_mayer
#undef ACCESS_TYPE
78 6ebbf390 j_mayer
#undef MEMSUFFIX
79 6ebbf390 j_mayer
80 6ebbf390 j_mayer
#if (NB_MMU_MODES > 4)
81 6ebbf390 j_mayer
#error "NB_MMU_MODES > 4 is not supported for now"
82 6ebbf390 j_mayer
#endif /* (NB_MMU_MODES > 4) */
83 6ebbf390 j_mayer
#endif /* (NB_MMU_MODES == 4) */
84 6ebbf390 j_mayer
#endif /* (NB_MMU_MODES >= 3) */
85 6ebbf390 j_mayer
86 6ebbf390 j_mayer
/* these access are slower, they must be as rare as possible */
87 6ebbf390 j_mayer
#define ACCESS_TYPE (NB_MMU_MODES)
88 a9049a07 bellard
#define MEMSUFFIX _data
89 a9049a07 bellard
#define DATA_SIZE 1
90 a9049a07 bellard
#include "softmmu_header.h"
91 a9049a07 bellard
92 a9049a07 bellard
#define DATA_SIZE 2
93 a9049a07 bellard
#include "softmmu_header.h"
94 a9049a07 bellard
95 a9049a07 bellard
#define DATA_SIZE 4
96 a9049a07 bellard
#include "softmmu_header.h"
97 a9049a07 bellard
98 a9049a07 bellard
#define DATA_SIZE 8
99 a9049a07 bellard
#include "softmmu_header.h"
100 a9049a07 bellard
#undef ACCESS_TYPE
101 a9049a07 bellard
#undef MEMSUFFIX
102 a9049a07 bellard
103 a9049a07 bellard
#define ldub(p) ldub_data(p)
104 a9049a07 bellard
#define ldsb(p) ldsb_data(p)
105 a9049a07 bellard
#define lduw(p) lduw_data(p)
106 a9049a07 bellard
#define ldsw(p) ldsw_data(p)
107 a9049a07 bellard
#define ldl(p) ldl_data(p)
108 a9049a07 bellard
#define ldq(p) ldq_data(p)
109 a9049a07 bellard
110 a9049a07 bellard
#define stb(p, v) stb_data(p, v)
111 a9049a07 bellard
#define stw(p, v) stw_data(p, v)
112 a9049a07 bellard
#define stl(p, v) stl_data(p, v)
113 a9049a07 bellard
#define stq(p, v) stq_data(p, v)