PERFORCE change 118914 for review
Robert Watson
rwatson at FreeBSD.org
Sat Apr 28 19:46:53 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=118914
Change 118914 by rwatson at rwatson_fledge on 2007/04/28 19:45:55
Integrate zcopybpf branch.
Affected files ...
.. //depot/projects/zcopybpf/src/sys/amd64/amd64/busdma_machdep.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/amd64/amd64/local_apic.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/amd64/amd64/pmap.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/amd64/amd64/vm_machdep.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/amd64/include/vmparam.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/amd64/linux32/linux32_dummy.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/amd64/linux32/linux32_machdep.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/bsm/audit.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/bsm/audit_internal.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/bsm/audit_kevents.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/bsm/audit_record.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/cam/cam_periph.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/cam_periph.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/cam_sim.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/cam_sim.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/cam_xpt.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/cam/cam_xpt_periph.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_cd.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_da.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_low.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_pass.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_pt.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_sa.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_sg.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/compat/linprocfs/linprocfs.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/compat/opensolaris/kern/opensolaris_misc.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/misc.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/sunddi.h#1 branch
.. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/types.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/vnode.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/conf/NOTES#6 integrate
.. //depot/projects/zcopybpf/src/sys/conf/files#7 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/dnlc.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zap.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/acpi_support/acpi_ibm.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/acpica/acpi.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7770.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic79xx.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic79xx.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic79xx_osm.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic79xx_pci.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7xxx.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7xxx.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7xxx_inline.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7xxx_osm.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic7xxx_pci.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic_osm_lib.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/ata/ata-disk.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/ath/if_ath.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_main.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_sge.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/firewire/firewire.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/firewire/fwdev.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/hwpmc/hwpmc_logging.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/hwpmc/hwpmc_mod.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/hwpmc/hwpmc_piv.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/iicbus/icee.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/isp/isp_freebsd.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/led/led.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/led/led.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/mpt/mpt_cam.c#6 integrate
.. //depot/projects/zcopybpf/src/sys/dev/msk/if_msk.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/msk/if_mskreg.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/mxge/if_mxge.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/pci/pci.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/pci/pcireg.h#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/ral/rt2560.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/re/if_re.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/isa/ad1816.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/isa/ess.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/isa/mss.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/isa/sb16.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/isa/sb8.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/als4000.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/atiixp.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/au88x0.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/aureal.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/cmi.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/cs4281.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/csapcm.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/ds1.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/emu10k1.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/emu10kx-pcm.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/envy24.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/envy24ht.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/es137x.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/fm801.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/hda/hdac.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/ich.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/maestro3.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/solo.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/t4dwave.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/via8233.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/via82c686.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pci/vibes.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/ac97.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/ac97.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/ac97_patch.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/ac97_patch.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/buffer.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/buffer.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/pcm/sound.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/sound/sbus/cs4231.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/usb/if_ural.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/dev/wi/if_wi.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/fs/devfs/devfs_devs.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/fs/devfs/devfs_vnops.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/fs/procfs/procfs_map.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/fs/pseudofs/pseudofs_vncache.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/geom/part/g_part.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/geom/uzip/g_uzip.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/bios.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/busdma_machdep.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/identcpu.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/local_apic.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/pmap.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/sys_machdep.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/i386/i386/vm_machdep.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/i386/include/vmparam.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/ia64/include/vmparam.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/isa/isa_common.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/kern/kern_descrip.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/kern/kern_intr.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/kern/kern_linker.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/kern/kern_malloc.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/kern/kern_time.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/kern/kern_uuid.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/kern/sched_ule.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/kern/subr_rman.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/kern/subr_witness.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/kern/uipc_syscalls.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/kern/vfs_bio.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/kern/vfs_mount.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/modules/Makefile#5 integrate
.. //depot/projects/zcopybpf/src/sys/modules/if_lagg/Makefile#1 branch
.. //depot/projects/zcopybpf/src/sys/modules/if_trunk/Makefile#2 delete
.. //depot/projects/zcopybpf/src/sys/modules/zfs/Makefile#3 integrate
.. //depot/projects/zcopybpf/src/sys/net/ieee8023ad_lacp.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/net/ieee8023ad_lacp.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/net/if.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/net/if_ethersubr.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/net/if_lagg.c#1 branch
.. //depot/projects/zcopybpf/src/sys/net/if_lagg.h#1 branch
.. //depot/projects/zcopybpf/src/sys/net/if_trunk.c#2 delete
.. //depot/projects/zcopybpf/src/sys/net/if_trunk.h#2 delete
.. //depot/projects/zcopybpf/src/sys/net/if_var.h#4 integrate
.. //depot/projects/zcopybpf/src/sys/netgraph/ng_l2tp.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/netgraph/ng_ppp.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/ip_fw2.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_indata.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_indata.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_input.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_lock_bsd.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_output.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_pcb.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_pcb.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_structs.h#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_uio.h#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_usrreq.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctp_var.h#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctputil.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/sctputil.h#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/tcp.h#4 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/tcp_input.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/tcp_output.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/tcp_subr.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/tcp_syncache.c#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet/tcp_var.h#5 integrate
.. //depot/projects/zcopybpf/src/sys/netinet6/in6_pcb.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/netinet6/route6.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_bio.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_lock.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_vnops.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/nfsserver/nfs_syscalls.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/pci/if_rlreg.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/pci/if_vr.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/pci/if_vrreg.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/pci/intpm.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/powerpc/powerpc/nexus.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/audit/audit_bsm_token.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/audit/audit_syscalls.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_audit.c#1 branch
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_framework.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_inet.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_net.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_pipe.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_policy.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_process.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_socket.c#2 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_system.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac/mac_vfs.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_biba/mac_biba.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_bsdextended/mac_bsdextended.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_ifoff/mac_ifoff.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_lomac/mac_lomac.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_mls/mac_mls.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_partition/mac_partition.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_portacl/mac_portacl.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_seeotheruids/mac_seeotheruids.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_stub/mac_stub.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/security/mac_test/mac_test.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/sparc64/include/vmparam.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/sun4v/include/vmparam.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/sys/interrupt.h#3 integrate
.. //depot/projects/zcopybpf/src/sys/sys/ioctl_compat.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/sys/mount.h#4 integrate
.. //depot/projects/zcopybpf/src/sys/sys/priv.h#5 integrate
.. //depot/projects/zcopybpf/src/sys/sys/proc.h#4 integrate
.. //depot/projects/zcopybpf/src/sys/sys/socket.h#2 integrate
.. //depot/projects/zcopybpf/src/sys/vm/swap_pager.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/vm/vm_contig.c#3 integrate
.. //depot/projects/zcopybpf/src/sys/vm/vm_map.c#4 integrate
.. //depot/projects/zcopybpf/src/sys/vm/vm_param.h#2 integrate
Differences ...
==== //depot/projects/zcopybpf/src/sys/amd64/amd64/busdma_machdep.c#3 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.79 2007/03/06 18:28:42 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.80 2007/04/17 21:05:34 jhb Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -48,6 +48,7 @@
#include <machine/atomic.h>
#include <machine/bus.h>
#include <machine/md_var.h>
+#include <machine/specialreg.h>
#define MAX_BPAGES 8192
@@ -522,6 +523,9 @@
} else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) {
printf("bus_dmamem_alloc failed to align memory properly.\n");
}
+ if (flags & BUS_DMA_NOCACHE)
+ pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
+ PAT_UNCACHEABLE);
CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
__func__, dmat, dmat->flags, ENOMEM);
return (0);
@@ -540,6 +544,7 @@
*/
if (map != NULL)
panic("bus_dmamem_free: Invalid map freed\n");
+ pmap_change_attr((vm_offset_t)vaddr, dmat->maxsize, PAT_WRITE_BACK);
if ((dmat->maxsize <= PAGE_SIZE) &&
(dmat->alignment < dmat->maxsize) &&
dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem))
==== //depot/projects/zcopybpf/src/sys/amd64/amd64/local_apic.c#3 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.37 2007/03/20 21:53:30 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.38 2007/04/25 19:58:41 ariff Exp $");
#include "opt_hwpmc_hooks.h"
@@ -326,6 +326,29 @@
/* XXX: Error and thermal LVTs */
+ if (strcmp(cpu_vendor, "AuthenticAMD") == 0) {
+ /*
+ * Detect the presence of C1E capability mostly on latest
+ * dual-cores (or future) k8 family. This feature renders
+ * the local APIC timer dead, so we disable it by reading
+ * the Interrupt Pending Message register and clearing both
+ * C1eOnCmpHalt (bit 28) and SmiOnCmpHalt (bit 27).
+ *
+ * Reference:
+ * "BIOS and Kernel Developer's Guide for AMD NPT
+ * Family 0Fh Processors"
+ * #32559 revision 3.00
+ */
+ if ((cpu_id & 0x00000f00) == 0x00000f00 &&
+ (cpu_id & 0x0fff0000) >= 0x00040000) {
+ uint64_t msr;
+
+ msr = rdmsr(0xc0010055);
+ if (msr & 0x18000000)
+ wrmsr(0xc0010055, msr & ~0x18000000ULL);
+ }
+ }
+
intr_restore(eflags);
}
==== //depot/projects/zcopybpf/src/sys/amd64/amd64/pmap.c#5 (text+ko) ====
@@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.582 2007/04/13 16:07:29 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.584 2007/04/25 18:10:43 ups Exp $");
/*
* Manages physical address maps.
@@ -209,7 +209,7 @@
static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
vm_page_t m, vm_prot_t prot, vm_page_t mpte);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq,
- vm_offset_t sva, pd_entry_t ptepde);
+ vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free);
static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde);
static void pmap_remove_entry(struct pmap *pmap, vm_page_t m,
vm_offset_t va);
@@ -221,8 +221,9 @@
static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va, int flags);
static vm_page_t _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, int flags);
-static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m);
-static int pmap_unuse_pt(pmap_t, vm_offset_t, pd_entry_t);
+static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m,
+ vm_page_t* free);
+static int pmap_unuse_pt(pmap_t, vm_offset_t, pd_entry_t, vm_page_t *);
static vm_offset_t pmap_kmem_choose(vm_offset_t addr);
CTASSERT(1 << PDESHIFT == sizeof(pd_entry_t));
@@ -1065,24 +1066,36 @@
/***************************************************
* Page table page management routines.....
***************************************************/
+static PMAP_INLINE void
+pmap_free_zero_pages(vm_page_t free)
+{
+ vm_page_t m;
+ while (free != NULL) {
+ m = free;
+ free = m->right;
+ vm_page_free_zero(m);
+ }
+}
+
/*
* This routine unholds page table pages, and if the hold count
* drops to zero, then it decrements the wire count.
*/
static PMAP_INLINE int
-pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
+pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t *free)
{
--m->wire_count;
if (m->wire_count == 0)
- return _pmap_unwire_pte_hold(pmap, va, m);
+ return _pmap_unwire_pte_hold(pmap, va, m, free);
else
return 0;
}
static int
-_pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
+_pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m,
+ vm_page_t *free)
{
vm_offset_t pteva;
@@ -1114,14 +1127,14 @@
vm_page_t pdpg;
pdpg = PHYS_TO_VM_PAGE(*pmap_pdpe(pmap, va) & PG_FRAME);
- pmap_unwire_pte_hold(pmap, va, pdpg);
+ pmap_unwire_pte_hold(pmap, va, pdpg, free);
}
if (m->pindex >= NUPDE && m->pindex < (NUPDE + NUPDPE)) {
/* We just released a PD, unhold the matching PDP */
vm_page_t pdppg;
pdppg = PHYS_TO_VM_PAGE(*pmap_pml4e(pmap, va) & PG_FRAME);
- pmap_unwire_pte_hold(pmap, va, pdppg);
+ pmap_unwire_pte_hold(pmap, va, pdppg, free);
}
/*
@@ -1130,7 +1143,13 @@
*/
pmap_invalidate_page(pmap, pteva);
- vm_page_free_zero(m);
+ /*
+ * Put page on a list so that it is released after
+ * *ALL* TLB shootdown is done
+ */
+ m->right = *free;
+ *free = m;
+
atomic_subtract_int(&cnt.v_wire_count, 1);
return 1;
}
@@ -1140,7 +1159,7 @@
* conditionally free the page, and manage the hold/wire counts.
*/
static int
-pmap_unuse_pt(pmap_t pmap, vm_offset_t va, pd_entry_t ptepde)
+pmap_unuse_pt(pmap_t pmap, vm_offset_t va, pd_entry_t ptepde, vm_page_t *free)
{
vm_page_t mpte;
@@ -1148,7 +1167,7 @@
return 0;
KASSERT(ptepde != 0, ("pmap_unuse_pt: ptepde != 0"));
mpte = PHYS_TO_VM_PAGE(ptepde & PG_FRAME);
- return pmap_unwire_pte_hold(pmap, va, mpte);
+ return pmap_unwire_pte_hold(pmap, va, mpte, free);
}
void
@@ -1366,7 +1385,7 @@
{
vm_pindex_t ptepindex;
pd_entry_t *pd;
- vm_page_t m;
+ vm_page_t m, free;
KASSERT((flags & (M_NOWAIT | M_WAITOK)) == M_NOWAIT ||
(flags & (M_NOWAIT | M_WAITOK)) == M_WAITOK,
@@ -1390,8 +1409,10 @@
*pd = 0;
pd = 0;
pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;
- pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va));
+ free = NULL;
+ pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va), &free);
pmap_invalidate_all(kernel_pmap);
+ pmap_free_zero_pages(free);
}
/*
@@ -1609,7 +1630,7 @@
pt_entry_t *pte, tpte;
pv_entry_t next_pv, pv;
vm_offset_t va;
- vm_page_t m;
+ vm_page_t m, free;
TAILQ_FOREACH(m, &vpq->pl, pageq) {
if (m->hold_count || m->busy)
@@ -1635,12 +1656,14 @@
va, tpte));
vm_page_dirty(m);
}
+ free = NULL;
+ pmap_unuse_pt(pmap, va, ptepde, &free);
pmap_invalidate_page(pmap, va);
+ pmap_free_zero_pages(free);
TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
if (TAILQ_EMPTY(&m->md.pv_list))
vm_page_flag_clear(m, PG_WRITEABLE);
m->md.pv_list_count--;
- pmap_unuse_pt(pmap, va, ptepde);
free_pv_entry(pmap, pv);
if (pmap != locked_pmap)
PMAP_UNLOCK(pmap);
@@ -1833,7 +1856,8 @@
* pmap_remove_pte: do the things to unmap a page in a process
*/
static int
-pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t va, pd_entry_t ptepde)
+pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t va,
+ pd_entry_t ptepde, vm_page_t *free)
{
pt_entry_t oldpte;
vm_page_t m;
@@ -1861,7 +1885,7 @@
vm_page_flag_set(m, PG_REFERENCED);
pmap_remove_entry(pmap, m, va);
}
- return (pmap_unuse_pt(pmap, va, ptepde));
+ return (pmap_unuse_pt(pmap, va, ptepde, free));
}
/*
@@ -1871,6 +1895,7 @@
pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde)
{
pt_entry_t *pte;
+ vm_page_t free = NULL;
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
if ((*pde & PG_V) == 0)
@@ -1878,8 +1903,9 @@
pte = pmap_pde_to_pte(pde, va);
if ((*pte & PG_V) == 0)
return;
- pmap_remove_pte(pmap, pte, va, *pde);
+ pmap_remove_pte(pmap, pte, va, *pde, &free);
pmap_invalidate_page(pmap, va);
+ pmap_free_zero_pages(free);
}
/*
@@ -1896,6 +1922,7 @@
pdp_entry_t *pdpe;
pd_entry_t ptpaddr, *pde;
pt_entry_t *pte;
+ vm_page_t free = NULL;
int anyvalid;
/*
@@ -1959,7 +1986,7 @@
if ((ptpaddr & PG_PS) != 0) {
*pde = 0;
pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;
- pmap_unuse_pt(pmap, sva, *pdpe);
+ pmap_unuse_pt(pmap, sva, *pdpe, &free);
anyvalid = 1;
continue;
}
@@ -1983,14 +2010,16 @@
*/
if ((*pte & PG_G) == 0)
anyvalid = 1;
- if (pmap_remove_pte(pmap, pte, sva, ptpaddr))
+ if (pmap_remove_pte(pmap, pte, sva, ptpaddr, &free))
break;
}
}
out:
- vm_page_unlock_queues();
- if (anyvalid)
+ if (anyvalid) {
pmap_invalidate_all(pmap);
+ pmap_free_zero_pages(free);
+ }
+ vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
}
@@ -2014,6 +2043,7 @@
pmap_t pmap;
pt_entry_t *pte, tpte;
pd_entry_t ptepde;
+ vm_page_t free;
#if defined(PMAP_DIAGNOSTIC)
/*
@@ -2045,10 +2075,12 @@
pv->pv_va, tpte));
vm_page_dirty(m);
}
+ free = NULL;
+ pmap_unuse_pt(pmap, pv->pv_va, ptepde, &free);
pmap_invalidate_page(pmap, pv->pv_va);
+ pmap_free_zero_pages(free);
TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
m->md.pv_list_count--;
- pmap_unuse_pt(pmap, pv->pv_va, ptepde);
free_pv_entry(pmap, pv);
PMAP_UNLOCK(pmap);
}
@@ -2161,9 +2193,9 @@
}
}
}
- vm_page_unlock_queues();
if (anychanged)
pmap_invalidate_all(pmap);
+ vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
}
@@ -2413,6 +2445,7 @@
pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
vm_prot_t prot, vm_page_t mpte)
{
+ vm_page_t free;
pt_entry_t *pte;
vm_paddr_t pa;
@@ -2471,7 +2504,7 @@
pte = vtopte(va);
if (*pte) {
if (mpte != NULL) {
- pmap_unwire_pte_hold(pmap, va, mpte);
+ mpte->wire_count--;
mpte = NULL;
}
return (mpte);
@@ -2483,7 +2516,11 @@
if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0 &&
!pmap_try_insert_pv_entry(pmap, va, m)) {
if (mpte != NULL) {
- pmap_unwire_pte_hold(pmap, va, mpte);
+ free = NULL;
+ if (pmap_unwire_pte_hold(pmap, va, mpte, &free)) {
+ pmap_invalidate_page(pmap, va);
+ pmap_free_zero_pages(free);
+ }
mpte = NULL;
}
return (mpte);
@@ -2657,6 +2694,7 @@
pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
vm_offset_t src_addr)
{
+ vm_page_t free;
vm_offset_t addr;
vm_offset_t end_addr = src_addr + len;
vm_offset_t va_next;
@@ -2716,7 +2754,7 @@
dst_pmap->pm_stats.resident_count +=
NBPDR / PAGE_SIZE;
} else
- pmap_unwire_pte_hold(dst_pmap, addr, dstmpde);
+ dstmpde->wire_count--;
continue;
}
@@ -2753,9 +2791,15 @@
*dst_pte = ptetemp & ~(PG_W | PG_M |
PG_A);
dst_pmap->pm_stats.resident_count++;
- } else
- pmap_unwire_pte_hold(dst_pmap, addr,
- dstmpte);
+ } else {
+ free = NULL;
+ if (pmap_unwire_pte_hold(dst_pmap,
+ addr, dstmpte, &free)) {
+ pmap_invalidate_page(dst_pmap,
+ addr);
+ pmap_free_zero_pages(free);
+ }
+ }
if (dstmpte->wire_count >= srcmpte->wire_count)
break;
}
@@ -2866,7 +2910,7 @@
pmap_remove_pages(pmap_t pmap)
{
pt_entry_t *pte, tpte;
- vm_page_t m;
+ vm_page_t m, free = NULL;
pv_entry_t pv;
struct pv_chunk *pc, *npc;
int field, idx;
@@ -2939,7 +2983,7 @@
if (TAILQ_EMPTY(&m->md.pv_list))
vm_page_flag_clear(m, PG_WRITEABLE);
pmap_unuse_pt(pmap, pv->pv_va,
- *vtopde(pv->pv_va));
+ *vtopde(pv->pv_va), &free);
}
}
if (allfree) {
@@ -2952,8 +2996,9 @@
vm_page_free(m);
}
}
+ pmap_invalidate_all(pmap);
+ pmap_free_zero_pages(free);
vm_page_unlock_queues();
- pmap_invalidate_all(pmap);
PMAP_UNLOCK(pmap);
}
==== //depot/projects/zcopybpf/src/sys/amd64/amd64/vm_machdep.c#2 (text+ko) ====
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.252 2006/09/17 14:54:14 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.254 2007/04/24 21:17:45 jhb Exp $");
#include "opt_isa.h"
#include "opt_cpu.h"
@@ -457,6 +457,10 @@
static void
cpu_reset_real()
{
+ struct region_descriptor null_idt;
+ int b;
+
+ disable_intr();
/*
* Attempt to do a CPU reset via the keyboard controller,
@@ -465,14 +469,44 @@
*/
outb(IO_KBD + 4, 0xFE);
DELAY(500000); /* wait 0.5 sec to see if that did it */
- printf("Keyboard reset did not work, attempting CPU shutdown\n");
+
+ /*
+ * Attempt to force a reset via the Reset Control register at
+ * I/O port 0xcf9. Bit 2 forces a system reset when it is
+ * written as 1. Bit 1 selects the type of reset to attempt:
+ * 0 selects a "soft" reset, and 1 selects a "hard" reset. We
+ * try to do a "soft" reset first, and then a "hard" reset.
+ */
+ outb(0xcf9, 0x2);
+ outb(0xcf9, 0x6);
+ DELAY(500000); /* wait 0.5 sec to see if that did it */
+
+ /*
+ * Attempt to force a reset via the Fast A20 and Init register
+ * at I/O port 0x92. Bit 1 serves as an alternate A20 gate.
+ * Bit 0 asserts INIT# when set to 1. We are careful to only
+ * preserve bit 1 while setting bit 0. We also must clear bit
+ * 0 before setting it if it isn't already clear.
+ */
+ b = inb(0x92);
+ if (b != 0xff) {
+ if ((b & 0x1) != 0)
+ outb(0x92, b & 0xfe);
+ outb(0x92, b | 0x1);
+ DELAY(500000); /* wait 0.5 sec to see if that did it */
+ }
+
+ printf("No known reset method worked, attempting CPU shutdown\n");
DELAY(1000000); /* wait 1 sec for printf to complete */
- /* Force a shutdown by unmapping entire address space. */
- bzero((caddr_t)PML4map, PAGE_SIZE);
+ /* Wipe the IDT. */
+ null_idt.rd_limit = 0;
+ null_idt.rd_base = 0;
+ lidt(&null_idt);
/* "good night, sweet prince .... <THUNK!>" */
- invltlb();
+ breakpoint();
+
/* NOTREACHED */
while(1);
}
==== //depot/projects/zcopybpf/src/sys/amd64/include/vmparam.h#2 (text+ko) ====
@@ -38,7 +38,7 @@
* SUCH DAMAGE.
*
* from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.45 2004/10/27 17:21:15 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.46 2007/04/21 01:14:47 sepotvin Exp $
*/
@@ -122,7 +122,8 @@
/*
* How many physical pages per KVA page allocated.
- * min(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE), VM_KMEM_SIZE_MAX)
+ * min(max(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE),
+ * VM_KMEM_SIZE_MIN), VM_KMEM_SIZE_MAX)
* is the total KVA space allocated for kmem_map.
*/
#ifndef VM_KMEM_SIZE_SCALE
==== //depot/projects/zcopybpf/src/sys/amd64/linux32/linux32_dummy.c#3 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.8 2007/03/29 02:11:46 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.9 2007/04/18 18:08:12 jkim Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -64,7 +64,6 @@
DUMMY(mincore);
DUMMY(fadvise64);
DUMMY(ptrace);
-DUMMY(settimeofday);
DUMMY(lookup_dcookie);
DUMMY(epoll_create);
DUMMY(epoll_ctl);
==== //depot/projects/zcopybpf/src/sys/amd64/linux32/linux32_machdep.c#4 (text+ko) ====
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.39 2007/03/30 17:27:13 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.42 2007/04/18 20:12:05 jkim Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -252,7 +252,7 @@
if (iovcnt > UIO_MAXIOV)
return (EINVAL);
iovlen = iovcnt * sizeof(struct iovec);
- uio = malloc(iovlen + sizeof *uio, M_IOV, M_WAITOK);
+ uio = malloc(iovlen + sizeof(*uio), M_IOV, M_WAITOK);
iov = (struct iovec *)(uio + 1);
for (i = 0; i < iovcnt; i++) {
error = copyin(&iovp[i], &iov32, sizeof(struct iovec32));
@@ -526,7 +526,9 @@
td2 = FIRST_THREAD_IN_PROC(p2);
- /* make it run */
+ /*
+ * Make this runnable after we are finished with it.
+ */
mtx_lock_spin(&sched_lock);
TD_SET_CAN_RUN(td2);
sched_add(td2, SRQ_BORING);
@@ -572,8 +574,8 @@
/*
* XXX: In Linux, sharing of fs info (chroot/cwd/umask)
* and open files is independant. In FreeBSD, its in one
- * structure but in reality it does not make any problems
- * because both of these flags are set at once usually.
+ * structure but in reality it does not cause any problems
+ * because both of these flags are usually set together.
*/
if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS)))
ff |= RFFDG;
@@ -660,15 +662,15 @@
if (args->flags & LINUX_CLONE_SETTLS) {
struct user_segment_descriptor sd;
struct l_user_desc info;
- int a[2];
+ int a[2];
- error = copyin((void *)td->td_frame->tf_rsi, &info,
+ error = copyin((void *)td->td_frame->tf_rsi, &info,
sizeof(struct l_user_desc));
if (error) {
printf(LMSG("copyin failed!"));
} else {
/* We might copy out the entry_number as GUGS32_SEL. */
- info.entry_number = GUGS32_SEL;
+ info.entry_number = GUGS32_SEL;
error = copyout(&info, (void *)td->td_frame->tf_rsi,
sizeof(struct l_user_desc));
if (error)
@@ -871,7 +873,7 @@
*
* Our mmap with MAP_STACK takes addr as the maximum
* downsize limit on BOS, and as len the max size of
- * the region. It them maps the top SGROWSIZ bytes,
+ * the region. It then maps the top SGROWSIZ bytes,
* and auto grows the region down, up to the limit
* in addr.
*
@@ -1167,17 +1169,44 @@
microtime(&atv);
atv32.tv_sec = atv.tv_sec;
atv32.tv_usec = atv.tv_usec;
- error = copyout(&atv32, uap->tp, sizeof (atv32));
+ error = copyout(&atv32, uap->tp, sizeof(atv32));
}
if (error == 0 && uap->tzp != NULL) {
rtz.tz_minuteswest = tz_minuteswest;
rtz.tz_dsttime = tz_dsttime;
- error = copyout(&rtz, uap->tzp, sizeof (rtz));
+ error = copyout(&rtz, uap->tzp, sizeof(rtz));
}
return (error);
}
int
+linux_settimeofday(struct thread *td, struct linux_settimeofday_args *uap)
+{
+ l_timeval atv32;
+ struct timeval atv, *tvp;
+ struct timezone atz, *tzp;
+ int error;
+
+ if (uap->tp) {
+ error = copyin(uap->tp, &atv32, sizeof(atv32));
+ if (error)
+ return (error);
+ atv.tv_sec = atv32.tv_sec;
+ atv.tv_usec = atv32.tv_usec;
+ tvp = &atv;
+ } else
+ tvp = NULL;
+ if (uap->tzp) {
+ error = copyin(uap->tzp, &atz, sizeof(atz));
+ if (error)
+ return (error);
+ tzp = &atz;
+ } else
+ tzp = NULL;
+ return (kern_settimeofday(td, tvp, tzp));
+}
+
+int
linux_getrusage(struct thread *td, struct linux_getrusage_args *uap)
{
struct l_rusage s32;
@@ -1242,7 +1271,7 @@
#ifdef DEBUG
if (ldebug(set_thread_area))
- printf(ARGS(set_thread_area, "%i, %x, %x, %i, %i, %i, "
+ printf(ARGS(set_thread_area, "%i, %x, %x, %i, %i, %i, "
"%i, %i, %i"), info.entry_number, info.base_addr,
info.limit, info.seg_32bit, info.contents,
info.read_exec_only, info.limit_in_pages,
@@ -1261,9 +1290,10 @@
* The tls_array[] is used only in [gs]et_thread_area() syscalls and
* for loading the GDT descriptors. We use just one GDT descriptor
* for TLS, so we will load just one.
- * XXX: This doesnt work when user-space process tries to use more
+ *
+ * XXX: This doesn't work when a user space process tries to use more
* than one TLS segment. Comment in the Linux source says wine might
- * do that.
+ * do this.
*/
/*
@@ -1284,8 +1314,9 @@
/*
* We have to copy out the GDT entry we use.
- * XXX: What if userspace program does not check return value and
- * tries to use 6, 7 or 8?
+ *
+ * XXX: What if a user space program does not check the return value
+ * and tries to use 6, 7 or 8?
*/
error = copyout(&info, args->desc, sizeof(struct l_user_desc));
if (error)
==== //depot/projects/zcopybpf/src/sys/bsm/audit.h#2 (text) ====
@@ -30,8 +30,8 @@
*
* @APPLE_BSD_LICENSE_HEADER_END@
*
- * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#34 $
- * $FreeBSD: src/sys/bsm/audit.h,v 1.6 2006/09/21 07:27:02 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#36
+ * $FreeBSD: src/sys/bsm/audit.h,v 1.8 2007/04/17 12:27:08 rwatson Exp $
*/
#ifndef _BSM_AUDIT_H
==== //depot/projects/zcopybpf/src/sys/bsm/audit_internal.h#2 (text) ====
@@ -34,8 +34,8 @@
*
* @APPLE_BSD_LICENSE_HEADER_END@
*
- * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#14 $
- * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.5 2006/09/21 07:27:02 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#16
+ * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.7 2007/04/17 12:27:08 rwatson Exp $
*/
#ifndef _AUDIT_INTERNAL_H
==== //depot/projects/zcopybpf/src/sys/bsm/audit_kevents.h#2 (text) ====
@@ -30,8 +30,8 @@
*
* @APPLE_BSD_LICENSE_HEADER_END@
*
- * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#29 $
- * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.9 2006/09/25 12:22:07 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#32
+ * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.11 2007/04/17 12:27:08 rwatson Exp $
*/
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list