Statistics
| Branch: | Revision:

root / softmmu_exec.h @ 79383c9c

History | View | Annotate | Download (2.3 kB)

1
/* Common softmmu definitions and inline routines.  */
2

    
3
/* XXX: find something cleaner.
4
 * Furthermore, this is false for 64 bits targets
5
 */
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
11

    
12
#include "softmmu_defs.h"
13

    
14
#define ACCESS_TYPE 0
15
#define MEMSUFFIX MMU_MODE0_SUFFIX
16
#define DATA_SIZE 1
17
#include "softmmu_header.h"
18

    
19
#define DATA_SIZE 2
20
#include "softmmu_header.h"
21

    
22
#define DATA_SIZE 4
23
#include "softmmu_header.h"
24

    
25
#define DATA_SIZE 8
26
#include "softmmu_header.h"
27
#undef ACCESS_TYPE
28
#undef MEMSUFFIX
29

    
30
#define ACCESS_TYPE 1
31
#define MEMSUFFIX MMU_MODE1_SUFFIX
32
#define DATA_SIZE 1
33
#include "softmmu_header.h"
34

    
35
#define DATA_SIZE 2
36
#include "softmmu_header.h"
37

    
38
#define DATA_SIZE 4
39
#include "softmmu_header.h"
40

    
41
#define DATA_SIZE 8
42
#include "softmmu_header.h"
43
#undef ACCESS_TYPE
44
#undef MEMSUFFIX
45

    
46
#if (NB_MMU_MODES >= 3)
47

    
48
#define ACCESS_TYPE 2
49
#define MEMSUFFIX MMU_MODE2_SUFFIX
50
#define DATA_SIZE 1
51
#include "softmmu_header.h"
52

    
53
#define DATA_SIZE 2
54
#include "softmmu_header.h"
55

    
56
#define DATA_SIZE 4
57
#include "softmmu_header.h"
58

    
59
#define DATA_SIZE 8
60
#include "softmmu_header.h"
61
#undef ACCESS_TYPE
62
#undef MEMSUFFIX
63

    
64
#if (NB_MMU_MODES >= 4)
65

    
66
#define ACCESS_TYPE 3
67
#define MEMSUFFIX MMU_MODE3_SUFFIX
68
#define DATA_SIZE 1
69
#include "softmmu_header.h"
70

    
71
#define DATA_SIZE 2
72
#include "softmmu_header.h"
73

    
74
#define DATA_SIZE 4
75
#include "softmmu_header.h"
76

    
77
#define DATA_SIZE 8
78
#include "softmmu_header.h"
79
#undef ACCESS_TYPE
80
#undef MEMSUFFIX
81

    
82
#if (NB_MMU_MODES > 4)
83
#error "NB_MMU_MODES > 4 is not supported for now"
84
#endif /* (NB_MMU_MODES > 4) */
85
#endif /* (NB_MMU_MODES == 4) */
86
#endif /* (NB_MMU_MODES >= 3) */
87

    
88
/* these access are slower, they must be as rare as possible */
89
#define ACCESS_TYPE (NB_MMU_MODES)
90
#define MEMSUFFIX _data
91
#define DATA_SIZE 1
92
#include "softmmu_header.h"
93

    
94
#define DATA_SIZE 2
95
#include "softmmu_header.h"
96

    
97
#define DATA_SIZE 4
98
#include "softmmu_header.h"
99

    
100
#define DATA_SIZE 8
101
#include "softmmu_header.h"
102
#undef ACCESS_TYPE
103
#undef MEMSUFFIX
104

    
105
#define ldub(p) ldub_data(p)
106
#define ldsb(p) ldsb_data(p)
107
#define lduw(p) lduw_data(p)
108
#define ldsw(p) ldsw_data(p)
109
#define ldl(p) ldl_data(p)
110
#define ldq(p) ldq_data(p)
111

    
112
#define stb(p, v) stb_data(p, v)
113
#define stw(p, v) stw_data(p, v)
114
#define stl(p, v) stl_data(p, v)
115
#define stq(p, v) stq_data(p, v)