.. | .. |
---|
1721 | 1721 | |
---|
1722 | 1722 | static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) |
---|
1723 | 1723 | { |
---|
| 1724 | + c->cputype = CPU_LOONGSON64; |
---|
| 1725 | + |
---|
1724 | 1726 | /* All Loongson processors covered here define ExcCode 16 as GSExc. */ |
---|
| 1727 | + decode_configs(c); |
---|
1725 | 1728 | c->options |= MIPS_CPU_GSEXCEX; |
---|
1726 | 1729 | |
---|
1727 | 1730 | switch (c->processor_id & PRID_IMP_MASK) { |
---|
.. | .. |
---|
1731 | 1734 | case PRID_REV_LOONGSON2K_R1_1: |
---|
1732 | 1735 | case PRID_REV_LOONGSON2K_R1_2: |
---|
1733 | 1736 | case PRID_REV_LOONGSON2K_R1_3: |
---|
1734 | | - c->cputype = CPU_LOONGSON64; |
---|
1735 | 1737 | __cpu_name[cpu] = "Loongson-2K"; |
---|
1736 | 1738 | set_elf_platform(cpu, "gs264e"); |
---|
1737 | 1739 | set_isa(c, MIPS_CPU_ISA_M64R2); |
---|
.. | .. |
---|
1744 | 1746 | switch (c->processor_id & PRID_REV_MASK) { |
---|
1745 | 1747 | case PRID_REV_LOONGSON3A_R2_0: |
---|
1746 | 1748 | case PRID_REV_LOONGSON3A_R2_1: |
---|
1747 | | - c->cputype = CPU_LOONGSON64; |
---|
1748 | 1749 | __cpu_name[cpu] = "ICT Loongson-3"; |
---|
1749 | 1750 | set_elf_platform(cpu, "loongson3a"); |
---|
1750 | 1751 | set_isa(c, MIPS_CPU_ISA_M64R2); |
---|
1751 | 1752 | break; |
---|
1752 | 1753 | case PRID_REV_LOONGSON3A_R3_0: |
---|
1753 | 1754 | case PRID_REV_LOONGSON3A_R3_1: |
---|
1754 | | - c->cputype = CPU_LOONGSON64; |
---|
1755 | 1755 | __cpu_name[cpu] = "ICT Loongson-3"; |
---|
1756 | 1756 | set_elf_platform(cpu, "loongson3a"); |
---|
1757 | 1757 | set_isa(c, MIPS_CPU_ISA_M64R2); |
---|
.. | .. |
---|
1771 | 1771 | c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */ |
---|
1772 | 1772 | break; |
---|
1773 | 1773 | case PRID_IMP_LOONGSON_64G: |
---|
1774 | | - c->cputype = CPU_LOONGSON64; |
---|
1775 | 1774 | __cpu_name[cpu] = "ICT Loongson-3"; |
---|
1776 | 1775 | set_elf_platform(cpu, "loongson3a"); |
---|
1777 | 1776 | set_isa(c, MIPS_CPU_ISA_M64R2); |
---|
.. | .. |
---|
1781 | 1780 | panic("Unknown Loongson Processor ID!"); |
---|
1782 | 1781 | break; |
---|
1783 | 1782 | } |
---|
1784 | | - |
---|
1785 | | - decode_configs(c); |
---|
1786 | 1783 | } |
---|
1787 | 1784 | #else |
---|
1788 | 1785 | static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) { } |
---|