diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-08-10 21:47:01 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-08-10 21:47:01 +0000 |
commit | 33417e7025afa5ea1c38c3c2b2ea53d975b5648b (patch) | |
tree | 6c4ab68c228ac2eb8ec4a40559629fce57480b51 /cpu-all.h | |
parent | 4021dab0594761c939b258cad67275c492b88e4d (diff) | |
download | qemu-33417e7025afa5ea1c38c3c2b2ea53d975b5648b.tar.gz qemu-33417e7025afa5ea1c38c3c2b2ea53d975b5648b.tar.bz2 qemu-33417e7025afa5ea1c38c3c2b2ea53d975b5648b.zip |
soft mmu support - Memory I/O API - synthetize string instructions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@354 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'cpu-all.h')
-rw-r--r-- | cpu-all.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -140,6 +140,7 @@ static inline void stfl(void *ptr, float v) stl(ptr, u.i); } + #if defined(__arm__) && !defined(WORDS_BIGENDIAN) /* NOTE: arm is horrible as double 32 bit words are stored in big endian ! */ @@ -317,6 +318,17 @@ int cpu_breakpoint_insert(CPUState *env, uint32_t pc); int cpu_breakpoint_remove(CPUState *env, uint32_t pc); void cpu_single_step(CPUState *env, int enabled); +/* memory API */ + +typedef void CPUWriteMemoryFunc(uint32_t addr, uint32_t value); +typedef uint32_t CPUReadMemoryFunc(uint32_t addr); + +void cpu_register_physical_memory(unsigned long start_addr, unsigned long size, + long phys_offset); +int cpu_register_io_memory(int io_index, + CPUReadMemoryFunc **mem_read, + CPUWriteMemoryFunc **mem_write); + /* gdb stub API */ extern int gdbstub_fd; CPUState *cpu_gdbstub_get_env(void *opaque); |