summaryrefslogtreecommitdiff
path: root/sim/frv/cache.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2004-03-01 09:42:33 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2004-03-01 09:42:33 +0000
commitc7a48b9ac9215f67421a769c2986b6eb2a69780b (patch)
tree7b7c194a858c08b0cbf6bff28a4689eda00f46a3 /sim/frv/cache.c
parent8b73069fed6ec6b73e35eccdf186887d89ecb84b (diff)
downloadbinutils-c7a48b9ac9215f67421a769c2986b6eb2a69780b.tar.gz
binutils-c7a48b9ac9215f67421a769c2986b6eb2a69780b.tar.bz2
binutils-c7a48b9ac9215f67421a769c2986b6eb2a69780b.zip
cpu/
* frv.cpu (nsdiv, nudiv, nsdivi, nudivi): Remove fr400 profiling unit. (scutss): Change unit to I0. (calll, callil, ccalll): Add missing FR550-MAJOR and profile unit. (mqsaths): Fix FR400-MAJOR categorization. (media-quad-multiply-cross-acc, media-quad-cross-multiply-cross-acc) (media-quad-cross-multiply-acc): Change unit from MDUALACC to FMALL. * frv.opc (fr400_check_insn_major_constraints): Check for (M-2,M-1) combinations. opcodes/ * frv-desc.c, frv-opc.c: Regenerate. sim/frv/ * cache.c (frv_cache_init): Change fr400 cache statistics to match the fr405. (non_cache_access): Add missing breaks. * interrupts.c (set_exception_status_registers): Always set EAR15 for data_access_errors. * memory.c (fr400_check_write_address): Remove redundant alignment check. * model.c: Regenerate.
Diffstat (limited to 'sim/frv/cache.c')
-rw-r--r--sim/frv/cache.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sim/frv/cache.c b/sim/frv/cache.c
index 7b2635b6d26..578a01141a8 100644
--- a/sim/frv/cache.c
+++ b/sim/frv/cache.c
@@ -39,7 +39,7 @@ frv_cache_init (SIM_CPU *cpu, FRV_CACHE *cache)
{
case bfd_mach_fr400:
if (cache->configured_sets == 0)
- cache->configured_sets = 128;
+ cache->configured_sets = 512;
if (cache->configured_ways == 0)
cache->configured_ways = 2;
if (cache->line_size == 0)
@@ -208,6 +208,7 @@ non_cache_access (FRV_CACHE *cache, USI address)
if (address >= 0xff000000
|| address >= 0xfe000000 && address <= 0xfeffffff)
return 1; /* non-cache access */
+ break;
case bfd_mach_fr550:
if (address >= 0xff000000
|| address >= 0xfeff0000 && address <= 0xfeffffff)
@@ -219,6 +220,7 @@ non_cache_access (FRV_CACHE *cache, USI address)
}
else if (address >= 0xfe400000 && address <= 0xfe407fff)
return 1; /* non-cache access */
+ break;
default:
if (address >= 0xff000000
|| address >= 0xfeff0000 && address <= 0xfeffffff)
@@ -230,6 +232,7 @@ non_cache_access (FRV_CACHE *cache, USI address)
}
else if (address >= 0xfe400000 && address <= 0xfe403fff)
return 1; /* non-cache access */
+ break;
}
hsr0 = GET_HSR0 ();