PERFORCE change 161545 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Mon May 4 10:52:13 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=161545
Change 161545 by hselasky at hselasky_laptop001 on 2009/05/04 10:51:46
IFC @ 161543
Affected files ...
.. //depot/projects/usb/src/sys/amd64/amd64/busdma_machdep.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#21 integrate
.. //depot/projects/usb/src/sys/amd64/conf/GENERIC#24 integrate
.. //depot/projects/usb/src/sys/amd64/include/apicvar.h#8 integrate
.. //depot/projects/usb/src/sys/amd64/include/clock.h#7 integrate
.. //depot/projects/usb/src/sys/amd64/include/smp.h#8 integrate
.. //depot/projects/usb/src/sys/amd64/include/specialreg.h#13 integrate
.. //depot/projects/usb/src/sys/amd64/isa/clock.c#8 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_sysvec.c#19 integrate
.. //depot/projects/usb/src/sys/arm/arm/busdma_machdep.c#18 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91.c#14 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91_cfata.c#1 branch
.. //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#2 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91rm92reg.h#5 integrate
.. //depot/projects/usb/src/sys/arm/at91/files.at91#10 integrate
.. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_zone.c#3 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#16 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#14 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_futex.c#10 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_futex.h#7 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_socket.c#9 integrate
.. //depot/projects/usb/src/sys/conf/NOTES#33 integrate
.. //depot/projects/usb/src/sys/conf/files#60 integrate
.. //depot/projects/usb/src/sys/conf/files.powerpc#21 integrate
.. //depot/projects/usb/src/sys/conf/options#26 integrate
.. //depot/projects/usb/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#12 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi.c#16 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi_cpu.c#9 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-all.h#12 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-disk.c#14 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.c#14 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.h#17 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-queue.c#14 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-sata.c#4 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-tape.c#10 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ahci.c#7 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ati.c#2 integrate
.. //depot/projects/usb/src/sys/dev/ath/if_ath.c#23 integrate
.. //depot/projects/usb/src/sys/dev/bwi/bitops.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwimac.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwimac.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwiphy.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwiphy.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwirf.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwirf.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwi.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwi_pci.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwireg.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwivar.h#1 branch
.. //depot/projects/usb/src/sys/dev/cxgb/cxgb_multiq.c#6 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_em.c#5 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_em.h#4 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#7 integrate
.. //depot/projects/usb/src/sys/dev/ed/if_ed_pccard.c#10 integrate
.. //depot/projects/usb/src/sys/dev/fb/creator.c#8 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#24 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndisvar.h#12 integrate
.. //depot/projects/usb/src/sys/dev/ipw/if_ipw.c#11 integrate
.. //depot/projects/usb/src/sys/dev/ipw/if_ipwvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/iwi/if_iwi.c#11 integrate
.. //depot/projects/usb/src/sys/dev/iwi/if_iwivar.h#5 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#7 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwnvar.h#2 integrate
.. //depot/projects/usb/src/sys/dev/mxge/if_mxge.c#11 integrate
.. //depot/projects/usb/src/sys/dev/mxge/if_mxge_var.h#11 integrate
.. //depot/projects/usb/src/sys/dev/nve/if_nve.c#8 integrate
.. //depot/projects/usb/src/sys/dev/pccard/pccarddevs#15 integrate
.. //depot/projects/usb/src/sys/dev/rp/rp.c#4 integrate
.. //depot/projects/usb/src/sys/dev/rp/rp_pci.c#2 integrate
.. //depot/projects/usb/src/sys/dev/rp/rpreg.h#3 integrate
.. //depot/projects/usb/src/sys/dev/sk/if_sk.c#9 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#22 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#9 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#18 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.h#8 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.h#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.h#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/template/usb_template.c#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#8 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_core.h#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_device.c#28 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_device.h#17 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.c#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.h#3 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#8 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_request.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_request.h#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#2 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#142 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_rumvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#3 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uathvar.h#2 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uralvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_zydreg.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/usb_wlan.h#5 delete
.. //depot/projects/usb/src/sys/dev/wi/if_wi.c#10 integrate
.. //depot/projects/usb/src/sys/dev/wi/if_wivar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#11 integrate
.. //depot/projects/usb/src/sys/dev/wpi/if_wpivar.h#4 integrate
.. //depot/projects/usb/src/sys/dev/xl/if_xl.c#4 integrate
.. //depot/projects/usb/src/sys/i386/bios/apm.c#7 integrate
.. //depot/projects/usb/src/sys/i386/conf/GENERIC#23 integrate
.. //depot/projects/usb/src/sys/i386/i386/busdma_machdep.c#17 integrate
.. //depot/projects/usb/src/sys/i386/i386/identcpu.c#13 integrate
.. //depot/projects/usb/src/sys/i386/i386/local_apic.c#14 integrate
.. //depot/projects/usb/src/sys/i386/i386/mp_machdep.c#17 integrate
.. //depot/projects/usb/src/sys/i386/include/apicvar.h#8 integrate
.. //depot/projects/usb/src/sys/i386/include/clock.h#7 integrate
.. //depot/projects/usb/src/sys/i386/include/smp.h#8 integrate
.. //depot/projects/usb/src/sys/i386/include/specialreg.h#12 integrate
.. //depot/projects/usb/src/sys/i386/isa/clock.c#9 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_sysvec.c#14 integrate
.. //depot/projects/usb/src/sys/i386/xen/clock.c#6 integrate
.. //depot/projects/usb/src/sys/i386/xen/mp_machdep.c#8 integrate
.. //depot/projects/usb/src/sys/ia64/isa/isa.c#3 integrate
.. //depot/projects/usb/src/sys/isa/atrtc.c#2 integrate
.. //depot/projects/usb/src/sys/isa/rtc.h#3 integrate
.. //depot/projects/usb/src/sys/kern/init_sysent.c#11 integrate
.. //depot/projects/usb/src/sys/kern/kern_cpuset.c#6 integrate
.. //depot/projects/usb/src/sys/kern/kern_jail.c#18 integrate
.. //depot/projects/usb/src/sys/kern/kern_mib.c#11 integrate
.. //depot/projects/usb/src/sys/kern/kern_osd.c#3 integrate
.. //depot/projects/usb/src/sys/kern/kern_rmlock.c#3 integrate
.. //depot/projects/usb/src/sys/kern/kern_sysctl.c#13 integrate
.. //depot/projects/usb/src/sys/kern/kern_vimage.c#3 integrate
.. //depot/projects/usb/src/sys/kern/sched_ule.c#16 integrate
.. //depot/projects/usb/src/sys/kern/subr_smp.c#12 integrate
.. //depot/projects/usb/src/sys/kern/subr_witness.c#19 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.c#11 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.master#11 integrate
.. //depot/projects/usb/src/sys/kern/systrace_args.c#10 integrate
.. //depot/projects/usb/src/sys/kern/tty_pts.c#12 integrate
.. //depot/projects/usb/src/sys/kern/uipc_socket.c#17 integrate
.. //depot/projects/usb/src/sys/mips/include/pmap.h#5 integrate
.. //depot/projects/usb/src/sys/mips/mips/pmap.c#9 integrate
.. //depot/projects/usb/src/sys/modules/Makefile#31 integrate
.. //depot/projects/usb/src/sys/modules/bwi/Makefile#1 branch
.. //depot/projects/usb/src/sys/net/bridgestp.c#12 integrate
.. //depot/projects/usb/src/sys/net/flowtable.c#2 integrate
.. //depot/projects/usb/src/sys/net/ieee8023ad_lacp.c#8 integrate
.. //depot/projects/usb/src/sys/net/if.c#23 integrate
.. //depot/projects/usb/src/sys/net/if.h#10 integrate
.. //depot/projects/usb/src/sys/net/if_arcsubr.c#6 integrate
.. //depot/projects/usb/src/sys/net/if_bridge.c#15 integrate
.. //depot/projects/usb/src/sys/net/if_dead.c#1 branch
.. //depot/projects/usb/src/sys/net/if_ef.c#7 integrate
.. //depot/projects/usb/src/sys/net/if_gif.c#13 integrate
.. //depot/projects/usb/src/sys/net/if_gif.h#7 integrate
.. //depot/projects/usb/src/sys/net/if_lagg.c#13 integrate
.. //depot/projects/usb/src/sys/net/if_loop.c#18 integrate
.. //depot/projects/usb/src/sys/net/if_mib.c#7 integrate
.. //depot/projects/usb/src/sys/net/if_var.h#15 integrate
.. //depot/projects/usb/src/sys/net/route.c#16 integrate
.. //depot/projects/usb/src/sys/net/rtsock.c#20 integrate
.. //depot/projects/usb/src/sys/net/vnet.h#7 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211.c#20 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211.h#14 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_adhoc.c#7 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ddb.c#13 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.h#15 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_hostap.c#10 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ht.c#10 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ht.h#9 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ioctl.c#21 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_node.c#21 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_node.h#13 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#22 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_proto.c#17 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_scan.c#8 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_scan.h#5 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_scan_sta.c#12 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#8 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_superg.c#4 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_superg.h#4 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_var.h#20 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#8 integrate
.. //depot/projects/usb/src/sys/netgraph/netgraph.h#10 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_base.c#15 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_eiface.c#9 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_ether.c#9 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_iface.c#11 integrate
.. //depot/projects/usb/src/sys/netinet/icmp6.h#5 integrate
.. //depot/projects/usb/src/sys/netinet/igmp.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/in.c#21 integrate
.. //depot/projects/usb/src/sys/netinet/in_mcast.c#13 integrate
.. //depot/projects/usb/src/sys/netinet/in_pcb.c#21 integrate
.. //depot/projects/usb/src/sys/netinet/in_pcb.h#18 integrate
.. //depot/projects/usb/src/sys/netinet/in_rmx.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/ip_carp.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/ip_divert.c#15 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw.h#15 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw2.c#22 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw_pfil.c#9 integrate
.. //depot/projects/usb/src/sys/netinet/ip_input.c#19 integrate
.. //depot/projects/usb/src/sys/netinet/ip_ipsec.c#12 integrate
.. //depot/projects/usb/src/sys/netinet/ip_mroute.c#12 integrate
.. //depot/projects/usb/src/sys/netinet/ip_output.c#17 integrate
.. //depot/projects/usb/src/sys/netinet/raw_ip.c#21 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_subr.c#22 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_syncache.c#20 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_syncache.h#6 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_timewait.c#12 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_var.h#17 integrate
.. //depot/projects/usb/src/sys/netinet/udp_usrreq.c#20 integrate
.. //depot/projects/usb/src/sys/netinet/vinet.h#9 integrate
.. //depot/projects/usb/src/sys/netinet6/icmp6.c#17 integrate
.. //depot/projects/usb/src/sys/netinet6/in6.c#20 integrate
.. //depot/projects/usb/src/sys/netinet6/in6.h#7 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#17 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_mcast.c#1 branch
.. //depot/projects/usb/src/sys/netinet6/in6_pcb.c#16 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_proto.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_rmx.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_var.h#8 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_input.c#19 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_mroute.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_output.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_var.h#12 integrate
.. //depot/projects/usb/src/sys/netinet6/mld6.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/mld6.h#1 branch
.. //depot/projects/usb/src/sys/netinet6/mld6_var.h#3 integrate
.. //depot/projects/usb/src/sys/netinet6/nd6.c#16 integrate
.. //depot/projects/usb/src/sys/netinet6/nd6_rtr.c#15 integrate
.. //depot/projects/usb/src/sys/netinet6/raw_ip6.c#19 integrate
.. //depot/projects/usb/src/sys/netinet6/udp6_usrreq.c#18 integrate
.. //depot/projects/usb/src/sys/netinet6/vinet6.h#7 integrate
.. //depot/projects/usb/src/sys/netipsec/ipsec.c#17 integrate
.. //depot/projects/usb/src/sys/netipsec/key.c#15 integrate
.. //depot/projects/usb/src/sys/netipsec/key.h#2 integrate
.. //depot/projects/usb/src/sys/netipsec/vipsec.h#5 integrate
.. //depot/projects/usb/src/sys/netipx/spx_usrreq.c#6 integrate
.. //depot/projects/usb/src/sys/nfsclient/nfs_kdtrace.c#2 integrate
.. //depot/projects/usb/src/sys/nfsclient/nfs_krpc.c#4 integrate
.. //depot/projects/usb/src/sys/pc98/cbus/clock.c#8 integrate
.. //depot/projects/usb/src/sys/pc98/conf/GENERIC#18 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/machdep.c#9 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/locore.S#6 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#9 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/swtch.S#3 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/vm_machdep.c#3 integrate
.. //depot/projects/usb/src/sys/powerpc/conf/MPC85XX#5 integrate
.. //depot/projects/usb/src/sys/powerpc/include/hid.h#5 integrate
.. //depot/projects/usb/src/sys/powerpc/include/intr_machdep.h#5 integrate
.. //depot/projects/usb/src/sys/powerpc/include/pte.h#5 integrate
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/atpic.c#1 branch
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/isa.c#1 branch
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/ocpbus.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/pci_ocp.c#3 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/autoconf.c#5 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/bus_machdep.c#3 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/cpu.c#8 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/intr_machdep.c#12 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_atalk.c#3 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_audit.c#7 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_cred.c#4 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_inet.c#12 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_inet6.c#5 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_internal.h#10 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_net.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_pipe.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_posix_sem.c#10 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_posix_shm.c#5 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_priv.c#5 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_process.c#12 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_socket.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_system.c#7 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_sysv_msg.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_sysv_sem.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_sysv_shm.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_vfs.c#10 integrate
.. //depot/projects/usb/src/sys/sys/jail.h#12 integrate
.. //depot/projects/usb/src/sys/sys/ktr.h#3 integrate
.. //depot/projects/usb/src/sys/sys/mbuf.h#13 integrate
.. //depot/projects/usb/src/sys/sys/osd.h#3 integrate
.. //depot/projects/usb/src/sys/sys/param.h#28 integrate
.. //depot/projects/usb/src/sys/sys/priv.h#12 integrate
.. //depot/projects/usb/src/sys/sys/queue.h#4 integrate
.. //depot/projects/usb/src/sys/sys/smp.h#6 integrate
.. //depot/projects/usb/src/sys/sys/socketvar.h#9 integrate
.. //depot/projects/usb/src/sys/sys/syscall.h#11 integrate
.. //depot/projects/usb/src/sys/sys/syscall.mk#11 integrate
.. //depot/projects/usb/src/sys/sys/syscallsubr.h#9 integrate
.. //depot/projects/usb/src/sys/sys/sysctl.h#16 integrate
.. //depot/projects/usb/src/sys/sys/sysproto.h#11 integrate
.. //depot/projects/usb/src/sys/sys/vimage.h#8 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/dinode.h#2 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/inode.h#7 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#14 integrate
.. //depot/projects/usb/src/sys/vm/swap_pager.c#14 integrate
.. //depot/projects/usb/src/sys/vm/vm_fault.c#12 integrate
.. //depot/projects/usb/src/sys/vm/vm_object.c#15 integrate
.. //depot/projects/usb/src/sys/vm/vm_pageout.c#14 integrate
.. //depot/projects/usb/src/sys/vm/vnode_pager.c#14 integrate
Differences ...
==== //depot/projects/usb/src/sys/amd64/amd64/busdma_machdep.c#14 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.90 2009/04/17 13:22:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.91 2009/04/23 20:24:19 jhb Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -95,7 +95,6 @@
int total_deferred;
int map_count;
bus_size_t alignment;
- bus_size_t boundary;
bus_addr_t lowaddr;
char zoneid[8];
char lowaddrid[20];
@@ -978,7 +977,6 @@
/* Check to see if we already have a suitable zone */
STAILQ_FOREACH(bz, &bounce_zone_list, links) {
if ((dmat->alignment <= bz->alignment)
- && (dmat->boundary <= bz->boundary)
&& (dmat->lowaddr >= bz->lowaddr)) {
dmat->bounce_zone = bz;
return (0);
@@ -994,8 +992,7 @@
bz->reserved_bpages = 0;
bz->active_bpages = 0;
bz->lowaddr = dmat->lowaddr;
- bz->alignment = dmat->alignment;
- bz->boundary = dmat->boundary;
+ bz->alignment = MAX(dmat->alignment, PAGE_SIZE);
bz->map_count = 0;
snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
busdma_zonecount++;
@@ -1042,9 +1039,6 @@
SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
"alignment", CTLFLAG_RD, &bz->alignment, 0, "");
- SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
- SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
- "boundary", CTLFLAG_RD, &bz->boundary, 0, "");
return (0);
}
@@ -1069,7 +1063,7 @@
M_NOWAIT, 0ul,
bz->lowaddr,
PAGE_SIZE,
- bz->boundary);
+ 0);
if (bpage->vaddr == 0) {
free(bpage, M_DEVBUF);
break;
==== //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#14 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.171 2009/01/22 21:04:46 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.172 2009/04/29 06:54:40 jeff Exp $");
#include "opt_cpu.h"
@@ -106,10 +106,7 @@
{ CENTAUR_VENDOR_ID, CPU_VENDOR_CENTAUR }, /* CentaurHauls */
};
-int cpu_cores;
-int cpu_logical;
-
extern int pq_l2size;
extern int pq_l2nways;
@@ -195,7 +192,6 @@
cpu_vendor_id == CPU_VENDOR_CENTAUR) {
printf(" Stepping = %u", cpu_id & 0xf);
if (cpu_high > 0) {
- u_int cmp = 1, htt = 1;
/*
* Here we should probably set up flags indicating
@@ -400,28 +396,6 @@
if (tsc_is_invariant)
printf("\n TSC: P-state invariant");
- /*
- * If this CPU supports HTT or CMP then mention the
- * number of physical/logical cores it contains.
- */
- if (cpu_feature & CPUID_HTT)
- htt = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
- if (cpu_vendor_id == CPU_VENDOR_AMD &&
- (amd_feature2 & AMDID2_CMP))
- cmp = (cpu_procinfo2 & AMDID_CMP_CORES) + 1;
- else if (cpu_vendor_id == CPU_VENDOR_INTEL &&
- (cpu_high >= 4)) {
- cpuid_count(4, 0, regs);
- if ((regs[0] & 0x1f) != 0)
- cmp = ((regs[0] >> 26) & 0x3f) + 1;
- }
- cpu_cores = cmp;
- cpu_logical = htt / cmp;
- if (cmp > 1)
- printf("\n Cores per package: %d", cmp);
- if ((htt / cmp) > 1)
- printf("\n Logical CPUs per core: %d",
- cpu_logical);
}
}
/* Avoid ugly blank lines: only print newline when we have to. */
==== //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#14 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.52 2009/02/21 23:15:34 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -112,7 +112,7 @@
u_long la_stat_ticks;
u_long la_prof_ticks;
/* Include IDT_SYSCALL to make indexing easier. */
- u_int la_ioint_irqs[APIC_NUM_IOINTS + 1];
+ int la_ioint_irqs[APIC_NUM_IOINTS + 1];
} static lapics[MAX_APIC_ID + 1];
/* XXX: should thermal be an NMI? */
@@ -254,6 +254,8 @@
lapics[apic_id].la_lvts[i] = lvts[i];
lapics[apic_id].la_lvts[i].lvt_active = 0;
}
+ for (i = 0; i <= APIC_NUM_IOINTS; i++)
+ lapics[apic_id].la_ioint_irqs[i] = -1;
lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
IRQ_TIMER;
@@ -363,11 +365,15 @@
lapic_setup_clock(void)
{
u_long value;
+ int i;
/* Can't drive the timer without a local APIC. */
if (lapic == NULL)
return (0);
+ if (resource_int_value("apic", 0, "clock", &i) == 0 && i == 0)
+ return (0);
+
/* Start off with a divisor of 2 (power on reset default). */
lapic_timer_divisor = 2;
@@ -807,7 +813,7 @@
*/
mtx_lock_spin(&icu_lock);
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
- if (lapics[apic_id].la_ioint_irqs[vector] != 0)
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1)
continue;
lapics[apic_id].la_ioint_irqs[vector] = irq;
mtx_unlock_spin(&icu_lock);
@@ -847,7 +853,7 @@
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
/* Vector is in use, end run. */
- if (lapics[apic_id].la_ioint_irqs[vector] != 0) {
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
run = 0;
first = 0;
continue;
@@ -932,7 +938,7 @@
sched_bind(td, apic_cpuid(apic_id));
thread_unlock(td);
mtx_lock_spin(&icu_lock);
- lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = 0;
+ lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
mtx_unlock_spin(&icu_lock);
thread_lock(td);
sched_unbind(td);
@@ -944,11 +950,15 @@
u_int
apic_idt_to_irq(u_int apic_id, u_int vector)
{
+ int irq;
KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL &&
vector <= APIC_IO_INTS + APIC_NUM_IOINTS,
("Vector %u does not map to an IRQ line", vector));
- return (lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS]);
+ irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
+ if (irq < 0)
+ irq = 0;
+ return (irq);
}
#ifdef DDB
@@ -974,7 +984,7 @@
db_printf("Interrupts bound to lapic %u\n", apic_id);
for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) {
irq = lapics[apic_id].la_ioint_irqs[i];
- if (irq == 0 || irq == IRQ_SYSCALL)
+ if (irq == -1 || irq == IRQ_SYSCALL)
continue;
db_printf("vec 0x%2x -> ", i + APIC_IO_INTS);
if (irq == IRQ_TIMER)
==== //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#21 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.302 2009/04/01 13:09:26 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.306 2009/05/02 12:20:43 mav Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -57,6 +57,7 @@
#include <vm/vm_extern.h>
#include <machine/apicreg.h>
+#include <machine/clock.h>
#include <machine/cputypes.h>
#include <machine/cpufunc.h>
#include <machine/md_var.h>
@@ -160,6 +161,8 @@
static volatile u_int cpu_ipi_pending[MAXCPU];
static u_int boot_address;
+static int cpu_logical;
+static int cpu_cores;
static void assign_cpu_ids(void);
static void set_interrupt_apic_ids(void);
@@ -181,13 +184,148 @@
mem_range_softc.mr_op->initAP(&mem_range_softc);
}
-struct cpu_group *
-cpu_topo(void)
+static void
+topo_probe_0xb(void)
+{
+ int logical;
+ int p[4];
+ int bits;
+ int type;
+ int cnt;
+ int i;
+ int x;
+
+ /* We only support two levels for now. */
+ for (i = 0; i < 3; i++) {
+ cpuid_count(0x0B, i, p);
+ bits = p[0] & 0x1f;
+ logical = p[1] &= 0xffff;
+ type = (p[2] >> 8) & 0xff;
+ if (type == 0 || logical == 0)
+ break;
+ for (cnt = 0, x = 0; x <= MAX_APIC_ID; x++) {
+ if (!cpu_info[x].cpu_present ||
+ cpu_info[x].cpu_disabled)
+ continue;
+ if (x >> bits == boot_cpu_id >> bits)
+ cnt++;
+ }
+ if (type == CPUID_TYPE_SMT)
+ cpu_logical = cnt;
+ else if (type == CPUID_TYPE_CORE)
+ cpu_cores = cnt;
+ }
+ if (cpu_logical == 0)
+ cpu_logical = 1;
+ cpu_cores /= cpu_logical;
+}
+
+static void
+topo_probe_0x4(void)
+{
+ u_int threads_per_cache, p[4];
+ u_int htt, cmp;
+ int i;
+
+ htt = cmp = 1;
+ /*
+ * If this CPU supports HTT or CMP then mention the
+ * number of physical/logical cores it contains.
+ */
+ if (cpu_feature & CPUID_HTT)
+ htt = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+ if (cpu_vendor_id == CPU_VENDOR_AMD && (amd_feature2 & AMDID2_CMP))
+ cmp = (cpu_procinfo2 & AMDID_CMP_CORES) + 1;
+ else if (cpu_vendor_id == CPU_VENDOR_INTEL && (cpu_high >= 4)) {
+ cpuid_count(4, 0, p);
+ if ((p[0] & 0x1f) != 0)
+ cmp = ((p[0] >> 26) & 0x3f) + 1;
+ }
+ cpu_cores = cmp;
+ cpu_logical = htt / cmp;
+
+ /* Setup the initial logical CPUs info. */
+ if (cpu_feature & CPUID_HTT)
+ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+
+ /*
+ * Work out if hyperthreading is *really* enabled. This
+ * is made really ugly by the fact that processors lie: Dual
+ * core processors claim to be hyperthreaded even when they're
+ * not, presumably because they want to be treated the same
+ * way as HTT with respect to per-cpu software licensing.
+ * At the time of writing (May 12, 2005) the only hyperthreaded
+ * cpus are from Intel, and Intel's dual-core processors can be
+ * identified via the "deterministic cache parameters" cpuid
+ * calls.
+ */
+ /*
+ * First determine if this is an Intel processor which claims
+ * to have hyperthreading support.
+ */
+ if ((cpu_feature & CPUID_HTT) && cpu_vendor_id == CPU_VENDOR_INTEL) {
+ /*
+ * If the "deterministic cache parameters" cpuid calls
+ * are available, use them.
+ */
+ if (cpu_high >= 4) {
+ /* Ask the processor about the L1 cache. */
+ for (i = 0; i < 1; i++) {
+ cpuid_count(4, i, p);
+ threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
+ if (hyperthreading_cpus < threads_per_cache)
+ hyperthreading_cpus = threads_per_cache;
+ if ((p[0] & 0x1f) == 0)
+ break;
+ }
+ }
+
+ /*
+ * If the deterministic cache parameters are not
+ * available, or if no caches were reported to exist,
+ * just accept what the HTT flag indicated.
+ */
+ if (hyperthreading_cpus == 0)
+ hyperthreading_cpus = logical_cpus;
+ }
+}
+
+static void
+topo_probe(void)
{
+ static int cpu_topo_probed = 0;
+
+ if (cpu_topo_probed)
+ return;
+
+ logical_cpus = logical_cpus_mask = 0;
+ if (cpu_high >= 0xb)
+ topo_probe_0xb();
+ else if (cpu_high)
+ topo_probe_0x4();
if (cpu_cores == 0)
- cpu_cores = 1;
+ cpu_cores = mp_ncpus > 0 ? mp_ncpus : 1;
if (cpu_logical == 0)
cpu_logical = 1;
+ cpu_topo_probed = 1;
+}
+
+struct cpu_group *
+cpu_topo(void)
+{
+ int cg_flags;
+
+ /*
+ * Determine whether any threading flags are
+ * necessry.
+ */
+ topo_probe();
+ if (cpu_logical > 1 && hyperthreading_cpus)
+ cg_flags = CG_FLAG_HTT;
+ else if (cpu_logical > 1)
+ cg_flags = CG_FLAG_SMT;
+ else
+ cg_flags = 0;
if (mp_ncpus % (cpu_cores * cpu_logical) != 0) {
printf("WARNING: Non-uniform processors.\n");
printf("WARNING: Using suboptimal topology.\n");
@@ -202,17 +340,17 @@
* Only HTT no multi-core.
*/
if (cpu_logical > 1 && cpu_cores == 1)
- return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+ return (smp_topo_1level(CG_SHARE_L1, cpu_logical, cg_flags));
/*
* Only multi-core no HTT.
*/
if (cpu_cores > 1 && cpu_logical == 1)
- return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0));
+ return (smp_topo_1level(CG_SHARE_L2, cpu_cores, cg_flags));
/*
* Both HTT and multi-core.
*/
- return (smp_topo_2level(CG_SHARE_NONE, cpu_cores,
- CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+ return (smp_topo_2level(CG_SHARE_L2, cpu_cores,
+ CG_SHARE_L1, cpu_logical, cg_flags));
}
/*
@@ -318,7 +456,6 @@
cpu_mp_start(void)
{
int i;
- u_int threads_per_cache, p[4];
/* Initialize the logical ID to APIC ID table. */
for (i = 0; i < MAXCPU; i++) {
@@ -354,54 +491,9 @@
} else
KASSERT(boot_cpu_id == PCPU_GET(apic_id),
("BSP's APIC ID doesn't match boot_cpu_id"));
- cpu_apic_ids[0] = boot_cpu_id;
- apic_cpuids[boot_cpu_id] = 0;
- /* Setup the initial logical CPUs info. */
- logical_cpus = logical_cpus_mask = 0;
- if (cpu_feature & CPUID_HTT)
- logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
-
- /*
- * Work out if hyperthreading is *really* enabled. This
- * is made really ugly by the fact that processors lie: Dual
- * core processors claim to be hyperthreaded even when they're
- * not, presumably because they want to be treated the same
- * way as HTT with respect to per-cpu software licensing.
- * At the time of writing (May 12, 2005) the only hyperthreaded
- * cpus are from Intel, and Intel's dual-core processors can be
- * identified via the "deterministic cache parameters" cpuid
- * calls.
- */
- /*
- * First determine if this is an Intel processor which claims
- * to have hyperthreading support.
- */
- if ((cpu_feature & CPUID_HTT) && cpu_vendor_id == CPU_VENDOR_INTEL) {
- /*
- * If the "deterministic cache parameters" cpuid calls
- * are available, use them.
- */
- if (cpu_high >= 4) {
- /* Ask the processor about the L1 cache. */
- for (i = 0; i < 1; i++) {
- cpuid_count(4, i, p);
- threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
- if (hyperthreading_cpus < threads_per_cache)
- hyperthreading_cpus = threads_per_cache;
- if ((p[0] & 0x1f) == 0)
- break;
- }
- }
-
- /*
- * If the deterministic cache parameters are not
- * available, or if no caches were reported to exist,
- * just accept what the HTT flag indicated.
- */
- if (hyperthreading_cpus == 0)
- hyperthreading_cpus = logical_cpus;
- }
+ /* Probe logical/physical core configuration. */
+ topo_probe();
assign_cpu_ids();
@@ -418,28 +510,38 @@
void
cpu_mp_announce(void)
{
- int i, x;
const char *hyperthread;
+ int i;
- /* List CPUs */
+ printf("FreeBSD/SMP: %d package(s) x %d core(s)",
+ mp_ncpus / (cpu_cores * cpu_logical), cpu_cores);
+ if (hyperthreading_cpus > 1)
+ printf(" x %d HTT threads", cpu_logical);
+ else if (cpu_logical > 1)
+ printf(" x %d SMT threads", cpu_logical);
+ printf("\n");
+
+ /* List active CPUs first. */
printf(" cpu0 (BSP): APIC ID: %2d\n", boot_cpu_id);
- for (i = 1, x = 0; x <= MAX_APIC_ID; x++) {
- if (!cpu_info[x].cpu_present || cpu_info[x].cpu_bsp)
+ for (i = 1; i < mp_ncpus; i++) {
+ if (cpu_info[cpu_apic_ids[i]].cpu_hyperthread)
+ hyperthread = "/HT";
+ else
+ hyperthread = "";
+ printf(" cpu%d (AP%s): APIC ID: %2d\n", i, hyperthread,
+ cpu_apic_ids[i]);
+ }
+
+ /* List disabled CPUs last. */
+ for (i = 0; i <= MAX_APIC_ID; i++) {
+ if (!cpu_info[i].cpu_present || !cpu_info[i].cpu_disabled)
continue;
- if (cpu_info[x].cpu_hyperthread) {
+ if (cpu_info[i].cpu_hyperthread)
hyperthread = "/HT";
- } else {
+ else
hyperthread = "";
- }
- if (cpu_info[x].cpu_disabled)
- printf(" cpu (AP%s): APIC ID: %2d (disabled)\n",
- hyperthread, x);
- else {
- KASSERT(i < mp_ncpus,
- ("mp_ncpus and actual cpus are out of whack"));
- printf(" cpu%d (AP%s): APIC ID: %2d\n", i++,
- hyperthread, x);
- }
+ printf(" cpu (AP%s): APIC ID: %2d (disabled)\n", hyperthread,
+ i);
}
}
@@ -693,11 +795,19 @@
/*
* Assign CPU IDs to local APIC IDs and disable any CPUs
- * beyond MAXCPU. CPU 0 has already been assigned to the BSP,
- * so we only have to assign IDs for APs.
+ * beyond MAXCPU. CPU 0 is always assigned to the BSP.
+ *
+ * To minimize confusion for userland, we attempt to number
+ * CPUs such that all threads and cores in a package are
+ * grouped together. For now we assume that the BSP is always
+ * the first thread in a package and just start adding APs
+ * starting with the BSP's APIC ID.
*/
mp_ncpus = 1;
- for (i = 0; i <= MAX_APIC_ID; i++) {
+ cpu_apic_ids[0] = boot_cpu_id;
+ apic_cpuids[boot_cpu_id] = 0;
+ for (i = boot_cpu_id + 1; i != boot_cpu_id;
+ i == MAX_APIC_ID ? i = 0 : i++) {
if (!cpu_info[i].cpu_present || cpu_info[i].cpu_bsp ||
cpu_info[i].cpu_disabled)
continue;
@@ -1015,6 +1125,15 @@
sched_preempt(curthread);
/* Nothing to do for AST */
+
+ if (ipi_bitmap & (1 << IPI_HARDCLOCK))
+ hardclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_STATCLOCK))
+ statclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_PROFCLOCK))
+ profclockintr(&frame);
}
/*
==== //depot/projects/usb/src/sys/amd64/conf/GENERIC#24 (text+ko) ====
@@ -16,7 +16,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.523 2009/04/10 00:40:48 jfv Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.524 2009/05/01 17:20:16 sam Exp $
cpu HAMMER
ident GENERIC
@@ -292,8 +292,10 @@
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
+device rum # Ralink Technology RT2501USB wireless NICs
+device uath # Atheros AR5523 wireless NICs
device ural # Ralink Technology RT2500USB wireless NICs
-device rum # Ralink Technology RT2501USB wireless NICs
+device zyd # ZyDAS zb1211/zb1211b wireless NICs
device urio # Diamond Rio 500 MP3 player
# USB Serial devices
device uark # Technologies ARK3116 based serial adapters
==== //depot/projects/usb/src/sys/amd64/include/apicvar.h#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/include/apicvar.h,v 1.28 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.29 2009/05/02 12:20:43 mav Exp $
*/
#ifndef _MACHINE_APICVAR_H_
@@ -126,7 +126,10 @@
/* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */
#define IPI_AST 0 /* Generate software trap. */
#define IPI_PREEMPT 1
-#define IPI_BITMAP_LAST IPI_PREEMPT
+#define IPI_HARDCLOCK 2
+#define IPI_STATCLOCK 3
+#define IPI_PROFCLOCK 4
+#define IPI_BITMAP_LAST IPI_PROFCLOCK
#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
#define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */
==== //depot/projects/usb/src/sys/amd64/include/clock.h#7 (text+ko) ====
@@ -3,7 +3,7 @@
* Garrett Wollman, September 1994.
* This file is in the public domain.
*
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.61 2008/10/21 00:38:00 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.63 2009/05/03 17:47:21 mav Exp $
*/
#ifndef _MACHINE_CLOCK_H_
@@ -15,7 +15,6 @@
* XXX large parts of the driver and its interface are misplaced.
*/
extern int clkintr_pending;
-extern int statclock_disable;
extern u_int i8254_freq;
extern int i8254_max_count;
extern uint64_t tsc_freq;
@@ -24,6 +23,12 @@
void i8254_init(void);
+struct trapframe;
+
+int hardclockintr(struct trapframe *frame);
+int statclockintr(struct trapframe *frame);
+int profclockintr(struct trapframe *frame);
+
/*
* Driver to clock driver interface.
*/
==== //depot/projects/usb/src/sys/amd64/include/smp.h#8 (text+ko) ====
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $FreeBSD: src/sys/amd64/include/smp.h,v 1.94 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/smp.h,v 1.95 2009/04/29 06:54:40 jeff Exp $
*
*/
@@ -36,10 +36,6 @@
extern struct pcb stoppcbs[];
extern int cpu_apic_ids[];
-/* global data in identcpu.c */
-extern int cpu_cores;
-extern int cpu_logical;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list