mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
ARC: boot log: print Action point details
This now prints the number of action points {2,4,8} and {min,full} targets supported. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
parent
97e981324d
commit
7dd380c338
@ -216,6 +216,14 @@ struct bcr_fp_arcv2 {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct bcr_actionpoint {
|
||||||
|
#ifdef CONFIG_CPU_BIG_ENDIAN
|
||||||
|
unsigned int pad:21, min:1, num:2, ver:8;
|
||||||
|
#else
|
||||||
|
unsigned int ver:8, num:2, min:1, pad:21;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
#include <soc/arc/timers.h>
|
#include <soc/arc/timers.h>
|
||||||
|
|
||||||
struct bcr_bpu_arcompact {
|
struct bcr_bpu_arcompact {
|
||||||
@ -302,7 +310,7 @@ struct cpuinfo_arc {
|
|||||||
struct {
|
struct {
|
||||||
unsigned int swap:1, norm:1, minmax:1, barrel:1, crc:1, swape:1, pad1:2,
|
unsigned int swap:1, norm:1, minmax:1, barrel:1, crc:1, swape:1, pad1:2,
|
||||||
fpu_sp:1, fpu_dp:1, dual:1, dual_enb:1, pad2:4,
|
fpu_sp:1, fpu_dp:1, dual:1, dual_enb:1, pad2:4,
|
||||||
debug:1, ap:1, smart:1, rtt:1, pad3:4,
|
ap_num:4, ap_full:1, smart:1, rtt:1, pad3:1,
|
||||||
timer0:1, timer1:1, rtc:1, gfrc:1, pad4:4;
|
timer0:1, timer1:1, rtc:1, gfrc:1, pad4:4;
|
||||||
} extn;
|
} extn;
|
||||||
struct bcr_mpy extn_mpy;
|
struct bcr_mpy extn_mpy;
|
||||||
|
@ -123,6 +123,7 @@ static void read_arc_build_cfg_regs(void)
|
|||||||
struct cpuinfo_arc *cpu = &cpuinfo_arc700[smp_processor_id()];
|
struct cpuinfo_arc *cpu = &cpuinfo_arc700[smp_processor_id()];
|
||||||
const struct id_to_str *tbl;
|
const struct id_to_str *tbl;
|
||||||
struct bcr_isa_arcv2 isa;
|
struct bcr_isa_arcv2 isa;
|
||||||
|
struct bcr_actionpoint ap;
|
||||||
|
|
||||||
FIX_PTR(cpu);
|
FIX_PTR(cpu);
|
||||||
|
|
||||||
@ -208,8 +209,11 @@ static void read_arc_build_cfg_regs(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
READ_BCR(ARC_REG_AP_BCR, bcr);
|
READ_BCR(ARC_REG_AP_BCR, ap);
|
||||||
cpu->extn.ap = bcr.ver ? 1 : 0;
|
if (ap.ver) {
|
||||||
|
cpu->extn.ap_num = 2 << ap.num;
|
||||||
|
cpu->extn.ap_full = !!ap.min;
|
||||||
|
}
|
||||||
|
|
||||||
READ_BCR(ARC_REG_SMART_BCR, bcr);
|
READ_BCR(ARC_REG_SMART_BCR, bcr);
|
||||||
cpu->extn.smart = bcr.ver ? 1 : 0;
|
cpu->extn.smart = bcr.ver ? 1 : 0;
|
||||||
@ -217,8 +221,6 @@ static void read_arc_build_cfg_regs(void)
|
|||||||
READ_BCR(ARC_REG_RTT_BCR, bcr);
|
READ_BCR(ARC_REG_RTT_BCR, bcr);
|
||||||
cpu->extn.rtt = bcr.ver ? 1 : 0;
|
cpu->extn.rtt = bcr.ver ? 1 : 0;
|
||||||
|
|
||||||
cpu->extn.debug = cpu->extn.ap | cpu->extn.smart | cpu->extn.rtt;
|
|
||||||
|
|
||||||
READ_BCR(ARC_REG_ISA_CFG_BCR, isa);
|
READ_BCR(ARC_REG_ISA_CFG_BCR, isa);
|
||||||
|
|
||||||
/* some hacks for lack of feature BCR info in old ARC700 cores */
|
/* some hacks for lack of feature BCR info in old ARC700 cores */
|
||||||
@ -337,11 +339,17 @@ static char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len)
|
|||||||
IS_AVAIL1(cpu->extn.fpu_sp, "SP "),
|
IS_AVAIL1(cpu->extn.fpu_sp, "SP "),
|
||||||
IS_AVAIL1(cpu->extn.fpu_dp, "DP "));
|
IS_AVAIL1(cpu->extn.fpu_dp, "DP "));
|
||||||
|
|
||||||
if (cpu->extn.debug)
|
if (cpu->extn.ap_num | cpu->extn.smart | cpu->extn.rtt) {
|
||||||
n += scnprintf(buf + n, len - n, "DEBUG\t\t: %s%s%s\n",
|
n += scnprintf(buf + n, len - n, "DEBUG\t\t: %s%s",
|
||||||
IS_AVAIL1(cpu->extn.ap, "ActionPoint "),
|
|
||||||
IS_AVAIL1(cpu->extn.smart, "smaRT "),
|
IS_AVAIL1(cpu->extn.smart, "smaRT "),
|
||||||
IS_AVAIL1(cpu->extn.rtt, "RTT "));
|
IS_AVAIL1(cpu->extn.rtt, "RTT "));
|
||||||
|
if (cpu->extn.ap_num) {
|
||||||
|
n += scnprintf(buf + n, len - n, "ActionPoint %d/%s",
|
||||||
|
cpu->extn.ap_num,
|
||||||
|
cpu->extn.ap_full ? "full":"min");
|
||||||
|
}
|
||||||
|
n += scnprintf(buf + n, len - n, "\n");
|
||||||
|
}
|
||||||
|
|
||||||
if (cpu->dccm.sz || cpu->iccm.sz)
|
if (cpu->dccm.sz || cpu->iccm.sz)
|
||||||
n += scnprintf(buf + n, len - n, "Extn [CCM]\t: DCCM @ %x, %d KB / ICCM: @ %x, %d KB\n",
|
n += scnprintf(buf + n, len - n, "Extn [CCM]\t: DCCM @ %x, %d KB / ICCM: @ %x, %d KB\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user