|
@@ -123,7 +123,7 @@ static inline unsigned long cpu_get_fpu_id(void)
|
|
|
*/
|
|
|
static inline int __cpu_has_fpu(void)
|
|
|
{
|
|
|
- return ((cpu_get_fpu_id() & 0xff00) != FPIR_IMP_NONE);
|
|
|
+ return ((cpu_get_fpu_id() & FPIR_IMP_MASK) != FPIR_IMP_NONE);
|
|
|
}
|
|
|
|
|
|
static inline void cpu_probe_vmbits(struct cpuinfo_mips *c)
|
|
@@ -323,7 +323,7 @@ static void decode_configs(struct cpuinfo_mips *c)
|
|
|
|
|
|
static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_R2000:
|
|
|
c->cputype = CPU_R2000;
|
|
|
__cpu_name[cpu] = "R2000";
|
|
@@ -334,7 +334,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
c->tlbsize = 64;
|
|
|
break;
|
|
|
case PRID_IMP_R3000:
|
|
|
- if ((c->processor_id & 0xff) == PRID_REV_R3000A) {
|
|
|
+ if ((c->processor_id & PRID_REV_MASK) == PRID_REV_R3000A) {
|
|
|
if (cpu_has_confreg()) {
|
|
|
c->cputype = CPU_R3081E;
|
|
|
__cpu_name[cpu] = "R3081";
|
|
@@ -354,7 +354,8 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
break;
|
|
|
case PRID_IMP_R4000:
|
|
|
if (read_c0_config() & CONF_SC) {
|
|
|
- if ((c->processor_id & 0xff) >= PRID_REV_R4400) {
|
|
|
+ if ((c->processor_id & PRID_REV_MASK) >=
|
|
|
+ PRID_REV_R4400) {
|
|
|
c->cputype = CPU_R4400PC;
|
|
|
__cpu_name[cpu] = "R4400PC";
|
|
|
} else {
|
|
@@ -362,7 +363,8 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
__cpu_name[cpu] = "R4000PC";
|
|
|
}
|
|
|
} else {
|
|
|
- if ((c->processor_id & 0xff) >= PRID_REV_R4400) {
|
|
|
+ if ((c->processor_id & PRID_REV_MASK) >=
|
|
|
+ PRID_REV_R4400) {
|
|
|
c->cputype = CPU_R4400SC;
|
|
|
__cpu_name[cpu] = "R4400SC";
|
|
|
} else {
|
|
@@ -455,7 +457,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
__cpu_name[cpu] = "TX3927";
|
|
|
c->tlbsize = 64;
|
|
|
} else {
|
|
|
- switch (c->processor_id & 0xff) {
|
|
|
+ switch (c->processor_id & PRID_REV_MASK) {
|
|
|
case PRID_REV_TX3912:
|
|
|
c->cputype = CPU_TX3912;
|
|
|
__cpu_name[cpu] = "TX3912";
|
|
@@ -641,7 +643,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_4KC:
|
|
|
c->cputype = CPU_4KC;
|
|
|
__cpu_name[cpu] = "MIPS 4Kc";
|
|
@@ -712,7 +714,7 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
static inline void cpu_probe_alchemy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_AU1_REV1:
|
|
|
case PRID_IMP_AU1_REV2:
|
|
|
c->cputype = CPU_ALCHEMY;
|
|
@@ -731,7 +733,7 @@ static inline void cpu_probe_alchemy(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
break;
|
|
|
case 4:
|
|
|
__cpu_name[cpu] = "Au1200";
|
|
|
- if ((c->processor_id & 0xff) == 2)
|
|
|
+ if ((c->processor_id & PRID_REV_MASK) == 2)
|
|
|
__cpu_name[cpu] = "Au1250";
|
|
|
break;
|
|
|
case 5:
|
|
@@ -749,12 +751,12 @@ static inline void cpu_probe_sibyte(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_SB1:
|
|
|
c->cputype = CPU_SB1;
|
|
|
__cpu_name[cpu] = "SiByte SB1";
|
|
|
/* FPU in pass1 is known to have issues. */
|
|
|
- if ((c->processor_id & 0xff) < 0x02)
|
|
|
+ if ((c->processor_id & PRID_REV_MASK) < 0x02)
|
|
|
c->options &= ~(MIPS_CPU_FPU | MIPS_CPU_32FPR);
|
|
|
break;
|
|
|
case PRID_IMP_SB1A:
|
|
@@ -767,7 +769,7 @@ static inline void cpu_probe_sibyte(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_SR71000:
|
|
|
c->cputype = CPU_SR71000;
|
|
|
__cpu_name[cpu] = "Sandcraft SR71000";
|
|
@@ -780,7 +782,7 @@ static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
static inline void cpu_probe_nxp(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_PR4450:
|
|
|
c->cputype = CPU_PR4450;
|
|
|
__cpu_name[cpu] = "Philips PR4450";
|
|
@@ -792,7 +794,7 @@ static inline void cpu_probe_nxp(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_BMIPS32_REV4:
|
|
|
case PRID_IMP_BMIPS32_REV8:
|
|
|
c->cputype = CPU_BMIPS32;
|
|
@@ -807,7 +809,7 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
set_elf_platform(cpu, "bmips3300");
|
|
|
break;
|
|
|
case PRID_IMP_BMIPS43XX: {
|
|
|
- int rev = c->processor_id & 0xff;
|
|
|
+ int rev = c->processor_id & PRID_REV_MASK;
|
|
|
|
|
|
if (rev >= PRID_REV_BMIPS4380_LO &&
|
|
|
rev <= PRID_REV_BMIPS4380_HI) {
|
|
@@ -833,7 +835,7 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
static inline void cpu_probe_cavium(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_CAVIUM_CN38XX:
|
|
|
case PRID_IMP_CAVIUM_CN31XX:
|
|
|
case PRID_IMP_CAVIUM_CN30XX:
|
|
@@ -876,7 +878,7 @@ static inline void cpu_probe_ingenic(struct cpuinfo_mips *c, unsigned int cpu)
|
|
|
decode_configs(c);
|
|
|
/* JZRISC does not implement the CP0 counter. */
|
|
|
c->options &= ~MIPS_CPU_COUNTER;
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_JZRISC:
|
|
|
c->cputype = CPU_JZRISC;
|
|
|
__cpu_name[cpu] = "Ingenic JZRISC";
|
|
@@ -891,7 +893,7 @@ static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu)
|
|
|
{
|
|
|
decode_configs(c);
|
|
|
|
|
|
- if ((c->processor_id & 0xff00) == PRID_IMP_NETLOGIC_AU13XX) {
|
|
|
+ if ((c->processor_id & PRID_IMP_MASK) == PRID_IMP_NETLOGIC_AU13XX) {
|
|
|
c->cputype = CPU_ALCHEMY;
|
|
|
__cpu_name[cpu] = "Au1300";
|
|
|
/* following stuff is not for Alchemy */
|
|
@@ -906,7 +908,7 @@ static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu)
|
|
|
MIPS_CPU_EJTAG |
|
|
|
MIPS_CPU_LLSC);
|
|
|
|
|
|
- switch (c->processor_id & 0xff00) {
|
|
|
+ switch (c->processor_id & PRID_IMP_MASK) {
|
|
|
case PRID_IMP_NETLOGIC_XLP2XX:
|
|
|
c->cputype = CPU_XLP;
|
|
|
__cpu_name[cpu] = "Broadcom XLPII";
|
|
@@ -985,7 +987,7 @@ void cpu_probe(void)
|
|
|
c->cputype = CPU_UNKNOWN;
|
|
|
|
|
|
c->processor_id = read_c0_prid();
|
|
|
- switch (c->processor_id & 0xff0000) {
|
|
|
+ switch (c->processor_id & PRID_COMP_MASK) {
|
|
|
case PRID_COMP_LEGACY:
|
|
|
cpu_probe_legacy(c, cpu);
|
|
|
break;
|