PERFORCE change 150471 for review
Marko Zec
zec at FreeBSD.org
Thu Sep 25 21:13:04 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=150471
Change 150471 by zec at 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) <<<
More information about the p4-projects
mailing list