From owner-p4-projects@FreeBSD.ORG Wed Aug 16 18:47:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7976E16A4DE; Wed, 16 Aug 2006 18:47:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 47EA616A4DA for ; Wed, 16 Aug 2006 18:47:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7243743D5E for ; Wed, 16 Aug 2006 18:47:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7GIlOx7009492 for ; Wed, 16 Aug 2006 18:47:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7GIlKhF009461 for perforce@freebsd.org; Wed, 16 Aug 2006 18:47:20 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 16 Aug 2006 18:47:20 GMT Message-Id: <200608161847.k7GIlKhF009461@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 104273 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Aug 2006 18:47:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=104273 Change 104273 by rwatson@rwatson_zoo on 2006/08/16 18:46:58 Integrate TrustedBSD mac2 branch. Affected files ... .. //depot/projects/trustedbsd/mac2/sys/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/amd64/trap.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_dummy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_proto.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/syscalls.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/amd64/linux32/syscalls.master#3 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/arm/mem.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/at91/at91_st.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/include/pmap.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/include/sf_buf.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/include/vmparam.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/Makefile#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/arm_init.S#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/bootiic/main.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/eeprom.h#2 delete .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/env_vars.c#2 delete .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/env_vars.h#2 delete .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/loader_prompt.c#2 delete .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/loader_prompt.h#2 delete .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/p_string.h#2 delete .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/trustedbsd/mac2/sys/boot/arm/at91/libat91/xmodem.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/boot/forth/loader.conf#3 integrate .. //depot/projects/trustedbsd/mac2/sys/cam/scsi/scsi_pass.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/freebsd32/freebsd32_misc.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/freebsd32/syscalls.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/compat/linux/linux_util.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/svr4/svr4_proto.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/svr4/svr4_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/svr4/svr4_syscallnames.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/svr4/svr4_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/compat/svr4/syscalls.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/conf/files#4 integrate .. //depot/projects/trustedbsd/mac2/sys/conf/files.amd64#3 integrate .. //depot/projects/trustedbsd/mac2/sys/conf/files.i386#3 integrate .. //depot/projects/trustedbsd/mac2/sys/conf/kern.post.mk#2 integrate .. //depot/projects/trustedbsd/mac2/sys/conf/kmod.mk#2 integrate .. //depot/projects/trustedbsd/mac2/sys/conf/options.arm#3 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/dev/acpica/acfreebsd.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_auth.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_frag.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_log.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_proxy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_scan.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_sync.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ip_sync.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/ata/ata-chipset.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/ata/ata-pci.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/em/if_em.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/em/if_em.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/em/if_em_hw.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/exca/excareg.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/isp/isp.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/isp/isp_pci.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/isp/ispvar.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/pccbb/pccbb.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/pccbb/pccbb_pci.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/pccbb/pccbbreg.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/fs/nwfs/nwfs_io.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/eli/g_eli.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/eli/g_eli_ctl.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/geom_gpt.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/label/g_label.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/label/g_label_msdosfs.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/label/g_label_msdosfs.h#1 branch .. //depot/projects/trustedbsd/mac2/sys/geom/mirror/g_mirror.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/geom/raid3/g_raid3.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/conf/XBOX#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/i386/support.s#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/i386/trap.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_isc_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_proto.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_xenix.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_xenix_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/ibcs2_xenix_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/syscalls.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/syscalls.isc.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/ibcs2/syscalls.xenix.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/include/pmap.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/isa/clock.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux_proto.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/syscalls.conf#2 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/linux/syscalls.master#3 integrate .. //depot/projects/trustedbsd/mac2/sys/i386/xbox/xbox.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/ia64/include/pmap.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/init_sysent.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_exec.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_fork.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_lock.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_subr.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_sx.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/kern_time.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/makesyscalls.sh#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/syscalls.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/syscalls.master#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/systrace_args.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/uipc_proto.c#2 delete .. //depot/projects/trustedbsd/mac2/sys/kern/uipc_sem.c#4 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/uipc_usrreq.c#7 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/trustedbsd/mac2/sys/libkern/strstr.c#1 branch .. //depot/projects/trustedbsd/mac2/sys/modules/if_ef/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/modules/if_ppp/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/modules/linsysfs/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/modules/linux/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/modules/netgraph/mppc/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/modules/sound/sound/Makefile#2 integrate .. //depot/projects/trustedbsd/mac2/sys/net/bpf.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/net/bridgestp.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/net/if_tun.c#4 integrate .. //depot/projects/trustedbsd/mac2/sys/net/if_vlan.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/netgraph/ng_pppoe.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/netinet/tcp_timer.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/netinet/tcp_timer.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/nfsclient/nfs_vfsops.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/pc98/include/md_var.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/pc98/pc98/pc98_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/pci/agp.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/pci/if_xl.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sparc64/sparc64/pmap.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/dirent.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/domain.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/eventhandler.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/imgact.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/libkern.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/lockmgr.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/param.h#4 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/sx.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/syscall.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/syscall.mk#3 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/sysctl.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/sysent.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/sys/sysproto.h#3 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/device_pager.c#2 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/swap_pager.c#5 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/vm_fault.c#4 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/vm_object.c#3 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/vm_page.c#4 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/vm_page.h#2 integrate .. //depot/projects/trustedbsd/mac2/sys/vm/vnode_pager.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/mac2/sys/Makefile#2 (text+ko) ==== @@ -1,13 +1,11 @@ -# $FreeBSD: src/sys/Makefile,v 1.37 2006/07/04 14:14:16 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.38 2006/08/10 06:29:43 imp Exp $ .include # The boot loader .if ${MK_BOOT} != "no" -.if ${MACHINE_ARCH} != "arm" SUBDIR= boot .endif -.endif # Directories to include in cscope name file and TAGS. CSCOPEDIRS= coda compat conf contrib crypto ddb dev fs geom gnu i4b isa \ ==== //depot/projects/trustedbsd/mac2/sys/amd64/acpica/madt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.20 2006/03/27 15:59:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.21 2006/08/11 19:22:55 jhb Exp $"); #include #include @@ -203,15 +203,15 @@ /* * Map in the RSDP. Since ACPI uses AcpiOsMapMemory() which in turn - * calls pmap_mapdev() to find the RSDP, we assume that we can use - * pmap_mapdev() to map the RSDP. + * calls pmap_mapbios() to find the RSDP, we assume that we can use + * pmap_mapbios() to map the RSDP. */ if (AcpiOsGetRootPointer(ACPI_LOGICAL_ADDRESSING, &rsdp_ptr) != AE_OK) return (ENXIO); #ifdef __i386__ KASSERT(rsdp_ptr.Pointer.Physical < KERNLOAD, ("RSDP too high")); #endif - rsdp = pmap_mapdev(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); + rsdp = pmap_mapbios(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); if (rsdp == NULL) { if (bootverbose) printf("MADT: Failed to map RSDP\n"); @@ -261,7 +261,7 @@ break; madt_unmap_table(rsdt); } - pmap_unmapdev((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); + pmap_unmapbios((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); if (madt_physaddr == 0) { if (bootverbose) printf("MADT: No MADT table found\n"); @@ -335,7 +335,7 @@ madt_setup_local(void) { - madt = pmap_mapdev(madt_physaddr, madt_length); + madt = pmap_mapbios(madt_physaddr, madt_length); lapic_init((uintptr_t)madt->LocalApicAddress); printf("ACPI APIC Table: <%.*s %.*s>\n", (int)sizeof(madt->OemId), madt->OemId, ==== //depot/projects/trustedbsd/mac2/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.569 2006/08/06 06:29:16 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.571 2006/08/14 15:39:41 jhb Exp $"); /* * Manages physical address maps. @@ -665,6 +665,84 @@ * Low level helper routines..... ***************************************************/ +/* + * Determine the appropriate bits to set in a PTE or PDE for a specified + * caching mode. + */ +static int +pmap_cache_bits(int mode, boolean_t is_pde) +{ + int pat_flag, pat_index, cache_bits; + + /* The PAT bit is different for PTE's and PDE's. */ + pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; + + /* If we don't support PAT, map extended modes to older ones. */ + if (!(cpu_feature & CPUID_PAT)) { + switch (mode) { + case PAT_UNCACHEABLE: + case PAT_WRITE_THROUGH: + case PAT_WRITE_BACK: + break; + case PAT_UNCACHED: + case PAT_WRITE_COMBINING: + case PAT_WRITE_PROTECTED: + mode = PAT_UNCACHEABLE; + break; + } + } + + /* Map the caching mode to a PAT index. */ + switch (mode) { +#ifdef PAT_WORKS + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; +#else + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; +#endif + default: + panic("Unknown caching mode %d\n", mode); + } + + /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ + cache_bits = 0; + if (pat_index & 0x4) + cache_bits |= pat_flag; + if (pat_index & 0x2) + cache_bits |= PG_NC_PCD; + if (pat_index & 0x1) + cache_bits |= PG_NC_PWT; + return (cache_bits); +} #ifdef SMP /* * For SMP, these functions have to use the IPI mechanism for coherence. @@ -962,6 +1040,15 @@ pte_store(pte, pa | PG_RW | PG_V | PG_G); } +PMAP_INLINE void +pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode) +{ + pt_entry_t *pte; + + pte = vtopte(va); + pte_store(pte, pa | PG_RW | PG_V | PG_G | pmap_cache_bits(mode, 0)); +} + /* * Remove a page from the kernel pagetables. * Note: not SMP coherent. @@ -3101,6 +3188,46 @@ * Miscellaneous support routines follow */ +/* Adjust the cache mode for a 4KB page mapped via a PTE. */ +static __inline void +pmap_pte_attr(vm_offset_t va, int mode) +{ + pt_entry_t *pte; + u_int opte, npte; + + pte = vtopte(va); + + /* + * The cache mode bits are all in the low 32-bits of the + * PTE, so we can just spin on updating the low 32-bits. + */ + do { + opte = *(u_int *)pte; + npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); + npte |= pmap_cache_bits(mode, 0); + } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); +} + +/* Adjust the cache mode for a 2MB page mapped via a PDE. */ +static __inline void +pmap_pde_attr(vm_offset_t va, int mode) +{ + pd_entry_t *pde; + u_int opde, npde; + + pde = pmap_pde(kernel_pmap, va); + + /* + * The cache mode bits are all in the low 32-bits of the + * PDE, so we can just spin on updating the low 32-bits. + */ + do { + opde = *(u_int *)pde; + npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); + npde |= pmap_cache_bits(mode, 1); + } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); +} + /* * Map a set of physical memory pages into the kernel virtual * address space. Return a pointer to where it is mapped. This @@ -3108,12 +3235,15 @@ * NOT real memory. */ void * -pmap_mapdev(vm_paddr_t pa, vm_size_t size) +pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, int mode) { vm_offset_t va, tmpva, offset; - /* If this fits within the direct map window, use it */ - if (pa < dmaplimit && (pa + size) < dmaplimit) + /* + * If this fits within the direct map window and use WB caching + * mode, use the direct map. + */ + if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK) return ((void *)PHYS_TO_DMAP(pa)); offset = pa & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); @@ -3122,15 +3252,30 @@ panic("pmap_mapdev: Couldn't alloc kernel virtual memory"); pa = trunc_page(pa); for (tmpva = va; size > 0; ) { - pmap_kenter(tmpva, pa); + pmap_kenter_attr(tmpva, pa, mode); size -= PAGE_SIZE; tmpva += PAGE_SIZE; pa += PAGE_SIZE; } pmap_invalidate_range(kernel_pmap, va, tmpva); + pmap_invalidate_cache(); return ((void *)(va + offset)); } +void * +pmap_mapdev(vm_paddr_t pa, vm_size_t size) +{ + + return (pmap_mapdev_attr(pa, size, PAT_UNCACHEABLE)); +} + +void * +pmap_mapbios(vm_paddr_t pa, vm_size_t size) +{ + + return (pmap_mapdev_attr(pa, size, PAT_WRITE_BACK)); +} + void pmap_unmapdev(vm_offset_t va, vm_size_t size) { @@ -3148,6 +3293,73 @@ kmem_free(kernel_map, base, size); } +int +pmap_change_attr(va, size, mode) + vm_offset_t va; + vm_size_t size; + int mode; +{ + vm_offset_t base, offset, tmpva; + pd_entry_t *pde; + pt_entry_t *pte; + + base = va & PG_FRAME; + offset = va & PAGE_MASK; + size = roundup(offset + size, PAGE_SIZE); + + /* Only supported on kernel virtual addresses. */ + if (base <= VM_MAXUSER_ADDRESS) + return (EINVAL); + + /* + * XXX: We have to support tearing 2MB pages down into 4k pages if + * needed here. + */ + /* Pages that aren't mapped aren't supported. */ + for (tmpva = base; tmpva < (base + size); ) { + pde = pmap_pde(kernel_pmap, tmpva); + if (*pde == 0) + return (EINVAL); + if (*pde & PG_PS) { + /* Handle 2MB pages that are completely contained. */ + if (size >= NBPDR) { + tmpva += NBPDR; + continue; + } + return (EINVAL); + } + pte = vtopte(va); + if (*pte == 0) + return (EINVAL); + tmpva += PAGE_SIZE; + } + + /* + * Ok, all the pages exist, so run through them updating their + * cache mode. + */ + for (tmpva = base; size > 0; ) { + pde = pmap_pde(kernel_pmap, tmpva); + if (*pde & PG_PS) { + pmap_pde_attr(tmpva, mode); + tmpva += NBPDR; + size -= NBPDR; + } else { + pmap_pte_attr(tmpva, mode); + tmpva += PAGE_SIZE; + size -= PAGE_SIZE; + } + } + + /* + * Flush CPU caches to make sure any data isn't cached that shouldn't + * be, etc. + */ + pmap_invalidate_range(kernel_pmap, base, tmpva); + pmap_invalidate_cache(); + return (0); +} + /* * perform the pmap work for mincore */ ==== //depot/projects/trustedbsd/mac2/sys/amd64/amd64/support.S#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.116 2005/09/27 18:32:46 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.118 2006/08/15 22:43:02 davidxu Exp $ */ #include "opt_ddb.h" @@ -432,7 +432,7 @@ ja fusufault movq %rsi,(%rdi) - xorl %eax,%eax + xorq %rax,%rax movq PCPU(CURPCB),%rcx movq %rax,PCB_ONFAULT(%rcx) ret ==== //depot/projects/trustedbsd/mac2/sys/amd64/amd64/trap.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.307 2006/07/28 20:22:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.310 2006/08/14 19:53:53 alc Exp $"); /* * AMD64 Trap and System call handling @@ -535,7 +535,7 @@ { vm_offset_t va; struct vmspace *vm = NULL; - vm_map_t map = 0; + vm_map_t map; int rv = 0; vm_prot_t ftype; struct thread *td = curthread; @@ -566,8 +566,14 @@ map = &vm->vm_map; } + /* + * PGEX_I is defined only if the execute disable bit capability is + * supported and enabled. + */ if (frame->tf_err & PGEX_W) ftype = VM_PROT_WRITE; + else if ((frame->tf_err & PGEX_I) && pg_nx != 0) + ftype = VM_PROT_EXECUTE; else ftype = VM_PROT_READ; ==== //depot/projects/trustedbsd/mac2/sys/amd64/include/pmap.h#3 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.133 2006/08/02 16:24:23 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.134 2006/08/11 19:22:56 jhb Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -302,14 +302,19 @@ extern vm_offset_t virtual_end; #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) +#define pmap_unmapbios(va, sz) pmap_unmapdev((va), (sz)) void pmap_bootstrap(vm_paddr_t *); +int pmap_change_attr(vm_offset_t, vm_size_t, int); void pmap_init_pat(void); void pmap_kenter(vm_offset_t va, vm_paddr_t pa); +void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode); void *pmap_kenter_temporary(vm_paddr_t pa, int i); vm_paddr_t pmap_kextract(vm_offset_t); void pmap_kremove(vm_offset_t); +void *pmap_mapbios(vm_paddr_t, vm_size_t); void *pmap_mapdev(vm_paddr_t, vm_size_t); +void *pmap_mapdev_attr(vm_paddr_t, vm_size_t, int); void pmap_unmapdev(vm_offset_t, vm_size_t); void pmap_invalidate_page(pmap_t, vm_offset_t); void pmap_invalidate_range(pmap_t, vm_offset_t, vm_offset_t); ==== //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux.h#2 (text+ko) ==== @@ -27,13 +27,17 @@ * (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/amd64/linux32/linux.h,v 1.2 2006/03/18 18:24:38 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.3 2006/08/15 12:54:29 netchild Exp $ */ #ifndef _AMD64_LINUX_LINUX_H_ #define _AMD64_LINUX_LINUX_H_ #include /* for sigval union */ +#include +#include +#include +#include #include @@ -495,6 +499,7 @@ extern int bsd_to_linux_signal[]; extern int linux_to_bsd_signal[]; +extern struct sysentvec elf_linux_sysvec; /* * Pluggable ioctl handlers @@ -527,6 +532,11 @@ #define LINUX_O_NDELAY LINUX_O_NONBLOCK #define LINUX_O_SYNC 010000 #define LINUX_FASYNC 020000 +#define LINUX_O_DIRECT 040000 /* direct disk access hint */ +#define LINUX_O_LARGEFILE 0100000 +#define LINUX_O_DIRECTORY 0200000 /* must be a directory */ +#define LINUX_O_NOFOLLOW 0400000 /* don't follow links */ +#define LINUX_O_NOATIME 01000000 #define LINUX_F_DUPFD 0 #define LINUX_F_GETFD 1 @@ -737,4 +747,99 @@ l_short revents; } __packed; +struct l_user_desc { + l_uint entry_number; + l_uint base_addr; + l_uint limit; + l_uint seg_32bit:1; + l_uint contents:2; + l_uint read_exec_only:1; + l_uint limit_in_pages:1; + l_uint seg_not_present:1; + l_uint useable:1; +}; + +struct l_desc_struct { + unsigned long a,b; +}; + + +#define LINUX_LOWERWORD 0x0000ffff + +/* macros which does the same thing as those in linux include/asm-um/ldt-i386.h + * these convert linux user-space descriptor to machine one + */ +#define LDT_entry_a(info) \ + ((((info)->base_addr & LINUX_LOWERWORD) << 16) | ((info)->limit & LINUX_LOWERWORD)) + +#define ENTRY_B_READ_EXEC_ONLY 9 +#define ENTRY_B_CONTENTS 10 +#define ENTRY_B_SEG_NOT_PRESENT 15 +#define ENTRY_B_BASE_ADDR 16 +#define ENTRY_B_USEABLE 20 +#define ENTRY_B_SEG32BIT 22 +#define ENTRY_B_LIMIT 23 + +#define LDT_entry_b(info) \ + (((info)->base_addr & 0xff000000) | \ + ((info)->limit & 0xf0000) | \ + ((info)->contents << ENTRY_B_CONTENTS) | \ + (((info)->seg_not_present == 0) << ENTRY_B_SEG_NOT_PRESENT) | \ + (((info)->base_addr & 0x00ff0000) >> ENTRY_B_BASE_ADDR) | \ + (((info)->read_exec_only == 0) << ENTRY_B_READ_EXEC_ONLY) | \ + ((info)->seg_32bit << ENTRY_B_SEG32BIT) | \ + ((info)->useable << ENTRY_B_USEABLE) | \ + ((info)->limit_in_pages << ENTRY_B_LIMIT) | 0x7000) + +#define LDT_empty(info) (\ + (info)->base_addr == 0 && \ + (info)->limit == 0 && \ + (info)->contents == 0 && \ + (info)->seg_not_present == 1 && \ + (info)->read_exec_only == 1 && \ + (info)->seg_32bit == 0 && \ + (info)->limit_in_pages == 0 && \ + (info)->useable == 0 ) + +/* macros for converting segments, they do the same as those in arch/i386/kernel/process.c */ +#define GET_BASE(desc) ( \ + (((desc)->a >> 16) & LINUX_LOWERWORD) | \ + (((desc)->b << 16) & 0x00ff0000) | \ + ( (desc)->b & 0xff000000) ) + +#define GET_LIMIT(desc) ( \ + ((desc)->a & LINUX_LOWERWORD) | \ + ((desc)->b & 0xf0000) ) + +#define GET_32BIT(desc) (((desc)->b >> ENTRY_B_SEG32BIT) & 1) +#define GET_CONTENTS(desc) (((desc)->b >> ENTRY_B_CONTENTS) & 3) +#define GET_WRITABLE(desc) (((desc)->b >> ENTRY_B_READ_EXEC_ONLY) & 1) +#define GET_LIMIT_PAGES(desc) (((desc)->b >> ENTRY_B_LIMIT) & 1) +#define GET_PRESENT(desc) (((desc)->b >> ENTRY_B_SEG_NOT_PRESENT) & 1) +#define GET_USEABLE(desc) (((desc)->b >> ENTRY_B_USEABLE) & 1) + +#define LINUX_CLOCK_REALTIME 0 +#define LINUX_CLOCK_MONOTONIC 1 +#define LINUX_CLOCK_PROCESS_CPUTIME_ID 2 +#define LINUX_CLOCK_THREAD_CPUTIME_ID 3 +#define LINUX_CLOCK_REALTIME_HR 4 +#define LINUX_CLOCK_MONOTONIC_HR 5 + +typedef int l_timer_t; +typedef int l_mqd_t; + +#define CLONE_VM 0x100 +#define CLONE_FS 0x200 +#define CLONE_FILES 0x400 +#define CLONE_SIGHAND 0x800 +#define CLONE_PID 0x1000 /* this flag does not exist in linux anymore */ +#define CLONE_PARENT 0x00008000 +#define CLONE_THREAD 0x10000 +#define CLONE_SETTLS 0x80000 +#define CLONE_CHILD_CLEARTID 0x00200000 +#define CLONE_CHILD_SETTID 0x01000000 +#define CLONE_PARENT_SETTID 0x00100000 + +#define THREADING_FLAGS (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND) + #endif /* !_AMD64_LINUX_LINUX_H_ */ ==== //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_dummy.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.3 2006/06/21 08:45:40 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.4 2006/08/15 12:54:29 netchild Exp $"); #include #include @@ -72,19 +72,13 @@ DUMMY(epoll_ctl); DUMMY(epoll_wait); DUMMY(remap_file_pages); -DUMMY(set_tid_address); DUMMY(timer_create); DUMMY(timer_settime); DUMMY(timer_gettime); DUMMY(timer_getoverrun); DUMMY(timer_delete); -DUMMY(clock_settime); -DUMMY(clock_gettime); -DUMMY(clock_getres); -DUMMY(clock_nanosleep); DUMMY(statfs64); DUMMY(fstatfs64); -DUMMY(tgkill); DUMMY(utimes); DUMMY(fadvise64_64); DUMMY(mbind); ==== //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,12 +29,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.12 2006/03/08 20:21:53 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.13 2006/08/15 12:54:29 netchild Exp $"); #include #include #include #include +#include #include #include #include @@ -472,12 +473,6 @@ return (0); } -#define CLONE_VM 0x100 -#define CLONE_FS 0x200 -#define CLONE_FILES 0x400 -#define CLONE_SIGHAND 0x800 -#define CLONE_PID 0x1000 - int linux_clone(struct thread *td, struct linux_clone_args *args) { @@ -491,14 +486,9 @@ printf(ARGS(clone, "flags %x, stack %x"), (unsigned int)(uintptr_t)args->flags, (unsigned int)(uintptr_t)args->stack); - if (args->flags & CLONE_PID) - printf(LMSG("CLONE_PID not yet supported")); } #endif - if (!args->stack) - return (EINVAL); - exit_signal = args->flags & 0x000000ff; if (exit_signal >= LINUX_NSIG) return (EINVAL); @@ -522,7 +512,11 @@ p2->p_sigparent = exit_signal; PROC_UNLOCK(p2); td2 = FIRST_THREAD_IN_PROC(p2); - td2->td_frame->tf_rsp = PTROUT(args->stack); + /* in a case of stack = NULL we are supposed to COW calling process stack + * this is what normal fork() does so we just keep the tf_rsp arg intact + */ + if (args->stack) + td2->td_frame->tf_rsp = PTROUT(args->stack); #ifdef DEBUG if (ldebug(clone)) ==== //depot/projects/trustedbsd/mac2/sys/amd64/linux32/linux32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.19 2006/07/28 19:08:35 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.18 2006/07/28 19:05:26 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.21 2006/08/15 17:36:58 jhb Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -11,11 +11,10 @@ #include #include -#include -#include #include +#include -#include +#include struct proc; @@ -197,6 +196,9 @@ char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; char ubuf_l_[PADL_(struct l_ustat *)]; struct l_ustat * ubuf; char ubuf_r_[PADR_(struct l_ustat *)]; }; +struct linux_getppid_args { + register_t dummy; +}; struct linux_sigaction_args { char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)]; char nsa_l_[PADL_(l_osigaction_t *)]; l_osigaction_t * nsa; char nsa_r_[PADR_(l_osigaction_t *)]; @@ -368,6 +370,9 @@ struct linux_clone_args { char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; char stack_l_[PADL_(void *)]; void * stack; char stack_r_[PADR_(void *)]; + char parent_tidptr_l_[PADL_(void *)]; void * parent_tidptr; char parent_tidptr_r_[PADR_(void *)]; + char dummy_l_[PADL_(int)]; int dummy; char dummy_r_[PADR_(int)]; + char child_tidptr_l_[PADL_(void *)]; void * child_tidptr; char child_tidptr_r_[PADR_(void *)]; }; struct linux_newuname_args { char buf_l_[PADL_(struct l_new_utsname *)]; struct l_new_utsname * buf; char buf_r_[PADR_(struct l_new_utsname *)]; @@ -668,6 +673,9 @@ char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)]; char arg_l_[PADL_(uintptr_t)]; uintptr_t arg; char arg_r_[PADR_(uintptr_t)]; }; +struct linux_gettid_args { + register_t dummy; +}; struct linux_setxattr_args { register_t dummy; }; @@ -704,9 +712,24 @@ struct linux_fremovexattr_args { register_t dummy; }; +struct linux_tkill_args { + char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)]; + char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; +}; +struct linux_sys_futex_args { >>> TRUNCATED FOR MAIL (1000 lines) <<<