summaryrefslogtreecommitdiffstats
path: root/arch/mips/lib
diff options
context:
space:
mode:
authorPeter Mamonov <pmamonov@gmail.com>2015-11-02 19:50:00 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2015-11-03 08:25:56 +0100
commit23492d36bedeb5b2538f945991bd319b3c10a9bb (patch)
tree4652eac77cf38f706b6602daf0acf760e87931ee /arch/mips/lib
parent9c12b4ae1c8076847b991e29d6ca6f4a1caa14ad (diff)
downloadbarebox-23492d36bedeb5b2538f945991bd319b3c10a9bb.tar.gz
barebox-23492d36bedeb5b2538f945991bd319b3c10a9bb.tar.xz
mips: cpuinfo: report secondary cache configuration
Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/mips/lib')
-rw-r--r--arch/mips/lib/cpuinfo.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/mips/lib/cpuinfo.c b/arch/mips/lib/cpuinfo.c
index 1b171697ba..fb02a4d202 100644
--- a/arch/mips/lib/cpuinfo.c
+++ b/arch/mips/lib/cpuinfo.c
@@ -28,7 +28,7 @@ static char *way_string[] = { NULL, "direct mapped", "2-way",
static int do_cpuinfo(int argc, char *argv[])
{
- unsigned int icache_size, dcache_size;
+ unsigned int icache_size, dcache_size, scache_size;
struct cpuinfo_mips *c = &current_cpu_data;
printk(KERN_INFO "CPU revision is: %08x (%s)\n",
@@ -48,6 +48,15 @@ static int do_cpuinfo(int argc, char *argv[])
(c->dcache.flags & MIPS_CACHE_ALIASES) ?
"cache aliases" : "no aliases",
c->dcache.linesz);
+ if (c->scache.flags & MIPS_CACHE_NOT_PRESENT)
+ return 0;
+ scache_size = c->scache.sets * c->scache.ways * c->scache.linesz;
+ printk("Secondary data cache %ldkB, %s, %s, %s, linesize %d bytes\n",
+ scache_size >> 10, way_string[c->scache.ways],
+ (c->scache.flags & MIPS_CACHE_PINDEX) ? "PIPT" : "VIPT",
+ (c->scache.flags & MIPS_CACHE_ALIASES) ?
+ "cache aliases" : "no aliases",
+ c->scache.linesz);
return 0;
}