diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2014-03-23 00:00:33 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2014-03-23 00:00:33 +0000 |
commit | 9a5c26e1497da770073118645eb98236a4c04548 (patch) | |
tree | ff9dd1657ebd9c560d722175847e87df7380ea87 | |
parent | f8a2cf7ed1258730ee59ca848bdcab5e2479b54d (diff) |
Repair R5000SC and R4600SC external L2 cache setup, broken in previous
revision.
-rw-r--r-- | sys/arch/sgi/sgi/ip22_machdep.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/arch/sgi/sgi/ip22_machdep.c b/sys/arch/sgi/sgi/ip22_machdep.c index 909f75146d8..07553206867 100644 --- a/sys/arch/sgi/sgi/ip22_machdep.c +++ b/sys/arch/sgi/sgi/ip22_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip22_machdep.c,v 1.15 2014/03/09 10:12:17 miod Exp $ */ +/* $OpenBSD: ip22_machdep.c,v 1.16 2014/03/23 00:00:32 miod Exp $ */ /* * Copyright (c) 2012 Miodrag Vallat. @@ -117,8 +117,8 @@ ip22_arcbios_walk_component(arc_config_t *cf) */ ci->ci_l2.size = (1 << 12) << (key & 0x0000ffff); ci->ci_l2.linesize = 1 << ((key >> 16) & 0xff); - ci->ci_l2.setsize = ci->ci_l2.size; - ci->ci_l2.sets = 1; + ci->ci_l2.sets = (key >> 24) & 0xff; + ci->ci_l2.setsize = ci->ci_l2.size / ci->ci_l2.sets; ip22_arcwalk_results |= IP22_HAS_L2; } @@ -362,7 +362,7 @@ ip22_video_setup() * Verified addresses: * grtwo slot + 0x00000000 * impact slot + 0x00000000 - * light ? + * light slot + 0x003f0000 (LIGHT_ADDR_0) * newport slot + 0x000f0000 (NEWPORT_REX3_OFFSET) */ @@ -769,7 +769,7 @@ ip22_ConfigCache(struct cpu_info *ci) Mips5k_ConfigCache(ci); - if (ci->ci_l2.linesize != IP22_L2_LINE) { + if (l2.linesize != IP22_L2_LINE || l2.sets != 1) { /* * This should not happen. Better not try and tame an * unknown beast. |