PERFORCE change 30259 for review
Peter Wemm
peter at FreeBSD.org
Wed Apr 30 21:06:23 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=30259
Change 30259 by peter at 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);
}
/*
More information about the p4-projects
mailing list