PERFORCE change 115765 for review

Roman Divacky rdivacky at FreeBSD.org
Mon Mar 12 16:04:32 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=115765

Change 115765 by rdivacky at rdivacky_witten on 2007/03/12 16:03:31

	IFC

Affected files ...

.. //depot/projects/linuxolator/src/sys/amd64/acpica/madt.c#2 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/busdma_machdep.c#3 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#8 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/io_apic.c#4 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/local_apic.c#7 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#7 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/mptable.c#2 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/pmap.c#7 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/trap.c#5 integrate
.. //depot/projects/linuxolator/src/sys/amd64/include/apicvar.h#5 integrate
.. //depot/projects/linuxolator/src/sys/amd64/include/intr_machdep.h#7 integrate
.. //depot/projects/linuxolator/src/sys/amd64/include/pcpu.h#3 integrate
.. //depot/projects/linuxolator/src/sys/amd64/include/smp.h#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91.c#5 integrate
.. //depot/projects/linuxolator/src/sys/arm/include/pcpu.h#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/sa11x0/sa11x0.c#4 integrate
.. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425_npe.c#4 integrate
.. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425_pci.c#4 integrate
.. //depot/projects/linuxolator/src/sys/boot/pc98/cdboot/cdboot.s#2 integrate
.. //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#13 integrate
.. //depot/projects/linuxolator/src/sys/compat/linsysfs/linsysfs.c#4 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_stats.c#7 integrate
.. //depot/projects/linuxolator/src/sys/conf/files#22 integrate
.. //depot/projects/linuxolator/src/sys/conf/files.sparc64#7 integrate
.. //depot/projects/linuxolator/src/sys/conf/kmod.mk#5 integrate
.. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/LICENSE#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/LICENSE#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch
.. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch
.. //depot/projects/linuxolator/src/sys/dev/acpica/acpi_thermal.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/arcmsr/arcmsr.c#6 integrate
.. //depot/projects/linuxolator/src/sys/dev/arcmsr/arcmsr.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/ata/ata-all.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#11 integrate
.. //depot/projects/linuxolator/src/sys/dev/ata/ata-pci.h#6 integrate
.. //depot/projects/linuxolator/src/sys/dev/ath/if_ath.c#9 integrate
.. //depot/projects/linuxolator/src/sys/dev/ath/if_athvar.h#8 integrate
.. //depot/projects/linuxolator/src/sys/dev/bce/if_bce.c#12 integrate
.. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#15 integrate
.. //depot/projects/linuxolator/src/sys/dev/bge/if_bgereg.h#11 integrate
.. //depot/projects/linuxolator/src/sys/dev/fb/creator.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/if_ndis/if_ndis.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/ipw/if_ipw.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#11 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.c#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.h#9 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_ioctl.h#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#6 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#13 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_target.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_target.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_tpublic.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#8 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/ispreg.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#7 integrate
.. //depot/projects/linuxolator/src/sys/dev/iwi/if_iwi.c#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/ixgb/if_ixgb.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/mpt/mpt.h#7 integrate
.. //depot/projects/linuxolator/src/sys/dev/mpt/mpt_cam.c#13 integrate
.. //depot/projects/linuxolator/src/sys/dev/msk/if_msk.c#6 integrate
.. //depot/projects/linuxolator/src/sys/dev/mxge/eth_z8e.dat.gz.uu#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/mxge/ethp_z8e.dat.gz.uu#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/my/if_my.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/nfe/if_nfe.c#7 integrate
.. //depot/projects/linuxolator/src/sys/dev/nge/if_nge.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/pccbb/pccbb.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/pci/pci.c#19 integrate
.. //depot/projects/linuxolator/src/sys/dev/pci/pcireg.h#7 integrate
.. //depot/projects/linuxolator/src/sys/dev/ppbus/ppbconf.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/ppc/ppc.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/ral/rt2560.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/ral/rt2661.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/re/if_re.c#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/ds1.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10k1.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx-pcm.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/envy24.c#6 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#15 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/maestro3.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pcm/ac97.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/stge/if_stge.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/sym/sym_hipd.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/ti/if_ti.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/txp/if_txp.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/if_ural.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/vge/if_vge.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/zs/z8530reg.h#2 delete
.. //depot/projects/linuxolator/src/sys/dev/zs/z8530var.h#3 delete
.. //depot/projects/linuxolator/src/sys/dev/zs/zs.c#4 delete
.. //depot/projects/linuxolator/src/sys/dev/zs/zs_macio.c#3 delete
.. //depot/projects/linuxolator/src/sys/fs/procfs/procfs.c#3 integrate
.. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs.c#2 integrate
.. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs.h#2 integrate
.. //depot/projects/linuxolator/src/sys/geom/eli/g_eli.c#6 integrate
.. //depot/projects/linuxolator/src/sys/geom/eli/g_eli_ctl.c#4 integrate
.. //depot/projects/linuxolator/src/sys/i386/acpica/madt.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/busdma_machdep.c#4 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/intr_machdep.c#6 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/io_apic.c#4 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/local_apic.c#7 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/machdep.c#12 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/mp_machdep.c#7 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/mptable.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/nexus.c#7 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/pmap.c#8 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/trap.c#4 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/vm_machdep.c#3 integrate
.. //depot/projects/linuxolator/src/sys/i386/include/apicvar.h#5 integrate
.. //depot/projects/linuxolator/src/sys/i386/include/intr_machdep.h#7 integrate
.. //depot/projects/linuxolator/src/sys/i386/include/pcpu.h#3 integrate
.. //depot/projects/linuxolator/src/sys/i386/include/smp.h#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/isa/clock.c#6 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/busdma_machdep.c#3 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/trap.c#4 integrate
.. //depot/projects/linuxolator/src/sys/ia64/include/pcpu.h#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_acct.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_acl.c#4 delete
.. //depot/projects/linuxolator/src/sys/kern/kern_alq.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_clock.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_context.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_descrip.c#7 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_environment.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_event.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_exec.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_exit.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_fork.c#13 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_intr.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_jail.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_kse.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_ktrace.c#7 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_linker.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_lock.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_module.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_mutex.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_ntptime.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_prot.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_resource.c#10 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_rwlock.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_shutdown.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_sig.c#9 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_sx.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_synch.c#9 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_sysctl.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_thread.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_time.c#7 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_umtx.c#11 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_uuid.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_xxx.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/p1003_1b.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/sched_core.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/sched_ule.c#10 integrate
.. //depot/projects/linuxolator/src/sys/kern/subr_prf.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/subr_prof.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/subr_smp.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/subr_trap.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/sys_generic.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/sys_pipe.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/sys_process.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/sys_socket.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/sysv_msg.c#10 integrate
.. //depot/projects/linuxolator/src/sys/kern/sysv_sem.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/sysv_shm.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_mqueue.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_sem.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_syscalls.c#7 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_usrreq.c#11 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_acl.c#1 branch
.. //depot/projects/linuxolator/src/sys/kern/vfs_aio.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_bio.c#9 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_cache.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_cluster.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#9 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_syscalls.c#9 integrate
.. //depot/projects/linuxolator/src/sys/modules/Makefile#9 integrate
.. //depot/projects/linuxolator/src/sys/modules/ipwfw/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/ipwfw/ipw_bss/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/ipwfw/ipw_ibss/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/ipwfw/ipw_monitor/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/iwifw/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/iwifw/iwi_bss/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/iwifw/iwi_ibss/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/iwifw/iwi_monitor/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/my/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/net/bridgestp.c#10 integrate
.. //depot/projects/linuxolator/src/sys/net/bridgestp.h#7 integrate
.. //depot/projects/linuxolator/src/sys/net/ethernet.h#5 integrate
.. //depot/projects/linuxolator/src/sys/net/if_bridge.c#12 integrate
.. //depot/projects/linuxolator/src/sys/net/if_vlan.c#5 integrate
.. //depot/projects/linuxolator/src/sys/net80211/_ieee80211.h#5 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211.c#6 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_crypto.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_crypto.h#2 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_freebsd.h#3 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_input.c#6 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_ioctl.c#4 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_node.c#5 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_node.h#2 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_output.c#5 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_proto.c#4 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_proto.h#3 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_radiotap.h#2 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_var.h#5 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_base.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_eiface.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_source.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_source.h#3 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#10 integrate
.. //depot/projects/linuxolator/src/sys/netinet/tcp_input.c#10 integrate
.. //depot/projects/linuxolator/src/sys/netinet/udp_usrreq.c#7 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfs_socket.c#7 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfs_subs.c#3 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfs_vnops.c#8 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfsnode.h#3 integrate
.. //depot/projects/linuxolator/src/sys/nfsserver/nfs_syscalls.c#5 integrate
.. //depot/projects/linuxolator/src/sys/pc98/cbus/clock.c#6 integrate
.. //depot/projects/linuxolator/src/sys/pci/if_ste.c#4 integrate
.. //depot/projects/linuxolator/src/sys/pci/if_stereg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/include/pcpu.h#2 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/powermac/pswitch.c#3 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/powerpc/nexus.c#2 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/powerpc/pic_if.m#2 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/powerpc/trap.c#4 integrate
.. //depot/projects/linuxolator/src/sys/security/audit/audit.c#6 integrate
.. //depot/projects/linuxolator/src/sys/security/audit/audit_syscalls.c#7 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_syscalls.c#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/central/central.c#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhc.c#3 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhc_central.c#2 delete
.. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhc_nexus.c#2 delete
.. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhcvar.h#2 delete
.. //depot/projects/linuxolator/src/sys/sparc64/include/bus_private.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/include/iommureg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/include/nexusvar.h#2 delete
.. //depot/projects/linuxolator/src/sys/sparc64/include/ofw_nexus.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/include/ofw_upa.h#2 delete
.. //depot/projects/linuxolator/src/sys/sparc64/include/pcpu.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/pci/psycho.c#5 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/pci/psychovar.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sbus/sbus.c#4 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/bus_machdep.c#3 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/iommu.c#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/nexus.c#3 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/sc_machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/trap.c#3 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/upa.c#4 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/include/pcpu.h#7 integrate
.. //depot/projects/linuxolator/src/sys/sys/buf.h#4 integrate
.. //depot/projects/linuxolator/src/sys/sys/extattr.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/lock.h#6 integrate
.. //depot/projects/linuxolator/src/sys/sys/mutex.h#6 integrate
.. //depot/projects/linuxolator/src/sys/sys/param.h#12 integrate
.. //depot/projects/linuxolator/src/sys/sys/pcpu.h#5 integrate
.. //depot/projects/linuxolator/src/sys/sys/proc.h#13 integrate
.. //depot/projects/linuxolator/src/sys/sys/rwlock.h#4 integrate
.. //depot/projects/linuxolator/src/sys/sys/sleepqueue.h#5 integrate
.. //depot/projects/linuxolator/src/sys/sys/sx.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sys/systm.h#10 integrate
.. //depot/projects/linuxolator/src/sys/tools/fw_stub.awk#4 integrate
.. //depot/projects/linuxolator/src/sys/ufs/ufs/extattr.h#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_fault.c#5 integrate

Differences ...

==== //depot/projects/linuxolator/src/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.21 2006/08/11 19:22:55 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.22 2007/03/05 20:35:16 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -336,7 +336,7 @@
 {
 
 	madt = pmap_mapbios(madt_physaddr, madt_length);
-	lapic_init((uintptr_t)madt->LocalApicAddress);
+	lapic_init(madt->LocalApicAddress);
 	printf("ACPI APIC Table: <%.*s %.*s>\n",
 	    (int)sizeof(madt->OemId), madt->OemId,
 	    (int)sizeof(madt->OemTableId), madt->OemTableId);
@@ -482,9 +482,8 @@
 		if (ioapics[apic->IoApicId].io_apic != NULL)
 			panic("%s: Double APIC ID %d", __func__,
 			    apic->IoApicId);
-		ioapics[apic->IoApicId].io_apic = ioapic_create(
-			(uintptr_t)apic->Address, apic->IoApicId,
-			    apic->Interrupt);
+		ioapics[apic->IoApicId].io_apic = ioapic_create(apic->Address,
+		    apic->IoApicId, apic->Interrupt);
 		ioapics[apic->IoApicId].io_vector = apic->Interrupt;
 		break;
 	default:

==== //depot/projects/linuxolator/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.78 2006/10/15 16:52:59 hrs Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.79 2007/03/06 18:28:42 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -906,7 +906,6 @@
 		 * want to add support for invalidating
 		 * the caches on broken hardware
 		 */
-		dmat->bounce_zone->total_bounced++;
 		CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x "
 		    "performing bounce", __func__, op, dmat, dmat->flags);
 
@@ -917,6 +916,7 @@
 				      bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
+			dmat->bounce_zone->total_bounced++;
 		}
 
 		if (op & BUS_DMASYNC_POSTREAD) {
@@ -926,6 +926,7 @@
 				      bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
+			dmat->bounce_zone->total_bounced++;
 		}
 	}
 }

==== //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.29 2007/02/23 20:03:23 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.30 2007/03/06 17:16:46 jhb Exp $
  */
 
 /*
@@ -52,6 +52,7 @@
 #include <sys/systm.h>
 #include <machine/clock.h>
 #include <machine/intr_machdep.h>
+#include <machine/smp.h>
 #ifdef DDB
 #include <ddb/ddb.h>
 #endif
@@ -429,8 +430,9 @@
  * allocate CPUs round-robin.
  */
 
-static u_int cpu_apic_ids[MAXCPU];
-static int current_cpu, num_cpus;
+/* The BSP is always a valid target. */
+static cpumask_t intr_cpus = (1 << 0);
+static int current_cpu, num_cpus = 1;
 
 static void
 intr_assign_next_cpu(struct intsrc *isrc)
@@ -443,25 +445,29 @@
 	 */
 	pic = isrc->is_pic;
 	apic_id = cpu_apic_ids[current_cpu];
-	current_cpu++;
-	if (current_cpu >= num_cpus)
-		current_cpu = 0;
 	pic->pic_assign_cpu(isrc, apic_id);
+	do {
+		current_cpu++;
+		if (current_cpu >= num_cpus)
+			current_cpu = 0;
+	} while (!(intr_cpus & (1 << current_cpu)));
 }
 
 /*
- * Add a local APIC ID to our list of valid local APIC IDs that can
- * be destinations of interrupts.
+ * Add a CPU to our mask of valid CPUs that can be destinations of
+ * interrupts.
  */
 void
-intr_add_cpu(u_int apic_id)
+intr_add_cpu(u_int cpu)
 {
 
+	if (cpu >= MAXCPU)
+		panic("%s: Invalid CPU ID", __func__);
 	if (bootverbose)
-		printf("INTR: Adding local APIC %d as a target\n", apic_id);
-	if (num_cpus >= MAXCPU)
-		panic("WARNING: Local APIC IDs exhausted!");
-	cpu_apic_ids[num_cpus] = apic_id;
+		printf("INTR: Adding local APIC %d as a target\n",
+		    cpu_apic_ids[cpu]);
+
+	intr_cpus |= (1 << cpu);
 	num_cpus++;
 }
 

==== //depot/projects/linuxolator/src/sys/amd64/amd64/io_apic.c#4 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.26 2006/11/17 16:41:03 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.28 2007/03/05 20:35:16 jhb Exp $");
 
 #include "opt_isa.h"
 
@@ -36,11 +36,15 @@
 #include <sys/systm.h>
 #include <sys/bus.h>
 #include <sys/kernel.h>
+#include <sys/lock.h>
 #include <sys/malloc.h>
-#include <sys/lock.h>
+#include <sys/module.h>
 #include <sys/mutex.h>
 #include <sys/sysctl.h>
 
+#include <dev/pci/pcireg.h>
+#include <dev/pci/pcivar.h>
+
 #include <vm/vm.h>
 #include <vm/pmap.h>
 
@@ -428,7 +432,7 @@
  * Create a plain I/O APIC object.
  */
 void *
-ioapic_create(uintptr_t addr, int32_t apic_id, int intbase)
+ioapic_create(vm_paddr_t addr, int32_t apic_id, int intbase)
 {
 	struct ioapic *io;
 	struct ioapic_intsrc *intpin;
@@ -727,3 +731,46 @@
 		if (pin->io_irq < NUM_IO_INTS)
 			intr_register_source(&pin->io_intsrc);
 }
+
+/* A simple new-bus driver to consume PCI I/O APIC devices. */
+static int
+ioapic_pci_probe(device_t dev)
+{
+
+	if (pci_get_class(dev) == PCIC_BASEPERIPH &&
+	    pci_get_subclass(dev) == PCIS_BASEPERIPH_PIC) {
+		switch (pci_get_progif(dev)) {
+		case PCIP_BASEPERIPH_PIC_IO_APIC:
+			device_set_desc(dev, "IO APIC");
+			break;
+		case PCIP_BASEPERIPH_PIC_IOX_APIC:
+			device_set_desc(dev, "IO(x) APIC");
+			break;
+		default:
+			return (ENXIO);
+		}
+		device_quiet(dev);
+		return (-10000);
+	}
+	return (ENXIO);
+}
+
+static int
+ioapic_pci_attach(device_t dev)
+{
+
+	return (0);
+}
+
+static device_method_t ioapic_pci_methods[] = {
+	/* Device interface */
+	DEVMETHOD(device_probe,		ioapic_pci_probe),
+	DEVMETHOD(device_attach,	ioapic_pci_attach),
+
+	{ 0, 0 }
+};
+
+DEFINE_CLASS_0(ioapic, ioapic_pci_driver, ioapic_pci_methods, 0);
+
+static devclass_t ioapic_devclass;
+DRIVER_MODULE(ioapic, pci, ioapic_pci_driver, ioapic_devclass, 0, 0);

==== //depot/projects/linuxolator/src/sys/amd64/amd64/local_apic.c#7 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.34 2006/12/17 06:48:39 kmacy Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.36 2007/03/06 17:16:46 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 
@@ -205,7 +205,7 @@
  * Map the local APIC and setup necessary interrupt vectors.
  */
 void
-lapic_init(uintptr_t addr)
+lapic_init(vm_paddr_t addr)
 {
 
 	/* Map the local APIC and setup the spurious interrupt handler. */
@@ -220,7 +220,6 @@
 
 	/* Set BSP's per-CPU local APIC ID. */
 	PCPU_SET(apic_id, lapic_id());
-	intr_add_cpu(PCPU_GET(apic_id));
 
 	/* Local APIC timer interrupt. */
 	setidt(APIC_TIMER_INT, IDTVEC(timerint), SDT_SYSIGT, SEL_KPL, 0);

==== //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.281 2007/02/08 16:49:58 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.283 2007/03/06 17:16:46 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -152,7 +152,7 @@
 	int	cpu_bsp:1;
 	int	cpu_disabled:1;
 } static cpu_info[MAXCPU];
-static int cpu_apic_ids[MAXCPU];
+int cpu_apic_ids[MAXCPU];
 
 /* Holds pending bitmap based IPIs per CPU */
 static volatile u_int cpu_ipi_pending[MAXCPU];
@@ -625,10 +625,11 @@
 static void
 set_interrupt_apic_ids(void)
 {
-	u_int apic_id;
+	u_int i, apic_id;
 
-	for (apic_id = 0; apic_id < MAXCPU; apic_id++) {
-		if (!cpu_info[apic_id].cpu_present)
+	for (i = 0; i < MAXCPU; i++) {
+		apic_id = cpu_apic_ids[i];
+		if (apic_id == -1)
 			continue;
 		if (cpu_info[apic_id].cpu_bsp)
 			continue;
@@ -640,7 +641,7 @@
 		    apic_id % hyperthreading_cpus != 0)
 			continue;
 
-		intr_add_cpu(apic_id);
+		intr_add_cpu(i);
 	}
 }
 
@@ -835,13 +836,16 @@
 	ncpu = mp_ncpus - 1;	/* does not shootdown self */
 	if (ncpu < 1)
 		return;		/* no other cpus */
-	mtx_assert(&smp_ipi_mtx, MA_OWNED);
+	if (!(read_rflags() & PSL_I))
+		panic("%s: interrupts disabled", __func__);
+	mtx_lock_spin(&smp_ipi_mtx);
 	smp_tlb_addr1 = addr1;
 	smp_tlb_addr2 = addr2;
 	atomic_store_rel_int(&smp_tlb_wait, 0);
 	ipi_all_but_self(vector);
 	while (smp_tlb_wait < ncpu)
 		ia32_pause();
+	mtx_unlock_spin(&smp_ipi_mtx);
 }
 
 static void
@@ -869,7 +873,9 @@
 		if (ncpu < 1)
 			return;
 	}
-	mtx_assert(&smp_ipi_mtx, MA_OWNED);
+	if (!(read_rflags() & PSL_I))
+		panic("%s: interrupts disabled", __func__);
+	mtx_lock_spin(&smp_ipi_mtx);
 	smp_tlb_addr1 = addr1;
 	smp_tlb_addr2 = addr2;
 	atomic_store_rel_int(&smp_tlb_wait, 0);
@@ -879,6 +885,7 @@
 		ipi_selected(mask, vector);
 	while (smp_tlb_wait < ncpu)
 		ia32_pause();
+	mtx_unlock_spin(&smp_ipi_mtx);
 }
 
 void

==== //depot/projects/linuxolator/src/sys/amd64/amd64/mptable.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.237 2005/10/31 15:41:17 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.239 2007/03/09 15:49:57 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -316,18 +316,20 @@
 static int
 mptable_setup_local(void)
 {
+	vm_paddr_t addr;
 
 	/* Is this a pre-defined config? */
 	printf("MPTable: <");
 	if (mpfps->config_type != 0) {
-		lapic_init(DEFAULT_APIC_BASE);
+		addr = DEFAULT_APIC_BASE;
 		printf("Default Configuration %d", mpfps->config_type);
 	} else {
-		lapic_init((uintptr_t)mpct->apic_address);
+		addr = mpct->apic_address;
 		printf("%.*s %.*s", (int)sizeof(mpct->oem_id), mpct->oem_id,
 		    (int)sizeof(mpct->product_id), mpct->product_id);
 	}
 	printf(">\n");
+	lapic_init(addr);
 	return (0);
 }
 
@@ -514,8 +516,8 @@
 		if (ioapics[apic->apic_id] != NULL)
 			panic("%s: Double APIC ID %d", __func__,
 			    apic->apic_id);
-		ioapics[apic->apic_id] = ioapic_create(
-			(uintptr_t)apic->apic_address, apic->apic_id, -1);
+		ioapics[apic->apic_id] = ioapic_create(apic->apic_address,
+		    apic->apic_id, -1);
 		break;
 	default:
 		break;

==== //depot/projects/linuxolator/src/sys/amd64/amd64/pmap.c#7 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.579 2007/02/19 10:55:16 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.581 2007/03/10 20:26:43 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -168,7 +168,6 @@
 
 struct pmap kernel_pmap_store;
 
-static vm_paddr_t avail_start;	/* PA of first available physical page */
 vm_offset_t virtual_avail;	/* VA of first avail page (after kernel bss) */
 vm_offset_t virtual_end;	/* VA of last avail page (end of kernel AS) */
 
@@ -396,38 +395,38 @@
 }
 
 static u_int64_t
-allocpages(int n)
+allocpages(vm_paddr_t *firstaddr, int n)
 {
 	u_int64_t ret;
 
-	ret = avail_start;
+	ret = *firstaddr;
 	bzero((void *)ret, n * PAGE_SIZE);
-	avail_start += n * PAGE_SIZE;
+	*firstaddr += n * PAGE_SIZE;
 	return (ret);
 }
 
 static void
-create_pagetables(void)
+create_pagetables(vm_paddr_t *firstaddr)
 {
 	int i;
 
 	/* Allocate pages */
-	KPTphys = allocpages(NKPT);
-	KPML4phys = allocpages(1);
-	KPDPphys = allocpages(NKPML4E);
-	KPDphys = allocpages(NKPDPE);
+	KPTphys = allocpages(firstaddr, NKPT);
+	KPML4phys = allocpages(firstaddr, 1);
+	KPDPphys = allocpages(firstaddr, NKPML4E);
+	KPDphys = allocpages(firstaddr, NKPDPE);
 
 	ndmpdp = (ptoa(Maxmem) + NBPDP - 1) >> PDPSHIFT;
 	if (ndmpdp < 4)		/* Minimum 4GB of dirmap */
 		ndmpdp = 4;
-	DMPDPphys = allocpages(NDMPML4E);
-	DMPDphys = allocpages(ndmpdp);
+	DMPDPphys = allocpages(firstaddr, NDMPML4E);
+	DMPDphys = allocpages(firstaddr, ndmpdp);
 	dmaplimit = (vm_paddr_t)ndmpdp << PDPSHIFT;
 
 	/* Fill in the underlying page table pages */
 	/* Read-only from zero to physfree */
 	/* XXX not fully used, underneath 2M pages */
-	for (i = 0; (i << PAGE_SHIFT) < avail_start; i++) {
+	for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) {
 		((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT;
 		((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G;
 	}
@@ -440,7 +439,7 @@
 
 	/* Map from zero to end of allocations under 2M pages */
 	/* This replaces some of the KPTphys entries above */
-	for (i = 0; (i << PDRSHIFT) < avail_start; i++) {
+	for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) {
 		((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT;
 		((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G;
 	}
@@ -493,15 +492,12 @@
 	vm_offset_t va;
 	pt_entry_t *pte, *unused;
 
-	avail_start = *firstaddr;
-
 	/*
 	 * Create an initial set of page tables to run the kernel in.
 	 */
-	create_pagetables();
-	*firstaddr = avail_start;
+	create_pagetables(firstaddr);
 
-	virtual_avail = (vm_offset_t) KERNBASE + avail_start;
+	virtual_avail = (vm_offset_t) KERNBASE + *firstaddr;
 	virtual_avail = pmap_kmem_choose(virtual_avail);
 
 	virtual_end = VM_MAX_KERNEL_ADDRESS;
@@ -752,18 +748,7 @@
 	u_int cpumask;
 	u_int other_cpus;
 
-	if (smp_started) {
-		if (!(read_rflags() & PSL_I))
-			panic("%s: interrupts disabled", __func__);
-		mtx_lock_spin(&smp_ipi_mtx);
-	} else
-		critical_enter();
-	/*
-	 * We need to disable interrupt preemption but MUST NOT have
-	 * interrupts disabled here.
-	 * XXX we may need to hold schedlock to get a coherent pm_active
-	 * XXX critical sections disable interrupts again
-	 */
+	sched_pin();
 	if (pmap == kernel_pmap || pmap->pm_active == all_cpus) {
 		invlpg(va);
 		smp_invlpg(va);
@@ -775,10 +760,7 @@
 		if (pmap->pm_active & other_cpus)
 			smp_masked_invlpg(pmap->pm_active & other_cpus, va);
 	}
-	if (smp_started)
-		mtx_unlock_spin(&smp_ipi_mtx);
-	else
-		critical_exit();
+	sched_unpin();
 }
 
 void
@@ -788,18 +770,7 @@
 	u_int other_cpus;
 	vm_offset_t addr;
 
-	if (smp_started) {
-		if (!(read_rflags() & PSL_I))
-			panic("%s: interrupts disabled", __func__);
-		mtx_lock_spin(&smp_ipi_mtx);
-	} else
-		critical_enter();
-	/*
-	 * We need to disable interrupt preemption but MUST NOT have
-	 * interrupts disabled here.
-	 * XXX we may need to hold schedlock to get a coherent pm_active
-	 * XXX critical sections disable interrupts again
-	 */
+	sched_pin();
 	if (pmap == kernel_pmap || pmap->pm_active == all_cpus) {
 		for (addr = sva; addr < eva; addr += PAGE_SIZE)
 			invlpg(addr);
@@ -814,10 +785,7 @@
 			smp_masked_invlpg_range(pmap->pm_active & other_cpus,
 			    sva, eva);
 	}
-	if (smp_started)
-		mtx_unlock_spin(&smp_ipi_mtx);
-	else
-		critical_exit();
+	sched_unpin();
 }
 
 void
@@ -826,18 +794,7 @@
 	u_int cpumask;
 	u_int other_cpus;
 
-	if (smp_started) {
-		if (!(read_rflags() & PSL_I))
-			panic("%s: interrupts disabled", __func__);
-		mtx_lock_spin(&smp_ipi_mtx);
-	} else
-		critical_enter();
-	/*
-	 * We need to disable interrupt preemption but MUST NOT have
-	 * interrupts disabled here.
-	 * XXX we may need to hold schedlock to get a coherent pm_active
-	 * XXX critical sections disable interrupts again
-	 */
+	sched_pin();
 	if (pmap == kernel_pmap || pmap->pm_active == all_cpus) {
 		invltlb();
 		smp_invltlb();
@@ -849,34 +806,17 @@
 		if (pmap->pm_active & other_cpus)
 			smp_masked_invltlb(pmap->pm_active & other_cpus);
 	}
-	if (smp_started)
-		mtx_unlock_spin(&smp_ipi_mtx);
-	else
-		critical_exit();
+	sched_unpin();
 }
 
 void
 pmap_invalidate_cache(void)
 {
 
-	if (smp_started) {
-		if (!(read_rflags() & PSL_I))
-			panic("%s: interrupts disabled", __func__);
-		mtx_lock_spin(&smp_ipi_mtx);
-	} else
-		critical_enter();
-	/*
-	 * We need to disable interrupt preemption but MUST NOT have
-	 * interrupts disabled here.
-	 * XXX we may need to hold schedlock to get a coherent pm_active
-	 * XXX critical sections disable interrupts again
-	 */
+	sched_pin();
 	wbinvd();
 	smp_cache_flush();
-	if (smp_started)
-		mtx_unlock_spin(&smp_ipi_mtx);
-	else
-		critical_exit();
+	sched_unpin();
 }
 #else /* !SMP */
 /*

==== //depot/projects/linuxolator/src/sys/amd64/amd64/trap.c#5 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.313 2006/12/17 06:48:39 kmacy Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.314 2007/03/09 04:02:36 mohans Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -813,6 +813,8 @@
 	CTR4(KTR_SYSC, "syscall enter thread %p pid %d proc %s code %d", td,
 	    td->td_proc->p_pid, td->td_proc->p_comm, code);
 
+	td->td_syscalls++;
+
 	if (error == 0) {
 		td->td_retval[0] = 0;
 		td->td_retval[1] = frame->tf_rdx;

==== //depot/projects/linuxolator/src/sys/amd64/include/apicvar.h#5 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.21 2006/12/17 06:48:40 kmacy Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.22 2007/03/05 20:35:16 jhb Exp $
  */
 
 #ifndef _MACHINE_APICVAR_H_
@@ -180,7 +180,7 @@
 void	apic_free_vector(u_int vector, u_int irq);
 u_int	apic_idt_to_irq(u_int vector);
 void	apic_register_enumerator(struct apic_enumerator *enumerator);
-void	*ioapic_create(uintptr_t addr, int32_t id, int intbase);
+void	*ioapic_create(vm_paddr_t addr, int32_t apic_id, int intbase);
 int	ioapic_disable_pin(void *cookie, u_int pin);
 int	ioapic_get_vector(void *cookie, u_int pin);
 void	ioapic_register(void *cookie);
@@ -197,7 +197,7 @@
 void	lapic_dump(const char *str);
 void	lapic_eoi(void);
 int	lapic_id(void);
-void	lapic_init(uintptr_t addr);
+void	lapic_init(vm_paddr_t addr);
 int	lapic_intr_pending(u_int vector);
 void	lapic_ipi_raw(register_t icrlo, u_int dest);
 void	lapic_ipi_vectored(u_int vector, int dest);

==== //depot/projects/linuxolator/src/sys/amd64/include/intr_machdep.h#7 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.15 2007/02/23 12:18:26 piso Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.16 2007/03/06 17:16:46 jhb Exp $
  */
 
 #ifndef __MACHINE_INTR_MACHDEP_H__
@@ -131,9 +131,7 @@
 void	elcr_resume(void);
 void	elcr_write_trigger(u_int irq, enum intr_trigger trigger);
 #ifdef SMP
-void	intr_add_cpu(u_int apic_id);
-#else
-#define	intr_add_cpu(apic_id)
+void	intr_add_cpu(u_int cpu);
 #endif
 int	intr_add_handler(const char *name, int vector, driver_filter_t filter, 
 			 driver_intr_t handler, void *arg, enum intr_type flags, 

==== //depot/projects/linuxolator/src/sys/amd64/include/pcpu.h#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.46 2007/02/06 18:04:02 bde Exp $
+ * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.47 2007/03/11 05:54:28 alc Exp $
  */
 
 #ifndef _MACHINE_PCPU_H_
@@ -56,6 +56,7 @@
 extern struct pcpu *pcpup;
 
 #define	PCPU_GET(member)	(pcpup->pc_ ## member)
+#define	PCPU_LAZY_INC(member)	(++pcpup->pc_ ## member)
 #define	PCPU_PTR(member)	(&pcpup->pc_ ## member)
 #define	PCPU_SET(member, val)	(pcpup->pc_ ## member = (val))
 
@@ -109,6 +110,34 @@
 })
 
 /*
+ * Increments the value of the per-cpu counter name.  The implementation
+ * must be atomic with respect to interrupts.
+ */
+#define	__PCPU_LAZY_INC(name) do {					\
+	CTASSERT(sizeof(__pcpu_type(name)) == 1 ||			\
+	    sizeof(__pcpu_type(name)) == 2 ||				\
+	    sizeof(__pcpu_type(name)) == 4 ||				\
+	    sizeof(__pcpu_type(name)) == 8);				\
+	if (sizeof(__pcpu_type(name)) == 1) {				\
+		__asm __volatile("incb %%gs:%0"				\
+		    : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
+		    : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
+	} else if (sizeof(__pcpu_type(name)) == 2) {			\
+		__asm __volatile("incw %%gs:%0"				\
+		    : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
+		    : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
+	} else if (sizeof(__pcpu_type(name)) == 4) {			\
+		__asm __volatile("incl %%gs:%0"				\
+		    : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
+		    : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
+	} else if (sizeof(__pcpu_type(name)) == 8) {			\
+		__asm __volatile("incq %%gs:%0"				\
+		    : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
+		    : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
+	}								\
+} while (0)

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list