MIPS: cpu-features: Add cpu_has_ftlb
Add cpu_has_ftlb, which specifies that an FTLB is present in addition to the VTLB, probed based on whether Config.MT == 4 (rather than 1 for standard JTLB). This is necessary since MIPS release 6 removes Config4.MMUExtDef, so the presence of the FTLB fields in Config4 must be determined from Config.MT instead. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/11159/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
此提交包含在:
@@ -410,16 +410,18 @@ static int set_ftlb_enable(struct cpuinfo_mips *c, int enable)
|
||||
static inline unsigned int decode_config0(struct cpuinfo_mips *c)
|
||||
{
|
||||
unsigned int config0;
|
||||
int isa;
|
||||
int isa, mt;
|
||||
|
||||
config0 = read_c0_config();
|
||||
|
||||
/*
|
||||
* Look for Standard TLB or Dual VTLB and FTLB
|
||||
*/
|
||||
if ((((config0 & MIPS_CONF_MT) >> 7) == 1) ||
|
||||
(((config0 & MIPS_CONF_MT) >> 7) == 4))
|
||||
mt = config0 & MIPS_CONF_MT;
|
||||
if (mt == MIPS_CONF_MT_TLB)
|
||||
c->options |= MIPS_CPU_TLB;
|
||||
else if (mt == MIPS_CONF_MT_FTLB)
|
||||
c->options |= MIPS_CPU_TLB | MIPS_CPU_FTLB;
|
||||
|
||||
isa = (config0 & MIPS_CONF_AT) >> 13;
|
||||
switch (isa) {
|
||||
|
新增問題並參考
封鎖使用者