PERFORCE change 104273 for review
Robert Watson
rwatson at FreeBSD.org
Wed Aug 16 18:48:15 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=104273
Change 104273 by rwatson at 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 <bsd.own.mk>
# 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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/signal.h> /* for sigval union */
+#include <sys/param.h>
+#include <sys/lock.h>
+#include <sys/mutex.h>
+#include <sys/sx.h>
#include <amd64/linux32/linux32_syscall.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/kernel.h>
#include <sys/systm.h>
#include <sys/imgact.h>
+#include <sys/limits.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/mman.h>
@@ -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 <sys/signal.h>
#include <sys/acl.h>
-#include <sys/thr.h>
-#include <sys/umtx.h>
#include <posix4/_semaphore.h>
+#include <sys/ucontext.h>
-#include <sys/ucontext.h>
+#include <bsm/audit_kevents.h>
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) <<<
More information about the trustedbsd-cvs
mailing list