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>