Module Name:    src
Committed By:   haad
Date:           Sun Feb 28 14:45:48 UTC 2010

Modified Files:
        src/external/cddl/osnet/include: unistd.h
        src/external/cddl/osnet/sbin/zfs: Makefile
        src/external/cddl/osnet/sbin/zpool: Makefile
        src/external/cddl/osnet/sys/kern: ddi.c misc.c taskq.c
        src/external/cddl/osnet/sys/machine: endian.h
        src/external/cddl/osnet/sys/sys: byteorder.h cpuvar.h elf.h idmap.h
            modctl.h mount.h policy.h proc.h types.h uio.h vfs.h vnode.h
            zfs_context.h
        src/external/cddl/osnet/sys/sys/acl: acl_common.h

Log Message:
Add NetBSD build glue to build new zfs version 22 sources.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/include/unistd.h
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sbin/zfs/Makefile
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sbin/zpool/Makefile
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sys/kern/ddi.c
cvs rdiff -u -r1.1 -r1.2 src/external/cddl/osnet/sys/kern/misc.c \
    src/external/cddl/osnet/sys/kern/taskq.c
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sys/machine/endian.h
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/sys/sys/byteorder.h \
    src/external/cddl/osnet/sys/sys/cpuvar.h \
    src/external/cddl/osnet/sys/sys/elf.h \
    src/external/cddl/osnet/sys/sys/modctl.h \
    src/external/cddl/osnet/sys/sys/mount.h \
    src/external/cddl/osnet/sys/sys/policy.h \
    src/external/cddl/osnet/sys/sys/proc.h \
    src/external/cddl/osnet/sys/sys/uio.h \
    src/external/cddl/osnet/sys/sys/vfs.h \
    src/external/cddl/osnet/sys/sys/vnode.h
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sys/sys/idmap.h
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/sys/sys/types.h \
    src/external/cddl/osnet/sys/sys/zfs_context.h
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sys/sys/acl/acl_common.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/include/unistd.h
diff -u src/external/cddl/osnet/include/unistd.h:1.3 src/external/cddl/osnet/include/unistd.h:1.4
--- src/external/cddl/osnet/include/unistd.h:1.3	Sun Feb 21 01:46:34 2010
+++ src/external/cddl/osnet/include/unistd.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: unistd.h,v 1.3 2010/02/21 01:46:34 darran Exp $	*/
+/*	$NetBSD: unistd.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * Copyright (C) 2007 John Birrell <j...@freebsd.org>
@@ -38,4 +38,6 @@
 #define	ftruncate64	ftruncate
 #define	pread64		pread
 
+#define	_SC_PHYS_PAGES			500
+
 #endif

Index: src/external/cddl/osnet/sbin/zfs/Makefile
diff -u src/external/cddl/osnet/sbin/zfs/Makefile:1.2 src/external/cddl/osnet/sbin/zfs/Makefile:1.3
--- src/external/cddl/osnet/sbin/zfs/Makefile:1.2	Wed Oct 21 22:31:19 2009
+++ src/external/cddl/osnet/sbin/zfs/Makefile	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2009/10/21 22:31:19 joerg Exp $
+#	$NetBSD: Makefile,v 1.3 2010/02/28 14:45:47 haad Exp $
 
 .include "../../Makefile.zfs"
 
@@ -18,7 +18,10 @@
 LIBZFS_OBJDIR!=  cd ${LIBZFS_SRCDIR} && ${PRINTOBJDIR}
 LDADD+=         -L${LIBZFS_OBJDIR} -lzfs
 
-LDADD+= -lm -lutil
+LIBUMEM_OBJDIR!=  cd ${LIBUMEM_SRCDIR} && ${PRINTOBJDIR}
+LDADD+=         -L${LIBUMEM_OBJDIR} -lumem
+
+LDADD+= -lm -lutil -lpthread
 
 .PATH: ${ZFSDIR}/dist/cmd/zfs
 

Index: src/external/cddl/osnet/sbin/zpool/Makefile
diff -u src/external/cddl/osnet/sbin/zpool/Makefile:1.2 src/external/cddl/osnet/sbin/zpool/Makefile:1.3
--- src/external/cddl/osnet/sbin/zpool/Makefile:1.2	Wed Oct 21 22:32:20 2009
+++ src/external/cddl/osnet/sbin/zpool/Makefile	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2009/10/21 22:32:20 joerg Exp $
+#	$NetBSD: Makefile,v 1.3 2010/02/28 14:45:47 haad Exp $
 
 .include "../../Makefile.zfs"
 
@@ -7,7 +7,7 @@
 USETBL=	yes
 SRCS=	zpool_main.c zpool_iter.c zpool_util.c zpool_vdev.c
 
-DPADD=	${LIBAVL} ${LIBZFS} ${LIBM} ${LIBNVPAIR} ${LIBUUTIL} ${LIBUTIL}
+DPADD=	${LIBAVL} ${LIBZFS} ${LIBM} ${LIBNVPAIR} ${LIBUUTIL} ${LIBUTIL} ${LIBUMEM}
 
 LIBAVL_OBJDIR!=  cd ${LIBAVL_SRCDIR} && ${PRINTOBJDIR}
 LDADD+=         -L${LIBAVL_OBJDIR} -lavl
@@ -21,7 +21,13 @@
 LIBZFS_OBJDIR!=  cd ${LIBZFS_SRCDIR} && ${PRINTOBJDIR}
 LDADD+=         -L${LIBZFS_OBJDIR} -lzfs
 
-LDADD+= -lm -lutil
+LIBUMEM_OBJDIR!=  cd ${LIBUMEM_SRCDIR} && ${PRINTOBJDIR}
+LDADD+=         -L${LIBUMEM_OBJDIR} -lumem
+
+LIBZPOOL_OBJDIR!=  cd ${LIBZPOOL_SRCDIR} && ${PRINTOBJDIR}
+LDADD+=         -L${LIBZPOOL_OBJDIR} -lzpool
+
+LDADD+= -lm -lutil -lpthread
 
 .PATH: ${ZFSDIR}/dist/cmd/zpool
 

Index: src/external/cddl/osnet/sys/kern/ddi.c
diff -u src/external/cddl/osnet/sys/kern/ddi.c:1.2 src/external/cddl/osnet/sys/kern/ddi.c:1.3
--- src/external/cddl/osnet/sys/kern/ddi.c:1.2	Mon Aug 10 22:41:51 2009
+++ src/external/cddl/osnet/sys/kern/ddi.c	Sun Feb 28 14:45:47 2010
@@ -34,6 +34,7 @@
 #include <sys/ddi.h>
 #include <sys/errno.h>
 #include <sys/param.h>
+#include <sys/kernel.h>
 #include <sys/kmem.h>
 #include <sys/cmn_err.h>
 #include <sys/namei.h>
@@ -566,3 +567,17 @@
 	(void)do_sys_unlink(pn, UIO_SYSSPACE);
 	PNBUF_PUT(pn);
 }
+
+clock_t
+ddi_get_lbolt()
+{
+
+	return hardclock_ticks;
+}
+
+int64_t
+ddi_get_lbolt64()
+{
+
+	return hardclock_ticks;
+}

Index: src/external/cddl/osnet/sys/kern/misc.c
diff -u src/external/cddl/osnet/sys/kern/misc.c:1.1 src/external/cddl/osnet/sys/kern/misc.c:1.2
--- src/external/cddl/osnet/sys/kern/misc.c:1.1	Fri Aug  7 20:57:57 2009
+++ src/external/cddl/osnet/sys/kern/misc.c	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: misc.c,v 1.1 2009/08/07 20:57:57 haad Exp $	*/
+/*	$NetBSD: misc.c,v 1.2 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -107,6 +107,28 @@
 }
 
 void
+thread_join(uint64_t kid)
+{
+
+	return;
+}
+
+int
+newproc(void (*pc)(), caddr_t arg, id_t cid, int pri, struct contract **ct,
+    pid_t pid)
+{
+	int error;
+
+	ASSERT(cid == PRI_NONE);
+	
+	error = kthread_create(pri, KTHREAD_MPSAFE, NULL,
+	    pc, arg, NULL, "zfs_proc");
+	KASSERT(error == 0);
+
+	return 0;
+}
+
+void
 kmem_reap(void)
 {
 	int bufcnt;
Index: src/external/cddl/osnet/sys/kern/taskq.c
diff -u src/external/cddl/osnet/sys/kern/taskq.c:1.1 src/external/cddl/osnet/sys/kern/taskq.c:1.2
--- src/external/cddl/osnet/sys/kern/taskq.c:1.1	Fri Aug  7 20:57:57 2009
+++ src/external/cddl/osnet/sys/kern/taskq.c	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: taskq.c,v 1.1 2009/08/07 20:57:57 haad Exp $	*/
+/*	$NetBSD: taskq.c,v 1.2 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -399,6 +399,8 @@
 #define SYSTEM_TASKQ_SIZE 1
 int system_taskq_size = SYSTEM_TASKQ_SIZE;
 
+#define	TASKQ_ACTIVE 	0x00010000
+
 /*
  * Dynamic task queue threads that don't get any work within
  * taskq_thread_timeout destroy themselves

Index: src/external/cddl/osnet/sys/machine/endian.h
diff -u src/external/cddl/osnet/sys/machine/endian.h:1.2 src/external/cddl/osnet/sys/machine/endian.h:1.3
--- src/external/cddl/osnet/sys/machine/endian.h:1.2	Sun Feb 21 01:46:35 2010
+++ src/external/cddl/osnet/sys/machine/endian.h	Sun Feb 28 14:45:47 2010
@@ -1,5 +1,3 @@
-/*	$NetBSD: endian.h,v 1.2 2010/02/21 01:46:35 darran Exp $	*/
-
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org>
  * All rights reserved.

Index: src/external/cddl/osnet/sys/sys/byteorder.h
diff -u src/external/cddl/osnet/sys/sys/byteorder.h:1.3 src/external/cddl/osnet/sys/sys/byteorder.h:1.4
--- src/external/cddl/osnet/sys/sys/byteorder.h:1.3	Sun Feb 21 01:46:35 2010
+++ src/external/cddl/osnet/sys/sys/byteorder.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: byteorder.h,v 1.3 2010/02/21 01:46:35 darran Exp $	*/
+/*	$NetBSD: byteorder.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -64,4 +64,27 @@
 #define	LE_64(x)	BMASK_64(x)
 #endif
 
+/*
+ * Macros to convert from a specific byte order to/from native byte order
+ */
+#ifdef _BIG_ENDIAN
+#define	BE_8(x)		BMASK_8(x)
+#define	BE_16(x)	BMASK_16(x)
+#define	BE_32(x)	BMASK_32(x)
+#define	BE_64(x)	BMASK_64(x)
+#define	LE_8(x)		BSWAP_8(x)
+#define	LE_16(x)	BSWAP_16(x)
+#define	LE_32(x)	BSWAP_32(x)
+#define	LE_64(x)	BSWAP_64(x)
+#else
+#define	LE_8(x)		BMASK_8(x)
+#define	LE_16(x)	BMASK_16(x)
+#define	LE_32(x)	BMASK_32(x)
+#define	LE_64(x)	BMASK_64(x)
+#define	BE_8(x)		BSWAP_8(x)
+#define	BE_16(x)	BSWAP_16(x)
+#define	BE_32(x)	BSWAP_32(x)
+#define	BE_64(x)	BSWAP_64(x)
+#endif
+
 #endif /* _OPENSOLARIS_SYS_BYTEORDER_H_ */
Index: src/external/cddl/osnet/sys/sys/cpuvar.h
diff -u src/external/cddl/osnet/sys/sys/cpuvar.h:1.3 src/external/cddl/osnet/sys/sys/cpuvar.h:1.4
--- src/external/cddl/osnet/sys/sys/cpuvar.h:1.3	Sun Feb 21 01:46:35 2010
+++ src/external/cddl/osnet/sys/sys/cpuvar.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpuvar.h,v 1.3 2010/02/21 01:46:35 darran Exp $	*/
+/*	$NetBSD: cpuvar.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -19,8 +19,6 @@
  * information: Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
- *
- * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/cpuvar.h,v 1.5.2.1 2009/08/03 08:13:06 kensmith Exp $
  */
 
 /*
@@ -32,30 +30,8 @@
 #define	_COMPAT_OPENSOLARIS_SYS_CPUVAR_H
 
 #include <sys/mutex.h>
-#include <sys/cpuvar_defs.h>
 
 #ifdef _KERNEL
-
-struct cyc_cpu;
-
-typedef struct {
-	int		cpuid;
-        struct cyc_cpu *cpu_cyclic;
-	uint32_t	cpu_flags;
-	uint_t		cpu_intr_actv;
-	uintptr_t	cpu_profile_pc;
-	uintptr_t	cpu_profile_upc;
-	uintptr_t	cpu_dtrace_caller;	/* DTrace: caller, if any */
-	hrtime_t	cpu_dtrace_chillmark;	/* DTrace: chill mark time */
-	hrtime_t	cpu_dtrace_chilled;	/* DTrace: total chill time */
-} solaris_cpu_t; 
-
-/* Some code may choose to redefine this if pcpu_t would be more useful. */
-#define cpu_t	solaris_cpu_t
-#define	cpu_id	cpuid
-
-extern solaris_cpu_t    solaris_cpu[];
-
 #define	CPU_CACHE_COHERENCE_SIZE	64
 
 /*
@@ -67,8 +43,7 @@
  */
 #define	CPUC_SIZE		(sizeof (uint16_t) + sizeof (uintptr_t) + \
 				sizeof (kmutex_t))
-#define	CPUC_SIZE1		roundup(CPUC_SIZE, CPU_CACHE_COHERENCE_SIZE)
-#define	CPUC_PADSIZE		CPUC_SIZE1 - CPUC_SIZE
+#define	CPUC_PADSIZE		CPU_CACHE_COHERENCE_SIZE - CPUC_SIZE
 
 typedef struct cpu_core {
 	uint16_t	cpuc_dtrace_flags;	/* DTrace flags */
@@ -78,50 +53,33 @@
 } cpu_core_t;
 
 extern cpu_core_t cpu_core[];
-
-extern kmutex_t	cpu_lock;
 #endif /* _KERNEL */
 
 /*
- * Flags in the CPU structure.
- *
- * These are protected by cpu_lock (except during creation).
- *
- * Offlined-CPUs have three stages of being offline:
- *
- * CPU_ENABLE indicates that the CPU is participating in I/O interrupts
- * that can be directed at a number of different CPUs.  If CPU_ENABLE
- * is off, the CPU will not be given interrupts that can be sent elsewhere,
- * but will still get interrupts from devices associated with that CPU only,
- * and from other CPUs.
- *
- * CPU_OFFLINE indicates that the dispatcher should not allow any threads
- * other than interrupt threads to run on that CPU.  A CPU will not have
- * CPU_OFFLINE set if there are any bound threads (besides interrupts).
- *
- * CPU_QUIESCED is set if p_offline was able to completely turn idle the
- * CPU and it will not have to run interrupt threads.  In this case it'll
- * stay in the idle loop until CPU_QUIESCED is turned off.
- *
- * CPU_FROZEN is used only by CPR to mark CPUs that have been successfully
- * suspended (in the suspend path), or have yet to be resumed (in the resume
- * case).
- *
- * On some platforms CPUs can be individually powered off.
- * The following flags are set for powered off CPUs: CPU_QUIESCED,
- * CPU_OFFLINE, and CPU_POWEROFF.  The following flags are cleared:
- * CPU_RUNNING, CPU_READY, CPU_EXISTS, and CPU_ENABLE.
+ * DTrace flags.
  */
-#define	CPU_RUNNING	0x001		/* CPU running */
-#define	CPU_READY	0x002		/* CPU ready for cross-calls */
-#define	CPU_QUIESCED	0x004		/* CPU will stay in idle */
-#define	CPU_EXISTS	0x008		/* CPU is configured */
-#define	CPU_ENABLE	0x010		/* CPU enabled for interrupts */
-#define	CPU_OFFLINE	0x020		/* CPU offline via p_online */
-#define	CPU_POWEROFF	0x040		/* CPU is powered off */
-#define	CPU_FROZEN	0x080		/* CPU is frozen via CPR suspend */
-#define	CPU_SPARE	0x100		/* CPU offline available for use */
-#define	CPU_FAULTED	0x200		/* CPU offline diagnosed faulty */
+#define	CPU_DTRACE_NOFAULT	0x0001	/* Don't fault */
+#define	CPU_DTRACE_DROP		0x0002	/* Drop this ECB */
+#define	CPU_DTRACE_BADADDR	0x0004	/* DTrace fault: bad address */
+#define	CPU_DTRACE_BADALIGN	0x0008	/* DTrace fault: bad alignment */
+#define	CPU_DTRACE_DIVZERO	0x0010	/* DTrace fault: divide by zero */
+#define	CPU_DTRACE_ILLOP	0x0020	/* DTrace fault: illegal operation */
+#define	CPU_DTRACE_NOSCRATCH	0x0040	/* DTrace fault: out of scratch */
+#define	CPU_DTRACE_KPRIV	0x0080	/* DTrace fault: bad kernel access */
+#define	CPU_DTRACE_UPRIV	0x0100	/* DTrace fault: bad user access */
+#define	CPU_DTRACE_TUPOFLOW	0x0200	/* DTrace fault: tuple stack overflow */
+#if defined(__sparc)
+#define	CPU_DTRACE_FAKERESTORE	0x0400	/* pid provider hint to getreg */
+#endif
+#define	CPU_DTRACE_ENTRY	0x0800	/* pid provider hint to ustack() */
+#define	CPU_DTRACE_BADSTACK	0x1000	/* DTrace fault: bad stack */
+
+#define	CPU_DTRACE_FAULT	(CPU_DTRACE_BADADDR | CPU_DTRACE_BADALIGN | \
+				CPU_DTRACE_DIVZERO | CPU_DTRACE_ILLOP | \
+				CPU_DTRACE_NOSCRATCH | CPU_DTRACE_KPRIV | \
+				CPU_DTRACE_UPRIV | CPU_DTRACE_TUPOFLOW | \
+				CPU_DTRACE_BADSTACK)
+#define	CPU_DTRACE_ERROR	(CPU_DTRACE_FAULT | CPU_DTRACE_DROP)
 
 typedef enum {
 	CPU_INIT,
Index: src/external/cddl/osnet/sys/sys/elf.h
diff -u src/external/cddl/osnet/sys/sys/elf.h:1.3 src/external/cddl/osnet/sys/sys/elf.h:1.4
--- src/external/cddl/osnet/sys/sys/elf.h:1.3	Sun Feb 21 01:46:35 2010
+++ src/external/cddl/osnet/sys/sys/elf.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: elf.h,v 1.3 2010/02/21 01:46:35 darran Exp $	*/
+/*	$NetBSD: elf.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -29,20 +29,32 @@
 #ifndef	_SYS__ELF_SOLARIS_H_
 #define	_SYS__ELF_SOLARIS_H_
 
-#if HAVE_NBTOOL_CONFIG_H
-#include <nbinclude/sys/exec_elf.h>
-#else
-#include <sys/exec_elf.h>
-#endif
+#include_next <sys/elf.h>
 
-#define	SHT_SUNW_dof		0x6ffffff4
-#define	EM_AMD64		EM_X86_64
+#define __sElfN(x)       typedef __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x) x
 
-#define __ELF_WORD_SIZE ELFSIZE
-#define __CONCAT(x,y)	x ## y
-#define __sElfN(x)       typedef __CONCAT(Elf32_,x) x
+__sElfN(Addr);
+__sElfN(Cap);
+__sElfN(Dyn);
+__sElfN(Ehdr);
+__sElfN(Move);
+__sElfN(Off);
+__sElfN(Phdr);
+__sElfN(Rel);
+__sElfN(Rela);
+__sElfN(Shdr);
+__sElfN(Sym);
+__sElfN(Syminfo);
+__sElfN(Verdaux);
+__sElfN(Verdef);
+__sElfN(Vernaux);
+__sElfN(Verneed);
+__sElfN(Versym);
+
+__sElfN(Half);
+__sElfN(Sword);
+__sElfN(Word);
 
-#if 0	/* XXX not needed? */
 #if __ELF_WORD_SIZE == 32
 typedef	Elf32_Word	Xword;	/* Xword/Sxword are 32-bits in Elf32 */
 typedef	Elf32_Sword	Sxword;
@@ -102,6 +114,5 @@
 #define	Elf_ver_line_4		__ElfN(ver_line_4)
 #define	Elf_ver_line_5		__ElfN(ver_line_5)
 #define	Elf_ver_need_title	__ElfN(ver_need_title)
-#endif
 
 #endif /* !_SYS__ELF_SOLARIS_H_ */
Index: src/external/cddl/osnet/sys/sys/modctl.h
diff -u src/external/cddl/osnet/sys/sys/modctl.h:1.3 src/external/cddl/osnet/sys/sys/modctl.h:1.4
--- src/external/cddl/osnet/sys/sys/modctl.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/modctl.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: modctl.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: modctl.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * Copyright (C) 2007 John Birrell <j...@freebsd.org>
@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/modctl.h,v 1.2.4.1 2009/08/03 08:13:06 kensmith Exp $
+ * $FreeBSD: src/sys/compat/opensolaris/sys/modctl.h,v 1.1 2007/11/28 21:50:40 jb Exp $
  *
  */
 
@@ -34,8 +34,5 @@
 
 #include <sys/param.h>
 #include <sys/linker.h>
-#include <sys/module.h>
-
-typedef struct module dtrace_modctl_t;
 
 #endif /* _COMPAT_OPENSOLARIS_SYS_MODCTL_H */
Index: src/external/cddl/osnet/sys/sys/mount.h
diff -u src/external/cddl/osnet/sys/sys/mount.h:1.3 src/external/cddl/osnet/sys/sys/mount.h:1.4
--- src/external/cddl/osnet/sys/sys/mount.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/mount.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: mount.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: mount.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org>
@@ -63,4 +63,6 @@
 int
 umount2(const char *spec, int mflag);
 
+#define	vfs_fstype mnt_op->vfs_name
+
 #endif	/* !_OPENSOLARIS_SYS_MOUNT_H_ */
Index: src/external/cddl/osnet/sys/sys/policy.h
diff -u src/external/cddl/osnet/sys/sys/policy.h:1.3 src/external/cddl/osnet/sys/sys/policy.h:1.4
--- src/external/cddl/osnet/sys/sys/policy.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/policy.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: policy.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: policy.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org>
@@ -35,8 +35,6 @@
 
 #ifdef _KERNEL
 
-#include <sys/vnode.h>
-
 struct mount;
 struct ucred;
 struct vattr;
@@ -45,7 +43,7 @@
 int	secpolicy_zfs(struct kauth_cred  *cred);
 int	secpolicy_sys_config(struct kauth_cred  *cred, int checkonly);
 int	secpolicy_zinject(struct kauth_cred  *cred);
-int 	secpolicy_fs_mount(struct kauth_cred *cred, struct vnode *mvp, struct mount *vfsp);
+int 	secpolicy_fs_mount(struct kauth_cred *cred, vnode_t *mvp, struct mount *vfsp);
 int	secpolicy_fs_unmount(struct kauth_cred  *cred, struct mount *vfsp);
 int	secpolicy_basic_link(struct kauth_cred  *cred);
 int	secpolicy_vnode_stky_modify(struct kauth_cred *cred);
Index: src/external/cddl/osnet/sys/sys/proc.h
diff -u src/external/cddl/osnet/sys/sys/proc.h:1.3 src/external/cddl/osnet/sys/sys/proc.h:1.4
--- src/external/cddl/osnet/sys/sys/proc.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/proc.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: proc.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: proc.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -74,6 +74,8 @@
 #define	max_ncpus	ncpu
 #define	boot_max_ncpus	ncpu
 #define	curthread	curlwp
+#define syscid PRI_NONE
+#define sysccid PRI_NONE
 
 #define	TS_RUN	0
 
@@ -89,9 +91,15 @@
 #define	ZFS_KSTACK_PAGES	0
 #endif
 
+struct contract {
+};
+
 kthread_t *thread_create(void *, size_t, void (*)(), void *, size_t,
 			 proc_t *, int, pri_t);
 void	thread_exit(void);
+void	thread_join(uint64_t);
+
+int newproc(void (*)(), caddr_t, id_t, int, struct contract **, pid_t);
 
 #endif	/* _KERNEL */
 
Index: src/external/cddl/osnet/sys/sys/uio.h
diff -u src/external/cddl/osnet/sys/sys/uio.h:1.3 src/external/cddl/osnet/sys/sys/uio.h:1.4
--- src/external/cddl/osnet/sys/sys/uio.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/uio.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: uio.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: uio.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -61,10 +61,12 @@
 #define	_OPENSOLARIS_SYS_UIO_H_
 
 #include_next <sys/uio.h>
+#include <sys/sysmacros.h>
 #include <sys/debug.h>
 
 #ifndef _KERNEL
 #include <assert.h>
+#include <string.h>
 
 #define	FOF_OFFSET	1	/* Use the offset in uio argument */
 
@@ -79,7 +81,21 @@
 };
 #endif
 
+struct xuio {
+	struct uio xu_uio;
+	int	xuio_rw;
+	void *xuio_priv;
+};
+
+/* XXX HACK ? how xuio can be handled properly */
+#define uio_extflg	uio_offset
+#define UIO_XUIO 0x0004	/* Structure is xuio_t */
+
+#define XUIO_XUZC_PRIV(xuio)	((xuio)->xuio_priv);
+#define XUIO_XUZC_RW(xuio)	((xuio)->xuio_rw);
+
 typedef	struct uio	uio_t;
+typedef struct xuio	xuio_t;
 typedef	struct iovec	iovec_t;
 
 typedef enum uio_seg    uio_seg_t;
@@ -95,6 +111,48 @@
 	assert(uio->uio_rw == dir);
 	return (uiomove(cp, (int)n, uio));
 }
+
+static __inline int
+zfs_uiocopy(void *cp, size_t n, enum uio_rw dir, uio_t *uio, size_t *cbytes)
+{
+	uio_t uio2;
+	int err;
+	
+	memcpy(&uio2, uio, sizeof(*uio));
+	assert(uio->uio_rw == dir);
+	if ((err = uiomove(cp, (int)n, &uio2)) != 0)
+		return err;
+
+	*cbytes = uio->uio_resid - uio2.uio_resid;
+
+	return (0);
+}
+
+static __inline void
+zfs_uioskip(uio_t *uiop, size_t n)
+{
+	if (n > uiop->uio_resid)
+		return;
+	while (n != 0) {
+		register iovec_t        *iovp = uiop->uio_iov;
+		register size_t         niovb = MIN(iovp->iov_len, n);
+
+		if (niovb == 0) {
+			uiop->uio_iov++;
+			uiop->uio_iovcnt--;
+			continue;
+		}
+		iovp->iov_base += niovb;
+		uiop->uio_offset += niovb;
+		iovp->iov_len -= niovb;
+		uiop->uio_resid -= niovb;
+		n -= niovb;
+	}
+	
+}
+
 #define	uiomove(cp, n, dir, uio)	zfs_uiomove((cp), (n), (dir), (uio))
+#define uiocopy(cp, n, dir, uio, cbytes) 	zfs_uiocopy((cp), (n), (dir), (uio), (cbytes))
+#define uioskip(uio, size) 		zfs_uioskip((uio), (size))
 
 #endif	/* !_OPENSOLARIS_SYS_UIO_H_ */
Index: src/external/cddl/osnet/sys/sys/vfs.h
diff -u src/external/cddl/osnet/sys/sys/vfs.h:1.3 src/external/cddl/osnet/sys/sys/vfs.h:1.4
--- src/external/cddl/osnet/sys/sys/vfs.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/vfs.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: vfs.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org>
@@ -45,7 +45,7 @@
 #define	vfs_flag	mnt_flag
 #define	vfs_data	mnt_data
 #define	vfs_count	mnt_refcnt
-#define	vfs_fsid	mnt_stat.f_fsid
+#define	vfs_fsid 	mnt_stat.f_fsid
 #define	vfs_bsize	mnt_stat.f_bsize
 
 #define	v_flag		v_vflag
Index: src/external/cddl/osnet/sys/sys/vnode.h
diff -u src/external/cddl/osnet/sys/sys/vnode.h:1.3 src/external/cddl/osnet/sys/sys/vnode.h:1.4
--- src/external/cddl/osnet/sys/sys/vnode.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/vnode.h	Sun Feb 28 14:45:47 2010
@@ -1,5 +1,5 @@
 
-/*	$NetBSD: vnode.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: vnode.h,v 1.4 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -175,6 +175,7 @@
 	uint8_t		xoa_av_quarantined;
 	uint8_t		xoa_av_modified;
 	uint8_t		xoa_av_scanstamp[AV_SCANSTAMP_SZ];
+	uint8_t 	xoa_reparse;
 } xoptattr_t;
 
 
@@ -262,6 +263,8 @@
 #define	VSA_ACE_ALLTYPES	0x0040
 #define	VSA_ACE_ACLFLAGS	0x0080	/* get/set ACE ACL flags */
 
+#define v_lock v_interlock
+
 int	vn_is_readonly(vnode_t *);
 
 #define	vn_vfswlock(vp)		(0)
@@ -380,6 +383,7 @@
 #define	XAT0_AV_QUARANTINED	0x00000400	/* anti-virus quarantine */
 #define	XAT0_AV_MODIFIED	0x00000800	/* anti-virus modified */
 #define	XAT0_AV_SCANSTAMP	0x00001000	/* anti-virus scanstamp */
+#define XAT0_REPARSE 	0x00002000 	/* FS reparse point */
 
 #define	XAT0_ALL_ATTRS	(XAT0_CREATETIME|XAT0_ARCHIVE|XAT0_SYSTEM| \
     XAT0_READONLY|XAT0_HIDDEN|XAT0_NOUNLINK|XAT0_IMMUTABLE|XAT0_APPENDONLY| \
@@ -417,6 +421,7 @@
 #define	XAT_AV_QUARANTINED	((XAT0_INDEX << XVA_SHFT) | XAT0_AV_QUARANTINED)
 #define	XAT_AV_MODIFIED		((XAT0_INDEX << XVA_SHFT) | XAT0_AV_MODIFIED)
 #define	XAT_AV_SCANSTAMP	((XAT0_INDEX << XVA_SHFT) | XAT0_AV_SCANSTAMP)
+#define XAT_REPARSE 		((XAT0_INDEX << XVA_SHFT) | XAT0_REPARSE)
 
 /*
  * The returned attribute map array (xva_rtnattrmap[]) is located past the
@@ -437,6 +442,14 @@
 	(xvap)->xva_reqattrmap[XVA_INDEX(attr)] |= XVA_ATTRBIT(attr)
 
 /*
+ * XVA_CLR_REQ() clears an attribute bit in the proper element in the bitmap
+ * of requested attributes (xva_reqattrmap[]).
+ */
+#define XVA_CLR_REQ(xvap, attr)                                 \
+	ASSERT((xvap)->xva_vattr.va_mask | AT_XVATTR);          \
+	ASSERT((xvap)->xva_magic == XVA_MAGIC);                 \
+	(xvap)->xva_reqattrmap[XVA_INDEX(attr)] &= ~XVA_ATTRBIT(attr)
+/*
  * XVA_SET_RTN() sets an attribute bit in the proper element in the bitmap
  * of returned attributes (xva_rtnattrmap[]).
  */
@@ -640,18 +653,23 @@
 	return (do_sys_unlink(fnamep, seg));
 }
 
+#define VN_RELE_ASYNC(vp, taskq) 	vrele_async((vp))
+#define vn_exists(a) 	do { } while(0)
+#define vn_reinit(a) 	vclean((a), 0)
+
 /*
  * Flags for VOP_LOOKUP
  *
  * Defined in file.h, but also possible, FIGNORECASE
  *
  */
-#define LOOKUP_XATTR            0x02    /* lookup up extended attr dir */
+#define LOOKUP_XATTR 		0x02	/* lookup up extended attr dir */
 
 /*
  * Flags for VOP_READDIR
  */
-#define V_RDDIR_ENTFLAGS    0x01    /* request dirent flags */
+#define V_RDDIR_ENTFLAGS 	0x01    /* request dirent flags */
+#define	V_RDDIR_ACCFILTER 	0x02	/* filter out inaccessible dirents */
 
 /*
  * Extensible vnode attribute (xva) routines:

Index: src/external/cddl/osnet/sys/sys/idmap.h
diff -u src/external/cddl/osnet/sys/sys/idmap.h:1.2 src/external/cddl/osnet/sys/sys/idmap.h:1.3
--- src/external/cddl/osnet/sys/sys/idmap.h:1.2	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/idmap.h	Sun Feb 28 14:45:47 2010
@@ -1,5 +1,3 @@
-/*	$NetBSD: idmap.h,v 1.2 2010/02/21 01:46:36 darran Exp $	*/
-
 /*
  * CDDL HEADER START
  *

Index: src/external/cddl/osnet/sys/sys/types.h
diff -u src/external/cddl/osnet/sys/sys/types.h:1.5 src/external/cddl/osnet/sys/sys/types.h:1.6
--- src/external/cddl/osnet/sys/sys/types.h:1.5	Thu Feb 25 00:18:44 2010
+++ src/external/cddl/osnet/sys/sys/types.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.5 2010/02/25 00:18:44 darran Exp $	*/
+/*	$NetBSD: types.h,v 1.6 2010/02/28 14:45:47 haad Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -125,7 +125,6 @@
 typedef	off_t		offset_t;
 typedef	long		ptrdiff_t;	/* pointer difference */
 typedef	int64_t		rlim64_t;
-typedef __caddr_t	caddr_t;	/* core address */
 
 #else
 
Index: src/external/cddl/osnet/sys/sys/zfs_context.h
diff -u src/external/cddl/osnet/sys/sys/zfs_context.h:1.5 src/external/cddl/osnet/sys/sys/zfs_context.h:1.6
--- src/external/cddl/osnet/sys/sys/zfs_context.h:1.5	Mon Oct 12 10:05:29 2009
+++ src/external/cddl/osnet/sys/sys/zfs_context.h	Sun Feb 28 14:45:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: zfs_context.h,v 1.5 2009/10/12 10:05:29 haad Exp $	*/
+/*	$NetBSD: zfs_context.h,v 1.6 2010/02/28 14:45:47 haad Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -42,7 +42,7 @@
 #include <sys/mutex.h>
 #include <sys/rwlock.h>
 #include <sys/condvar.h>
-
+	
 #define	_SYS_SYSTM_H
 #define	_SYS_DEBUG_H
 #define	_SYS_T_LOCK_H
@@ -81,6 +81,7 @@
 #include <sys/u8_textprep.h>
 #include <sys/zone.h>
 #include <sys/pathname.h>
+#include <sys/sysevent.h>
 
 extern void panic(const char *, ...);
 
@@ -94,6 +95,8 @@
 #define	ABS(a) ((a) < 0 ? -(a) : (a))
 #endif
 
+extern int aok;
+	
 /*
  * Debugging
  */
@@ -203,9 +206,20 @@
 #define	thread_create(stk, stksize, func, arg, len, pp, state, pri)	\
 	zk_thread_create(func, arg)
 #define	thread_exit() thr_exit(NULL)
+#define thread_join(t)  panic("libzpool cannot join threads")
 
+#define newproc(f, a, cid, pri, ctp, pid)   (ENOSYS)
+	
 extern kthread_t *zk_thread_create(void (*func)(), void *arg);
 
+/* In NetBSD struct proc is visible in userspace therefore we use it's original
+   definition. */
+/* struct proc {
+	uintptr_t   this_is_never_used_dont_dereference_it;
+	}; */
+
+extern struct proc p0;
+	
 #define	issig(why)		(FALSE)
 #define	ISSIG(thr, why)		(FALSE)
 #define	makedevice(min, maj)	makedev((min), (maj))
@@ -293,24 +307,31 @@
 typedef uintptr_t taskqid_t;
 typedef void (task_func_t)(void *);
 
-#define	TASKQ_PREPOPULATE	0x0001
-#define	TASKQ_CPR_SAFE		0x0002	/* Use CPR safe protocol */
-#define	TASKQ_DYNAMIC		0x0004	/* Use dynamic thread scheduling */
-
-#define	TQ_SLEEP	KM_SLEEP	/* Can block for memory */
-#define	TQ_NOSLEEP	KM_NOSLEEP	/* cannot block for memory; may fail */
-#define	TQ_NOQUEUE	0x02	/* Do not enqueue if can't dispatch */
+#define TASKQ_PREPOPULATE   0x0001
+#define TASKQ_CPR_SAFE      0x0002  /* Use CPR safe protocol */
+#define TASKQ_DYNAMIC       0x0004  /* Use dynamic thread scheduling */
+#define TASKQ_THREADS_CPU_PCT   0x0008  /* Scale # threads by # cpus */
+#define TASKQ_DC_BATCH      0x0010  /* Mark threads as batch */
+
+#define TQ_SLEEP    KM_SLEEP    /* Can block for memory */
+#define TQ_NOSLEEP  KM_NOSLEEP  /* cannot block for memory; may fail */
+#define TQ_NOQUEUE  0x02        /* Do not enqueue if can't dispatch */
+#define TQ_FRONT    0x08        /* Queue in front */
 
 extern taskq_t *system_taskq;
 
-extern taskq_t	*taskq_create(const char *, int, pri_t, int, int, uint_t);
+extern taskq_t  *taskq_create(const char *, int, pri_t, int, int, uint_t);
+#define taskq_create_proc(a, b, c, d, e, p, f) \
+	(taskq_create(a, b, c, d, e, f))
+#define taskq_create_sysdc(a, b, d, e, p, dc, f) \
+	(taskq_create(a, b, maxclsyspri, d, e, f))
 extern taskqid_t taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
-extern void	taskq_destroy(taskq_t *);
-extern void	taskq_wait(taskq_t *);
-extern int	taskq_member(taskq_t *, void *);
-
-extern void	system_taskq_init(void);
-
+extern void taskq_destroy(taskq_t *);
+extern void taskq_wait(taskq_t *);
+extern int  taskq_member(taskq_t *, void *);
+extern void system_taskq_init(void);
+extern void system_taskq_fini(void);
+	
 #define	XVA_MAPSIZE	3
 #define	XVA_MAGIC	0x78766174
 
@@ -378,10 +399,15 @@
 #define	lbolt	(gethrtime() >> 23)
 #define	lbolt64	(gethrtime() >> 23)
 #define	hz	119	/* frequency when using gethrtime() >> 23 for lbolt */
-
+	
 extern void delay(clock_t ticks);
 
 #define	gethrestime_sec() time(NULL)
+#define gethrestime(t) \
+	do {\
+	(t)->tv_sec = gethrestime_sec();\
+	(t)->tv_nsec = 0;\
+	} while (0);
 
 #define	max_ncpus	64
 
@@ -439,6 +465,8 @@
 extern char hw_serial[];
 extern int ddi_strtoul(const char *str, char **nptr, int base,
     unsigned long *result);
+#define	ddi_get_lbolt()	(gethrtime() >> 23)
+#define	ddi_get_lbolt64() (gethrtime() >> 23)
 
 /* ZFS Boot Related stuff. */
 
@@ -538,7 +566,19 @@
 #define	di_devlink_init(a, b)	(NULL)
 #define	di_devlink_fini(a)	(0)
 typedef void			*di_devlink_handle_t;
-                                                                                        
+
+extern char *kmem_asprintf(const char *fmt, ...);
+#define strfree(str) kmem_free((str), strlen(str)+1)
+
+//#define print_timestamp(a)	0
+
+extern void print_timestamp(int);
+
+#define DEV_PHYS_PATH "phys_path"
+
+#define DDI_SLEEP KM_SLEEP
+#define ddi_log_sysevent(_a, _b, _c, _d, _e, _f, _g) 0	
+
 #else	/* _KERNEL */
 
 #include <sys/systm.h>
@@ -549,6 +589,7 @@
 #include <sys/stdint.h>
 #include <sys/note.h>
 #include <sys/kernel.h>
+#include <sys/kstat.h>
 #include <sys/debug.h>
 #include <sys/proc.h>
 #include <sys/sysmacros.h>
@@ -590,6 +631,9 @@
 #define	lbolt		hardclock_ticks
 #define	lbolt64		lbolt
 
+clock_t ddi_get_lbolt(void);
+int64_t ddi_get_lbolt64(void);
+
 #ifdef	__cplusplus
 }
 #endif
@@ -626,10 +670,29 @@
 #define	tsd_get(x)		lwp_getspecific(x)
 #define	tsd_set(x, y)		(lwp_setspecific(x, y), 0)
 #define	kmem_debugging()	0
+
+#define zone_get_hostid(a)      0
+
+extern char *kmem_asprintf(const char *fmt, ...);
+#define strfree(str) kmem_free((str), strlen(str)+1)
+
+/* NetBSD doesn't need this routines in zfs code, yet */
+#define	taskq_create_proc(a, b, c, d, e, p, f) \
+	(taskq_create(a, b, c, d, e, f))
+#define	taskq_create_sysdc(a, b, d, e, p, dc, f) \
+	(taskq_create(a, b, maxclsyspri, d, e, f))
+
 #define	MAXUID			UID_MAX
 #define	FIGNORECASE		0
 #define	CREATE_XATTR_DIR	0
 
+#define DEV_PHYS_PATH "phys_path"
+
+#define DDI_SLEEP KM_SLEEP
+#define ddi_log_sysevent(_a, _b, _c, _d, _e, _f, _g) 0
+
+#define sys_shutdown	0
+
 #endif	/* _KERNEL */
 
 #endif	/* _SYS_ZFS_CONTEXT_H */

Index: src/external/cddl/osnet/sys/sys/acl/acl_common.h
diff -u src/external/cddl/osnet/sys/sys/acl/acl_common.h:1.2 src/external/cddl/osnet/sys/sys/acl/acl_common.h:1.3
--- src/external/cddl/osnet/sys/sys/acl/acl_common.h:1.2	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/acl/acl_common.h	Sun Feb 28 14:45:47 2010
@@ -1,5 +1,3 @@
-/*	$NetBSD: acl_common.h,v 1.2 2010/02/21 01:46:36 darran Exp $	*/
-
 /*
  * CDDL HEADER START
  *

Reply via email to