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