filename | src/mem.h |
changeset | 939:6f2302afeb89 |
prev | 934:3acd3b3ee6d1 |
next | 946:d41ee7994db7 |
author | nkeynes |
date | Mon Jan 05 04:19:46 2009 +0000 (15 years ago) |
branch | lxdream-mem |
permissions | -rw-r--r-- |
last change | Move address space decls to mmu.h Finally remove sh4_read_long and friends |
file | annotate | diff | log | raw |
1.1 --- a/src/mem.h Fri Dec 26 14:25:23 2008 +00001.2 +++ b/src/mem.h Mon Jan 05 04:19:46 2009 +00001.3 @@ -28,6 +28,17 @@1.4 extern "C" {1.5 #endif1.7 +1.8 +typedef FASTCALL int32_t (*mem_read_fn_t)(sh4addr_t);1.9 +typedef FASTCALL void (*mem_write_fn_t)(sh4addr_t, uint32_t);1.10 +typedef FASTCALL void (*mem_read_burst_fn_t)(unsigned char *,sh4addr_t);1.11 +typedef FASTCALL void (*mem_write_burst_fn_t)(sh4addr_t,unsigned char *);1.12 +1.13 +typedef FASTCALL int32_t (*mem_read_exc_fn_t)(sh4addr_t, void *);1.14 +typedef FASTCALL void (*mem_write_exc_fn_t)(sh4addr_t, uint32_t, void *);1.15 +typedef FASTCALL void (*mem_read_burst_exc_fn_t)(unsigned char *,sh4addr_t, void *);1.16 +typedef FASTCALL void (*mem_write_burst_exc_fn_t)(sh4addr_t,unsigned char *, void *);1.17 +1.18 /**1.19 * Basic memory region vtable - read/write at byte, word, long, and burst1.20 * (32-byte) sizes.1.21 @@ -141,6 +152,11 @@1.22 #define SIGNEXT48(n) ((((int64_t)(n))<<16)>>16)1.23 #define ZEROEXT32(n) ((int64_t)((uint64_t)((uint32_t)(n))))1.25 +/* Ensure the given region allows all of read/write/execute. If not1.26 + * page-aligned, some surrounding regions will similarly be unprotected.1.27 + */1.28 +void mem_unprotect( void *ptr, uint32_t size );1.29 +1.30 #ifdef __cplusplus1.31 }1.32 #endif
.