Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Dec 2008 07:09:05 GMT
From:      Marko Zec <zec@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 154485 for review
Message-ID:  <200812110709.mBB795UC048095@repoman.freebsd.org>

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

Change 154485 by zec@zec_tca51 on 2008/12/11 07:08:59

	IFC @ 154481

Affected files ...

.. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#22 integrate
.. //depot/projects/vimage/src/sys/boot/common/loader.8#6 integrate
.. //depot/projects/vimage/src/sys/boot/forth/support.4th#3 integrate
.. //depot/projects/vimage/src/sys/boot/i386/boot0/boot0.S#6 integrate
.. //depot/projects/vimage/src/sys/boot/i386/btx/btxldr/btxldr.S#2 integrate
.. //depot/projects/vimage/src/sys/boot/zfs/Makefile#3 integrate
.. //depot/projects/vimage/src/sys/boot/zfs/zfs.c#3 integrate
.. //depot/projects/vimage/src/sys/boot/zfs/zfsimpl.c#3 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#18 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_signal.h#2 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#18 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#18 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#18 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#19 integrate
.. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#30 integrate
.. //depot/projects/vimage/src/sys/conf/files#48 integrate
.. //depot/projects/vimage/src/sys/conf/options#39 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pf_subr.c#14 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pf_table.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/adb/adb.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/adb/adb_bus.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/adb/adb_kbd.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/adb/adb_mouse.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/adb/adbvar.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/ae/if_ae.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ah_eeprom_v14.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#25 integrate
.. //depot/projects/vimage/src/sys/dev/ath/if_athvar.h#14 integrate
.. //depot/projects/vimage/src/sys/dev/bge/if_bge.c#18 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_hw.c#13 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#22 integrate
.. //depot/projects/vimage/src/sys/dev/dc/if_dc.c#11 integrate
.. //depot/projects/vimage/src/sys/dev/dc/if_dcreg.h#6 integrate
.. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/fxp/if_fxp.c#10 integrate
.. //depot/projects/vimage/src/sys/dev/mmc/mmc.c#10 integrate
.. //depot/projects/vimage/src/sys/dev/mmc/mmcsd.c#12 integrate
.. //depot/projects/vimage/src/sys/dev/pccbb/pccbb.c#9 integrate
.. //depot/projects/vimage/src/sys/dev/pccbb/pccbb_pci.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/re/if_re.c#20 integrate
.. //depot/projects/vimage/src/sys/dev/sdhci/sdhci.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/sis/if_sis.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/sis/if_sisreg.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#16 integrate
.. //depot/projects/vimage/src/sys/fs/procfs/procfs_map.c#7 integrate
.. //depot/projects/vimage/src/sys/geom/geom_subr.c#6 integrate
.. //depot/projects/vimage/src/sys/geom/journal/g_journal.c#10 integrate
.. //depot/projects/vimage/src/sys/geom/journal/g_journal.h#2 integrate
.. //depot/projects/vimage/src/sys/i386/include/atomic.h#6 integrate
.. //depot/projects/vimage/src/sys/kern/kern_jail.c#20 integrate
.. //depot/projects/vimage/src/sys/kern/kern_linker.c#22 integrate
.. //depot/projects/vimage/src/sys/kern/kern_mbuf.c#11 integrate
.. //depot/projects/vimage/src/sys/kern/kern_proc.c#19 integrate
.. //depot/projects/vimage/src/sys/kern/kern_rwlock.c#14 integrate
.. //depot/projects/vimage/src/sys/kern/kern_vimage.c#70 integrate
.. //depot/projects/vimage/src/sys/kern/subr_param.c#6 integrate
.. //depot/projects/vimage/src/sys/kern/subr_prf.c#5 integrate
.. //depot/projects/vimage/src/sys/kern/subr_witness.c#20 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_socket.c#29 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_aio.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_export.c#17 integrate
.. //depot/projects/vimage/src/sys/modules/aio/Makefile#2 integrate
.. //depot/projects/vimage/src/sys/net/if.c#55 integrate
.. //depot/projects/vimage/src/sys/net/if_bridge.c#24 integrate
.. //depot/projects/vimage/src/sys/net/if_ethersubr.c#34 integrate
.. //depot/projects/vimage/src/sys/net/if_gif.c#22 integrate
.. //depot/projects/vimage/src/sys/net/if_gif.h#9 integrate
.. //depot/projects/vimage/src/sys/net/radix.c#3 integrate
.. //depot/projects/vimage/src/sys/net/radix.h#3 integrate
.. //depot/projects/vimage/src/sys/net/route.c#37 integrate
.. //depot/projects/vimage/src/sys/net/route.h#6 integrate
.. //depot/projects/vimage/src/sys/net/rtsock.c#23 integrate
.. //depot/projects/vimage/src/sys/net/vnet.h#18 integrate
.. //depot/projects/vimage/src/sys/netgraph/netgraph.h#18 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_base.c#46 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_bridge.c#8 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#21 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#17 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_ipfw.c#4 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_mppc.c#6 integrate
.. //depot/projects/vimage/src/sys/netinet/if_ether.c#31 integrate
.. //depot/projects/vimage/src/sys/netinet/in_pcb.c#46 integrate
.. //depot/projects/vimage/src/sys/netinet/in_pcb.h#22 integrate
.. //depot/projects/vimage/src/sys/netinet/in_proto.c#17 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_divert.c#24 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_dummynet.c#12 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw.h#22 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#57 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw_nat.c#10 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw_pfil.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_input.c#44 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_output.c#26 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_var.h#14 integrate
.. //depot/projects/vimage/src/sys/netinet/libalias/alias_db.c#8 integrate
.. //depot/projects/vimage/src/sys/netinet/raw_ip.c#36 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp.h#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#21 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_asconf.h#12 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_auth.c#14 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_auth.h#5 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#25 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_header.h#8 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#29 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_indata.h#9 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_input.c#29 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#25 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_output.c#35 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_output.h#13 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#34 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#22 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_structs.h#18 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.c#13 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.h#11 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#23 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#18 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#32 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_var.h#22 integrate
.. //depot/projects/vimage/src/sys/netinet/sctputil.c#33 integrate
.. //depot/projects/vimage/src/sys/netinet/sctputil.h#18 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_input.c#48 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_sack.c#17 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#68 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#19 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_var.h#29 integrate
.. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#45 integrate
.. //depot/projects/vimage/src/sys/netinet/vinet.h#41 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#37 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_rmx.c#26 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#42 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6.c#39 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#26 integrate
.. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#28 integrate
.. //depot/projects/vimage/src/sys/netinet6/vinet6.h#30 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec.c#34 integrate
.. //depot/projects/vimage/src/sys/netipsec/vipsec.h#23 integrate
.. //depot/projects/vimage/src/sys/nfsserver/nfs_fha.c#3 integrate
.. //depot/projects/vimage/src/sys/pci/if_rlreg.h#17 integrate
.. //depot/projects/vimage/src/sys/powerpc/conf/NOTES#9 integrate
.. //depot/projects/vimage/src/sys/powerpc/powermac/cuda.c#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/powermac/cudavar.h#2 integrate
.. //depot/projects/vimage/src/sys/powerpc/powermac/macgpio.c#2 integrate
.. //depot/projects/vimage/src/sys/powerpc/powermac/macgpiovar.h#2 integrate
.. //depot/projects/vimage/src/sys/powerpc/powermac/pmu.c#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/powermac/pmuvar.h#2 integrate
.. //depot/projects/vimage/src/sys/sys/aio.h#2 integrate
.. //depot/projects/vimage/src/sys/sys/kernel.h#15 integrate
.. //depot/projects/vimage/src/sys/sys/rwlock.h#9 integrate
.. //depot/projects/vimage/src/sys/sys/sysctl.h#30 integrate
.. //depot/projects/vimage/src/sys/sys/vimage.h#72 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufs_quota.c#7 integrate

Differences ...

==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#22 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.645 2008/08/09 05:46:13 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.646 2008/12/06 19:37:52 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -180,7 +180,7 @@
 
 SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
 
-static int pg_ps_enabled;
+static int pg_ps_enabled = 1;
 SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RD, &pg_ps_enabled, 0,
     "Are large page mappings enabled?");
 

==== //depot/projects/vimage/src/sys/boot/common/loader.8#6 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.94 2007/11/08 11:59:38 ru Exp $
+.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.95 2008/12/06 11:21:10 danger Exp $
 .\"
 .Dd November 8, 2007
 .Dt LOADER 8
@@ -454,7 +454,7 @@
 or if a SIGTERM is delivered to the
 .Xr init 8
 process (PID 1).
-.It Va init_script
+.It Va init_shell
 Defines the shell binary to be used for executing the various shell scripts.
 The default is
 .Dq Li /bin/sh .

==== //depot/projects/vimage/src/sys/boot/forth/support.4th#3 (text+ko) ====

@@ -22,7 +22,7 @@
 \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 \ SUCH DAMAGE.
 \
-\ $FreeBSD: src/sys/boot/forth/support.4th,v 1.17 2007/12/19 17:06:32 ambrisko Exp $
+\ $FreeBSD: src/sys/boot/forth/support.4th,v 1.18 2008/12/07 19:42:20 luigi Exp $
 
 \ Loader.rc support functions:
 \
@@ -288,6 +288,17 @@
 
 : free-memory free if free_error throw then ;
 
+: strget { var -- addr len } var .addr @ var .len @ ;
+
+\ assign addr len to variable.
+: strset  { addr len var -- } addr var .addr ! len var .len ! ;
+
+\ free memory and reset fields
+: strfree { var -- } var .addr @ ?dup if free-memory 0 0 var strset then ;
+
+\ free old content, make a copy of the string and assign to variable
+: string= { addr len var -- } var strfree addr len strdup var strset ;
+
 \ Assignment data temporary storage
 
 string name_buffer
@@ -712,19 +723,6 @@
   module_loaderror_suffix suffix_type?
 ;
 
-: set_conf_files
-  conf_files .addr @ ?dup if
-    free-memory
-  then
-  value_buffer .addr @ c@ [char] " = if
-    value_buffer .addr @ char+ value_buffer .len @ 2 chars -
-  else
-    value_buffer .addr @ value_buffer .len @
-  then
-  strdup
-  conf_files .len ! conf_files .addr !
-;
-
 : set_nextboot_conf
   nextboot_conf_file .addr @ ?dup if
     free-memory
@@ -888,6 +886,11 @@
   then
 ;
 
+: set_conf_files
+  set_environment_variable
+  s" loader_conf_files" getenv conf_files string=
+;
+
 : set_nextboot_flag
   yes_value? to nextboot?
 ;
@@ -1045,7 +1048,6 @@
 \ Variables used for processing multiple conf files
 
 string current_file_name
-variable current_conf_files
 
 \ Indicates if any conf file was succesfully read
 
@@ -1053,18 +1055,10 @@
 
 \ loader_conf_files processing support functions
 
-: set_current_conf_files
-  conf_files .addr @ current_conf_files !
+: get_conf_files ( -- addr len )  \ put addr/len on stack, reset var
+  conf_files strget 0 0 conf_files strset
 ;
 
-: get_conf_files
-  conf_files .addr @ conf_files .len @ strdup
-;
-
-: recurse_on_conf_files?
-  current_conf_files @ conf_files .addr @ <>
-;
-
 : skip_leading_spaces  { addr len pos -- addr len pos' }
   begin
     pos len = if addr len pos exit then
@@ -1133,7 +1127,6 @@
 \ Interface to loader_conf_files processing
 
 : include_conf_files
-  set_current_conf_files
   get_conf_files 0
   begin
     get_next_file ?dup
@@ -1141,7 +1134,7 @@
     set_current_file_name
     ['] load_conf catch
     process_conf_errors
-    recurse_on_conf_files? if recurse then
+    conf_files .addr @ if recurse then
   repeat
 ;
 

==== //depot/projects/vimage/src/sys/boot/i386/boot0/boot0.S#6 (text+ko) ====

@@ -14,7 +14,7 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.20 2008/12/03 14:53:59 luigi Exp $
+ * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.21 2008/12/08 20:53:27 sobomax Exp $
  */
 
 /* build options: */
@@ -93,7 +93,7 @@
  *	%si	pointer to the partition table from which we were loaded.
  *		Some boot code (e.g. syslinux) use this info to relocate
  *		themselves, so we want to pass a valid one to the next stage.
- *		NOTE: the use of %is is not a standard.
+ *		NOTE: the use of %si is not a standard.
  *
  * This boot block first relocates itself at a different address (0:0x600),
  * to free the space at 0:0x7c00 for the next stage boot block.

==== //depot/projects/vimage/src/sys/boot/i386/btx/btxldr/btxldr.S#2 (text+ko) ====

@@ -12,9 +12,12 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/i386/btx/btxldr/btxldr.S,v 1.17 2004/05/14 20:29:30 ru Exp $
+ * $FreeBSD: src/sys/boot/i386/btx/btxldr/btxldr.S,v 1.20 2008/12/09 00:25:57 sobomax Exp $
  */
 
+#define	RBX_MUTE	0x10	/* -m */
+#define	OPT_SET(opt)	(1 << (opt))
+
 /*
  * Prototype BTX loader program, written in a couple of hours.  The
  * real thing should probably be more flexible, and in C.
@@ -64,6 +67,8 @@
  * BTX program loader for ELF clients.
  */
 start:		cld				# String ops inc
+		testl $OPT_SET(RBX_MUTE), 4(%esp) # Check first argument
+		setnz muted			#  for RBX_MUTE, set flag
 		movl $m_logo,%esi		# Identify
 		call putstr			#  ourselves
 		movzwl BDA_MEM,%eax		# Get base memory
@@ -288,7 +293,9 @@
 /*
  * Output character AL to the console.
  */
-putchr: 	pusha				# Save
+putchr:		testb $1,muted			# Check muted
+		jnz putchr.5			#  do a nop
+		pusha				# Save
 		xorl %ecx,%ecx			# Zero for loops
 		movb $SCR_MAT,%ah		# Mode/attribute
 		movl $BDA_POS,%ebx		# BDA pointer
@@ -325,7 +332,7 @@
 		movb $SCR_ROW-1,%dh		# Bottom line
 putchr.4:	movw %dx,(%ebx) 		# Update position
 		popa				# Restore
-		ret				# To caller
+putchr.5:	ret				# To caller
 /*
  * Convert EAX, AX, or AL to hex, saving the result to [EDI].
  */
@@ -390,6 +397,12 @@
 		.asciz " memsz=\0\n"
 m_done: 	.asciz "Loading complete\n"
 #endif
+
+/*
+ * Flags
+ */
+muted:		.byte 0x0
+
 /*
  * Uninitialized data area.
  */

==== //depot/projects/vimage/src/sys/boot/zfs/Makefile#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/zfs/Makefile,v 1.2 2008/11/22 14:24:55 dfr Exp $
+# $FreeBSD: src/sys/boot/zfs/Makefile,v 1.3 2008/12/06 14:45:03 ps Exp $
 
 LIB=		zfsboot
 INTERNALLIB=
@@ -29,7 +29,7 @@
 .if ${MACHINE_ARCH} == "amd64"
 CLEANFILES+=    machine
 machine:
-	ln -sf ${.CURDIR}/../../../i386/include machine
+	ln -sf ${.CURDIR}/../../i386/include machine
 .endif
 
 .include <bsd.lib.mk>

==== //depot/projects/vimage/src/sys/boot/zfs/zfs.c#3 (text+ko) ====

@@ -23,11 +23,11 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/boot/zfs/zfs.c,v 1.2 2008/11/19 16:39:01 dfr Exp $
+ *	$FreeBSD: src/sys/boot/zfs/zfs.c,v 1.3 2008/12/11 02:23:49 ps Exp $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/zfs/zfs.c,v 1.2 2008/11/19 16:39:01 dfr Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/zfs/zfs.c,v 1.3 2008/12/11 02:23:49 ps Exp $");
 
 /*
  *	Stand-alone file reading package.
@@ -474,7 +474,6 @@
 	 * the pool.
 	 */
 	unit = dev->d_unit;
-	free(dev);
 	
 	i = 0;
 	STAILQ_FOREACH(spa, &zfs_pools, spa_link) {

==== //depot/projects/vimage/src/sys/boot/zfs/zfsimpl.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/zfs/zfsimpl.c,v 1.2 2008/11/19 16:59:19 dfr Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/zfs/zfsimpl.c,v 1.3 2008/12/10 10:46:34 dfr Exp $");
 
 /*
  *	Stand-alone ZFS file reader.
@@ -623,7 +623,7 @@
 	uint64_t pool_txg, pool_guid;
 	const char *pool_name;
 	const unsigned char *vdevs;
-	int i;
+	int i, rc;
 	char upbuf[1024];
 	const struct uberblock *up;
 
@@ -723,7 +723,9 @@
 			DATA_TYPE_NVLIST, 0, &vdevs)) {
 		return (EIO);
 	}
-	vdev_init_from_nvlist(vdevs, &top_vdev);
+	rc = vdev_init_from_nvlist(vdevs, &top_vdev);
+	if (rc)
+		return (rc);
 
 	/*
 	 * Add the toplevel vdev to the pool if its not already there.

==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#18 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.97 2008/11/29 14:34:30 bz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.98 2008/12/10 20:57:16 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_
@@ -215,6 +215,18 @@
 	char rqtp_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * rqtp; char rqtp_r_[PADR_(const struct timespec32 *)];
 	char rmtp_l_[PADL_(struct timespec32 *)]; struct timespec32 * rmtp; char rmtp_r_[PADR_(struct timespec32 *)];
 };
+struct freebsd32_aio_read_args {
+	char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_aio_write_args {
+	char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_lio_listio_args {
+	char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)];
+	char acb_list_l_[PADL_(struct aiocb32 *const *)]; struct aiocb32 *const * acb_list; char acb_list_r_[PADR_(struct aiocb32 *const *)];
+	char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)];
+	char sig_l_[PADL_(struct sigevent *)]; struct sigevent * sig; char sig_r_[PADR_(struct sigevent *)];
+};
 struct freebsd32_lutimes_args {
 	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
 	char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)];
@@ -235,6 +247,33 @@
 	char modid_l_[PADL_(int)]; int modid; char modid_r_[PADR_(int)];
 	char stat_l_[PADL_(struct module_stat32 *)]; struct module_stat32 * stat; char stat_r_[PADR_(struct module_stat32 *)];
 };
+struct freebsd32_aio_return_args {
+	char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_aio_suspend_args {
+	char aiocbp_l_[PADL_(struct aiocb32 *const *)]; struct aiocb32 *const * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *const *)];
+	char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)];
+	char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)];
+};
+struct freebsd32_aio_cancel_args {
+	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+	char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_aio_error_args {
+	char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_oaio_read_args {
+	char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)];
+};
+struct freebsd32_oaio_write_args {
+	char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)];
+};
+struct freebsd32_olio_listio_args {
+	char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)];
+	char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)];
+	char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)];
+	char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)];
+};
 struct freebsd32_jail_args {
 	char jail_l_[PADL_(struct jail32 *)]; struct jail32 * jail; char jail_r_[PADR_(struct jail32 *)];
 };
@@ -247,6 +286,10 @@
 	char set_l_[PADL_(const sigset_t *)]; const sigset_t * set; char set_r_[PADR_(const sigset_t *)];
 	char info_l_[PADL_(siginfo_t *)]; siginfo_t * info; char info_r_[PADR_(siginfo_t *)];
 };
+struct freebsd32_aio_waitcomplete_args {
+	char aiocbp_l_[PADL_(struct aiocb32 **)]; struct aiocb32 ** aiocbp; char aiocbp_r_[PADR_(struct aiocb32 **)];
+	char timeout_l_[PADL_(struct timespec32 *)]; struct timespec32 * timeout; char timeout_r_[PADR_(struct timespec32 *)];
+};
 struct freebsd32_kevent_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char changelist_l_[PADL_(const struct kevent32 *)]; const struct kevent32 * changelist; char changelist_r_[PADR_(const struct kevent32 *)];
@@ -308,6 +351,10 @@
 	char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)];
 	char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)];
 };
+struct freebsd32_aio_fsync_args {
+	char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
+	char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
 struct freebsd32_pread_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
@@ -427,13 +474,24 @@
 int	freebsd32_clock_settime(struct thread *, struct freebsd32_clock_settime_args *);
 int	freebsd32_clock_getres(struct thread *, struct freebsd32_clock_getres_args *);
 int	freebsd32_nanosleep(struct thread *, struct freebsd32_nanosleep_args *);
+int	freebsd32_aio_read(struct thread *, struct freebsd32_aio_read_args *);
+int	freebsd32_aio_write(struct thread *, struct freebsd32_aio_write_args *);
+int	freebsd32_lio_listio(struct thread *, struct freebsd32_lio_listio_args *);
 int	freebsd32_lutimes(struct thread *, struct freebsd32_lutimes_args *);
 int	freebsd32_preadv(struct thread *, struct freebsd32_preadv_args *);
 int	freebsd32_pwritev(struct thread *, struct freebsd32_pwritev_args *);
 int	freebsd32_modstat(struct thread *, struct freebsd32_modstat_args *);
+int	freebsd32_aio_return(struct thread *, struct freebsd32_aio_return_args *);
+int	freebsd32_aio_suspend(struct thread *, struct freebsd32_aio_suspend_args *);
+int	freebsd32_aio_cancel(struct thread *, struct freebsd32_aio_cancel_args *);
+int	freebsd32_aio_error(struct thread *, struct freebsd32_aio_error_args *);
+int	freebsd32_oaio_read(struct thread *, struct freebsd32_oaio_read_args *);
+int	freebsd32_oaio_write(struct thread *, struct freebsd32_oaio_write_args *);
+int	freebsd32_olio_listio(struct thread *, struct freebsd32_olio_listio_args *);
 int	freebsd32_jail(struct thread *, struct freebsd32_jail_args *);
 int	freebsd32_sigtimedwait(struct thread *, struct freebsd32_sigtimedwait_args *);
 int	freebsd32_sigwaitinfo(struct thread *, struct freebsd32_sigwaitinfo_args *);
+int	freebsd32_aio_waitcomplete(struct thread *, struct freebsd32_aio_waitcomplete_args *);
 int	freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *);
 int	freebsd32_nmount(struct thread *, struct freebsd32_nmount_args *);
 int	freebsd32_sendfile(struct thread *, struct freebsd32_sendfile_args *);
@@ -447,6 +505,7 @@
 int	freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *);
 int	freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *);
 int	freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *);
+int	freebsd32_aio_fsync(struct thread *, struct freebsd32_aio_fsync_args *);
 int	freebsd32_pread(struct thread *, struct freebsd32_pread_args *);
 int	freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *);
 int	freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *);
@@ -641,13 +700,24 @@
 #define	FREEBSD32_SYS_AUE_freebsd32_clock_settime	AUE_CLOCK_SETTIME
 #define	FREEBSD32_SYS_AUE_freebsd32_clock_getres	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_nanosleep	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_read	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_write	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_lio_listio	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_lutimes	AUE_LUTIMES
 #define	FREEBSD32_SYS_AUE_freebsd32_preadv	AUE_PREADV
 #define	FREEBSD32_SYS_AUE_freebsd32_pwritev	AUE_PWRITEV
 #define	FREEBSD32_SYS_AUE_freebsd32_modstat	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_return	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_suspend	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_cancel	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_error	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_oaio_read	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_oaio_write	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_olio_listio	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_jail	AUE_JAIL
 #define	FREEBSD32_SYS_AUE_freebsd32_sigtimedwait	AUE_SIGWAIT
 #define	FREEBSD32_SYS_AUE_freebsd32_sigwaitinfo	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_waitcomplete	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_kevent	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_nmount	AUE_NMOUNT
 #define	FREEBSD32_SYS_AUE_freebsd32_sendfile	AUE_SENDFILE
@@ -661,6 +731,7 @@
 #define	FREEBSD32_SYS_AUE_freebsd32_thr_suspend	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_umtx_op	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_thr_new	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd32_aio_fsync	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_pread	AUE_PREAD
 #define	FREEBSD32_SYS_AUE_freebsd32_pwrite	AUE_PWRITE
 #define	FREEBSD32_SYS_AUE_freebsd32_mmap	AUE_MMAP

==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_signal.h#2 (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/compat/freebsd32/freebsd32_signal.h,v 1.1 2006/10/05 01:58:08 davidxu Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_signal.h,v 1.2 2008/12/11 00:58:05 bz Exp $
  */
 
 #ifndef _COMPAT_FREEBSD32_SIGNAL_H_
@@ -36,6 +36,9 @@
 };
 
 union sigval32 {
+	int			sival_int;
+	u_int32_t		sival_ptr;
+	/* 6.0 compatibility */
 	int			sigval_int;
 	u_int32_t		sigval_ptr;
 };
@@ -70,6 +73,29 @@
 	} _reason;
 };
 
+struct osigevent32 {
+	int	sigev_notify;		/* Notification type */
+	union {
+		int	__sigev_signo;	/* Signal number */
+		int	__sigev_notify_kqueue;
+	} __sigev_u;
+	union sigval32 sigev_value;	/* Signal value */
+};
+
+struct sigevent32 {
+	int	sigev_notify;		/* Notification type */
+	int	sigev_signo;		/* Signal number */
+	union sigval32 sigev_value;	/* Signal value */
+	union {
+		__lwpid_t	_threadid;
+		struct {
+			uint32_t _function;
+			uint32_t _attribute;
+		} _sigev_thread;
+		uint32_t __spare__[8];
+	} _sigev_un;
+};
+
 void siginfo_to_siginfo32(siginfo_t *src, struct siginfo32 *dst);
 
 #endif /* !_COMPAT_FREEBSD32_SIGNAL_H_ */

==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#18 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.96 2008/11/29 14:34:30 bz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.97 2008/12/10 20:57:16 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb 
  */
 
 #define	FREEBSD32_SYS_syscall	0
@@ -210,6 +210,9 @@
 #define	FREEBSD32_SYS_openbsd_poll	252
 #define	FREEBSD32_SYS_issetugid	253
 #define	FREEBSD32_SYS_lchown	254
+#define	FREEBSD32_SYS_freebsd32_aio_read	255
+#define	FREEBSD32_SYS_freebsd32_aio_write	256
+#define	FREEBSD32_SYS_freebsd32_lio_listio	257
 #define	FREEBSD32_SYS_getdents	272
 #define	FREEBSD32_SYS_lchmod	274
 #define	FREEBSD32_SYS_netbsd_lchown	275
@@ -237,6 +240,13 @@
 #define	FREEBSD32_SYS_setresuid	311
 #define	FREEBSD32_SYS_setresgid	312
 				/* 313 is obsolete signanosleep */
+#define	FREEBSD32_SYS_freebsd32_aio_return	314
+#define	FREEBSD32_SYS_freebsd32_aio_suspend	315
+#define	FREEBSD32_SYS_freebsd32_aio_cancel	316
+#define	FREEBSD32_SYS_freebsd32_aio_error	317
+#define	FREEBSD32_SYS_freebsd32_oaio_read	318
+#define	FREEBSD32_SYS_freebsd32_oaio_write	319
+#define	FREEBSD32_SYS_freebsd32_olio_listio	320
 #define	FREEBSD32_SYS_yield	321
 				/* 322 is obsolete thr_sleep */
 				/* 323 is obsolete thr_wakeup */
@@ -274,6 +284,7 @@
 #define	FREEBSD32_SYS_extattr_set_file	356
 #define	FREEBSD32_SYS_extattr_get_file	357
 #define	FREEBSD32_SYS_extattr_delete_file	358
+#define	FREEBSD32_SYS_freebsd32_aio_waitcomplete	359
 #define	FREEBSD32_SYS_getresuid	360
 #define	FREEBSD32_SYS_getresgid	361
 #define	FREEBSD32_SYS_kqueue	362
@@ -321,6 +332,7 @@
 #define	FREEBSD32_SYS_sigqueue	456
 #define	FREEBSD32_SYS_abort2	463
 #define	FREEBSD32_SYS_thr_set_name	464
+#define	FREEBSD32_SYS_freebsd32_aio_fsync	465
 #define	FREEBSD32_SYS_rtprio_thread	466
 #define	FREEBSD32_SYS_sctp_peeloff	471
 #define	FREEBSD32_SYS_sctp_generic_sendmsg	472

==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#18 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.87 2008/11/29 14:34:30 bz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.88 2008/12/10 20:57:16 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb 
  */
 
 const char *freebsd32_syscallnames[] = {
@@ -262,9 +262,9 @@
 	"openbsd_poll",			/* 252 = openbsd_poll */
 	"issetugid",			/* 253 = issetugid */
 	"lchown",			/* 254 = lchown */
-	"#255",			/* 255 = nosys */
-	"#256",			/* 256 = nosys */
-	"#257",			/* 257 = nosys */
+	"freebsd32_aio_read",			/* 255 = freebsd32_aio_read */
+	"freebsd32_aio_write",			/* 256 = freebsd32_aio_write */
+	"freebsd32_lio_listio",			/* 257 = freebsd32_lio_listio */
 	"#258",			/* 258 = nosys */
 	"#259",			/* 259 = nosys */
 	"#260",			/* 260 = nosys */
@@ -321,13 +321,13 @@
 	"setresuid",			/* 311 = setresuid */
 	"setresgid",			/* 312 = setresgid */
 	"obs_signanosleep",			/* 313 = obsolete signanosleep */
-	"#314",			/* 314 = aio_return */
-	"#315",			/* 315 = aio_suspend */
-	"#316",			/* 316 = aio_cancel */
-	"#317",			/* 317 = aio_error */
-	"#318",			/* 318 = aio_read */
-	"#319",			/* 319 = aio_write */
-	"#320",			/* 320 = lio_listio */
+	"freebsd32_aio_return",			/* 314 = freebsd32_aio_return */
+	"freebsd32_aio_suspend",			/* 315 = freebsd32_aio_suspend */
+	"freebsd32_aio_cancel",			/* 316 = freebsd32_aio_cancel */
+	"freebsd32_aio_error",			/* 317 = freebsd32_aio_error */
+	"freebsd32_oaio_read",			/* 318 = freebsd32_oaio_read */
+	"freebsd32_oaio_write",			/* 319 = freebsd32_oaio_write */
+	"freebsd32_olio_listio",			/* 320 = freebsd32_olio_listio */
 	"yield",			/* 321 = yield */
 	"obs_thr_sleep",			/* 322 = obsolete thr_sleep */
 	"obs_thr_wakeup",			/* 323 = obsolete thr_wakeup */
@@ -366,7 +366,7 @@
 	"extattr_set_file",			/* 356 = extattr_set_file */
 	"extattr_get_file",			/* 357 = extattr_get_file */
 	"extattr_delete_file",			/* 358 = extattr_delete_file */
-	"#359",			/* 359 = aio_waitcomplete */
+	"freebsd32_aio_waitcomplete",			/* 359 = freebsd32_aio_waitcomplete */
 	"getresuid",			/* 360 = getresuid */
 	"getresgid",			/* 361 = getresgid */
 	"kqueue",			/* 362 = kqueue */
@@ -472,7 +472,7 @@
 	"#462",			/* 462 = kmq_unlink */
 	"abort2",			/* 463 = abort2 */
 	"thr_set_name",			/* 464 = thr_set_name */
-	"#465",			/* 465 = aio_fsync */
+	"freebsd32_aio_fsync",			/* 465 = freebsd32_aio_fsync */
 	"rtprio_thread",			/* 466 = rtprio_thread */
 	"#467",			/* 467 = nosys */
 	"#468",			/* 468 = nosys */

==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#18 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.97 2008/11/29 14:34:30 bz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.98 2008/12/10 20:57:16 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb 
  */
 
 #include "opt_compat.h"
@@ -293,9 +293,9 @@
 	{ AS(openbsd_poll_args), (sy_call_t *)openbsd_poll, AUE_POLL, NULL, 0, 0 },	/* 252 = openbsd_poll */
 	{ 0, (sy_call_t *)issetugid, AUE_ISSETUGID, NULL, 0, 0 },	/* 253 = issetugid */
 	{ AS(lchown_args), (sy_call_t *)lchown, AUE_LCHOWN, NULL, 0, 0 },	/* 254 = lchown */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 255 = nosys */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 256 = nosys */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 257 = nosys */
+	{ AS(freebsd32_aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 255 = freebsd32_aio_read */
+	{ AS(freebsd32_aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 256 = freebsd32_aio_write */
+	{ AS(freebsd32_lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 257 = freebsd32_lio_listio */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 258 = nosys */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 259 = nosys */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 260 = nosys */
@@ -352,13 +352,13 @@
 	{ AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0 },	/* 311 = setresuid */
 	{ AS(setresgid_args), (sy_call_t *)setresgid, AUE_SETRESGID, NULL, 0, 0 },	/* 312 = setresgid */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 313 = obsolete signanosleep */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 314 = aio_return */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 315 = aio_suspend */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 316 = aio_cancel */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 317 = aio_error */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 318 = aio_read */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 319 = aio_write */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 320 = lio_listio */
+	{ AS(freebsd32_aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 314 = freebsd32_aio_return */
+	{ AS(freebsd32_aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 315 = freebsd32_aio_suspend */
+	{ AS(freebsd32_aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 316 = freebsd32_aio_cancel */
+	{ AS(freebsd32_aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 317 = freebsd32_aio_error */
+	{ AS(freebsd32_oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 318 = freebsd32_oaio_read */
+	{ AS(freebsd32_oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 319 = freebsd32_oaio_write */
+	{ AS(freebsd32_olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 320 = freebsd32_olio_listio */
 	{ 0, (sy_call_t *)yield, AUE_NULL, NULL, 0, 0 },		/* 321 = yield */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 322 = obsolete thr_sleep */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 323 = obsolete thr_wakeup */
@@ -397,7 +397,7 @@
 	{ AS(extattr_set_file_args), (sy_call_t *)extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0 },	/* 356 = extattr_set_file */
 	{ AS(extattr_get_file_args), (sy_call_t *)extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0 },	/* 357 = extattr_get_file */
 	{ AS(extattr_delete_file_args), (sy_call_t *)extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0 },	/* 358 = extattr_delete_file */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 359 = aio_waitcomplete */
+	{ AS(freebsd32_aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 359 = freebsd32_aio_waitcomplete */
 	{ AS(getresuid_args), (sy_call_t *)getresuid, AUE_GETRESUID, NULL, 0, 0 },	/* 360 = getresuid */
 	{ AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0 },	/* 361 = getresgid */
 	{ 0, (sy_call_t *)kqueue, AUE_KQUEUE, NULL, 0, 0 },		/* 362 = kqueue */
@@ -503,7 +503,7 @@
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 462 = kmq_unlink */
 	{ AS(abort2_args), (sy_call_t *)abort2, AUE_NULL, NULL, 0, 0 },	/* 463 = abort2 */
 	{ AS(thr_set_name_args), (sy_call_t *)thr_set_name, AUE_NULL, NULL, 0, 0 },	/* 464 = thr_set_name */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 465 = aio_fsync */
+	{ AS(freebsd32_aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 },	/* 465 = freebsd32_aio_fsync */
 	{ AS(rtprio_thread_args), (sy_call_t *)rtprio_thread, AUE_RTPRIO, NULL, 0, 0 },	/* 466 = rtprio_thread */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 467 = nosys */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 468 = nosys */

==== //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#19 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.112 2008/11/29 14:32:14 bz Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.113 2008/12/10 20:56:19 jhb Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -454,9 +454,13 @@
 				    u_int nfds, int timeout); }
 253	AUE_ISSETUGID	NOPROTO	{ int issetugid(void); }
 254	AUE_LCHOWN	NOPROTO	{ int lchown(char *path, int uid, int gid); }
-255	AUE_NULL	UNIMPL	nosys
-256	AUE_NULL	UNIMPL	nosys
-257	AUE_NULL	UNIMPL	nosys
+255	AUE_NULL	NOSTD	{ int freebsd32_aio_read( \
+				    struct aiocb32 *aiocbp); }
+256	AUE_NULL	NOSTD	{ int freebsd32_aio_write( \
+				    struct aiocb32 *aiocbp); }
+257	AUE_NULL	NOSTD	{ int freebsd32_lio_listio(int mode, \
+				    struct aiocb32 * const *acb_list, \
+				    int nent, struct sigevent *sig); }
 258	AUE_NULL	UNIMPL	nosys
 259	AUE_NULL	UNIMPL	nosys
 260	AUE_NULL	UNIMPL	nosys
@@ -535,13 +539,22 @@
 312	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
 				    gid_t sgid); }
 313	AUE_NULL	OBSOL	signanosleep
-314	AUE_NULL	UNIMPL	aio_return
-315	AUE_NULL	UNIMPL	aio_suspend
-316	AUE_NULL	UNIMPL	aio_cancel
-317	AUE_NULL	UNIMPL	aio_error
-318	AUE_NULL	UNIMPL	aio_read
-319	AUE_NULL	UNIMPL	aio_write
-320	AUE_NULL	UNIMPL	lio_listio
+314	AUE_NULL	NOSTD	{ int freebsd32_aio_return( \
+				    struct aiocb32 *aiocbp); }
+315	AUE_NULL	NOSTD	{ int freebsd32_aio_suspend( \
+				    struct aiocb32 * const * aiocbp, int nent, \
+				    const struct timespec32 *timeout); }
+316	AUE_NULL	NOSTD	{ int freebsd32_aio_cancel(int fd, \
+				    struct aiocb32 *aiocbp); }
+317	AUE_NULL	NOSTD	{ int freebsd32_aio_error( \
+				    struct aiocb32 *aiocbp); }
+318	AUE_NULL	NOSTD	{ int freebsd32_oaio_read( \
+				    struct oaiocb32 *aiocbp); }
+319	AUE_NULL	NOSTD	{ int freebsd32_oaio_write( \
+				    struct oaiocb32 *aiocbp); }
+320	AUE_NULL	NOSTD	{ int freebsd32_olio_listio(int mode, \
+				    struct oaiocb32 * const *acb_list, \
+				    int nent, struct osigevent32 *sig); }
 321	AUE_NULL	NOPROTO	{ int yield(void); }
 322	AUE_NULL	OBSOL	thr_sleep
 323	AUE_NULL	OBSOL	thr_wakeup
@@ -618,7 +631,9 @@
 358	AUE_EXTATTR_DELETE_FILE	NOPROTO	{ int extattr_delete_file( \
 				    const char *path, int attrnamespace, \
 				    const char *attrname); }
-359	AUE_NULL	UNIMPL	aio_waitcomplete
+359	AUE_NULL	NOSTD	{ int freebsd32_aio_waitcomplete( \
+				    struct aiocb32 **aiocbp, \
+				    struct timespec32 *timeout); }
 360	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
 				    uid_t *suid); }
 361	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
@@ -766,7 +781,8 @@
 462	AUE_NULL	UNIMPL	kmq_unlink
 463	AUE_NULL	NOPROTO	{ int abort2(const char *why, int nargs, void **args); }
 464	AUE_NULL 	NOPROTO	{ int thr_set_name(long id, const char *name); }
-465	AUE_NULL	UNIMPL	aio_fsync
+465	AUE_NULL	NOSTD	{ int freebsd32_aio_fsync(int op, \
+				    struct aiocb32 *aiocbp); }
 466	AUE_RTPRIO	NOPROTO	{ int rtprio_thread(int function, \
 				    lwpid_t lwpid, struct rtprio *rtp); }
 467	AUE_NULL	UNIMPL	nosys

==== //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#30 (text+ko) ====

@@ -42,7 +42,7 @@
 #include "opt_compat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.128 2008/12/02 21:37:28 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.131 2008/12/10 16:11:09 kib Exp $");
 
 #include <sys/param.h>
 #include <sys/queue.h>
@@ -273,8 +273,7 @@
 		/* XXX per-cpu vendor / class / model / id? */
 	}
 
-	sbuf_cat(sb,
-	    "flags\t\t:");
+	sbuf_cat(sb, "flags\t\t:");
 
 	if (!strcmp(cpu_vendor, "AuthenticAMD") && (class < 6)) {
 		flags[16] = "fcmov";
@@ -876,10 +875,12 @@
 linprocfs_doprocmaps(PFS_FILL_ARGS)
 {
 	vm_map_t map = &p->p_vmspace->vm_map;
-	vm_map_entry_t entry;
+	vm_map_entry_t entry, tmp_entry;
 	vm_object_t obj, tobj, lobj;
-	vm_offset_t saved_end;
+	vm_offset_t e_start, e_end;
 	vm_ooffset_t off = 0;
+	vm_prot_t e_prot;
+	unsigned int last_timestamp;
 	char *name = "", *freename = NULL;
 	ino_t ino;
 	int ref_count, shadow_count, flags;
@@ -905,7 +906,9 @@
 		freename = NULL;
 		if (entry->eflags & MAP_ENTRY_IS_SUB_MAP)
 			continue;
-		saved_end = entry->end;
+		e_prot = entry->protection;
+		e_start = entry->start;
+		e_end = entry->end;
 		obj = entry->object.vm_object;
 		for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) {
 			VM_OBJECT_LOCK(tobj);
@@ -913,6 +916,8 @@
 				VM_OBJECT_UNLOCK(lobj);
 			lobj = tobj;
 		}
+		last_timestamp = map->timestamp;
+		vm_map_unlock_read(map);
 		ino = 0;
 		if (lobj) {
 			off = IDX_TO_OFF(lobj->size);
@@ -950,10 +955,10 @@
 		 */
 		error = sbuf_printf(sb,
 		    "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n",
-		    (u_long)entry->start, (u_long)entry->end,
-		    (entry->protection & VM_PROT_READ)?"r":"-",
-		    (entry->protection & VM_PROT_WRITE)?"w":"-",
-		    (entry->protection & VM_PROT_EXECUTE)?"x":"-",
+		    (u_long)e_start, (u_long)e_end,

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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