.. | .. |
---|
105 | 105 | unsigned int gtoffset_mask; |
---|
106 | 106 | unsigned int guestid_mask; |
---|
107 | 107 | unsigned int guestid_cache; |
---|
| 108 | + |
---|
| 109 | +#ifdef CONFIG_CPU_LOONGSON3_CPUCFG_EMULATION |
---|
| 110 | + /* CPUCFG data for this CPU, synthesized at probe time. |
---|
| 111 | + * |
---|
| 112 | + * CPUCFG select 0 is PRId, 4 and above are unimplemented for now. |
---|
| 113 | + * So the only stored values are for CPUCFG selects 1-3 inclusive. |
---|
| 114 | + */ |
---|
| 115 | + u32 loongson3_cpucfg_data[3]; |
---|
| 116 | +#endif |
---|
108 | 117 | } __attribute__((aligned(SMP_CACHE_BYTES))); |
---|
109 | 118 | |
---|
110 | 119 | extern struct cpuinfo_mips cpu_data[]; |
---|
.. | .. |
---|
142 | 151 | static inline unsigned int cpu_cluster(struct cpuinfo_mips *cpuinfo) |
---|
143 | 152 | { |
---|
144 | 153 | /* Optimisation for systems where multiple clusters aren't used */ |
---|
145 | | - if (!IS_ENABLED(CONFIG_CPU_MIPSR6)) |
---|
| 154 | + if (!IS_ENABLED(CONFIG_CPU_MIPSR5) && !IS_ENABLED(CONFIG_CPU_MIPSR6)) |
---|
146 | 155 | return 0; |
---|
147 | 156 | |
---|
148 | 157 | return (cpuinfo->globalnumber & MIPS_GLOBALNUMBER_CLUSTER) >> |
---|