Search
lxdream.org :: lxdream/src/sh4/cache.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/cache.c
changeset 975:007bf7eb944f
prev971:886e1ec8447d
next980:deb4361928fe
author nkeynes
date Mon Jan 26 07:26:24 2009 +0000 (13 years ago)
permissions -rw-r--r--
last change Add read_byte_for_write mem function for correct implementation of AND.B and friends
with TLB enabled.
Add read_byte and read_long MMIO stubs to do correct sign extension of IO reads
file annotate diff log raw
1.1 --- a/src/sh4/cache.c Thu Jan 22 02:58:13 2009 +0000
1.2 +++ b/src/sh4/cache.c Mon Jan 26 07:26:24 2009 +0000
1.3 @@ -133,7 +133,7 @@
1.4 ocram_page0_read_word, ocram_page0_write_word,
1.5 ocram_page0_read_byte, ocram_page0_write_byte,
1.6 ocram_page0_read_burst, ocram_page0_write_burst,
1.7 - unmapped_prefetch };
1.8 + unmapped_prefetch, ocram_page0_read_byte };
1.9
1.10 static int32_t FASTCALL ocram_page1_read_long( sh4addr_t addr )
1.11 {
1.12 @@ -173,7 +173,7 @@
1.13 ocram_page1_read_word, ocram_page1_write_word,
1.14 ocram_page1_read_byte, ocram_page1_write_byte,
1.15 ocram_page1_read_burst, ocram_page1_write_burst,
1.16 - unmapped_prefetch };
1.17 + unmapped_prefetch, ocram_page1_read_byte };
1.18
1.19 /**************************** Cache functions ********************************/
1.20 char ccn_cache_map[16 MB]; // 24 bits of address space
1.21 @@ -307,7 +307,7 @@
1.22 ccn_ocache_read_word, ccn_ocache_write_word_copyback,
1.23 ccn_ocache_read_byte, ccn_ocache_write_byte_copyback,
1.24 unmapped_read_burst, unmapped_write_burst,
1.25 - ccn_ocache_prefetch };
1.26 + ccn_ocache_prefetch, ccn_ocache_read_byte };
1.27
1.28
1.29 /************************** Cache direct access ******************************/
1.30 @@ -335,7 +335,7 @@
1.31 unmapped_read_long, unmapped_write_long,
1.32 unmapped_read_long, unmapped_write_long,
1.33 unmapped_read_burst, unmapped_write_burst,
1.34 - unmapped_prefetch };
1.35 + unmapped_prefetch, unmapped_read_long };
1.36
1.37
1.38 static int32_t FASTCALL ccn_icache_data_read( sh4addr_t addr )
1.39 @@ -355,7 +355,7 @@
1.40 unmapped_read_long, unmapped_write_long,
1.41 unmapped_read_long, unmapped_write_long,
1.42 unmapped_read_burst, unmapped_write_burst,
1.43 - unmapped_prefetch };
1.44 + unmapped_prefetch, unmapped_read_long };
1.45
1.46 static int32_t FASTCALL ccn_ocache_addr_read( sh4addr_t addr )
1.47 {
1.48 @@ -386,7 +386,7 @@
1.49 unmapped_read_long, unmapped_write_long,
1.50 unmapped_read_long, unmapped_write_long,
1.51 unmapped_read_burst, unmapped_write_burst,
1.52 - unmapped_prefetch };
1.53 + unmapped_prefetch, unmapped_read_long };
1.54
1.55
1.56 static int32_t FASTCALL ccn_ocache_data_read( sh4addr_t addr )
1.57 @@ -406,7 +406,7 @@
1.58 unmapped_read_long, unmapped_write_long,
1.59 unmapped_read_long, unmapped_write_long,
1.60 unmapped_read_burst, unmapped_write_burst,
1.61 - unmapped_prefetch };
1.62 + unmapped_prefetch, unmapped_read_long };
1.63
1.64
1.65 /****************** Cache control *********************/
1.66 @@ -505,7 +505,7 @@
1.67 ccn_uncached_read_word, ccn_uncached_write_word,
1.68 ccn_uncached_read_byte, ccn_uncached_write_byte,
1.69 unmapped_read_burst, unmapped_write_burst,
1.70 - ccn_uncached_prefetch };
1.71 + ccn_uncached_prefetch, ccn_uncached_read_byte };
1.72
1.73
1.74 /********************************* Store-queue *******************************/
.