.. | .. |
---|
9 | 9 | #ifndef _ASM_CPU_H |
---|
10 | 10 | #define _ASM_CPU_H |
---|
11 | 11 | |
---|
| 12 | +#include <linux/bits.h> |
---|
| 13 | + |
---|
12 | 14 | /* |
---|
13 | 15 | As of the MIPS32 and MIPS64 specs from MTI, the PRId register (CP0 |
---|
14 | 16 | register 15, select 0) is defined in this (backwards compatible) way: |
---|
.. | .. |
---|
44 | 46 | #define PRID_COMP_NETLOGIC 0x0c0000 |
---|
45 | 47 | #define PRID_COMP_CAVIUM 0x0d0000 |
---|
46 | 48 | #define PRID_COMP_LOONGSON 0x140000 |
---|
47 | | -#define PRID_COMP_INGENIC_D0 0xd00000 /* JZ4740, JZ4750 */ |
---|
48 | | -#define PRID_COMP_INGENIC_D1 0xd10000 /* JZ4770, JZ4775 */ |
---|
| 49 | +#define PRID_COMP_INGENIC_13 0x130000 /* X2000 */ |
---|
| 50 | +#define PRID_COMP_INGENIC_D0 0xd00000 /* JZ4740, JZ4750, X1830 */ |
---|
| 51 | +#define PRID_COMP_INGENIC_D1 0xd10000 /* JZ4770, JZ4775, X1000 */ |
---|
49 | 52 | #define PRID_COMP_INGENIC_E1 0xe10000 /* JZ4780 */ |
---|
50 | 53 | |
---|
51 | 54 | /* |
---|
.. | .. |
---|
89 | 92 | #define PRID_IMP_LOONGSON_32 0x4200 /* Loongson-1 */ |
---|
90 | 93 | #define PRID_IMP_R5432 0x5400 |
---|
91 | 94 | #define PRID_IMP_R5500 0x5500 |
---|
92 | | -#define PRID_IMP_LOONGSON_64 0x6300 /* Loongson-2/3 */ |
---|
| 95 | +#define PRID_IMP_LOONGSON_64R 0x6100 /* Reduced Loongson-2 */ |
---|
| 96 | +#define PRID_IMP_LOONGSON_64C 0x6300 /* Classic Loongson-2 and Loongson-3 */ |
---|
| 97 | +#define PRID_IMP_LOONGSON_64G 0xc000 /* Generic Loongson-2 and Loongson-3 */ |
---|
93 | 98 | |
---|
94 | 99 | #define PRID_IMP_UNKNOWN 0xff00 |
---|
95 | 100 | |
---|
.. | .. |
---|
181 | 186 | * These are the PRID's for when 23:16 == PRID_COMP_INGENIC_* |
---|
182 | 187 | */ |
---|
183 | 188 | |
---|
184 | | -#define PRID_IMP_JZRISC 0x0200 |
---|
| 189 | +#define PRID_IMP_XBURST_REV1 0x0200 /* XBurst®1 with MXU1.0/MXU1.1 SIMD ISA */ |
---|
| 190 | +#define PRID_IMP_XBURST_REV2 0x0100 /* XBurst®1 with MXU2.0 SIMD ISA */ |
---|
| 191 | +#define PRID_IMP_XBURST2 0x2000 /* XBurst®2 with MXU2.1 SIMD ISA */ |
---|
185 | 192 | |
---|
186 | 193 | /* |
---|
187 | 194 | * These are the PRID's for when 23:16 == PRID_COMP_NETLOGIC |
---|
.. | .. |
---|
245 | 252 | #define PRID_REV_LOONGSON1C 0x0020 /* Same as Loongson-1B */ |
---|
246 | 253 | #define PRID_REV_LOONGSON2E 0x0002 |
---|
247 | 254 | #define PRID_REV_LOONGSON2F 0x0003 |
---|
| 255 | +#define PRID_REV_LOONGSON2K_R1_0 0x0000 |
---|
| 256 | +#define PRID_REV_LOONGSON2K_R1_1 0x0001 |
---|
| 257 | +#define PRID_REV_LOONGSON2K_R1_2 0x0002 |
---|
| 258 | +#define PRID_REV_LOONGSON2K_R1_3 0x0003 |
---|
248 | 259 | #define PRID_REV_LOONGSON3A_R1 0x0005 |
---|
249 | 260 | #define PRID_REV_LOONGSON3B_R1 0x0006 |
---|
250 | 261 | #define PRID_REV_LOONGSON3B_R2 0x0007 |
---|
251 | | -#define PRID_REV_LOONGSON3A_R2 0x0008 |
---|
| 262 | +#define PRID_REV_LOONGSON3A_R2_0 0x0008 |
---|
252 | 263 | #define PRID_REV_LOONGSON3A_R3_0 0x0009 |
---|
| 264 | +#define PRID_REV_LOONGSON3A_R2_1 0x000c |
---|
253 | 265 | #define PRID_REV_LOONGSON3A_R3_1 0x000d |
---|
254 | 266 | |
---|
255 | 267 | /* |
---|
.. | .. |
---|
290 | 302 | /* |
---|
291 | 303 | * R4000 class processors |
---|
292 | 304 | */ |
---|
293 | | - CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, CPU_R4300, CPU_R4310, |
---|
| 305 | + CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, |
---|
294 | 306 | CPU_R4400PC, CPU_R4400SC, CPU_R4400MC, CPU_R4600, CPU_R4640, CPU_R4650, |
---|
295 | | - CPU_R4700, CPU_R5000, CPU_R5500, CPU_NEVADA, CPU_R5432, CPU_R10000, |
---|
| 307 | + CPU_R4700, CPU_R5000, CPU_R5500, CPU_NEVADA, CPU_R10000, |
---|
296 | 308 | CPU_R12000, CPU_R14000, CPU_R16000, CPU_VR41XX, CPU_VR4111, CPU_VR4121, |
---|
297 | 309 | CPU_VR4122, CPU_VR4131, CPU_VR4133, CPU_VR4181, CPU_VR4181A, CPU_RM7000, |
---|
298 | 310 | CPU_SR71000, CPU_TX49XX, |
---|
299 | | - |
---|
300 | | - /* |
---|
301 | | - * R8000 class processors |
---|
302 | | - */ |
---|
303 | | - CPU_R8000, |
---|
304 | 311 | |
---|
305 | 312 | /* |
---|
306 | 313 | * TX3900 class processors |
---|
.. | .. |
---|
312 | 319 | */ |
---|
313 | 320 | CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K, |
---|
314 | 321 | CPU_ALCHEMY, CPU_PR4450, CPU_BMIPS32, CPU_BMIPS3300, CPU_BMIPS4350, |
---|
315 | | - CPU_BMIPS4380, CPU_BMIPS5000, CPU_JZRISC, CPU_LOONGSON1, CPU_M14KC, |
---|
| 322 | + CPU_BMIPS4380, CPU_BMIPS5000, CPU_XBURST, CPU_LOONGSON32, CPU_M14KC, |
---|
316 | 323 | CPU_M14KEC, CPU_INTERAPTIV, CPU_P5600, CPU_PROAPTIV, CPU_1074K, |
---|
317 | 324 | CPU_M5150, CPU_I6400, CPU_P6600, CPU_M6250, |
---|
318 | 325 | |
---|
319 | 326 | /* |
---|
320 | 327 | * MIPS64 class processors |
---|
321 | 328 | */ |
---|
322 | | - CPU_5KC, CPU_5KE, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2, |
---|
323 | | - CPU_LOONGSON3, CPU_CAVIUM_OCTEON, CPU_CAVIUM_OCTEON_PLUS, |
---|
| 329 | + CPU_5KC, CPU_5KE, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2EF, |
---|
| 330 | + CPU_LOONGSON64, CPU_CAVIUM_OCTEON, CPU_CAVIUM_OCTEON_PLUS, |
---|
324 | 331 | CPU_CAVIUM_OCTEON2, CPU_CAVIUM_OCTEON3, CPU_XLR, CPU_XLP, CPU_I6500, |
---|
325 | 332 | |
---|
326 | 333 | CPU_QEMU_GENERIC, |
---|
.. | .. |
---|
342 | 349 | #define MIPS_CPU_ISA_M32R2 0x00000020 |
---|
343 | 350 | #define MIPS_CPU_ISA_M64R1 0x00000040 |
---|
344 | 351 | #define MIPS_CPU_ISA_M64R2 0x00000080 |
---|
345 | | -#define MIPS_CPU_ISA_M32R6 0x00000100 |
---|
346 | | -#define MIPS_CPU_ISA_M64R6 0x00000200 |
---|
| 352 | +#define MIPS_CPU_ISA_M32R5 0x00000100 |
---|
| 353 | +#define MIPS_CPU_ISA_M64R5 0x00000200 |
---|
| 354 | +#define MIPS_CPU_ISA_M32R6 0x00000400 |
---|
| 355 | +#define MIPS_CPU_ISA_M64R6 0x00000800 |
---|
347 | 356 | |
---|
348 | 357 | #define MIPS_CPU_ISA_32BIT (MIPS_CPU_ISA_II | MIPS_CPU_ISA_M32R1 | \ |
---|
349 | | - MIPS_CPU_ISA_M32R2 | MIPS_CPU_ISA_M32R6) |
---|
| 358 | + MIPS_CPU_ISA_M32R2 | MIPS_CPU_ISA_M32R5 | MIPS_CPU_ISA_M32R6) |
---|
350 | 359 | #define MIPS_CPU_ISA_64BIT (MIPS_CPU_ISA_III | MIPS_CPU_ISA_IV | \ |
---|
351 | 360 | MIPS_CPU_ISA_V | MIPS_CPU_ISA_M64R1 | MIPS_CPU_ISA_M64R2 | \ |
---|
352 | | - MIPS_CPU_ISA_M64R6) |
---|
353 | | - |
---|
354 | | -/* |
---|
355 | | - * Private version of BIT_ULL() to escape include file recursion hell. |
---|
356 | | - * We soon will have to switch to another mechanism that will work with |
---|
357 | | - * more than 64 bits anyway. |
---|
358 | | - */ |
---|
359 | | -#define MBIT_ULL(bit) (1ULL << (bit)) |
---|
| 361 | + MIPS_CPU_ISA_M64R5 | MIPS_CPU_ISA_M64R6) |
---|
360 | 362 | |
---|
361 | 363 | /* |
---|
362 | 364 | * CPU Option encodings |
---|
363 | 365 | */ |
---|
364 | | -#define MIPS_CPU_TLB MBIT_ULL( 0) /* CPU has TLB */ |
---|
365 | | -#define MIPS_CPU_4KEX MBIT_ULL( 1) /* "R4K" exception model */ |
---|
366 | | -#define MIPS_CPU_3K_CACHE MBIT_ULL( 2) /* R3000-style caches */ |
---|
367 | | -#define MIPS_CPU_4K_CACHE MBIT_ULL( 3) /* R4000-style caches */ |
---|
368 | | -#define MIPS_CPU_TX39_CACHE MBIT_ULL( 4) /* TX3900-style caches */ |
---|
369 | | -#define MIPS_CPU_FPU MBIT_ULL( 5) /* CPU has FPU */ |
---|
370 | | -#define MIPS_CPU_32FPR MBIT_ULL( 6) /* 32 dbl. prec. FP registers */ |
---|
371 | | -#define MIPS_CPU_COUNTER MBIT_ULL( 7) /* Cycle count/compare */ |
---|
372 | | -#define MIPS_CPU_WATCH MBIT_ULL( 8) /* watchpoint registers */ |
---|
373 | | -#define MIPS_CPU_DIVEC MBIT_ULL( 9) /* dedicated interrupt vector */ |
---|
374 | | -#define MIPS_CPU_VCE MBIT_ULL(10) /* virt. coherence conflict possible */ |
---|
375 | | -#define MIPS_CPU_CACHE_CDEX_P MBIT_ULL(11) /* Create_Dirty_Exclusive CACHE op */ |
---|
376 | | -#define MIPS_CPU_CACHE_CDEX_S MBIT_ULL(12) /* ... same for seconary cache ... */ |
---|
377 | | -#define MIPS_CPU_MCHECK MBIT_ULL(13) /* Machine check exception */ |
---|
378 | | -#define MIPS_CPU_EJTAG MBIT_ULL(14) /* EJTAG exception */ |
---|
379 | | -#define MIPS_CPU_NOFPUEX MBIT_ULL(15) /* no FPU exception */ |
---|
380 | | -#define MIPS_CPU_LLSC MBIT_ULL(16) /* CPU has ll/sc instructions */ |
---|
381 | | -#define MIPS_CPU_INCLUSIVE_CACHES MBIT_ULL(17) /* P-cache subset enforced */ |
---|
382 | | -#define MIPS_CPU_PREFETCH MBIT_ULL(18) /* CPU has usable prefetch */ |
---|
383 | | -#define MIPS_CPU_VINT MBIT_ULL(19) /* CPU supports MIPSR2 vectored interrupts */ |
---|
384 | | -#define MIPS_CPU_VEIC MBIT_ULL(20) /* CPU supports MIPSR2 external interrupt controller mode */ |
---|
385 | | -#define MIPS_CPU_ULRI MBIT_ULL(21) /* CPU has ULRI feature */ |
---|
386 | | -#define MIPS_CPU_PCI MBIT_ULL(22) /* CPU has Perf Ctr Int indicator */ |
---|
387 | | -#define MIPS_CPU_RIXI MBIT_ULL(23) /* CPU has TLB Read/eXec Inhibit */ |
---|
388 | | -#define MIPS_CPU_MICROMIPS MBIT_ULL(24) /* CPU has microMIPS capability */ |
---|
389 | | -#define MIPS_CPU_TLBINV MBIT_ULL(25) /* CPU supports TLBINV/F */ |
---|
390 | | -#define MIPS_CPU_SEGMENTS MBIT_ULL(26) /* CPU supports Segmentation Control registers */ |
---|
391 | | -#define MIPS_CPU_EVA MBIT_ULL(27) /* CPU supports Enhanced Virtual Addressing */ |
---|
392 | | -#define MIPS_CPU_HTW MBIT_ULL(28) /* CPU support Hardware Page Table Walker */ |
---|
393 | | -#define MIPS_CPU_RIXIEX MBIT_ULL(29) /* CPU has unique exception codes for {Read, Execute}-Inhibit exceptions */ |
---|
394 | | -#define MIPS_CPU_MAAR MBIT_ULL(30) /* MAAR(I) registers are present */ |
---|
395 | | -#define MIPS_CPU_FRE MBIT_ULL(31) /* FRE & UFE bits implemented */ |
---|
396 | | -#define MIPS_CPU_RW_LLB MBIT_ULL(32) /* LLADDR/LLB writes are allowed */ |
---|
397 | | -#define MIPS_CPU_LPA MBIT_ULL(33) /* CPU supports Large Physical Addressing */ |
---|
398 | | -#define MIPS_CPU_CDMM MBIT_ULL(34) /* CPU has Common Device Memory Map */ |
---|
399 | | -#define MIPS_CPU_BP_GHIST MBIT_ULL(35) /* R12K+ Branch Prediction Global History */ |
---|
400 | | -#define MIPS_CPU_SP MBIT_ULL(36) /* Small (1KB) page support */ |
---|
401 | | -#define MIPS_CPU_FTLB MBIT_ULL(37) /* CPU has Fixed-page-size TLB */ |
---|
402 | | -#define MIPS_CPU_NAN_LEGACY MBIT_ULL(38) /* Legacy NaN implemented */ |
---|
403 | | -#define MIPS_CPU_NAN_2008 MBIT_ULL(39) /* 2008 NaN implemented */ |
---|
404 | | -#define MIPS_CPU_VP MBIT_ULL(40) /* MIPSr6 Virtual Processors (multi-threading) */ |
---|
405 | | -#define MIPS_CPU_LDPTE MBIT_ULL(41) /* CPU has ldpte/lddir instructions */ |
---|
406 | | -#define MIPS_CPU_MVH MBIT_ULL(42) /* CPU supports MFHC0/MTHC0 */ |
---|
407 | | -#define MIPS_CPU_EBASE_WG MBIT_ULL(43) /* CPU has EBase.WG */ |
---|
408 | | -#define MIPS_CPU_BADINSTR MBIT_ULL(44) /* CPU has BadInstr register */ |
---|
409 | | -#define MIPS_CPU_BADINSTRP MBIT_ULL(45) /* CPU has BadInstrP register */ |
---|
410 | | -#define MIPS_CPU_CTXTC MBIT_ULL(46) /* CPU has [X]ConfigContext registers */ |
---|
411 | | -#define MIPS_CPU_PERF MBIT_ULL(47) /* CPU has MIPS performance counters */ |
---|
412 | | -#define MIPS_CPU_GUESTCTL0EXT MBIT_ULL(48) /* CPU has VZ GuestCtl0Ext register */ |
---|
413 | | -#define MIPS_CPU_GUESTCTL1 MBIT_ULL(49) /* CPU has VZ GuestCtl1 register */ |
---|
414 | | -#define MIPS_CPU_GUESTCTL2 MBIT_ULL(50) /* CPU has VZ GuestCtl2 register */ |
---|
415 | | -#define MIPS_CPU_GUESTID MBIT_ULL(51) /* CPU uses VZ ASE GuestID feature */ |
---|
416 | | -#define MIPS_CPU_DRG MBIT_ULL(52) /* CPU has VZ Direct Root to Guest (DRG) */ |
---|
417 | | -#define MIPS_CPU_UFR MBIT_ULL(53) /* CPU supports User mode FR switching */ |
---|
| 366 | +#define MIPS_CPU_TLB BIT_ULL( 0) /* CPU has TLB */ |
---|
| 367 | +#define MIPS_CPU_4KEX BIT_ULL( 1) /* "R4K" exception model */ |
---|
| 368 | +#define MIPS_CPU_3K_CACHE BIT_ULL( 2) /* R3000-style caches */ |
---|
| 369 | +#define MIPS_CPU_4K_CACHE BIT_ULL( 3) /* R4000-style caches */ |
---|
| 370 | +#define MIPS_CPU_TX39_CACHE BIT_ULL( 4) /* TX3900-style caches */ |
---|
| 371 | +#define MIPS_CPU_FPU BIT_ULL( 5) /* CPU has FPU */ |
---|
| 372 | +#define MIPS_CPU_32FPR BIT_ULL( 6) /* 32 dbl. prec. FP registers */ |
---|
| 373 | +#define MIPS_CPU_COUNTER BIT_ULL( 7) /* Cycle count/compare */ |
---|
| 374 | +#define MIPS_CPU_WATCH BIT_ULL( 8) /* watchpoint registers */ |
---|
| 375 | +#define MIPS_CPU_DIVEC BIT_ULL( 9) /* dedicated interrupt vector */ |
---|
| 376 | +#define MIPS_CPU_VCE BIT_ULL(10) /* virt. coherence conflict possible */ |
---|
| 377 | +#define MIPS_CPU_CACHE_CDEX_P BIT_ULL(11) /* Create_Dirty_Exclusive CACHE op */ |
---|
| 378 | +#define MIPS_CPU_CACHE_CDEX_S BIT_ULL(12) /* ... same for seconary cache ... */ |
---|
| 379 | +#define MIPS_CPU_MCHECK BIT_ULL(13) /* Machine check exception */ |
---|
| 380 | +#define MIPS_CPU_EJTAG BIT_ULL(14) /* EJTAG exception */ |
---|
| 381 | +#define MIPS_CPU_NOFPUEX BIT_ULL(15) /* no FPU exception */ |
---|
| 382 | +#define MIPS_CPU_LLSC BIT_ULL(16) /* CPU has ll/sc instructions */ |
---|
| 383 | +#define MIPS_CPU_INCLUSIVE_CACHES BIT_ULL(17) /* P-cache subset enforced */ |
---|
| 384 | +#define MIPS_CPU_PREFETCH BIT_ULL(18) /* CPU has usable prefetch */ |
---|
| 385 | +#define MIPS_CPU_VINT BIT_ULL(19) /* CPU supports MIPSR2 vectored interrupts */ |
---|
| 386 | +#define MIPS_CPU_VEIC BIT_ULL(20) /* CPU supports MIPSR2 external interrupt controller mode */ |
---|
| 387 | +#define MIPS_CPU_ULRI BIT_ULL(21) /* CPU has ULRI feature */ |
---|
| 388 | +#define MIPS_CPU_PCI BIT_ULL(22) /* CPU has Perf Ctr Int indicator */ |
---|
| 389 | +#define MIPS_CPU_RIXI BIT_ULL(23) /* CPU has TLB Read/eXec Inhibit */ |
---|
| 390 | +#define MIPS_CPU_MICROMIPS BIT_ULL(24) /* CPU has microMIPS capability */ |
---|
| 391 | +#define MIPS_CPU_TLBINV BIT_ULL(25) /* CPU supports TLBINV/F */ |
---|
| 392 | +#define MIPS_CPU_SEGMENTS BIT_ULL(26) /* CPU supports Segmentation Control registers */ |
---|
| 393 | +#define MIPS_CPU_EVA BIT_ULL(27) /* CPU supports Enhanced Virtual Addressing */ |
---|
| 394 | +#define MIPS_CPU_HTW BIT_ULL(28) /* CPU support Hardware Page Table Walker */ |
---|
| 395 | +#define MIPS_CPU_RIXIEX BIT_ULL(29) /* CPU has unique exception codes for {Read, Execute}-Inhibit exceptions */ |
---|
| 396 | +#define MIPS_CPU_MAAR BIT_ULL(30) /* MAAR(I) registers are present */ |
---|
| 397 | +#define MIPS_CPU_FRE BIT_ULL(31) /* FRE & UFE bits implemented */ |
---|
| 398 | +#define MIPS_CPU_RW_LLB BIT_ULL(32) /* LLADDR/LLB writes are allowed */ |
---|
| 399 | +#define MIPS_CPU_LPA BIT_ULL(33) /* CPU supports Large Physical Addressing */ |
---|
| 400 | +#define MIPS_CPU_CDMM BIT_ULL(34) /* CPU has Common Device Memory Map */ |
---|
| 401 | +#define MIPS_CPU_SP BIT_ULL(36) /* Small (1KB) page support */ |
---|
| 402 | +#define MIPS_CPU_FTLB BIT_ULL(37) /* CPU has Fixed-page-size TLB */ |
---|
| 403 | +#define MIPS_CPU_NAN_LEGACY BIT_ULL(38) /* Legacy NaN implemented */ |
---|
| 404 | +#define MIPS_CPU_NAN_2008 BIT_ULL(39) /* 2008 NaN implemented */ |
---|
| 405 | +#define MIPS_CPU_VP BIT_ULL(40) /* MIPSr6 Virtual Processors (multi-threading) */ |
---|
| 406 | +#define MIPS_CPU_LDPTE BIT_ULL(41) /* CPU has ldpte/lddir instructions */ |
---|
| 407 | +#define MIPS_CPU_MVH BIT_ULL(42) /* CPU supports MFHC0/MTHC0 */ |
---|
| 408 | +#define MIPS_CPU_EBASE_WG BIT_ULL(43) /* CPU has EBase.WG */ |
---|
| 409 | +#define MIPS_CPU_BADINSTR BIT_ULL(44) /* CPU has BadInstr register */ |
---|
| 410 | +#define MIPS_CPU_BADINSTRP BIT_ULL(45) /* CPU has BadInstrP register */ |
---|
| 411 | +#define MIPS_CPU_CTXTC BIT_ULL(46) /* CPU has [X]ConfigContext registers */ |
---|
| 412 | +#define MIPS_CPU_PERF BIT_ULL(47) /* CPU has MIPS performance counters */ |
---|
| 413 | +#define MIPS_CPU_GUESTCTL0EXT BIT_ULL(48) /* CPU has VZ GuestCtl0Ext register */ |
---|
| 414 | +#define MIPS_CPU_GUESTCTL1 BIT_ULL(49) /* CPU has VZ GuestCtl1 register */ |
---|
| 415 | +#define MIPS_CPU_GUESTCTL2 BIT_ULL(50) /* CPU has VZ GuestCtl2 register */ |
---|
| 416 | +#define MIPS_CPU_GUESTID BIT_ULL(51) /* CPU uses VZ ASE GuestID feature */ |
---|
| 417 | +#define MIPS_CPU_DRG BIT_ULL(52) /* CPU has VZ Direct Root to Guest (DRG) */ |
---|
| 418 | +#define MIPS_CPU_UFR BIT_ULL(53) /* CPU supports User mode FR switching */ |
---|
418 | 419 | #define MIPS_CPU_SHARED_FTLB_RAM \ |
---|
419 | | - MBIT_ULL(54) /* CPU shares FTLB RAM with another */ |
---|
| 420 | + BIT_ULL(54) /* CPU shares FTLB RAM with another */ |
---|
420 | 421 | #define MIPS_CPU_SHARED_FTLB_ENTRIES \ |
---|
421 | | - MBIT_ULL(55) /* CPU shares FTLB entries with another */ |
---|
| 422 | + BIT_ULL(55) /* CPU shares FTLB entries with another */ |
---|
422 | 423 | #define MIPS_CPU_MT_PER_TC_PERF_COUNTERS \ |
---|
423 | | - MBIT_ULL(56) /* CPU has perf counters implemented per TC (MIPSMT ASE) */ |
---|
| 424 | + BIT_ULL(56) /* CPU has perf counters implemented per TC (MIPSMT ASE) */ |
---|
| 425 | +#define MIPS_CPU_MMID BIT_ULL(57) /* CPU supports MemoryMapIDs */ |
---|
| 426 | +#define MIPS_CPU_MM_SYSAD BIT_ULL(58) /* CPU supports write-through SysAD Valid merge */ |
---|
| 427 | +#define MIPS_CPU_MM_FULL BIT_ULL(59) /* CPU supports write-through full merge */ |
---|
| 428 | +#define MIPS_CPU_MAC_2008_ONLY BIT_ULL(60) /* CPU Only support MAC2008 Fused multiply-add instruction */ |
---|
| 429 | +#define MIPS_CPU_FTLBPAREX BIT_ULL(61) /* CPU has FTLB parity exception */ |
---|
| 430 | +#define MIPS_CPU_GSEXCEX BIT_ULL(62) /* CPU has GSExc exception */ |
---|
424 | 431 | |
---|
425 | 432 | /* |
---|
426 | 433 | * CPU ASE encodings |
---|