diff --git a/sys/arch/sparc/sparc/cache.c b/sys/arch/sparc/sparc/cache.c index e48b85767be2..517c3a883100 100644 --- a/sys/arch/sparc/sparc/cache.c +++ b/sys/arch/sparc/sparc/cache.c @@ -1,4 +1,4 @@ -/* $NetBSD: cache.c,v 1.26 1997/04/11 20:06:53 pk Exp $ */ +/* $NetBSD: cache.c,v 1.27 1997/05/06 21:00:56 pk Exp $ */ /* * Copyright (c) 1996 @@ -640,9 +640,6 @@ viking_cache_flush(base, len) * (in case of write-back caches) DMA operations. */ - /* XXX investigate other methods instead of blowing the entire cache */ - sta(0x80000000, ASI_DCACHECLR, 0); /* Unlock */ - sta(0, ASI_DCACHECLR, 0); } void @@ -696,7 +693,7 @@ viking_pcache_flush_line(va, pa) } void -cypress_pcache_flush_line(va, pa) +srmmu_pcache_flush_line(va, pa) int va; int pa; { @@ -704,8 +701,6 @@ cypress_pcache_flush_line(va, pa) * Flush cache line corresponding to virtual address `va' * which is mapped at physical address `pa'. */ - - /* NOT YET IMPLEMENTED */ sta(va, ASI_IDCACHELFP, 0); } #endif /* SUN4M */ diff --git a/sys/arch/sparc/sparc/cache.h b/sys/arch/sparc/sparc/cache.h index 6a79e7004825..fadace3fa66f 100644 --- a/sys/arch/sparc/sparc/cache.h +++ b/sys/arch/sparc/sparc/cache.h @@ -1,4 +1,4 @@ -/* $NetBSD: cache.h,v 1.14 1997/03/24 19:56:58 pk Exp $ */ +/* $NetBSD: cache.h,v 1.15 1997/05/06 21:00:55 pk Exp $ */ /* * Copyright (c) 1996 @@ -55,8 +55,7 @@ * * VAC_NONE is not actually used now, but if someone builds a physical * cache Sun-4 (or, more likely, a virtual index/physical tag cache) - * everything will work (after pulling out the #ifdef notdef's: grep - * for VAC_NONE to find them). + * everything will work. */ enum vactype { VAC_NONE, VAC_WRITETHROUGH, VAC_WRITEBACK }; @@ -176,7 +175,7 @@ void srmmu_cache_flush __P((caddr_t, u_int));/* flush region */ void ms1_cache_flush __P((caddr_t, u_int)); void viking_cache_flush __P((caddr_t, u_int)); void viking_pcache_flush_line __P((int, int)); -void cypress_pcache_flush_line __P((int, int)); +void srmmu_pcache_flush_line __P((int, int)); extern void sparc_noop __P((void)); @@ -210,7 +209,8 @@ struct cacheinfo { int c_linesize; /* line size, in bytes */ int c_l2linesize; /* log2(linesize) */ int c_nlines; /* number of cache lines */ - int c_physical; /* true => cache is physical */ + int c_physical; /* true => cache has physical + address tags */ int c_associativity; /* # of "buckets" in cache line */ int c_split; /* true => cache is split */ diff --git a/sys/arch/sparc/sparc/cpu.c b/sys/arch/sparc/sparc/cpu.c index 1b62b57d78ec..bb1346367cb2 100644 --- a/sys/arch/sparc/sparc/cpu.c +++ b/sys/arch/sparc/sparc/cpu.c @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.40 1997/04/18 19:51:05 pk Exp $ */ +/* $NetBSD: cpu.c,v 1.41 1997/05/06 21:00:54 pk Exp $ */ /* * Copyright (c) 1996 @@ -867,7 +867,7 @@ struct module_info module_cypress = { /* UNTESTED */ srmmu_vcache_flush_segment, srmmu_vcache_flush_region, srmmu_vcache_flush_context, - cypress_pcache_flush_line + srmmu_pcache_flush_line }; void @@ -889,14 +889,14 @@ struct module_info module_turbosparc = { /* UNTESTED */ 0, 0, turbosparc_cache_enable, - 4096, + 256, srmmu_get_fltstatus, srmmu_cache_flush, srmmu_vcache_flush_page, srmmu_vcache_flush_segment, srmmu_vcache_flush_region, srmmu_vcache_flush_context, - noop_pcache_flush_line + srmmu_pcache_flush_line }; void @@ -905,7 +905,6 @@ cpumatch_turbosparc(sc, mp, node) struct module_info *mp; int node; { - sc->flags |= CPUFLG_CACHEPAGETABLES; sc->cpu_type = CPUTYP_MS2; }