VirtualBox

source: vbox/trunk/src/recompiler/softmmu_exec.h@ 36140

Last change on this file since 36140 was 36140, checked in by vboxsync, 14 years ago

rem: Re-synced to svn://svn.savannah.nongnu.org/qemu/trunk@5495 (repo UUID c046a42c-6fe2-441c-8c8c-71466251a162).

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1/* Common softmmu definitions and inline routines. */
2
3#define ldul_user ldl_user
4#define ldul_kernel ldl_kernel
5#define ldul_hypv ldl_hypv
6#define ldul_executive ldl_executive
7#define ldul_supervisor ldl_supervisor
8
9#include "softmmu_defs.h"
10
11#define ACCESS_TYPE 0
12#define MEMSUFFIX MMU_MODE0_SUFFIX
13#define DATA_SIZE 1
14#include "softmmu_header.h"
15
16#define DATA_SIZE 2
17#include "softmmu_header.h"
18
19#define DATA_SIZE 4
20#include "softmmu_header.h"
21
22#define DATA_SIZE 8
23#include "softmmu_header.h"
24#undef ACCESS_TYPE
25#undef MEMSUFFIX
26
27#define ACCESS_TYPE 1
28#define MEMSUFFIX MMU_MODE1_SUFFIX
29#define DATA_SIZE 1
30#include "softmmu_header.h"
31
32#define DATA_SIZE 2
33#include "softmmu_header.h"
34
35#define DATA_SIZE 4
36#include "softmmu_header.h"
37
38#define DATA_SIZE 8
39#include "softmmu_header.h"
40#undef ACCESS_TYPE
41#undef MEMSUFFIX
42
43#if (NB_MMU_MODES >= 3)
44
45#define ACCESS_TYPE 2
46#define MEMSUFFIX MMU_MODE2_SUFFIX
47#define DATA_SIZE 1
48#include "softmmu_header.h"
49
50#define DATA_SIZE 2
51#include "softmmu_header.h"
52
53#define DATA_SIZE 4
54#include "softmmu_header.h"
55
56#define DATA_SIZE 8
57#include "softmmu_header.h"
58#undef ACCESS_TYPE
59#undef MEMSUFFIX
60
61#if (NB_MMU_MODES >= 4)
62
63#define ACCESS_TYPE 3
64#define MEMSUFFIX MMU_MODE3_SUFFIX
65#define DATA_SIZE 1
66#include "softmmu_header.h"
67
68#define DATA_SIZE 2
69#include "softmmu_header.h"
70
71#define DATA_SIZE 4
72#include "softmmu_header.h"
73
74#define DATA_SIZE 8
75#include "softmmu_header.h"
76#undef ACCESS_TYPE
77#undef MEMSUFFIX
78
79#if (NB_MMU_MODES > 4)
80#error "NB_MMU_MODES > 4 is not supported for now"
81#endif /* (NB_MMU_MODES > 4) */
82#endif /* (NB_MMU_MODES == 4) */
83#endif /* (NB_MMU_MODES >= 3) */
84
85/* these access are slower, they must be as rare as possible */
86#define ACCESS_TYPE (NB_MMU_MODES)
87#define MEMSUFFIX _data
88#define DATA_SIZE 1
89#include "softmmu_header.h"
90
91#define DATA_SIZE 2
92#include "softmmu_header.h"
93
94#define DATA_SIZE 4
95#include "softmmu_header.h"
96
97#define DATA_SIZE 8
98#include "softmmu_header.h"
99#undef ACCESS_TYPE
100#undef MEMSUFFIX
101
102#define ldub(p) ldub_data(p)
103#define ldsb(p) ldsb_data(p)
104#define lduw(p) lduw_data(p)
105#define ldsw(p) ldsw_data(p)
106#define ldl(p) ldl_data(p)
107#define ldq(p) ldq_data(p)
108
109#define stb(p, v) stb_data(p, v)
110#define stw(p, v) stw_data(p, v)
111#define stl(p, v) stl_data(p, v)
112#define stq(p, v) stq_data(p, v)
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette