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;
}