Date: Thu, 25 Sep 2008 21:13:03 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 150471 for review Message-ID: <200809252113.m8PLD3nx016799@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=150471 Change 150471 by zec@zec_tpx32 on 2008/09/25 21:12:14 IFC @ 150469 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_ioctl.c#1 branch .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_ioctl.h#1 branch .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_util.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/compat/svr4/svr4_sysvec.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#11 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.amd64#3 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.i386#8 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.ia64#2 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.sparc64#4 integrate .. //depot/projects/vimage-commit2/src/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/vimage-commit2/src/sys/conf/options.sparc64#3 integrate .. //depot/projects/vimage-commit2/src/sys/ddb/db_command.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/ddb/db_command.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/ddb/db_main.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bm.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_tn1010.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_vsc8211.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_xgmac.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_adapter.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_config.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_include.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_offload.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_t3fw.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/cxgb_support.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/toecore/toedev.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_vm.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_amd.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_piv.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_ppro.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jme.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jmereg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/kbdmux/kbdmux.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/le/if_le_cbus.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/le/if_le_isa.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/le/if_le_lebuffer.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/le/if_le_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/le/lebuffer_sbus.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/ubsa.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/umass.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/netfront/netfront.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/hpfs/hpfs_vnops.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/pseudofs/pseudofs_vnops.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/smbfs/smbfs_node.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/bios/apm.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/bios.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/pmap.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_sysvec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/param.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/smp.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/xen/mp_machdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/xen/pmap.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/i386/xen/xen_machdep.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/efi.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/sal.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/imgact_aout.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/init_main.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/init_sysent.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_condvar.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_intr.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_pmc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_synch.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_clist.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_witness.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sys_generic.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.master#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/systrace_args.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty_pts.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty_ttydisc.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_mqueue.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_cache.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_vnops.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/memcmp.c#1 branch .. //depot/projects/vimage-commit2/src/sys/mips/mips/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/mips/mips/support.S#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/cxgb/Makefile#4 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/cxgb_t3fw/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/iw_cxgb/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/toecore/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_clone.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_clone.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_stf.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_adhoc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_crypto.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ddb.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_freebsd.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_hostap.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ht.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ioctl.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_node.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_sta.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_wds.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/netgraph.h#10 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_base.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_source.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/udp6_usrreq.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vnops.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/aim/machdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/aim/mmu_oea.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/booke/machdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/dbdma.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/pmap.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/pte.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/ofw/ofw_syscons.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powermac/dbdma.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powermac/dbdmavar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/cpu.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/syncicache.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/include/tick.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/elf_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/mp_machdep.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/tick.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/clist.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/libkern.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/sys/pmckern.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.mk#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysent.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysproto.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/tty.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ttydevsw.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ttydisc.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ttyhook.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/ttyqueue.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ffs/ffs_vfsops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_dirhash.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_mmap.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_pageout.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/evtchn/evtchn.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/gnttab.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/gnttab.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/arch-x86/xen-x86_32.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/arch-x86/xen-x86_64.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/arch-x86/xen.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/callback.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/domctl.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/features.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/grant_table.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/memory.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/physdev.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/xen/interface/vcpu.h#2 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/elf_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.26 2007/05/22 02:22:57 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.27 2008/09/24 10:14:37 kib Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -46,59 +46,60 @@ #include <machine/md_var.h> struct sysentvec elf64_freebsd_sysvec = { - SYS_MAXSYSCALL, - sysent, - 0, - 0, - NULL, - 0, - NULL, - NULL, - __elfN(freebsd_fixup), - sendsig, - sigcode, - &szsigcode, - NULL, - "FreeBSD ELF64", - __elfN(coredump), - NULL, - MINSIGSTKSZ, - PAGE_SIZE, - VM_MIN_ADDRESS, - VM_MAXUSER_ADDRESS, - USRSTACK, - PS_STRINGS, - VM_PROT_ALL, - exec_copyout_strings, - exec_setregs, - NULL + .sv_size = SYS_MAXSYSCALL, + .sv_table = sysent, + .sv_mask = 0, + .sv_sigsize = 0, + .sv_sigtbl = NULL, + .sv_errsize = 0, + .sv_errtbl = NULL, + .sv_transtrap = NULL, + .sv_fixup = __elfN(freebsd_fixup), + .sv_sendsig = sendsig, + .sv_sigcode = sigcode, + .sv_szsigcode = &szsigcode, + .sv_prepsyscall = NULL, + .sv_name = "FreeBSD ELF64", + .sv_coredump = __elfN(coredump), + .sv_imgact_try = NULL, + .sv_minsigstksz = MINSIGSTKSZ, + .sv_pagesize = PAGE_SIZE, + .sv_minuser = VM_MIN_ADDRESS, + .sv_maxuser = VM_MAXUSER_ADDRESS, + .sv_usrstack = USRSTACK, + .sv_psstrings = PS_STRINGS, + .sv_stackprot = VM_PROT_ALL, + .sv_copyout_strings = exec_copyout_strings, + .sv_setregs = exec_setregs, + .sv_fixlimit = NULL, + .sv_maxssiz = NULL }; static Elf64_Brandinfo freebsd_brand_info = { - ELFOSABI_FREEBSD, - EM_X86_64, - "FreeBSD", - NULL, - "/libexec/ld-elf.so.1", - &elf64_freebsd_sysvec, - NULL, - BI_CAN_EXEC_DYN, - }; + .brand = ELFOSABI_FREEBSD, + .machine = EM_X86_64, + .compat_3_brand = "FreeBSD", + .emul_path = NULL, + .interp_path = "/libexec/ld-elf.so.1", + .sysvec = &elf64_freebsd_sysvec, + .interp_newpath = NULL, + .flags = BI_CAN_EXEC_DYN, +}; SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_ANY, (sysinit_cfunc_t) elf64_insert_brand_entry, &freebsd_brand_info); static Elf64_Brandinfo freebsd_brand_oinfo = { - ELFOSABI_FREEBSD, - EM_X86_64, - "FreeBSD", - NULL, - "/usr/libexec/ld-elf.so.1", - &elf64_freebsd_sysvec, - NULL, - BI_CAN_EXEC_DYN, - }; + .brand = ELFOSABI_FREEBSD, + .machine = EM_X86_64, + .compat_3_brand = "FreeBSD", + .emul_path = NULL, + .interp_path = "/usr/libexec/ld-elf.so.1", + .sysvec = &elf64_freebsd_sysvec, + .interp_newpath = NULL, + .flags = BI_CAN_EXEC_DYN, +}; SYSINIT(oelf64, SI_SUB_EXEC, SI_ORDER_ANY, (sysinit_cfunc_t) elf64_insert_brand_entry, ==== //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_sysvec.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.34 2008/04/08 09:45:47 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.35 2008/09/24 10:14:37 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -1000,62 +1000,62 @@ } struct sysentvec elf_linux_sysvec = { - LINUX_SYS_MAXSYSCALL, - linux_sysent, - 0, - LINUX_SIGTBLSZ, - bsd_to_linux_signal, - ELAST + 1, - bsd_to_linux_errno, - translate_traps, - elf_linux_fixup, - linux_sendsig, - linux_sigcode, - &linux_szsigcode, - linux_prepsyscall, - "Linux ELF32", - elf32_coredump, - exec_linux_imgact_try, - LINUX_MINSIGSTKSZ, - PAGE_SIZE, - VM_MIN_ADDRESS, - LINUX32_USRSTACK, - LINUX32_USRSTACK, - LINUX32_PS_STRINGS, - VM_PROT_ALL, - linux_copyout_strings, - exec_linux_setregs, - linux32_fixlimit, - &linux32_maxssiz, + .sv_size = LINUX_SYS_MAXSYSCALL, + .sv_table = linux_sysent, + .sv_mask = 0, + .sv_sigsize = LINUX_SIGTBLSZ, + .sv_sigtbl = bsd_to_linux_signal, + .sv_errsize = ELAST + 1, + .sv_errtbl = bsd_to_linux_errno, + .sv_transtrap = translate_traps, + .sv_fixup = elf_linux_fixup, + .sv_sendsig = linux_sendsig, + .sv_sigcode = linux_sigcode, + .sv_szsigcode = &linux_szsigcode, + .sv_prepsyscall = linux_prepsyscall, + .sv_name = "Linux ELF32", + .sv_coredump = elf32_coredump, + .sv_imgact_try = exec_linux_imgact_try, + .sv_minsigstksz = LINUX_MINSIGSTKSZ, + .sv_pagesize = PAGE_SIZE, + .sv_minuser = VM_MIN_ADDRESS, + .sv_maxuser = LINUX32_USRSTACK, + .sv_usrstack = LINUX32_USRSTACK, + .sv_psstrings = LINUX32_PS_STRINGS, + .sv_stackprot = VM_PROT_ALL, + .sv_copyout_strings = linux_copyout_strings, + .sv_setregs = exec_linux_setregs, + .sv_fixlimit = linux32_fixlimit, + .sv_maxssiz = &linux32_maxssiz, }; static Elf32_Brandinfo linux_brand = { - ELFOSABI_LINUX, - EM_386, - "Linux", - "/compat/linux", - "/lib/ld-linux.so.1", - &elf_linux_sysvec, - NULL, - BI_CAN_EXEC_DYN, - }; + .brand = ELFOSABI_LINUX, + .machine = EM_386, + .compat_3_brand = "Linux", + .emul_path = "/compat/linux", + .interp_path = "/lib/ld-linux.so.1", + .sysvec = &elf_linux_sysvec, + .interp_newpath = NULL, + .flags = BI_CAN_EXEC_DYN, +}; static Elf32_Brandinfo linux_glibc2brand = { - ELFOSABI_LINUX, - EM_386, - "Linux", - "/compat/linux", - "/lib/ld-linux.so.2", - &elf_linux_sysvec, - NULL, - BI_CAN_EXEC_DYN, - }; + .brand = ELFOSABI_LINUX, + .machine = EM_386, + .compat_3_brand = "Linux", + .emul_path = "/compat/linux", + .interp_path = "/lib/ld-linux.so.2", + .sysvec = &elf_linux_sysvec, + .interp_newpath = NULL, + .flags = BI_CAN_EXEC_DYN, +}; Elf32_Brandinfo *linux_brandlist[] = { - &linux_brand, - &linux_glibc2brand, - NULL - }; + &linux_brand, + &linux_glibc2brand, + NULL +}; static int linux_elf_modevent(module_t mod, int type, void *data) ==== //depot/projects/vimage-commit2/src/sys/arm/arm/elf_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.7 2007/05/22 02:22:57 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.8 2008/09/24 10:14:37 kib Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -46,59 +46,60 @@ #include <machine/md_var.h> struct sysentvec elf32_freebsd_sysvec = { - SYS_MAXSYSCALL, - sysent, - 0, - 0, - NULL, - 0, - NULL, - NULL, - __elfN(freebsd_fixup), - sendsig, - sigcode, - &szsigcode, - NULL, - "FreeBSD ELF32", - __elfN(coredump), - NULL, - MINSIGSTKSZ, - PAGE_SIZE, - VM_MIN_ADDRESS, - VM_MAXUSER_ADDRESS, - USRSTACK, - PS_STRINGS, - VM_PROT_ALL, - exec_copyout_strings, - exec_setregs, - NULL + .sv_size = SYS_MAXSYSCALL, + .sv_table = sysent, + .sv_mask = 0, + .sv_sigsize = 0, + .sv_sigtbl = NULL, + .sv_errsize = 0, + .sv_errtbl = NULL, + .sv_transtrap = NULL, + .sv_fixup = __elfN(freebsd_fixup), + .sv_sendsig = sendsig, + .sv_sigcode = sigcode, + .sv_szsigcode = &szsigcode, + .sv_prepsyscall = NULL, + .sv_name = "FreeBSD ELF32", + .sv_coredump = __elfN(coredump), + .sv_imgact_try = NULL, + .sv_minsigstksz = MINSIGSTKSZ, + .sv_pagesize = PAGE_SIZE, + .sv_minuser = VM_MIN_ADDRESS, + .sv_maxuser = VM_MAXUSER_ADDRESS, + .sv_usrstack = USRSTACK, + .sv_psstrings = PS_STRINGS, + .sv_stackprot = VM_PROT_ALL, + .sv_copyout_strings = exec_copyout_strings, + .sv_setregs = exec_setregs, + .sv_fixlimit = NULL, + .sv_maxssiz = NULL }; static Elf32_Brandinfo freebsd_brand_info = { - ELFOSABI_FREEBSD, - EM_ARM, - "FreeBSD", - NULL, - "/libexec/ld-elf.so.1", - &elf32_freebsd_sysvec, - NULL, - BI_CAN_EXEC_DYN, - }; + .brand = ELFOSABI_FREEBSD, + .machine = EM_ARM, + .compat_3_brand = "FreeBSD", + .emul_path = NULL, + .interp_path = "/libexec/ld-elf.so.1", + .sysvec = &elf32_freebsd_sysvec, + .interp_newpath = NULL, + .flags = BI_CAN_EXEC_DYN, +}; SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_ANY, (sysinit_cfunc_t) elf32_insert_brand_entry, &freebsd_brand_info); static Elf32_Brandinfo freebsd_brand_oinfo = { - ELFOSABI_FREEBSD, - EM_ARM, - "FreeBSD", - NULL, - "/usr/libexec/ld-elf.so.1", - &elf32_freebsd_sysvec, - NULL, - BI_CAN_EXEC_DYN, - }; + .brand = ELFOSABI_FREEBSD, + .machine = EM_ARM, + .compat_3_brand = "FreeBSD", + .emul_path = NULL, + .interp_path = "/usr/libexec/ld-elf.so.1", + .sysvec = &elf32_freebsd_sysvec, + .interp_newpath = NULL, + .flags = BI_CAN_EXEC_DYN, +}; SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY, (sysinit_cfunc_t) elf32_insert_brand_entry, ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.79 2008/09/19 15:17:32 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.80 2008/09/25 20:50:21 jhb Exp $"); #include "opt_compat.h" @@ -2624,3 +2624,83 @@ return (error); } #endif + +int +syscall32_register(int *offset, struct sysent *new_sysent, + struct sysent *old_sysent) +{ + if (*offset == NO_SYSCALL) { + int i; + + for (i = 1; i < SYS_MAXSYSCALL; ++i) + if (freebsd32_sysent[i].sy_call == + (sy_call_t *)lkmnosys) + break; + if (i == SYS_MAXSYSCALL) + return (ENFILE); + *offset = i; + } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) + return (EINVAL); + else if (freebsd32_sysent[*offset].sy_call != (sy_call_t *)lkmnosys && + freebsd32_sysent[*offset].sy_call != (sy_call_t *)lkmressys) + return (EEXIST); + + *old_sysent = freebsd32_sysent[*offset]; + freebsd32_sysent[*offset] = *new_sysent; + return 0; +} + +int +syscall32_deregister(int *offset, struct sysent *old_sysent) +{ + + if (*offset) + freebsd32_sysent[*offset] = *old_sysent; + return 0; +} + +int +syscall32_module_handler(struct module *mod, int what, void *arg) +{ + struct syscall_module_data *data = (struct syscall_module_data*)arg; + modspecific_t ms; + int error; + + switch (what) { + case MOD_LOAD: + error = syscall32_register(data->offset, data->new_sysent, + &data->old_sysent); + if (error) { + /* Leave a mark so we know to safely unload below. */ + data->offset = NULL; + return error; + } + ms.intval = *data->offset; + MOD_XLOCK; + module_setspecific(mod, &ms); + MOD_XUNLOCK; + if (data->chainevh) + error = data->chainevh(mod, what, data->chainarg); + return (error); + case MOD_UNLOAD: + /* + * MOD_LOAD failed, so just return without calling the + * chained handler since we didn't pass along the MOD_LOAD + * event. + */ + if (data->offset == NULL) + return (0); + if (data->chainevh) { + error = data->chainevh(mod, what, data->chainarg); + if (error) + return (error); + } + error = syscall_deregister(data->offset, &data->old_sysent); + return (error); + default: + error = EOPNOTSUPP; + if (data->chainevh) + error = data->chainevh(mod, what, data->chainarg); + return (error); + } +} ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#6 (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.91 2008/09/19 15:21:40 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183188 2008-09-19 15:17:32Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.93 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -63,6 +63,11 @@ char ss_l_[PADL_(struct sigaltstack32 *)]; struct sigaltstack32 * ss; char ss_r_[PADR_(struct sigaltstack32 *)]; char oss_l_[PADL_(struct sigaltstack32 *)]; struct sigaltstack32 * oss; char oss_r_[PADR_(struct sigaltstack32 *)]; }; +struct freebsd32_ioctl_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char com_l_[PADL_(uint32_t)]; uint32_t com; char com_r_[PADR_(uint32_t)]; + char data_l_[PADL_(struct md_ioctl32 *)]; struct md_ioctl32 * data; char data_r_[PADR_(struct md_ioctl32 *)]; +}; struct freebsd32_execve_args { char fname_l_[PADL_(char *)]; char * fname; char fname_r_[PADR_(char *)]; char argv_l_[PADL_(u_int32_t *)]; u_int32_t * argv; char argv_r_[PADR_(u_int32_t *)]; @@ -383,6 +388,7 @@ int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *); int freebsd32_recvfrom(struct thread *, struct freebsd32_recvfrom_args *); int freebsd32_sigaltstack(struct thread *, struct freebsd32_sigaltstack_args *); +int freebsd32_ioctl(struct thread *, struct freebsd32_ioctl_args *); int freebsd32_execve(struct thread *, struct freebsd32_execve_args *); int freebsd32_setitimer(struct thread *, struct freebsd32_setitimer_args *); int freebsd32_getitimer(struct thread *, struct freebsd32_getitimer_args *); @@ -594,6 +600,7 @@ #define FREEBSD32_SYS_AUE_freebsd32_sendmsg AUE_SENDMSG #define FREEBSD32_SYS_AUE_freebsd32_recvfrom AUE_RECVFROM #define FREEBSD32_SYS_AUE_freebsd32_sigaltstack AUE_SIGALTSTACK +#define FREEBSD32_SYS_AUE_freebsd32_ioctl AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_execve AUE_EXECVE #define FREEBSD32_SYS_AUE_freebsd32_setitimer AUE_SETITIMER #define FREEBSD32_SYS_AUE_freebsd32_getitimer AUE_GETITIMER ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#6 (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.90 2008/09/19 15:21:40 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183188 2008-09-19 15:17:32Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.92 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ #define FREEBSD32_SYS_syscall 0 @@ -58,7 +58,7 @@ #define FREEBSD32_SYS_acct 51 /* 52 is old freebsd32_sigpending */ #define FREEBSD32_SYS_freebsd32_sigaltstack 53 -#define FREEBSD32_SYS_ioctl 54 +#define FREEBSD32_SYS_freebsd32_ioctl 54 #define FREEBSD32_SYS_reboot 55 #define FREEBSD32_SYS_revoke 56 #define FREEBSD32_SYS_symlink 57 ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#6 (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.81 2008/09/19 15:21:40 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183188 2008-09-19 15:17:32Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.83 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ const char *freebsd32_syscallnames[] = { @@ -61,7 +61,7 @@ "acct", /* 51 = acct */ "compat.freebsd32_sigpending", /* 52 = old freebsd32_sigpending */ "freebsd32_sigaltstack", /* 53 = freebsd32_sigaltstack */ - "ioctl", /* 54 = ioctl */ + "freebsd32_ioctl", /* 54 = freebsd32_ioctl */ "reboot", /* 55 = reboot */ "revoke", /* 56 = revoke */ "symlink", /* 57 = symlink */ @@ -217,16 +217,16 @@ "getpgid", /* 207 = getpgid */ "#208", /* 208 = newreboot */ "poll", /* 209 = poll */ - "#210", /* 210 = */ - "#211", /* 211 = */ - "#212", /* 212 = */ - "#213", /* 213 = */ - "#214", /* 214 = */ - "#215", /* 215 = */ - "#216", /* 216 = */ - "#217", /* 217 = */ - "#218", /* 218 = */ - "#219", /* 219 = */ + "lkmnosys", /* 210 = lkmnosys */ + "lkmnosys", /* 211 = lkmnosys */ + "lkmnosys", /* 212 = lkmnosys */ + "lkmnosys", /* 213 = lkmnosys */ + "lkmnosys", /* 214 = lkmnosys */ + "lkmnosys", /* 215 = lkmnosys */ + "lkmnosys", /* 216 = lkmnosys */ + "lkmnosys", /* 217 = lkmnosys */ + "lkmnosys", /* 218 = lkmnosys */ + "lkmnosys", /* 219 = lkmnosys */ "freebsd32_semctl", /* 220 = freebsd32_semctl */ "semget", /* 221 = semget */ "semop", /* 222 = semop */ @@ -377,7 +377,7 @@ "#367", /* 367 = __cap_get_file */ "#368", /* 368 = __cap_set_fd */ "#369", /* 369 = __cap_set_file */ - "#370", /* 370 = lkmressys */ + "#370", /* 370 = nosys */ "extattr_set_fd", /* 371 = extattr_set_fd */ "extattr_get_fd", /* 372 = extattr_get_fd */ "extattr_delete_fd", /* 373 = extattr_delete_fd */ ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#6 (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.91 2008/09/19 15:21:40 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183188 2008-09-19 15:17:32Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.93 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ #include "opt_compat.h" @@ -92,7 +92,7 @@ { AS(acct_args), (sy_call_t *)acct, AUE_ACCT, NULL, 0, 0 }, /* 51 = acct */ { compat(0,freebsd32_sigpending), AUE_SIGPENDING, NULL, 0, 0 }, /* 52 = old freebsd32_sigpending */ { AS(freebsd32_sigaltstack_args), (sy_call_t *)freebsd32_sigaltstack, AUE_SIGALTSTACK, NULL, 0, 0 }, /* 53 = freebsd32_sigaltstack */ - { AS(ioctl_args), (sy_call_t *)ioctl, AUE_IOCTL, NULL, 0, 0 }, /* 54 = ioctl */ + { AS(freebsd32_ioctl_args), (sy_call_t *)freebsd32_ioctl, AUE_NULL, NULL, 0, 0 }, /* 54 = freebsd32_ioctl */ { AS(reboot_args), (sy_call_t *)reboot, AUE_REBOOT, NULL, 0, 0 }, /* 55 = reboot */ { AS(revoke_args), (sy_call_t *)revoke, AUE_REVOKE, NULL, 0, 0 }, /* 56 = revoke */ { AS(symlink_args), (sy_call_t *)symlink, AUE_SYMLINK, NULL, 0, 0 }, /* 57 = symlink */ @@ -248,16 +248,16 @@ { AS(getpgid_args), (sy_call_t *)getpgid, AUE_GETPGID, NULL, 0, 0 }, /* 207 = getpgid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 208 = newreboot */ { AS(poll_args), (sy_call_t *)poll, AUE_POLL, NULL, 0, 0 }, /* 209 = poll */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 210 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 211 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 212 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 213 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 214 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 215 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 216 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 217 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 218 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 219 = */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 210 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 211 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 212 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 213 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 214 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 215 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 216 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 217 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 218 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 219 = lkmnosys */ { AS(freebsd32_semctl_args), (sy_call_t *)freebsd32_semctl, AUE_SEMCTL, NULL, 0, 0 }, /* 220 = freebsd32_semctl */ { AS(semget_args), (sy_call_t *)semget, AUE_SEMGET, NULL, 0, 0 }, /* 221 = semget */ { AS(semop_args), (sy_call_t *)semop, AUE_SEMOP, NULL, 0, 0 }, /* 222 = semop */ @@ -408,7 +408,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 367 = __cap_get_file */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 368 = __cap_set_fd */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 369 = __cap_set_file */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 370 = lkmressys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 370 = nosys */ { AS(extattr_set_fd_args), (sy_call_t *)extattr_set_fd, AUE_EXTATTR_SET_FD, NULL, 0, 0 }, /* 371 = extattr_set_fd */ { AS(extattr_get_fd_args), (sy_call_t *)extattr_get_fd, AUE_EXTATTR_GET_FD, NULL, 0, 0 }, /* 372 = extattr_get_fd */ { AS(extattr_delete_fd_args), (sy_call_t *)extattr_delete_fd, AUE_EXTATTR_DELETE_FD, NULL, 0, 0 }, /* 373 = extattr_delete_fd */ ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_util.h#2 (text+ko) ==== @@ -25,18 +25,20 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_util.h,v 1.10 2005/06/29 15:16:20 jhb Exp $ + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_util.h,v 1.12 2008/09/25 20:50:21 jhb Exp $ */ +#ifndef _COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ +#define _COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ + +#include <sys/cdefs.h> +#include <sys/exec.h> +#include <sys/sysent.h> + #include <vm/vm.h> #include <vm/vm_param.h> #include <vm/pmap.h> - -#include <sys/exec.h> -#include <sys/sysent.h> -#include <sys/cdefs.h> - struct freebsd32_ps_strings { u_int32_t ps_argvstr; /* first of 0 or more argument strings */ int ps_nargvstr; /* the number of argument strings */ @@ -50,3 +52,35 @@ #define FREEBSD32_PS_STRINGS \ (FREEBSD32_USRSTACK - sizeof(struct freebsd32_ps_strings)) + +extern struct sysent freebsd32_sysent[]; + +#define SYSCALL32_MODULE(name, offset, new_sysent, evh, arg) \ +static struct syscall_module_data name##_syscall32_mod = { \ + evh, arg, offset, new_sysent, { 0, NULL } \ +}; \ + \ +static moduledata_t name##32_mod = { \ + #name, \ + syscall32_module_handler, \ + &name##_syscall32_mod \ +}; \ +DECLARE_MODULE(name##32, name##32_mod, SI_SUB_SYSCALLS, SI_ORDER_MIDDLE) + +#define SYSCALL32_MODULE_HELPER(syscallname) \ +static int syscallname##_syscall32 = FREEBSD32_SYS_##syscallname; \ +static struct sysent syscallname##_sysent32 = { \ + (sizeof(struct syscallname ## _args ) \ + / sizeof(register_t)), \ + (sy_call_t *)& syscallname \ +}; \ +SYSCALL32_MODULE(syscallname, \ + & syscallname##_syscall32, & syscallname##_sysent32,\ + NULL, NULL); + +int syscall32_register(int *offset, struct sysent *new_sysent, + struct sysent *old_sysent); +int syscall32_deregister(int *offset, struct sysent *old_sysent); +int syscall32_module_handler(struct module *mod, int what, void *arg); + +#endif /* !_COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ */ ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#6 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.106 2008/09/19 15:17:32 obrien Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.108 2008/09/25 20:07:42 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -33,7 +33,7 @@ ; so the SYSCALL_MODULE macro works ; NOARGS same as STD except do not create structure in sys/sysproto.h ; NODEF same as STD except only have the entry in the syscall table -; added. Meaning - do do not create structure or function +; added. Meaning - do not create structure or function ; prototype in sys/sysproto.h ; NOPROTO same as STD except do not create structure or ; function prototype in sys/sysproto.h. Does add a @@ -134,8 +134,8 @@ 53 AUE_SIGALTSTACK STD { int freebsd32_sigaltstack( \ struct sigaltstack32 *ss, \ struct sigaltstack32 *oss); } -54 AUE_IOCTL NOPROTO { int ioctl(int fd, u_long com, \ - caddr_t data); } +54 AUE_NULL STD { int freebsd32_ioctl(int fd, uint32_t com, \ + struct md_ioctl32 *data); } 55 AUE_REBOOT NOPROTO { int reboot(int opt); } 56 AUE_REVOKE NOPROTO { int revoke(char *path); } 57 AUE_SYMLINK NOPROTO { int symlink(char *path, char *link); } @@ -388,16 +388,16 @@ ; ; The following are reserved for loadable syscalls ; -210 AUE_NULL UNIMPL -211 AUE_NULL UNIMPL -212 AUE_NULL UNIMPL -213 AUE_NULL UNIMPL -214 AUE_NULL UNIMPL -215 AUE_NULL UNIMPL -216 AUE_NULL UNIMPL -217 AUE_NULL UNIMPL -218 AUE_NULL UNIMPL -219 AUE_NULL UNIMPL +210 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +211 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +212 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +213 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +214 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +215 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +216 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +217 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +218 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int +219 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int ; ; The following were introduced with NetBSD/4.4Lite-2 @@ -637,7 +637,7 @@ 367 AUE_NULL UNIMPL __cap_get_file 368 AUE_NULL UNIMPL __cap_set_fd 369 AUE_NULL UNIMPL __cap_set_file -370 AUE_NULL UNIMPL lkmressys +370 AUE_NULL UNIMPL nosys 371 AUE_EXTATTR_SET_FD NOPROTO { int extattr_set_fd(int fd, \ int attrnamespace, const char *attrname, \ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809252113.m8PLD3nx016799>