Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Apr 2003 21:06:20 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 30259 for review
Message-ID:  <200305010406.h4146Knw008863@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=30259

Change 30259 by peter@peter_daintree on 2003/04/30 21:06:06

	IFC @30258

Affected files ...

.. //depot/projects/hammer/bin/pax/tar.1#4 integrate
.. //depot/projects/hammer/sys/amd64/include/metadata.h#2 integrate
.. //depot/projects/hammer/sys/boot/alpha/libalpha/elf_freebsd.c#3 integrate
.. //depot/projects/hammer/sys/boot/arc/lib/elf_freebsd.c#3 integrate
.. //depot/projects/hammer/sys/boot/common/Makefile.inc#5 integrate
.. //depot/projects/hammer/sys/boot/common/bootstrap.h#5 integrate
.. //depot/projects/hammer/sys/boot/common/load_elf.c#11 integrate
.. //depot/projects/hammer/sys/boot/common/load_elf32.c#2 integrate
.. //depot/projects/hammer/sys/boot/common/load_elf64.c#2 integrate
.. //depot/projects/hammer/sys/boot/efi/libefi/elf_freebsd.c#5 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/Makefile#8 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/amd64_tramp.S#3 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#5 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/bootinfo.c#6 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/bootinfo32.c#6 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/bootinfo64.c#7 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/elf32_freebsd.c#5 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/elf64_freebsd.c#14 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/elf_freebsd.c#7 delete
.. //depot/projects/hammer/sys/boot/i386/libi386/libi386.h#5 integrate
.. //depot/projects/hammer/sys/boot/i386/loader/conf.c#6 integrate
.. //depot/projects/hammer/sys/boot/i386/loader/main.c#4 integrate
.. //depot/projects/hammer/sys/boot/ia64/libski/elf_freebsd.c#4 integrate
.. //depot/projects/hammer/sys/boot/ofw/libofw/elf_freebsd.c#3 integrate
.. //depot/projects/hammer/sys/dev/firewire/sbp.c#10 integrate
.. //depot/projects/hammer/sys/i386/include/elf.h#4 integrate
.. //depot/projects/hammer/sys/i386/include/metadata.h#2 integrate
.. //depot/projects/hammer/sys/i386/include/specialreg.h#3 integrate
.. //depot/projects/hammer/sys/kern/vfs_default.c#10 integrate
.. //depot/projects/hammer/sys/kern/vfs_subr.c#13 integrate
.. //depot/projects/hammer/sys/powerpc/include/metadata.h#3 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#13 integrate
.. //depot/projects/hammer/sys/sparc64/include/metadata.h#3 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#17 integrate
.. //depot/projects/hammer/sys/sys/linker.h#9 integrate
.. //depot/projects/hammer/sys/vm/vm_object.c#13 integrate

Differences ...

==== //depot/projects/hammer/bin/pax/tar.1#4 (text+ko) ====

@@ -27,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\"	$FreeBSD: src/bin/pax/tar.1,v 1.6 2002/10/06 07:56:27 tjr Exp $
+.\"	$FreeBSD: src/bin/pax/tar.1,v 1.7 2003/05/01 02:37:46 tjr Exp $
 .\"	$OpenBSD: tar.1,v 1.33 2001/05/01 17:58:01 aaron Exp $
 .\"
 .Dd February 7, 2001
@@ -41,7 +41,7 @@
 .Sm off
 .Op Fl
 .Brq Cm crtux
-.Op Cm befhmopqsvwzHLOPXZ014578
+.Op Cm befhjmopqsvwyzHLOPXZ014578
 .Sm on
 .Op Ar blocksize
 .Op Ar archive

==== //depot/projects/hammer/sys/amd64/include/metadata.h#2 (text+ko) ====


==== //depot/projects/hammer/sys/boot/alpha/libalpha/elf_freebsd.c#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/boot/alpha/libalpha/elf_freebsd.c,v 1.11 2000/11/14 08:10:15 mjacob Exp $ */
+/* $FreeBSD: src/sys/boot/alpha/libalpha/elf_freebsd.c,v 1.12 2003/05/01 03:56:28 peter Exp $ */
 /* $NetBSD: loadfile.c,v 1.10 1998/06/25 06:45:46 ross Exp $ */
 
 /*-

==== //depot/projects/hammer/sys/boot/arc/lib/elf_freebsd.c#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/boot/arc/lib/elf_freebsd.c,v 1.3 2000/05/01 17:41:20 bp Exp $ */
+/* $FreeBSD: src/sys/boot/arc/lib/elf_freebsd.c,v 1.4 2003/05/01 03:56:29 peter Exp $ */
 /* $NetBSD: loadfile.c,v 1.10 1998/06/25 06:45:46 ross Exp $ */
 
 /*-

==== //depot/projects/hammer/sys/boot/common/Makefile.inc#5 (text+ko) ====

@@ -1,17 +1,17 @@
-# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.14 2002/08/29 02:02:27 peter Exp $
+# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.15 2003/05/01 03:56:29 peter Exp $
 
 SRCS+=	bcache.c boot.c commands.c console.c devopen.c interp.c 
 SRCS+=	interp_backslash.c interp_parse.c ls.c misc.c 
 SRCS+=	module.c panic.c
 
-.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc"
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
 SRCS+=	load_elf32.c load_elf64.c
 .endif
 .if ${MACHINE_ARCH} == "powerpc"
 SRCS+=	load_elf32.c
 .endif
 .if ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "alpha"
-SRCS+=	load_elf32.c
+SRCS+=	load_elf64.c
 .endif
 
 .if defined(LOADER_NET_SUPPORT)

==== //depot/projects/hammer/sys/boot/common/bootstrap.h#5 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.37 2003/04/06 06:28:08 peter Exp $
+ * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.38 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <sys/types.h>

==== //depot/projects/hammer/sys/boot/common/load_elf.c#11 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/common/load_elf.c,v 1.26 2003/04/04 16:35:14 phk Exp $
+ * $FreeBSD: src/sys/boot/common/load_elf.c,v 1.27 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <sys/param.h>
@@ -261,7 +261,7 @@
     if (ef->kernel) {
 #ifdef __i386__
 #if __ELF_WORD_SIZE == 64
-	off = - (off & 0xffffffffff000000u);/* x86_64 relocates after locore */
+	off = - (off & 0xffffffffff000000ull);/* x86_64 relocates after locore */
 #else
 	off = - (off & 0xff000000u);	/* i386 relocates after locore */
 #endif

==== //depot/projects/hammer/sys/boot/common/load_elf32.c#2 (text+ko) ====


==== //depot/projects/hammer/sys/boot/common/load_elf64.c#2 (text+ko) ====


==== //depot/projects/hammer/sys/boot/efi/libefi/elf_freebsd.c#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/boot/efi/libefi/elf_freebsd.c,v 1.10 2002/11/28 03:25:51 marcel Exp $ */
+/* $FreeBSD: src/sys/boot/efi/libefi/elf_freebsd.c,v 1.11 2003/05/01 03:56:29 peter Exp $ */
 /* $NetBSD: loadfile.c,v 1.10 1998/06/25 06:45:46 ross Exp $ */
 
 /*-

==== //depot/projects/hammer/sys/boot/i386/libi386/Makefile#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.28 2002/08/29 02:02:28 peter Exp $
+# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.29 2003/05/01 03:56:29 peter Exp $
 #
 LIB=			i386
 INTERNALLIB=		true

==== //depot/projects/hammer/sys/boot/i386/libi386/amd64_tramp.S#3 (text+ko) ====


==== //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#5 (text+ko) ====


==== //depot/projects/hammer/sys/boot/i386/libi386/bootinfo.c#6 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/bootinfo.c,v 1.33 2002/06/20 06:29:42 peter Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/bootinfo.c,v 1.34 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <stand.h>

==== //depot/projects/hammer/sys/boot/i386/libi386/bootinfo32.c#6 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/bootinfo32.c,v 1.33 2002/06/20 06:29:42 peter Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/bootinfo32.c,v 1.34 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <stand.h>

==== //depot/projects/hammer/sys/boot/i386/libi386/bootinfo64.c#7 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/bootinfo64.c,v 1.33 2002/06/20 06:29:42 peter Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/bootinfo64.c,v 1.34 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <stand.h>

==== //depot/projects/hammer/sys/boot/i386/libi386/elf32_freebsd.c#5 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.11 2003/04/04 16:35:15 phk Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.12 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <sys/param.h>

==== //depot/projects/hammer/sys/boot/i386/libi386/elf64_freebsd.c#14 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/elf64_freebsd.c,v 1.11 2003/04/04 16:35:15 phk Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/elf64_freebsd.c,v 1.12 2003/05/01 03:56:29 peter Exp $
  */
 
 #define __ELF_WORD_SIZE 64

==== //depot/projects/hammer/sys/boot/i386/libi386/libi386.h#5 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.15 2001/11/05 18:58:33 jhb Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.16 2003/05/01 03:56:29 peter Exp $
  */
 
 

==== //depot/projects/hammer/sys/boot/i386/loader/conf.c#6 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/loader/conf.c,v 1.22 2002/12/19 19:34:59 jake Exp $
+ * $FreeBSD: src/sys/boot/i386/loader/conf.c,v 1.23 2003/05/01 03:56:29 peter Exp $
  */
 
 #include <stand.h>

==== //depot/projects/hammer/sys/boot/i386/loader/main.c#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/loader/main.c,v 1.26 2002/10/01 19:31:09 iwasaki Exp $
+ * $FreeBSD: src/sys/boot/i386/loader/main.c,v 1.27 2003/05/01 03:56:29 peter Exp $
  */
 
 /*

==== //depot/projects/hammer/sys/boot/ia64/libski/elf_freebsd.c#4 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/boot/ia64/libski/elf_freebsd.c,v 1.7 2003/02/01 22:50:08 marcel Exp $ */
+/* $FreeBSD: src/sys/boot/ia64/libski/elf_freebsd.c,v 1.8 2003/05/01 03:56:29 peter Exp $ */
 /* $NetBSD: loadfile.c,v 1.10 1998/06/25 06:45:46 ross Exp $ */
 
 /*-

==== //depot/projects/hammer/sys/boot/ofw/libofw/elf_freebsd.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/ofw/libofw/elf_freebsd.c,v 1.4 2002/07/18 12:39:01 benno Exp $
+ * $FreeBSD: src/sys/boot/ofw/libofw/elf_freebsd.c,v 1.5 2003/05/01 03:56:30 peter Exp $
  */
 
 #include <sys/param.h>

==== //depot/projects/hammer/sys/dev/firewire/sbp.c#10 (text+ko) ====

@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.47 2003/04/30 10:32:32 simokawa Exp $
+ * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.48 2003/05/01 03:38:04 simokawa Exp $
  *
  */
 
@@ -2218,10 +2218,10 @@
 		}
 SBP_DEBUG(1)
 		printf("%s:%d:%d:%d:XPT_CALC_GEOMETRY: "
-			"Volume size = %d\n",
+			"Volume size = %lld\n",
 			device_get_nameunit(sbp->fd.dev), cam_sim_path(sbp->sim),
 			ccb->ccb_h.target_id, ccb->ccb_h.target_lun,
-			ccg->volume_size);
+			(u_int64_t)ccg->volume_size);
 END_DEBUG
 
 		size_mb = ccg->volume_size

==== //depot/projects/hammer/sys/i386/include/elf.h#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/i386/include/elf.h,v 1.13 2002/05/30 08:32:18 dfr Exp $
+ * $FreeBSD: src/sys/i386/include/elf.h,v 1.14 2003/05/01 03:46:12 peter Exp $
  */
 
 #ifndef _MACHINE_ELF_H_
@@ -65,7 +65,7 @@
 } Elf32_Auxinfo;
 
 #if __ELF_WORD_SIZE == 64
-/* Fake for x86-64 loader support */
+/* Fake for amd64 loader support */
 typedef struct {
 	int fake;
 } Elf64_Auxinfo;

==== //depot/projects/hammer/sys/i386/include/metadata.h#2 (text+ko) ====


==== //depot/projects/hammer/sys/i386/include/specialreg.h#3 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)specialreg.h	7.1 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/i386/include/specialreg.h,v 1.23 2003/01/22 17:26:18 jhb Exp $
+ * $FreeBSD: src/sys/i386/include/specialreg.h,v 1.24 2003/05/01 03:44:40 peter Exp $
  */
 
 #ifndef _MACHINE_SPECIALREG_H_
@@ -108,7 +108,7 @@
 #define	CPUID_SS	0x08000000
 #define	CPUID_HTT	0x10000000
 #define	CPUID_TM	0x20000000
-#define	CPUID_B30	0x40000000
+#define	CPUID_IA64	0x40000000
 #define	CPUID_PBE	0x80000000
 
 /*

==== //depot/projects/hammer/sys/kern/vfs_default.c#10 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *
- * $FreeBSD: src/sys/kern/vfs_default.c,v 1.81 2003/04/29 13:36:03 kan Exp $
+ * $FreeBSD: src/sys/kern/vfs_default.c,v 1.82 2003/05/01 03:51:05 alc Exp $
  */
 
 #include <sys/param.h>
@@ -605,7 +605,9 @@
 		 * Dereference the reference we just created.  This assumes
 		 * that the object is associated with the vp.
 		 */
+		VM_OBJECT_LOCK(object);
 		object->ref_count--;
+		VM_OBJECT_UNLOCK(object);
 		vrele(vp);
 	} else {
 		if (object->flags & OBJ_DEAD) {

==== //depot/projects/hammer/sys/kern/vfs_subr.c#13 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)vfs_subr.c	8.31 (Berkeley) 5/26/95
- * $FreeBSD: src/sys/kern/vfs_subr.c,v 1.444 2003/04/26 23:41:30 alc Exp $
+ * $FreeBSD: src/sys/kern/vfs_subr.c,v 1.445 2003/05/01 03:10:38 alc Exp $
  */
 
 /*
@@ -829,11 +829,15 @@
 	/*
 	 * Don't recycle if we still have cached pages.
 	 */
-	if (VOP_GETVOBJECT(vp, &object) == 0 &&
-	     (object->resident_page_count ||
-	      object->ref_count)) {
-		error = EBUSY;
-		goto done;
+	if (VOP_GETVOBJECT(vp, &object) == 0) {
+		VM_OBJECT_LOCK(object);
+		if (object->resident_page_count ||
+		    object->ref_count) {
+			VM_OBJECT_UNLOCK(object);
+			error = EBUSY;
+			goto done;
+		}
+		VM_OBJECT_UNLOCK(object);
 	}
 	if (LIST_FIRST(&vp->v_cache_src)) {
 		/*

==== //depot/projects/hammer/sys/powerpc/include/metadata.h#3 (text+ko) ====

@@ -23,15 +23,14 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/powerpc/include/metadata.h,v 1.1 2002/07/10 12:14:23 benno Exp $
+ * $FreeBSD: src/sys/powerpc/include/metadata.h,v 1.2 2003/05/01 03:31:17 peter Exp $
  */
 
 #ifndef _MACHINE_METADATA_H_
 #define	_MACHINE_METADATA_H_
 
-/* These three have been moved to MI */
-#define	MODINFOMD_OENVP		0x1001
-#define	MODINFOMD_OHOWTO	0x1002
-#define	MODINFOMD_OKERNEND	0x1003
+#define	MODINFOMD_ENVP		0x1001
+#define	MODINFOMD_HOWTO		0x1002
+#define	MODINFOMD_KERNEND	0x1003
 
 #endif /* !_MACHINE_METADATA_H_ */

==== //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#13 (text+ko) ====

@@ -55,7 +55,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/machdep.c,v 1.55 2003/04/30 22:09:26 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/machdep.c,v 1.56 2003/05/01 03:33:28 peter Exp $");
 
 #include "opt_ddb.h"
 #include "opt_compat.h"
@@ -268,8 +268,6 @@
 	if (mdp != NULL) {
 		preload_metadata = mdp;
 		kmdp = preload_search_by_type("elf kernel");
-		if (kmdp == NULL)
-			kmdp = preload_search_by_type("elf32 kernel");
 		if (kmdp != NULL) {
 			boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
 			kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *);

==== //depot/projects/hammer/sys/sparc64/include/metadata.h#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sparc64/include/metadata.h,v 1.3 2002/05/29 05:49:59 jake Exp $
+ * $FreeBSD: src/sys/sparc64/include/metadata.h,v 1.4 2003/05/01 03:31:18 peter Exp $
  */
 
 #ifndef _MACHINE_METADATA_H_

==== //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#17 (text+ko) ====

@@ -37,7 +37,7 @@
  *
  *	from: @(#)machdep.c	7.4 (Berkeley) 6/3/91
  * 	from: FreeBSD: src/sys/i386/i386/machdep.c,v 1.477 2001/08/27
- * $FreeBSD: src/sys/sparc64/sparc64/machdep.c,v 1.92 2003/04/30 22:09:26 peter Exp $
+ * $FreeBSD: src/sys/sparc64/sparc64/machdep.c,v 1.93 2003/05/01 03:33:28 peter Exp $
  */
 
 #include "opt_compat.h"
@@ -243,8 +243,6 @@
 	if (mdp != NULL) {
 		preload_metadata = mdp;
 		kmdp = preload_search_by_type("elf kernel");
-		if (kmdp == NULL)
-			kmdp = preload_search_by_type("elf32 kernel");
 		if (kmdp != NULL) {
 			boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
 			kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *);

==== //depot/projects/hammer/sys/sys/linker.h#9 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sys/linker.h,v 1.35 2003/01/21 02:42:44 jake Exp $
+ * $FreeBSD: src/sys/sys/linker.h,v 1.36 2003/05/01 03:31:17 peter Exp $
  */
 
 #ifndef _SYS_LINKER_H_
@@ -191,9 +191,12 @@
 #define MODINFOMD_SSYM		0x0003		/* start of symbols */
 #define MODINFOMD_ESYM		0x0004		/* end of symbols */
 #define MODINFOMD_DYNAMIC	0x0005		/* _DYNAMIC pointer */
+/* These values are MD on these two platforms */
+#if !defined(__sparc64__) && !defined(__powerpc__)
 #define MODINFOMD_ENVP		0x0006		/* envp[] */
 #define MODINFOMD_HOWTO		0x0007		/* boothowto */
 #define MODINFOMD_KERNEND	0x0008		/* kernend */
+#endif
 #define MODINFOMD_NOCOPY	0x8000		/* don't copy this metadata to the kernel */
 
 #define MODINFOMD_DEPLIST	(0x4001 | MODINFOMD_NOCOPY)	/* depends on */

==== //depot/projects/hammer/sys/vm/vm_object.c#13 (text+ko) ====

@@ -61,7 +61,7 @@
  * any improvements or extensions that they make and grant Carnegie the
  * rights to redistribute these changes.
  *
- * $FreeBSD: src/sys/vm/vm_object.c,v 1.277 2003/04/28 03:45:35 alc Exp $
+ * $FreeBSD: src/sys/vm/vm_object.c,v 1.278 2003/05/01 03:29:20 alc Exp $
  */
 
 /*
@@ -369,28 +369,26 @@
 /*
  *	vm_object_reference:
  *
- *	Gets another reference to the given object.
+ *	Gets another reference to the given object.  Note: OBJ_DEAD
+ *	objects can be referenced during final cleaning.
  */
 void
 vm_object_reference(vm_object_t object)
 {
 	if (object == NULL)
 		return;
-
-	vm_object_lock(object);
-#if 0
-	/* object can be re-referenced during final cleaning */
-	KASSERT(!(object->flags & OBJ_DEAD),
-	    ("vm_object_reference: attempting to reference dead obj"));
-#endif
-
+	if (object != kmem_object)
+		mtx_lock(&Giant);
+	VM_OBJECT_LOCK(object);
 	object->ref_count++;
+	VM_OBJECT_UNLOCK(object);
 	if (object->type == OBJT_VNODE) {
 		while (vget((struct vnode *) object->handle, LK_RETRY, curthread)) {
 			printf("vm_object_reference: delay in getting object\n");
 		}
 	}
-	vm_object_unlock(object);
+	if (object != kmem_object)
+		mtx_unlock(&Giant);
 }
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305010406.h4146Knw008863>