filename | src/mem.h |
changeset | 946:d41ee7994db7 |
prev | 939:6f2302afeb89 |
next | 1067:d3c00ffccfcd |
author | nkeynes |
date | Tue Jan 06 01:58:08 2009 +0000 (15 years ago) |
branch | lxdream-mem |
permissions | -rw-r--r-- |
last change | Fully integrate SQ with the new address space code - added additional 'prefetch' memory accessor. TLB is utterly untested, but non-TLB at least still works. |
file | annotate | diff | log | raw |
1.1 --- a/src/mem.h Sat Jan 03 03:30:26 2009 +00001.2 +++ b/src/mem.h Tue Jan 06 01:58:08 2009 +00001.3 @@ -33,31 +33,38 @@1.4 typedef FASTCALL void (*mem_write_fn_t)(sh4addr_t, uint32_t);1.5 typedef FASTCALL void (*mem_read_burst_fn_t)(unsigned char *,sh4addr_t);1.6 typedef FASTCALL void (*mem_write_burst_fn_t)(sh4addr_t,unsigned char *);1.7 +typedef FASTCALL void (*mem_prefetch_fn_t)(sh4addr_t);1.9 typedef FASTCALL int32_t (*mem_read_exc_fn_t)(sh4addr_t, void *);1.10 typedef FASTCALL void (*mem_write_exc_fn_t)(sh4addr_t, uint32_t, void *);1.11 typedef FASTCALL void (*mem_read_burst_exc_fn_t)(unsigned char *,sh4addr_t, void *);1.12 typedef FASTCALL void (*mem_write_burst_exc_fn_t)(sh4addr_t,unsigned char *, void *);1.13 +typedef FASTCALL void (*mem_prefetch_exc_fn_t)(sh4addr_t, void *);1.15 /**1.16 * Basic memory region vtable - read/write at byte, word, long, and burst1.17 * (32-byte) sizes.1.18 */1.19 typedef struct mem_region_fn {1.20 - FASTCALL int32_t (*read_long)(sh4addr_t addr);1.21 - FASTCALL void (*write_long)(sh4addr_t addr, uint32_t val);1.22 - FASTCALL int32_t (*read_word)(sh4addr_t addr);1.23 - FASTCALL void (*write_word)(sh4addr_t addr, uint32_t val);1.24 - FASTCALL int32_t (*read_byte)(sh4addr_t addr);1.25 - FASTCALL void (*write_byte)(sh4addr_t addr, uint32_t val);1.26 - FASTCALL void (*read_burst)(unsigned char *dest, sh4addr_t addr);1.27 - FASTCALL void (*write_burst)(sh4addr_t addr, unsigned char *src);1.28 + mem_read_fn_t read_long;1.29 + mem_write_fn_t write_long;1.30 + mem_read_fn_t read_word;1.31 + mem_write_fn_t write_word;1.32 + mem_read_fn_t read_byte;1.33 + mem_write_fn_t write_byte;1.34 + mem_read_burst_fn_t read_burst;1.35 + mem_write_burst_fn_t write_burst;1.36 + /* Prefetch is provided as a convenience for the SH4 - external memory1.37 + * spaces are automatically forced to unmapped_prefetch by mem.c1.38 + */1.39 + mem_prefetch_fn_t prefetch;1.40 } *mem_region_fn_t;1.42 int32_t FASTCALL unmapped_read_long( sh4addr_t addr );1.43 void FASTCALL unmapped_write_long( sh4addr_t addr, uint32_t val );1.44 void FASTCALL unmapped_read_burst( unsigned char *dest, sh4addr_t addr );1.45 void FASTCALL unmapped_write_burst( sh4addr_t addr, unsigned char *src );1.46 +void FASTCALL unmapped_prefetch( sh4addr_t addr );1.47 extern struct mem_region_fn mem_region_unmapped;1.49 typedef struct mem_region {
.