28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: memory.h,v 1.55 2007/02/10 14:04:51 debug Exp $ |
* $Id: memory.h,v 1.57 2007/06/14 16:13:30 debug Exp $ |
32 |
* |
* |
33 |
* Memory related functions. |
* Memory related functions. |
34 |
*/ |
*/ |
126 |
#define CACHE_FLAGS_MASK 0x3 |
#define CACHE_FLAGS_MASK 0x3 |
127 |
#define NO_EXCEPTIONS 16 |
#define NO_EXCEPTIONS 16 |
128 |
#define PHYSICAL 32 |
#define PHYSICAL 32 |
129 |
#define MEMORY_USER_ACCESS 64 /* for ARM, at least */ |
#define MEMORY_USER_ACCESS 64 /* for ARM and M88K */ |
130 |
|
|
131 |
/* Dyntrans Memory flags: */ |
/* Dyntrans Memory flags: */ |
132 |
#define DM_DEFAULT 0 |
#define DM_DEFAULT 0 |
164 |
|
|
165 |
uint64_t memory_checksum(struct memory *mem); |
uint64_t memory_checksum(struct memory *mem); |
166 |
|
|
167 |
|
void dump_mem_string(struct cpu *cpu, uint64_t addr); |
168 |
|
void store_string(struct cpu *cpu, uint64_t addr, char *s); |
169 |
|
int store_64bit_word(struct cpu *cpu, uint64_t addr, uint64_t data64); |
170 |
|
int store_32bit_word(struct cpu *cpu, uint64_t addr, uint64_t data32); |
171 |
|
int store_16bit_word(struct cpu *cpu, uint64_t addr, uint64_t data16); |
172 |
|
void store_byte(struct cpu *cpu, uint64_t addr, uint8_t data); |
173 |
|
void store_64bit_word_in_host(struct cpu *cpu, unsigned char *data, |
174 |
|
uint64_t data32); |
175 |
|
void store_32bit_word_in_host(struct cpu *cpu, unsigned char *data, |
176 |
|
uint64_t data32); |
177 |
|
void store_16bit_word_in_host(struct cpu *cpu, unsigned char *data, |
178 |
|
uint16_t data16); |
179 |
|
uint64_t load_64bit_word(struct cpu *cpu, uint64_t addr); |
180 |
|
uint32_t load_32bit_word(struct cpu *cpu, uint64_t addr); |
181 |
|
uint16_t load_16bit_word(struct cpu *cpu, uint64_t addr); |
182 |
|
void store_buf(struct cpu *cpu, uint64_t addr, char *s, size_t len); |
183 |
|
void add_environment_string(struct cpu *cpu, char *s, uint64_t *addr); |
184 |
|
void add_environment_string_dual(struct cpu *cpu, |
185 |
|
uint64_t *ptrp, uint64_t *addrp, char *s1, char *s2); |
186 |
|
void store_pointer_and_advance(struct cpu *cpu, uint64_t *addrp, |
187 |
|
uint64_t data, int flag64); |
188 |
|
|
189 |
void memory_warn_about_unimplemented_addr(struct cpu *cpu, struct memory *mem, |
void memory_warn_about_unimplemented_addr(struct cpu *cpu, struct memory *mem, |
190 |
int writeflag, uint64_t paddr, uint8_t *data, size_t len); |
int writeflag, uint64_t paddr, uint8_t *data, size_t len); |
191 |
|
|