Module Name: src
Committed By: cliff
Date: Fri Nov 13 05:25:50 UTC 2009
Modified Files:
src/sys/arch/mips/mips [matt-nb5-mips64]: mips_machdep.c
Log Message:
- pridtab definition is removed to cpu.h
- pritab entries now initialize cpu_cp0flags and cpu_cidflags
except for RMI XLS entries, these are all 0 for now.
- pridtab entries for RMI XLS use those new fields and CPU_MIPS_HAVE_MxCR
To generate a diff of this commit:
cvs rdiff -u -r1.205.4.1.2.1.2.16 -r1.205.4.1.2.1.2.17 \
src/sys/arch/mips/mips/mips_machdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/mips/mips_machdep.c
diff -u src/sys/arch/mips/mips/mips_machdep.c:1.205.4.1.2.1.2.16 src/sys/arch/mips/mips/mips_machdep.c:1.205.4.1.2.1.2.17
--- src/sys/arch/mips/mips/mips_machdep.c:1.205.4.1.2.1.2.16 Tue Nov 3 16:30:58 2009
+++ src/sys/arch/mips/mips/mips_machdep.c Fri Nov 13 05:25:49 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.16 2009/11/03 16:30:58 uebayasi Exp $ */
+/* $NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.17 2009/11/13 05:25:49 cliff Exp $ */
/*
* Copyright 2002 Wasabi Systems, Inc.
@@ -112,7 +112,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.16 2009/11/03 16:30:58 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.17 2009/11/13 05:25:49 cliff Exp $");
#include "opt_cputype.h"
#include "opt_compat_netbsd32.h"
@@ -153,6 +153,7 @@
#include <mips/frame.h>
#include <mips/regnum.h>
+#include <mips/cpu.h>
#include <mips/locore.h>
#include <mips/psl.h>
#include <mips/pte.h>
@@ -235,16 +236,6 @@
char machine_arch[] = MACHINE_ARCH; /* from <machine/param.h> */
char cpu_model[128];
-struct pridtab {
- int cpu_cid;
- int cpu_pid;
- int cpu_rev; /* -1 == wildcard */
- int cpu_copts; /* -1 == wildcard */
- int cpu_isa; /* -1 == probed (mips32/mips64) */
- int cpu_ntlb; /* -1 == unknown, 0 == probed */
- int cpu_flags;
- const char *cpu_name;
-};
/*
* Assumptions:
@@ -260,19 +251,19 @@
#define MIPS32_FLAGS CPU_MIPS_R4K_MMU | CPU_MIPS_CAUSE_IV | CPU_MIPS_USE_WAIT
#define MIPS64_FLAGS MIPS32_FLAGS /* same as MIPS32 flags (for now) */
-static const struct pridtab *mycpu;
+const struct pridtab *mycpu;
static const struct pridtab cputab[] = {
{ 0, MIPS_R2000, -1, -1, CPU_ARCH_MIPS1, 64,
- CPU_MIPS_NO_LLSC, "MIPS R2000 CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "MIPS R2000 CPU" },
{ 0, MIPS_R3000, MIPS_REV_R2000A, -1, CPU_ARCH_MIPS1, 64,
- CPU_MIPS_NO_LLSC, "MIPS R2000A CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "MIPS R2000A CPU" },
{ 0, MIPS_R3000, MIPS_REV_R3000, -1, CPU_ARCH_MIPS1, 64,
- CPU_MIPS_NO_LLSC, "MIPS R3000 CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "MIPS R3000 CPU" },
{ 0, MIPS_R3000, MIPS_REV_R3000A, -1, CPU_ARCH_MIPS1, 64,
- CPU_MIPS_NO_LLSC, "MIPS R3000A CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "MIPS R3000A CPU" },
{ 0, MIPS_R6000, -1, -1, CPU_ARCH_MIPS2, 32,
- MIPS_NOT_SUPP, "MIPS R6000 CPU" },
+ MIPS_NOT_SUPP, 0, 0, "MIPS R6000 CPU" },
/*
* rev 0x00, 0x22 and 0x30 are R4000, 0x40, 0x50 and 0x60 are R4400.
@@ -280,52 +271,55 @@
* 0x40 - 0xff for R4400?
*/
{ 0, MIPS_R4000, MIPS_REV_R4000_A, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R4000 CPU" },
{ 0, MIPS_R4000, MIPS_REV_R4000_B, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R4000 CPU" },
{ 0, MIPS_R4000, MIPS_REV_R4000_C, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R4000 CPU" },
{ 0, MIPS_R4000, MIPS_REV_R4400_A, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R4400 CPU" },
{ 0, MIPS_R4000, MIPS_REV_R4400_B, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R4400 CPU" },
{ 0, MIPS_R4000, MIPS_REV_R4400_C, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R4400 CPU" },
{ 0, MIPS_R3LSI, -1, -1, CPU_ARCH_MIPS1, -1,
- MIPS_NOT_SUPP, "LSI Logic R3000 derivative" },
+ MIPS_NOT_SUPP, 0, 0, "LSI Logic R3000 derivative" },
{ 0, MIPS_R6000A, -1, -1, CPU_ARCH_MIPS2, 32,
- MIPS_NOT_SUPP, "MIPS R6000A CPU" },
+ MIPS_NOT_SUPP, 0, 0, "MIPS R6000A CPU" },
{ 0, MIPS_R3IDT, -1, -1, CPU_ARCH_MIPS1, -1,
- MIPS_NOT_SUPP, "IDT R3041 or RC36100 CPU" },
+ MIPS_NOT_SUPP, 0, 0, "IDT R3041 or RC36100 CPU" },
{ 0, MIPS_R4100, -1, -1, CPU_ARCH_MIPS3, 32,
- CPU_MIPS_R4K_MMU | CPU_MIPS_NO_LLSC, "NEC VR4100 CPU" },
+ CPU_MIPS_R4K_MMU | CPU_MIPS_NO_LLSC, 0, 0,
+ "NEC VR4100 CPU" },
{ 0, MIPS_R4200, -1, -1, CPU_ARCH_MIPS3, -1,
- MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, "NEC VR4200 CPU" },
+ MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, 0, 0,
+ "NEC VR4200 CPU" },
{ 0, MIPS_R4300, -1, -1, CPU_ARCH_MIPS3, 32,
- CPU_MIPS_R4K_MMU, "NEC VR4300 CPU" },
+ CPU_MIPS_R4K_MMU, 0, 0, "NEC VR4300 CPU" },
{ 0, MIPS_R4600, -1, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"QED R4600 Orion CPU" },
{ 0, MIPS_R4700, -1, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU, "QED R4700 Orion CPU" },
+ CPU_MIPS_R4K_MMU, 0, 0, "QED R4700 Orion CPU" },
{ 0, MIPS_R8000, -1, -1, CPU_ARCH_MIPS4, 384,
- MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, "MIPS R8000 Blackbird/TFP CPU" },
+ MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, 0, 0,
+ "MIPS R8000 Blackbird/TFP CPU" },
{ 0, MIPS_R10000, -1, -1, CPU_ARCH_MIPS4, 64,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R10000 CPU" },
{ 0, MIPS_R12000, -1, -1, CPU_ARCH_MIPS4, 64,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R12000 CPU" },
{ 0, MIPS_R14000, -1, -1, CPU_ARCH_MIPS4, 64,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R14000 CPU" },
/* XXX
@@ -336,19 +330,19 @@
* the 4650...
*/
{ 0, MIPS_R4650, 0, -1, CPU_ARCH_MIPS3, -1,
- MIPS_NOT_SUPP /* no MMU! */, "QED R4650 CPU" },
+ MIPS_NOT_SUPP /* no MMU! */, 0, 0, "QED R4650 CPU" },
{ 0, MIPS_TX3900, MIPS_REV_TX3912, -1, CPU_ARCH_MIPS1, 32,
- CPU_MIPS_NO_LLSC, "Toshiba TX3912 CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "Toshiba TX3912 CPU" },
{ 0, MIPS_TX3900, MIPS_REV_TX3922, -1, CPU_ARCH_MIPS1, 64,
- CPU_MIPS_NO_LLSC, "Toshiba TX3922 CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "Toshiba TX3922 CPU" },
{ 0, MIPS_TX3900, MIPS_REV_TX3927, -1, CPU_ARCH_MIPS1, 64,
- CPU_MIPS_NO_LLSC, "Toshiba TX3927 CPU" },
+ CPU_MIPS_NO_LLSC, 0, 0, "Toshiba TX3927 CPU" },
{ 0, MIPS_R5000, -1, -1, CPU_ARCH_MIPS4, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"MIPS R5000 CPU" },
{ 0, MIPS_RM5200, -1, -1, CPU_ARCH_MIPS4, 48,
CPU_MIPS_R4K_MMU | CPU_MIPS_CAUSE_IV | CPU_MIPS_DOUBLE_COUNT |
- CPU_MIPS_USE_WAIT, "QED RM5200 CPU" },
+ CPU_MIPS_USE_WAIT, 0, 0, "QED RM5200 CPU" },
/* XXX
* The rm7000 rev 2.0 can have 64 tlbs, and has 6 extra interrupts. See
@@ -357,7 +351,7 @@
*/
{ 0, MIPS_RM7000, -1, -1, CPU_ARCH_MIPS4, 48,
MIPS_NOT_SUPP | CPU_MIPS_CAUSE_IV | CPU_MIPS_DOUBLE_COUNT |
- CPU_MIPS_USE_WAIT, "QED RM7000 CPU" },
+ CPU_MIPS_USE_WAIT, 0, 0, "QED RM7000 CPU" },
/*
* IDT RC32300 core is a 32 bit MIPS2 processor with
@@ -370,110 +364,127 @@
*
*/
{ 0, MIPS_RC32300, -1, -1, CPU_ARCH_MIPS3, 16,
- MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, "IDT RC32300 CPU" },
+ MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, 0, 0,
+ "IDT RC32300 CPU" },
{ 0, MIPS_RC32364, -1, -1, CPU_ARCH_MIPS3, 16,
- MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, "IDT RC32364 CPU" },
+ MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, 0, 0,
+ "IDT RC32364 CPU" },
{ 0, MIPS_RC64470, -1, -1, CPU_ARCH_MIPSx, -1,
- MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, "IDT RC64474/RC64475 CPU" },
+ MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, 0, 0,
+ "IDT RC64474/RC64475 CPU" },
{ 0, MIPS_R5400, -1, -1, CPU_ARCH_MIPSx, -1,
- MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, "NEC VR5400 CPU" },
+ MIPS_NOT_SUPP | CPU_MIPS_R4K_MMU, 0, 0,
+ "NEC VR5400 CPU" },
{ 0, MIPS_R5900, -1, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_NO_LLSC | CPU_MIPS_R4K_MMU, "Toshiba R5900 CPU" },
+ CPU_MIPS_NO_LLSC | CPU_MIPS_R4K_MMU, 0, 0,
+ "Toshiba R5900 CPU" },
{ 0, MIPS_TX4900, MIPS_REV_TX4927, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"Toshiba TX4927 CPU" },
{ 0, MIPS_TX4900, -1, -1, CPU_ARCH_MIPS3, 48,
- CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
+ CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT, 0, 0,
"Toshiba TX4900 CPU" },
#if 0 /* ID collisions : can we use a CU1 test or similar? */
{ 0, MIPS_R3SONY, -1, -1, CPU_ARCH_MIPS1, -1,
- MIPS_NOT_SUPP, "SONY R3000 derivative" }, /* 0x21; crash R4700? */
+ MIPS_NOT_SUPP, 0, 0, "SONY R3000 derivative" }, /* 0x21; crash R4700? */
{ 0, MIPS_R3NKK, -1, -1, CPU_ARCH_MIPS1, -1,
- MIPS_NOT_SUPP, "NKK R3000 derivative" }, /* 0x23; crash R5000? */
+ MIPS_NOT_SUPP, 0, 0, "NKK R3000 derivative" }, /* 0x23; crash R5000? */
#endif
{ MIPS_PRID_CID_MTI, MIPS_4Kc, -1, -1, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, "4Kc" },
+ MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "4Kc" },
{ MIPS_PRID_CID_MTI, MIPS_4KEc, -1, -1, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, "4KEc" },
+ MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "4KEc" },
{ MIPS_PRID_CID_MTI, MIPS_4KEc_R2, -1, -1, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, "4KEc (Rev 2)" },
+ MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "4KEc (Rev 2)" },
{ MIPS_PRID_CID_MTI, MIPS_4KSc, -1, -1, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, "4KSc" },
+ MIPS32_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "4KSc" },
{ MIPS_PRID_CID_MTI, MIPS_5Kc, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, "5Kc" },
+ MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "5Kc" },
{ MIPS_PRID_CID_MTI, MIPS_20Kc, -1, -1, -1, 0,
- MIPS64_FLAGS, "20Kc" },
+ MIPS64_FLAGS, 0, 0, "20Kc" },
{ MIPS_PRID_CID_MTI, MIPS_24K, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, "24K" },
+ MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "24K" },
{ MIPS_PRID_CID_MTI, MIPS_24KE, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, "24KE" },
+ MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "24KE" },
{ MIPS_PRID_CID_MTI, MIPS_34K, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, "34K" },
+ MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "34K" },
{ MIPS_PRID_CID_MTI, MIPS_74K, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, "74K" },
+ MIPS64_FLAGS | CPU_MIPS_DOUBLE_COUNT, 0, 0, "74K" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV1, -1, MIPS_AU1000, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1000 (Rev 1 core)" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV2, -1, MIPS_AU1000, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1000 (Rev 2 core)" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV1, -1, MIPS_AU1100, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1100 (Rev 1 core)" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV2, -1, MIPS_AU1100, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1100 (Rev 2 core)" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV1, -1, MIPS_AU1500, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1500 (Rev 1 core)" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV2, -1, MIPS_AU1500, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1500 (Rev 2 core)" },
{ MIPS_PRID_CID_ALCHEMY, MIPS_AU_REV2, -1, MIPS_AU1550, -1, 0,
- MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT,
+ MIPS32_FLAGS | CPU_MIPS_NO_WAIT | CPU_MIPS_I_D_CACHE_COHERENT, 0, 0,
"Au1550 (Rev 2 core)" },
/* The SB-1 CPU uses a CCA of 5 - "Cacheable Coherent Shareable" */
{ MIPS_PRID_CID_SIBYTE, MIPS_SB1, -1, -1, -1, 0,
MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT |
- CPU_MIPS_HAVE_SPECIAL_CCA | (5 << CPU_MIPS_CACHED_CCA_SHIFT),
+ CPU_MIPS_HAVE_SPECIAL_CCA | (5 << CPU_MIPS_CACHED_CCA_SHIFT), 0, 0,
"SB-1" },
{ MIPS_PRID_CID_RMI, MIPS_XLS616, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR,
- "XLS616" },
+ MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR |
+ CPU_MIPS_HAVE_MxCR,
+ MIPS_CP0FL_USE |MIPS_CP0FL_EIRR | MIPS_CP0FL_EIMR | MIPS_CP0FL_EBASE |
+ MIPS_CP0FL_CONFIGn(0) | MIPS_CP0FL_CONFIGn(1) | MIPS_CP0FL_CONFIGn(7),
+ CIDFL_RMI_TYPE_XLS, "XLS616" },
{ MIPS_PRID_CID_RMI, MIPS_XLS416, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR,
- "XLS416" },
+ MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR |
+ CPU_MIPS_HAVE_MxCR,
+ MIPS_CP0FL_USE |MIPS_CP0FL_EIRR | MIPS_CP0FL_EIMR | MIPS_CP0FL_EBASE |
+ MIPS_CP0FL_CONFIGn(0) | MIPS_CP0FL_CONFIGn(1) | MIPS_CP0FL_CONFIGn(7),
+ CIDFL_RMI_TYPE_XLS, "XLS416" },
{ MIPS_PRID_CID_RMI, MIPS_XLS408, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR,
- "XLS408" },
+ MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR |
+ CPU_MIPS_HAVE_MxCR,
+ MIPS_CP0FL_USE |MIPS_CP0FL_EIRR | MIPS_CP0FL_EIMR | MIPS_CP0FL_EBASE |
+ MIPS_CP0FL_CONFIGn(0) | MIPS_CP0FL_CONFIGn(1) | MIPS_CP0FL_CONFIGn(7),
+ CIDFL_RMI_TYPE_XLS, "XLS408" },
{ MIPS_PRID_CID_RMI, MIPS_XLS408LITE, -1, -1, -1, 0,
- MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR,
- "XLS408LITE" },
+ MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT | CPU_MIPS_NO_LLADDR |
+ CPU_MIPS_HAVE_MxCR,
+ MIPS_CP0FL_USE |MIPS_CP0FL_EIRR | MIPS_CP0FL_EIMR | MIPS_CP0FL_EBASE |
+ MIPS_CP0FL_CONFIGn(0) | MIPS_CP0FL_CONFIGn(1) | MIPS_CP0FL_CONFIGn(7),
+ CIDFL_RMI_TYPE_XLS, "XLS408LITE" },
{ 0, 0, 0, 0, 0, 0,
- 0, NULL }
+ 0, 0, 0, NULL }
};
static const struct pridtab fputab[] = {
- { 0, MIPS_SOFT, -1, 0, 0, 0, 0, "software emulated floating point" },
- { 0, MIPS_R2360, -1, 0, 0, 0, 0, "MIPS R2360 Floating Point Board" },
- { 0, MIPS_R2010, -1, 0, 0, 0, 0, "MIPS R2010 FPC" },
- { 0, MIPS_R3010, -1, 0, 0, 0, 0, "MIPS R3010 FPC" },
- { 0, MIPS_R6010, -1, 0, 0, 0, 0, "MIPS R6010 FPC" },
- { 0, MIPS_R4010, -1, 0, 0, 0, 0, "MIPS R4010 FPC" },
+ { 0, MIPS_SOFT, -1, 0, 0, 0, 0, 0, 0, "software emulated floating point" },
+ { 0, MIPS_R2360, -1, 0, 0, 0, 0, 0, 0, "MIPS R2360 Floating Point Board" },
+ { 0, MIPS_R2010, -1, 0, 0, 0, 0, 0, 0, "MIPS R2010 FPC" },
+ { 0, MIPS_R3010, -1, 0, 0, 0, 0, 0, 0, "MIPS R3010 FPC" },
+ { 0, MIPS_R6010, -1, 0, 0, 0, 0, 0, 0, "MIPS R6010 FPC" },
+ { 0, MIPS_R4010, -1, 0, 0, 0, 0, 0, 0, "MIPS R4010 FPC" },
};
/*