Commit d0890ea5 authored by Vineet Gupta's avatar Vineet Gupta

ARC: boot log: decode more mmu config items

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 964cf28f
...@@ -327,7 +327,7 @@ struct bcr_generic { ...@@ -327,7 +327,7 @@ struct bcr_generic {
*/ */
struct cpuinfo_arc_mmu { struct cpuinfo_arc_mmu {
unsigned int ver:4, pg_sz_k:8, s_pg_sz_m:8, pad:12; unsigned int ver:4, pg_sz_k:8, s_pg_sz_m:8, pad:10, sasid:1, pae:1;
unsigned int sets:12, ways:4, u_dtlb:8, u_itlb:8; unsigned int sets:12, ways:4, u_dtlb:8, u_itlb:8;
}; };
......
...@@ -723,10 +723,10 @@ void read_decode_mmu_bcr(void) ...@@ -723,10 +723,10 @@ void read_decode_mmu_bcr(void)
struct bcr_mmu_3 { struct bcr_mmu_3 {
#ifdef CONFIG_CPU_BIG_ENDIAN #ifdef CONFIG_CPU_BIG_ENDIAN
unsigned int ver:8, ways:4, sets:4, osm:1, reserv:3, pg_sz:4, unsigned int ver:8, ways:4, sets:4, res:3, sasid:1, pg_sz:4,
u_itlb:4, u_dtlb:4; u_itlb:4, u_dtlb:4;
#else #else
unsigned int u_dtlb:4, u_itlb:4, pg_sz:4, reserv:3, osm:1, sets:4, unsigned int u_dtlb:4, u_itlb:4, pg_sz:4, sasid:1, res:3, sets:4,
ways:4, ver:8; ways:4, ver:8;
#endif #endif
} *mmu3; } *mmu3;
...@@ -747,7 +747,7 @@ void read_decode_mmu_bcr(void) ...@@ -747,7 +747,7 @@ void read_decode_mmu_bcr(void)
if (mmu->ver <= 2) { if (mmu->ver <= 2) {
mmu2 = (struct bcr_mmu_1_2 *)&tmp; mmu2 = (struct bcr_mmu_1_2 *)&tmp;
mmu->pg_sz_k = TO_KB(PAGE_SIZE); mmu->pg_sz_k = TO_KB(0x2000);
mmu->sets = 1 << mmu2->sets; mmu->sets = 1 << mmu2->sets;
mmu->ways = 1 << mmu2->ways; mmu->ways = 1 << mmu2->ways;
mmu->u_dtlb = mmu2->u_dtlb; mmu->u_dtlb = mmu2->u_dtlb;
...@@ -759,6 +759,7 @@ void read_decode_mmu_bcr(void) ...@@ -759,6 +759,7 @@ void read_decode_mmu_bcr(void)
mmu->ways = 1 << mmu3->ways; mmu->ways = 1 << mmu3->ways;
mmu->u_dtlb = mmu3->u_dtlb; mmu->u_dtlb = mmu3->u_dtlb;
mmu->u_itlb = mmu3->u_itlb; mmu->u_itlb = mmu3->u_itlb;
mmu->sasid = mmu3->sasid;
} else { } else {
mmu4 = (struct bcr_mmu_4 *)&tmp; mmu4 = (struct bcr_mmu_4 *)&tmp;
mmu->pg_sz_k = 1 << (mmu4->sz0 - 1); mmu->pg_sz_k = 1 << (mmu4->sz0 - 1);
...@@ -767,6 +768,8 @@ void read_decode_mmu_bcr(void) ...@@ -767,6 +768,8 @@ void read_decode_mmu_bcr(void)
mmu->ways = mmu4->n_ways * 2; mmu->ways = mmu4->n_ways * 2;
mmu->u_dtlb = mmu4->u_dtlb * 4; mmu->u_dtlb = mmu4->u_dtlb * 4;
mmu->u_itlb = mmu4->u_itlb * 4; mmu->u_itlb = mmu4->u_itlb * 4;
mmu->sasid = mmu4->sasid;
mmu->pae = mmu4->pae;
} }
} }
...@@ -782,11 +785,10 @@ char *arc_mmu_mumbojumbo(int cpu_id, char *buf, int len) ...@@ -782,11 +785,10 @@ char *arc_mmu_mumbojumbo(int cpu_id, char *buf, int len)
IS_USED_CFG(CONFIG_TRANSPARENT_HUGEPAGE)); IS_USED_CFG(CONFIG_TRANSPARENT_HUGEPAGE));
n += scnprintf(buf + n, len - n, n += scnprintf(buf + n, len - n,
"MMU [v%x]\t: %dk PAGE, %sJTLB %d (%dx%d), uDTLB %d, uITLB %d %s\n", "MMU [v%x]\t: %dK PAGE, %sJTLB %d (%dx%d), uDTLB %d, uITLB %d\n",
p_mmu->ver, p_mmu->pg_sz_k, super_pg, p_mmu->ver, p_mmu->pg_sz_k, super_pg,
p_mmu->sets * p_mmu->ways, p_mmu->sets, p_mmu->ways, p_mmu->sets * p_mmu->ways, p_mmu->sets, p_mmu->ways,
p_mmu->u_dtlb, p_mmu->u_itlb, p_mmu->u_dtlb, p_mmu->u_itlb);
IS_ENABLED(CONFIG_ARC_MMU_SASID) ? ",SASID" : "");
return buf; return buf;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment