614
620
case PRID_IMP_LOONGSON2:
615
621
c->cputype = CPU_LOONGSON2;
616
622
__cpu_name[cpu] = "ICT Loongson-2";
624
switch (c->processor_id & PRID_REV_MASK) {
625
case PRID_REV_LOONGSON2E:
626
set_elf_platform(cpu, "loongson2e");
628
case PRID_REV_LOONGSON2F:
629
set_elf_platform(cpu, "loongson2f");
617
633
c->isa_level = MIPS_CPU_ISA_III;
618
634
c->options = R4K_OPTS |
619
635
MIPS_CPU_FPU | MIPS_CPU_LLSC |
911
927
case PRID_IMP_BMIPS32_REV8:
912
928
c->cputype = CPU_BMIPS32;
913
929
__cpu_name[cpu] = "Broadcom BMIPS32";
930
set_elf_platform(cpu, "bmips32");
915
932
case PRID_IMP_BMIPS3300:
916
933
case PRID_IMP_BMIPS3300_ALT:
917
934
case PRID_IMP_BMIPS3300_BUG:
918
935
c->cputype = CPU_BMIPS3300;
919
936
__cpu_name[cpu] = "Broadcom BMIPS3300";
937
set_elf_platform(cpu, "bmips3300");
921
939
case PRID_IMP_BMIPS43XX: {
922
940
int rev = c->processor_id & 0xff;
925
943
rev <= PRID_REV_BMIPS4380_HI) {
926
944
c->cputype = CPU_BMIPS4380;
927
945
__cpu_name[cpu] = "Broadcom BMIPS4380";
946
set_elf_platform(cpu, "bmips4380");
929
948
c->cputype = CPU_BMIPS4350;
930
949
__cpu_name[cpu] = "Broadcom BMIPS4350";
950
set_elf_platform(cpu, "bmips4350");
934
954
case PRID_IMP_BMIPS5000:
935
955
c->cputype = CPU_BMIPS5000;
936
956
__cpu_name[cpu] = "Broadcom BMIPS5000";
957
set_elf_platform(cpu, "bmips5000");
937
958
c->options |= MIPS_CPU_ULRI;
956
977
c->cputype = CPU_CAVIUM_OCTEON_PLUS;
957
978
__cpu_name[cpu] = "Cavium Octeon+";
960
__elf_platform = "octeon";
980
set_elf_platform(cpu, "octeon");
962
982
case PRID_IMP_CAVIUM_CN63XX:
963
983
c->cputype = CPU_CAVIUM_OCTEON2;
964
984
__cpu_name[cpu] = "Cavium Octeon II";
966
__elf_platform = "octeon2";
985
set_elf_platform(cpu, "octeon2");
969
988
printk(KERN_INFO "Unknown Octeon chip!\n");
1010
static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu)
1014
c->options = (MIPS_CPU_TLB |
1022
switch (c->processor_id & 0xff00) {
1023
case PRID_IMP_NETLOGIC_XLR732:
1024
case PRID_IMP_NETLOGIC_XLR716:
1025
case PRID_IMP_NETLOGIC_XLR532:
1026
case PRID_IMP_NETLOGIC_XLR308:
1027
case PRID_IMP_NETLOGIC_XLR532C:
1028
case PRID_IMP_NETLOGIC_XLR516C:
1029
case PRID_IMP_NETLOGIC_XLR508C:
1030
case PRID_IMP_NETLOGIC_XLR308C:
1031
c->cputype = CPU_XLR;
1032
__cpu_name[cpu] = "Netlogic XLR";
1035
case PRID_IMP_NETLOGIC_XLS608:
1036
case PRID_IMP_NETLOGIC_XLS408:
1037
case PRID_IMP_NETLOGIC_XLS404:
1038
case PRID_IMP_NETLOGIC_XLS208:
1039
case PRID_IMP_NETLOGIC_XLS204:
1040
case PRID_IMP_NETLOGIC_XLS108:
1041
case PRID_IMP_NETLOGIC_XLS104:
1042
case PRID_IMP_NETLOGIC_XLS616B:
1043
case PRID_IMP_NETLOGIC_XLS608B:
1044
case PRID_IMP_NETLOGIC_XLS416B:
1045
case PRID_IMP_NETLOGIC_XLS412B:
1046
case PRID_IMP_NETLOGIC_XLS408B:
1047
case PRID_IMP_NETLOGIC_XLS404B:
1048
c->cputype = CPU_XLR;
1049
__cpu_name[cpu] = "Netlogic XLS";
1053
printk(KERN_INFO "Unknown Netlogic chip id [%02x]!\n",
1055
c->cputype = CPU_XLR;
1059
c->isa_level = MIPS_CPU_ISA_M64R1;
1060
c->tlbsize = ((read_c0_config1() >> 25) & 0x3f) + 1;
991
1063
#ifdef CONFIG_64BIT
992
1064
/* For use by uaccess.h */