]>
Commit | Line | Data |
---|---|---|
1a2fb1c0 BS |
1 | #define TCG_HELPER_PROTO |
2 | ||
3 | #ifndef TARGET_SPARC64 | |
4 | void TCG_HELPER_PROTO helper_rett(void); | |
5 | void TCG_HELPER_PROTO helper_wrpsr(target_ulong new_psr); | |
6 | target_ulong TCG_HELPER_PROTO helper_rdpsr(void); | |
7 | #else | |
8 | void TCG_HELPER_PROTO helper_wrpstate(target_ulong new_state); | |
9 | void TCG_HELPER_PROTO helper_done(void); | |
10 | void TCG_HELPER_PROTO helper_retry(void); | |
72a9747b BS |
11 | void TCG_HELPER_PROTO helper_flushw(void); |
12 | void TCG_HELPER_PROTO helper_saved(void); | |
13 | void TCG_HELPER_PROTO helper_restored(void); | |
d35527d9 BS |
14 | target_ulong TCG_HELPER_PROTO helper_rdccr(void); |
15 | void TCG_HELPER_PROTO helper_wrccr(target_ulong new_ccr); | |
16 | target_ulong TCG_HELPER_PROTO helper_rdcwp(void); | |
17 | void TCG_HELPER_PROTO helper_wrcwp(target_ulong new_cwp); | |
1f5063fb BS |
18 | target_ulong TCG_HELPER_PROTO helper_array8(target_ulong pixel_addr, |
19 | target_ulong cubesize); | |
20 | target_ulong TCG_HELPER_PROTO helper_alignaddr(target_ulong addr, | |
21 | target_ulong offset); | |
1a2fb1c0 BS |
22 | target_ulong TCG_HELPER_PROTO helper_popc(target_ulong val); |
23 | void TCG_HELPER_PROTO helper_ldf_asi(target_ulong addr, int asi, int size, | |
24 | int rd); | |
25 | void TCG_HELPER_PROTO helper_stf_asi(target_ulong addr, int asi, int size, | |
26 | int rd); | |
27 | target_ulong TCG_HELPER_PROTO | |
28 | helper_cas_asi(target_ulong addr, target_ulong val1, | |
29 | target_ulong val2, uint32_t asi); | |
30 | target_ulong TCG_HELPER_PROTO | |
31 | helper_casx_asi(target_ulong addr, target_ulong val1, | |
32 | target_ulong val2, uint32_t asi); | |
ccd4a219 BS |
33 | void TCG_HELPER_PROTO helper_tick_set_count(void *opaque, uint64_t count); |
34 | uint64_t TCG_HELPER_PROTO helper_tick_get_count(void *opaque); | |
35 | void TCG_HELPER_PROTO helper_tick_set_limit(void *opaque, uint64_t limit); | |
1a2fb1c0 BS |
36 | #endif |
37 | void TCG_HELPER_PROTO helper_trap(target_ulong nb_trap); | |
38 | void TCG_HELPER_PROTO helper_trapcc(target_ulong nb_trap, | |
39 | target_ulong do_trap); | |
2b29924f | 40 | void TCG_HELPER_PROTO helper_check_align(target_ulong addr, uint32_t align); |
1a2fb1c0 | 41 | void TCG_HELPER_PROTO helper_debug(void); |
72a9747b BS |
42 | void TCG_HELPER_PROTO helper_save(void); |
43 | void TCG_HELPER_PROTO helper_restore(void); | |
1a2fb1c0 | 44 | void TCG_HELPER_PROTO helper_flush(target_ulong addr); |
3b89f26c BS |
45 | target_ulong TCG_HELPER_PROTO helper_udiv(target_ulong a, target_ulong b); |
46 | target_ulong TCG_HELPER_PROTO helper_sdiv(target_ulong a, target_ulong b); | |
1a2fb1c0 | 47 | uint64_t TCG_HELPER_PROTO helper_pack64(target_ulong high, target_ulong low); |
7fa76c0b BS |
48 | void TCG_HELPER_PROTO helper_std_i386(target_ulong addr, int mem_idx); |
49 | void TCG_HELPER_PROTO helper_stdf(target_ulong addr, int mem_idx); | |
50 | void TCG_HELPER_PROTO helper_lddf(target_ulong addr, int mem_idx); | |
64a88d5d BS |
51 | void TCG_HELPER_PROTO helper_ldqf(target_ulong addr, int mem_idx); |
52 | void TCG_HELPER_PROTO helper_stqf(target_ulong addr, int mem_idx); | |
1a2fb1c0 BS |
53 | uint64_t TCG_HELPER_PROTO helper_ld_asi(target_ulong addr, int asi, |
54 | int size, int sign); | |
55 | void TCG_HELPER_PROTO helper_st_asi(target_ulong addr, uint64_t val, int asi, | |
56 | int size); | |
7e8c2b6c | 57 | void TCG_HELPER_PROTO helper_ldfsr(void); |
bb5529bb | 58 | void TCG_HELPER_PROTO helper_stfsr(void); |
7e8c2b6c BS |
59 | void TCG_HELPER_PROTO helper_check_ieee_exceptions(void); |
60 | void TCG_HELPER_PROTO helper_clear_float_exceptions(void); | |
61 | void TCG_HELPER_PROTO helper_fabss(void); | |
62 | void TCG_HELPER_PROTO helper_fsqrts(void); | |
63 | void TCG_HELPER_PROTO helper_fsqrtd(void); | |
64 | void TCG_HELPER_PROTO helper_fcmps(void); | |
65 | void TCG_HELPER_PROTO helper_fcmpd(void); | |
66 | void TCG_HELPER_PROTO helper_fcmpes(void); | |
67 | void TCG_HELPER_PROTO helper_fcmped(void); | |
7e8c2b6c BS |
68 | void TCG_HELPER_PROTO helper_fsqrtq(void); |
69 | void TCG_HELPER_PROTO helper_fcmpq(void); | |
70 | void TCG_HELPER_PROTO helper_fcmpeq(void); | |
7e8c2b6c BS |
71 | #ifdef TARGET_SPARC64 |
72 | void TCG_HELPER_PROTO helper_fabsd(void); | |
73 | void TCG_HELPER_PROTO helper_fcmps_fcc1(void); | |
74 | void TCG_HELPER_PROTO helper_fcmpd_fcc1(void); | |
75 | void TCG_HELPER_PROTO helper_fcmps_fcc2(void); | |
76 | void TCG_HELPER_PROTO helper_fcmpd_fcc2(void); | |
77 | void TCG_HELPER_PROTO helper_fcmps_fcc3(void); | |
78 | void TCG_HELPER_PROTO helper_fcmpd_fcc3(void); | |
79 | void TCG_HELPER_PROTO helper_fcmpes_fcc1(void); | |
80 | void TCG_HELPER_PROTO helper_fcmped_fcc1(void); | |
81 | void TCG_HELPER_PROTO helper_fcmpes_fcc2(void); | |
82 | void TCG_HELPER_PROTO helper_fcmped_fcc2(void); | |
83 | void TCG_HELPER_PROTO helper_fcmpes_fcc3(void); | |
84 | void TCG_HELPER_PROTO helper_fcmped_fcc3(void); | |
7e8c2b6c BS |
85 | void TCG_HELPER_PROTO helper_fabsq(void); |
86 | void TCG_HELPER_PROTO helper_fcmpq_fcc1(void); | |
87 | void TCG_HELPER_PROTO helper_fcmpq_fcc2(void); | |
88 | void TCG_HELPER_PROTO helper_fcmpq_fcc3(void); | |
89 | void TCG_HELPER_PROTO helper_fcmpeq_fcc1(void); | |
90 | void TCG_HELPER_PROTO helper_fcmpeq_fcc2(void); | |
91 | void TCG_HELPER_PROTO helper_fcmpeq_fcc3(void); | |
92 | #endif | |
134d77a1 | 93 | void TCG_HELPER_PROTO raise_exception(int tt); |
44e7757c | 94 | #define F_HELPER_0_0(name) void TCG_HELPER_PROTO helper_f ## name(void) |
44e7757c BS |
95 | #define F_HELPER_SDQ_0_0(name) \ |
96 | F_HELPER_0_0(name ## s); \ | |
97 | F_HELPER_0_0(name ## d); \ | |
98 | F_HELPER_0_0(name ## q) | |
44e7757c BS |
99 | |
100 | F_HELPER_SDQ_0_0(add); | |
101 | F_HELPER_SDQ_0_0(sub); | |
102 | F_HELPER_SDQ_0_0(mul); | |
103 | F_HELPER_SDQ_0_0(div); | |
104 | ||
105 | F_HELPER_0_0(smuld); | |
106 | F_HELPER_0_0(dmulq); | |
107 | ||
108 | F_HELPER_SDQ_0_0(neg); | |
109 | F_HELPER_SDQ_0_0(ito); | |
110 | #ifdef TARGET_SPARC64 | |
111 | F_HELPER_SDQ_0_0(xto); | |
112 | #endif | |
113 | F_HELPER_0_0(dtos); | |
114 | F_HELPER_0_0(stod); | |
44e7757c BS |
115 | F_HELPER_0_0(qtos); |
116 | F_HELPER_0_0(stoq); | |
117 | F_HELPER_0_0(qtod); | |
118 | F_HELPER_0_0(dtoq); | |
44e7757c BS |
119 | F_HELPER_0_0(stoi); |
120 | F_HELPER_0_0(dtoi); | |
44e7757c | 121 | F_HELPER_0_0(qtoi); |
44e7757c BS |
122 | #ifdef TARGET_SPARC64 |
123 | F_HELPER_0_0(stox); | |
124 | F_HELPER_0_0(dtox); | |
44e7757c | 125 | F_HELPER_0_0(qtox); |
44e7757c BS |
126 | F_HELPER_0_0(aligndata); |
127 | void TCG_HELPER_PROTO helper_movl_FT0_0(void); | |
128 | void TCG_HELPER_PROTO helper_movl_DT0_0(void); | |
129 | void TCG_HELPER_PROTO helper_movl_FT0_1(void); | |
130 | void TCG_HELPER_PROTO helper_movl_DT0_1(void); | |
131 | F_HELPER_0_0(not); | |
132 | F_HELPER_0_0(nots); | |
133 | F_HELPER_0_0(nor); | |
134 | F_HELPER_0_0(nors); | |
135 | F_HELPER_0_0(or); | |
136 | F_HELPER_0_0(ors); | |
137 | F_HELPER_0_0(xor); | |
138 | F_HELPER_0_0(xors); | |
139 | F_HELPER_0_0(and); | |
140 | F_HELPER_0_0(ands); | |
141 | F_HELPER_0_0(ornot); | |
142 | F_HELPER_0_0(ornots); | |
143 | F_HELPER_0_0(andnot); | |
144 | F_HELPER_0_0(andnots); | |
145 | F_HELPER_0_0(nand); | |
146 | F_HELPER_0_0(nands); | |
147 | F_HELPER_0_0(xnor); | |
148 | F_HELPER_0_0(xnors); | |
149 | F_HELPER_0_0(pmerge); | |
150 | F_HELPER_0_0(mul8x16); | |
151 | F_HELPER_0_0(mul8x16al); | |
152 | F_HELPER_0_0(mul8x16au); | |
153 | F_HELPER_0_0(mul8sux16); | |
154 | F_HELPER_0_0(mul8ulx16); | |
155 | F_HELPER_0_0(muld8sux16); | |
156 | F_HELPER_0_0(muld8ulx16); | |
157 | F_HELPER_0_0(expand); | |
158 | #define VIS_HELPER(name) \ | |
159 | F_HELPER_0_0(name##16); \ | |
160 | F_HELPER_0_0(name##16s); \ | |
161 | F_HELPER_0_0(name##32); \ | |
162 | F_HELPER_0_0(name##32s) | |
163 | ||
164 | VIS_HELPER(padd); | |
165 | VIS_HELPER(psub); | |
166 | #define VIS_CMPHELPER(name) \ | |
167 | F_HELPER_0_0(name##16); \ | |
168 | F_HELPER_0_0(name##32) | |
169 | VIS_CMPHELPER(cmpgt); | |
170 | VIS_CMPHELPER(cmpeq); | |
171 | VIS_CMPHELPER(cmple); | |
172 | VIS_CMPHELPER(cmpne); | |
173 | #endif | |
174 | #undef F_HELPER_0_0 | |
175 | #undef F_HELPER_SDQ_0_0 | |
176 | #undef VIS_HELPER | |
177 | #undef VIS_CMPHELPER | |
22548760 BS |
178 | |
179 | void cpu_lock(void); | |
180 | void cpu_unlock(void); | |
181 | void cpu_loop_exit(void); | |
182 | void set_cwp(int new_cwp); | |
22548760 BS |
183 | void memcpy32(target_ulong *dst, const target_ulong *src); |
184 | target_ulong mmu_probe(CPUState *env, target_ulong address, int mmulev); | |
185 | void dump_mmu(CPUState *env); |