Module Name:    src
Committed By:   martin
Date:           Sun Mar 29 08:48:26 UTC 2015

Modified Files:
        src/sys/arch/sparc/include [netbsd-7]: openfirm.h
        src/sys/arch/sparc/sparc [netbsd-7]: openfirm.c
        src/sys/arch/sparc/stand/ofwboot [netbsd-7]: Locore.c

Log Message:
Pull up following revision(s) (requested by nakayama in ticket #649):
        sys/arch/sparc/sparc/openfirm.c: revision 1.20
        sys/arch/sparc/include/openfirm.h: revision 1.8
        sys/arch/sparc/stand/ofwboot/Locore.c: revision 1.14
Fix kernel loading failures from partitions started from over first
4GB of disks on sparc64.
Sync sparc64 kernel's OF_seek with ofwboot's one, but sparc version
is not changed.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.7.38.1 src/sys/arch/sparc/include/openfirm.h
cvs rdiff -u -r1.18 -r1.18.28.1 src/sys/arch/sparc/sparc/openfirm.c
cvs rdiff -u -r1.13 -r1.13.4.1 src/sys/arch/sparc/stand/ofwboot/Locore.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/sparc/include/openfirm.h
diff -u src/sys/arch/sparc/include/openfirm.h:1.7 src/sys/arch/sparc/include/openfirm.h:1.7.38.1
--- src/sys/arch/sparc/include/openfirm.h:1.7	Mon May 18 11:39:30 2009
+++ src/sys/arch/sparc/include/openfirm.h	Sun Mar 29 08:48:25 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: openfirm.h,v 1.7 2009/05/18 11:39:30 nakayama Exp $	*/
+/*	$NetBSD: openfirm.h,v 1.7.38.1 2015/03/29 08:48:25 martin Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -57,6 +57,8 @@ typedef uint64_t cell_t;
 typedef uint32_t cell_t;
 #define HDL2CELL(x)	(cell_t)(x)
 #define ADR2CELL(x)	(cell_t)(x)
+#define HDQ2CELL_HI(x)	(cell_t)((x) >> 32)
+#define HDQ2CELL_LO(x)	(cell_t)(x)
 #endif /* SUN4U */
 
 int	OF_test(const char *);

Index: src/sys/arch/sparc/sparc/openfirm.c
diff -u src/sys/arch/sparc/sparc/openfirm.c:1.18 src/sys/arch/sparc/sparc/openfirm.c:1.18.28.1
--- src/sys/arch/sparc/sparc/openfirm.c:1.18	Mon Jul 18 21:00:28 2011
+++ src/sys/arch/sparc/sparc/openfirm.c	Sun Mar 29 08:48:25 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: openfirm.c,v 1.18 2011/07/18 21:00:28 martin Exp $	*/
+/*	$NetBSD: openfirm.c,v 1.18.28.1 2015/03/29 08:48:25 martin Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: openfirm.c,v 1.18 2011/07/18 21:00:28 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: openfirm.c,v 1.18.28.1 2015/03/29 08:48:25 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -546,8 +546,8 @@ OF_seek(int handle, u_quad_t pos)
 	args.nargs = 3;
 	args.nreturns = 1;
 	args.handle = HDL2CELL(handle);
-	args.poshi = HDL2CELL(pos >> 32);
-	args.poslo = HDL2CELL(pos);
+	args.poshi = HDQ2CELL_HI(pos);
+	args.poslo = HDQ2CELL_LO(pos);
 	if (openfirmware(&args) == -1)
 		return -1;
 	return args.status;

Index: src/sys/arch/sparc/stand/ofwboot/Locore.c
diff -u src/sys/arch/sparc/stand/ofwboot/Locore.c:1.13 src/sys/arch/sparc/stand/ofwboot/Locore.c:1.13.4.1
--- src/sys/arch/sparc/stand/ofwboot/Locore.c:1.13	Wed Dec 18 10:09:56 2013
+++ src/sys/arch/sparc/stand/ofwboot/Locore.c	Sun Mar 29 08:48:26 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: Locore.c,v 1.13 2013/12/18 10:09:56 martin Exp $	*/
+/*	$NetBSD: Locore.c,v 1.13.4.1 2015/03/29 08:48:26 martin Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -302,8 +302,8 @@ OF_seek(int handle, u_quad_t pos)
 	args.nargs = 3;
 	args.nreturns = 1;
 	args.handle = HDL2CELL(handle);
-	args.poshi = HDL2CELL(pos >> 32);
-	args.poslo = HDL2CELL(pos);
+	args.poshi = HDQ2CELL_HI(pos);
+	args.poslo = HDQ2CELL_LO(pos);
 	if (openfirmware(&args) == -1) {
 		return -1;
 	}

Reply via email to