25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: cpu_arm_instr_loadstore.c,v 1.8 2005/10/05 21:17:32 debug Exp $ |
* $Id: cpu_arm_instr_loadstore.c,v 1.9 2005/10/09 21:32:07 debug Exp $ |
29 |
* |
* |
30 |
* |
* |
31 |
* TODO: Many things... |
* TODO: Many things... |
63 |
#else |
#else |
64 |
const int memory_rw_flags = CACHE_DATA; |
const int memory_rw_flags = CACHE_DATA; |
65 |
#endif |
#endif |
66 |
|
#ifdef A__REG |
67 |
|
uint32_t (*reg_func)(struct cpu *, struct arm_instr_call *) |
68 |
|
= (void *)(size_t)ic->arg[1]; |
69 |
|
#endif |
70 |
#ifdef A__B |
#ifdef A__B |
71 |
unsigned char data[1]; |
unsigned char data[1]; |
72 |
#else |
#else |
81 |
- |
- |
82 |
#endif |
#endif |
83 |
#ifdef A__REG |
#ifdef A__REG |
84 |
R(cpu, ic, ic->arg[1], 0) |
reg_func(cpu, ic); |
85 |
#else |
#else |
86 |
ic->arg[1] |
ic->arg[1]; |
87 |
#endif |
#endif |
|
; |
|
88 |
|
|
89 |
low_pc = ((size_t)ic - (size_t)cpu->cd.arm. |
low_pc = ((size_t)ic - (size_t)cpu->cd.arm. |
90 |
cur_ic_page) / sizeof(struct arm_instr_call); |
cur_ic_page) / sizeof(struct arm_instr_call); |
165 |
/* T-bit: userland access. Use the general routine for that. */ |
/* T-bit: userland access. Use the general routine for that. */ |
166 |
A__NAME__general(cpu, ic); |
A__NAME__general(cpu, ic); |
167 |
#else |
#else |
168 |
|
#ifdef A__REG |
169 |
|
uint32_t (*reg_func)(struct cpu *, struct arm_instr_call *) |
170 |
|
= (void *)(size_t)ic->arg[1]; |
171 |
|
#endif |
172 |
uint32_t offset = |
uint32_t offset = |
173 |
#ifndef A__U |
#ifndef A__U |
174 |
- |
- |
175 |
#endif |
#endif |
176 |
#ifdef A__REG |
#ifdef A__REG |
177 |
R(cpu, ic, ic->arg[1], 0) |
reg_func(cpu, ic); |
178 |
#else |
#else |
179 |
ic->arg[1] |
ic->arg[1]; |
180 |
#endif |
#endif |
|
; |
|
181 |
uint32_t addr = reg(ic->arg[0]) |
uint32_t addr = reg(ic->arg[0]) |
182 |
#ifdef A__P |
#ifdef A__P |
183 |
+ offset |
+ offset |