Module Name:    src
Committed By:   cliff
Date:           Sun Sep 13 03:30:27 UTC 2009

Modified Files:
        src/sys/arch/mips/mips [matt-nb5-mips64]: mips_machdep.c

Log Message:
- add support for MIPS_XLS616.
- add RMI and others to cidnames[]
- use MIPS_PHYS_TO_XKPHYS_CACHED to make va for msgbuf and maddr #ifdef _LP64


To generate a diff of this commit:
cvs rdiff -u -r1.205.4.1.2.1.2.11 -r1.205.4.1.2.1.2.12 \
    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.11 src/sys/arch/mips/mips/mips_machdep.c:1.205.4.1.2.1.2.12
--- src/sys/arch/mips/mips/mips_machdep.c:1.205.4.1.2.1.2.11	Sat Sep 12 18:19:17 2009
+++ src/sys/arch/mips/mips/mips_machdep.c	Sun Sep 13 03:30:27 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.11 2009/09/12 18:19:17 matt Exp $	*/
+/*	$NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.12 2009/09/13 03:30:27 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.11 2009/09/12 18:19:17 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mips_machdep.c,v 1.205.4.1.2.1.2.12 2009/09/13 03:30:27 cliff Exp $");
 
 #include "opt_cputype.h"
 #include "opt_compat_netbsd32.h"
@@ -447,6 +447,10 @@
 	  CPU_MIPS_HAVE_SPECIAL_CCA | (5 << CPU_MIPS_CACHED_CCA_SHIFT),
 						"SB-1"			},
 
+	{ MIPS_PRID_CID_RMI, MIPS_XLS616, -1,	-1, -1, 0,
+	  MIPS64_FLAGS | CPU_MIPS_D_CACHE_COHERENT,
+						"XLS616"		},
+
 	{ 0, 0, 0,				0, 0, 0,
 	  0,					NULL			}
 };
@@ -471,6 +475,13 @@
 	"Alchemy",	/* or "Alchemy Semiconductor"	*/
 	"SiByte",	/* or "Broadcom Corp. (SiByte)"	*/
 	"SandCraft",
+	"Phillips",
+	"Toshiba",
+	"LSI",
+	"(unannounced)",
+	"(unannounced)",
+	"Lexra",
+	"RMI",
 };
 #define	ncidnames (sizeof(cidnames) / sizeof(cidnames[0]))
 
@@ -1494,6 +1505,8 @@
 		bytes = mem_clusters[memcl].size;
 
 		for (i = 0; i < bytes; i += n, totalbytesleft -= n) {
+			void *maddr_va;
+
 			/* Print out how many MBs we have left to go. */
 			if ((totalbytesleft % (1024*1024)) == 0)
 				printf_nolog("%ld ",
@@ -1504,8 +1517,12 @@
 			if (n > BYTES_PER_DUMP)
 				n = BYTES_PER_DUMP;
 
-			error = (*dump)(dumpdev, blkno,
-			    (void *)MIPS_PHYS_TO_KSEG0(maddr), n);
+#ifdef _LP64
+			maddr_va = (void *)MIPS_PHYS_TO_XKPHYS_CACHED(maddr);
+#else
+			maddr_va = (void *)MIPS_PHYS_TO_KSEG0(maddr);
+#endif
+			error = (*dump)(dumpdev, blkno, maddr_va, n);
 			if (error)
 				goto err;
 			maddr += n;
@@ -1565,7 +1582,11 @@
 
 	vps->end -= atop(sz);
 	vps->avail_end -= atop(sz);
+#ifdef _LP64
+	msgbufaddr = (void *) MIPS_PHYS_TO_XKPHYS_CACHED(ptoa(vps->end));
+#else
 	msgbufaddr = (void *) MIPS_PHYS_TO_KSEG0(ptoa(vps->end));
+#endif
 	initmsgbuf(msgbufaddr, sz);
 
 	/* Remove the last segment if it now has no pages. */

Reply via email to