Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Aug 2009 21:12:54 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 167815 for review
Message-ID:  <200908252112.n7PLCsDw022283@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=167815

Change 167815 by jhb@jhb_jhbbsd on 2009/08/25 21:12:15

	IFC @167811

Affected files ...

.. //depot/projects/smpng/share/man/man9/Makefile#9 integrate
.. //depot/projects/smpng/share/man/man9/kproc.9#2 integrate
.. //depot/projects/smpng/share/man/man9/kthread.9#2 integrate
.. //depot/projects/smpng/share/man/man9/sglist.9#2 integrate
.. //depot/projects/smpng/share/man/man9/taskqueue.9#2 integrate
.. //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#17 integrate
.. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#45 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#85 integrate
.. //depot/projects/smpng/sys/amd64/amd64/pmap.c#98 integrate
.. //depot/projects/smpng/sys/amd64/amd64/trap.c#68 integrate
.. //depot/projects/smpng/sys/amd64/include/apicvar.h#24 integrate
.. //depot/projects/smpng/sys/amd64/include/pmc_mdep.h#8 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_sysvec.c#42 integrate
.. //depot/projects/smpng/sys/arm/arm/undefined.c#17 integrate
.. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#19 integrate
.. //depot/projects/smpng/sys/arm/conf/SHEEVAPLUG#1 branch
.. //depot/projects/smpng/sys/arm/mv/common.c#6 integrate
.. //depot/projects/smpng/sys/arm/mv/discovery/db78xxx.c#5 integrate
.. //depot/projects/smpng/sys/arm/mv/kirkwood/db88f6xxx.c#5 integrate
.. //depot/projects/smpng/sys/arm/mv/kirkwood/files.db88f6xxx#2 integrate
.. //depot/projects/smpng/sys/arm/mv/kirkwood/files.kirkwood#1 branch
.. //depot/projects/smpng/sys/arm/mv/kirkwood/files.sheevaplug#1 branch
.. //depot/projects/smpng/sys/arm/mv/kirkwood/sheevaplug.c#1 branch
.. //depot/projects/smpng/sys/arm/mv/kirkwood/std.db88f6xxx#2 integrate
.. //depot/projects/smpng/sys/arm/mv/kirkwood/std.kirkwood#1 branch
.. //depot/projects/smpng/sys/arm/mv/kirkwood/std.sheevaplug#1 branch
.. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#7 integrate
.. //depot/projects/smpng/sys/arm/mv/mvreg.h#7 integrate
.. //depot/projects/smpng/sys/arm/mv/mvvar.h#4 integrate
.. //depot/projects/smpng/sys/arm/mv/orion/db88f5xxx.c#5 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/ixdp425_pci.c#3 integrate
.. //depot/projects/smpng/sys/boot/i386/gptboot/gptboot.c#4 integrate
.. //depot/projects/smpng/sys/cam/ata/ata_xpt.c#3 integrate
.. //depot/projects/smpng/sys/cam/cam_ccb.h#14 integrate
.. //depot/projects/smpng/sys/cam/cam_xpt.c#60 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c#1 branch
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/mutex.h#4 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/proc.h#3 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/taskq.h#3 delete
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/taskq_impl.h#3 delete
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/vnode.h#7 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c#4 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/vnode.c#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#4 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#7 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#14 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/os/taskq.c#3 delete
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#2 delete
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#2 delete
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#2 delete
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#4 delete
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/callb.h#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h#1 branch
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h#3 integrate
.. //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#24 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#64 integrate
.. //depot/projects/smpng/sys/conf/files#251 integrate
.. //depot/projects/smpng/sys/conf/newvers.sh#27 integrate
.. //depot/projects/smpng/sys/conf/options#176 integrate
.. //depot/projects/smpng/sys/conf/options.arm#21 integrate
.. //depot/projects/smpng/sys/contrib/altq/altq/altq_subr.c#17 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/pf.c#38 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/pf_if.c#19 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/pfvar.h#15 integrate
.. //depot/projects/smpng/sys/dev/aac/aac.c#67 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#116 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_battery.c#24 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_cpu.c#48 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_dock.c#8 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_thermal.c#46 integrate
.. //depot/projects/smpng/sys/dev/adb/adb_bus.c#5 integrate
.. //depot/projects/smpng/sys/dev/alc/if_alc.c#4 integrate
.. //depot/projects/smpng/sys/dev/amdtemp/amdtemp.c#3 integrate
.. //depot/projects/smpng/sys/dev/amr/amr.c#51 integrate
.. //depot/projects/smpng/sys/dev/asmc/asmc.c#8 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.c#100 integrate
.. //depot/projects/smpng/sys/dev/atkbdc/psm.c#17 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#109 integrate
.. //depot/projects/smpng/sys/dev/bktr/bktr_os.c#32 integrate
.. //depot/projects/smpng/sys/dev/drm/drmP.h#26 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_bufs.c#10 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_drv.c#18 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_fops.c#7 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_sysctl.c#7 integrate
.. //depot/projects/smpng/sys/dev/drm/r600_blit.c#1 branch
.. //depot/projects/smpng/sys/dev/drm/r600_cp.c#6 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_cp.c#25 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_cs.c#1 branch
.. //depot/projects/smpng/sys/dev/drm/radeon_drm.h#16 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_drv.h#23 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_state.c#19 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_em.c#12 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_igb.c#13 integrate
.. //depot/projects/smpng/sys/dev/hptrr/hptrr_osm_bsd.c#4 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#4 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_piv.c#14 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#11 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_x86.c#11 integrate
.. //depot/projects/smpng/sys/dev/ips/ips_pci.c#14 integrate
.. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_cam.c#4 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#10 integrate
.. //depot/projects/smpng/sys/dev/mfi/mfi.c#30 integrate
.. //depot/projects/smpng/sys/dev/mge/if_mge.c#7 integrate
.. //depot/projects/smpng/sys/dev/mii/e1000phy.c#21 integrate
.. //depot/projects/smpng/sys/dev/mlx/mlx.c#25 integrate
.. //depot/projects/smpng/sys/dev/mmc/mmc.c#13 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#73 integrate
.. //depot/projects/smpng/sys/dev/ppbus/vpo.c#16 integrate
.. //depot/projects/smpng/sys/dev/pst/pst-iop.c#8 integrate
.. //depot/projects/smpng/sys/dev/pty/pty.c#1 branch
.. //depot/projects/smpng/sys/dev/re/if_re.c#78 integrate
.. //depot/projects/smpng/sys/dev/rp/rp.c#28 integrate
.. //depot/projects/smpng/sys/dev/snp/snp.c#37 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#38 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#33 integrate
.. //depot/projects/smpng/sys/dev/syscons/scvgarndr.c#11 integrate
.. //depot/projects/smpng/sys/dev/syscons/scvidctl.c#14 integrate
.. //depot/projects/smpng/sys/dev/twe/twe.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/usb_controller.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/input/ukbd.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/misc/ufm.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_aue.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/net/usb_ethernet.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uvisor.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/storage/umass.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/storage/urio.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/usb.h#22 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_busdma.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_dev.c#16 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_device.c#15 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_device.h#14 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_hub.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_process.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_process.h#7 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#144 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#9 integrate
.. //depot/projects/smpng/sys/dev/xen/blkback/blkback.c#5 integrate
.. //depot/projects/smpng/sys/dev/xen/console/console.c#10 integrate
.. //depot/projects/smpng/sys/dev/xen/netback/netback.c#4 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clsubs.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#10 integrate
.. //depot/projects/smpng/sys/geom/part/g_part_gpt.c#11 integrate
.. //depot/projects/smpng/sys/i386/acpica/acpi_machdep.c#35 integrate
.. //depot/projects/smpng/sys/i386/bios/smapi.c#12 integrate
.. //depot/projects/smpng/sys/i386/bios/smbios.c#8 integrate
.. //depot/projects/smpng/sys/i386/bios/vpd.c#8 integrate
.. //depot/projects/smpng/sys/i386/i386/elf_machdep.c#20 integrate
.. //depot/projects/smpng/sys/i386/i386/local_apic.c#67 integrate
.. //depot/projects/smpng/sys/i386/i386/machdep.c#145 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#117 integrate
.. //depot/projects/smpng/sys/i386/include/apicvar.h#36 integrate
.. //depot/projects/smpng/sys/i386/include/pmc_mdep.h#7 integrate
.. //depot/projects/smpng/sys/i386/isa/vesa.c#21 integrate
.. //depot/projects/smpng/sys/i386/linux/linux_sysvec.c#70 integrate
.. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#14 integrate
.. //depot/projects/smpng/sys/ia64/ia64/genassym.c#30 integrate
.. //depot/projects/smpng/sys/ia64/ia64/machdep.c#119 integrate
.. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#43 integrate
.. //depot/projects/smpng/sys/isa/isahint.c#8 integrate
.. //depot/projects/smpng/sys/kern/imgact_elf.c#67 integrate
.. //depot/projects/smpng/sys/kern/kern_cons.c#3 integrate
.. //depot/projects/smpng/sys/kern/kern_jail.c#77 integrate
.. //depot/projects/smpng/sys/kern/kern_lock.c#78 integrate
.. //depot/projects/smpng/sys/kern/kern_mutex.c#156 integrate
.. //depot/projects/smpng/sys/kern/kern_poll.c#38 integrate
.. //depot/projects/smpng/sys/kern/kern_rwlock.c#30 integrate
.. //depot/projects/smpng/sys/kern/kern_subr.c#48 integrate
.. //depot/projects/smpng/sys/kern/kern_sx.c#59 integrate
.. //depot/projects/smpng/sys/kern/kern_uuid.c#23 integrate
.. //depot/projects/smpng/sys/kern/subr_bus.c#83 integrate
.. //depot/projects/smpng/sys/kern/subr_sglist.c#2 integrate
.. //depot/projects/smpng/sys/kern/subr_taskqueue.c#40 integrate
.. //depot/projects/smpng/sys/kern/sys_generic.c#61 integrate
.. //depot/projects/smpng/sys/kern/tty_pts.c#22 integrate
.. //depot/projects/smpng/sys/kern/tty_pty.c#57 delete
.. //depot/projects/smpng/sys/kern/tty_ttydisc.c#8 integrate
.. //depot/projects/smpng/sys/kern/uipc_domain.c#27 integrate
.. //depot/projects/smpng/sys/kern/uipc_socket.c#131 integrate
.. //depot/projects/smpng/sys/modules/drm/radeon/Makefile#7 integrate
.. //depot/projects/smpng/sys/modules/pty/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/zfs/Makefile#11 integrate
.. //depot/projects/smpng/sys/net/bridgestp.c#31 integrate
.. //depot/projects/smpng/sys/net/flowtable.c#7 integrate
.. //depot/projects/smpng/sys/net/flowtable.h#7 integrate
.. //depot/projects/smpng/sys/net/if.c#127 integrate
.. //depot/projects/smpng/sys/net/if_bridge.c#62 integrate
.. //depot/projects/smpng/sys/net/if_ef.c#34 integrate
.. //depot/projects/smpng/sys/net/if_llatbl.c#6 integrate
.. //depot/projects/smpng/sys/net/if_llatbl.h#4 integrate
.. //depot/projects/smpng/sys/net/if_var.h#70 integrate
.. //depot/projects/smpng/sys/net/if_vlan.c#70 integrate
.. //depot/projects/smpng/sys/net/vnet.h#16 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_input.c#50 integrate
.. //depot/projects/smpng/sys/netgraph/ng_gif.c#23 integrate
.. //depot/projects/smpng/sys/netinet/in.c#60 integrate
.. //depot/projects/smpng/sys/netinet/ip_carp.c#39 integrate
.. //depot/projects/smpng/sys/netinet/ip_divert.c#71 integrate
.. //depot/projects/smpng/sys/netinet/ip_divert.h#3 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw.h#52 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#114 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#7 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_pfil.c#5 integrate
.. //depot/projects/smpng/sys/netinet/sctp_indata.c#27 integrate
.. //depot/projects/smpng/sys/netinet/sctp_input.c#27 integrate
.. //depot/projects/smpng/sys/netinet/sctp_os_bsd.h#26 integrate
.. //depot/projects/smpng/sys/netinet/sctp_output.c#31 integrate
.. //depot/projects/smpng/sys/netinet/sctp_pcb.c#30 integrate
.. //depot/projects/smpng/sys/netinet/sctp_timer.c#19 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.c#32 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.h#17 integrate
.. //depot/projects/smpng/sys/netinet/tcp_timewait.c#17 integrate
.. //depot/projects/smpng/sys/netinet6/icmp6.c#60 integrate
.. //depot/projects/smpng/sys/netinet6/in6.c#65 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#42 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.c#60 integrate
.. //depot/projects/smpng/sys/netipsec/xform_ipip.c#26 integrate
.. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#47 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#94 integrate
.. //depot/projects/smpng/sys/pc98/cbus/fdc.c#11 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#53 integrate
.. //depot/projects/smpng/sys/rpc/clnt_dg.c#7 integrate
.. //depot/projects/smpng/sys/rpc/clnt_rc.c#9 integrate
.. //depot/projects/smpng/sys/rpc/clnt_vc.c#8 integrate
.. //depot/projects/smpng/sys/rpc/rpc_generic.c#3 integrate
.. //depot/projects/smpng/sys/rpc/svc_dg.c#4 integrate
.. //depot/projects/smpng/sys/rpc/svc_generic.c#4 integrate
.. //depot/projects/smpng/sys/rpc/svc_vc.c#7 integrate
.. //depot/projects/smpng/sys/sys/bus.h#36 integrate
.. //depot/projects/smpng/sys/sys/cons.h#14 integrate
.. //depot/projects/smpng/sys/sys/imgact_elf.h#14 integrate
.. //depot/projects/smpng/sys/sys/param.h#155 integrate
.. //depot/projects/smpng/sys/sys/sglist.h#2 integrate
.. //depot/projects/smpng/sys/sys/systm.h#96 integrate
.. //depot/projects/smpng/sys/sys/taskqueue.h#15 integrate
.. //depot/projects/smpng/sys/sys/ttydisc.h#4 integrate
.. //depot/projects/smpng/sys/xen/xenbus/xenbus_probe.c#6 integrate

Differences ...

==== //depot/projects/smpng/share/man/man9/Makefile#9 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.358 2009/08/12 21:03:16 sam Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.359 2009/08/23 07:48:11 julian Exp $
 
 MAN=	accept_filter.9 \
 	accf_data.9 \
@@ -713,6 +713,7 @@
 	kobj.9 kobj_delete.9 \
 	kobj.9 kobj_init.9
 MLINKS+=kproc.9 kproc_create.9 \
+	kproc.9 kthread_create.9 \
 	kproc.9 kproc_exit.9 \
 	kproc.9 kproc_resume.9 \
 	kproc.9 kproc_shutdown.9 \

==== //depot/projects/smpng/share/man/man9/kproc.9#2 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.3 2008/04/29 22:43:15 julian Exp $
+.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.4 2009/08/23 07:48:11 julian Exp $
 .\"
 .Dd October 19, 2007
 .Dt KPROC 9
@@ -64,6 +64,28 @@
 .Fa "int flags" "int pages" "char * procname" "const char *fmt" "..."
 .Fc
 .Sh DESCRIPTION
+In
+.Fx 8.0 ,
+the
+.Fn kthread* 9
+family of functions was renamed to be the
+.Fn kproc* 9
+family of functions, as they were misnamed
+and actually produced kernel processes.
+A new family of
+.Em different
+.Fn kthread_* 9
+functions was added to produce
+.Em real
+kernel 
+.Em threads . 
+See the
+.Xr kthread 9
+man page for more information on those calls.
+Also note that the
+.Fn kproc_kthread_add 9
+function appears in both pages as its functionality is split.
+.Pp
 The function
 .Fn kproc_start
 is used to start

==== //depot/projects/smpng/share/man/man9/kthread.9#2 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/kthread.9,v 1.19 2009/01/27 00:22:16 trhodes Exp $
+.\" $FreeBSD: src/share/man/man9/kthread.9,v 1.20 2009/08/23 07:48:11 julian Exp $
 .\"
 .Dd January 26, 2009
 .Dt KTHREAD 9
@@ -65,6 +65,27 @@
 .Fa "int flags" "int pages" "char * procname" "const char *fmt" "..."
 .Fc
 .Sh DESCRIPTION
+In
+.Fx 8.0 ,
+the older family of
+.Fn kthread_* 9
+functions was renamed to be the
+.Fn  kproc_* 9
+family of functions,
+as they were previously misnamed
+and actually produced kernel processes.
+This new family of
+.Fn kthread_* 9
+functions was added to produce
+.Em real
+kernel threads.
+See the
+.Xr kproc 9
+man page for more information on the renamed calls.
+Also note that the 
+.Fn kproc_kthread_add 9
+function appears in both pages as its functionality is split.
+.Pp
 The function
 .Fn kthread_start
 is used to start

==== //depot/projects/smpng/share/man/man9/sglist.9#2 (text+ko) ====

@@ -24,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/sglist.9,v 1.1 2009/06/01 20:35:53 jhb Exp $
+.\" $FreeBSD: src/share/man/man9/sglist.9,v 1.3 2009/08/21 02:59:07 jhb Exp $
 .\"
 .Dd May 15, 2009
 .Dt SGLIST 9
@@ -70,7 +70,7 @@
 .Ft struct sglist *
 .Fn sglist_clone "struct sglist *sg" "int mflags"
 .Ft int
-.Fn sglist_consume_uio "struct sglist *sg" "struct uio *uio" "int resid"
+.Fn sglist_consume_uio "struct sglist *sg" "struct uio *uio" "size_t resid"
 .Ft int
 .Fn sglist_count "void *buf" "size_t len"
 .Ft void
@@ -191,6 +191,8 @@
 family of routines can be used to append the physical address ranges described
 by an object to the end of a scatter/gather list.
 All of these routines return 0 on success or an error on failure.
+If a request to append an address range to a scatter/gather list fails,
+the scatter/gather list will remain unchanged.
 .Pp
 The
 .Nm sglist_append
@@ -445,6 +447,7 @@
 to append the physical address ranges from
 .Fa second .
 .El
+.Pp
 The
 .Nm sglist_slice
 function returns the following errors on failure:
@@ -470,6 +473,7 @@
 .Fa *slice
 to describe the requested physical address ranges.
 .El
+.Pp
 The
 .Nm sglist_split
 function returns the following errors on failure:

==== //depot/projects/smpng/share/man/man9/taskqueue.9#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.24 2008/06/13 19:45:12 gonzo Exp $
+.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.27 2009/08/18 13:55:48 pjd Exp $
 .\"
-.Dd June 13, 2008
+.Dd August 18, 2009
 .Dt TASKQUEUE 9
 .Os
 .Sh NAME
@@ -59,8 +59,6 @@
 .Fn taskqueue_create_fast "const char *name" "int mflags" "taskqueue_enqueue_fn enqueue" "void *context"
 .Ft void
 .Fn taskqueue_free "struct taskqueue *queue"
-.Ft struct taskqueue *
-.Fn taskqueue_find "const char *name"
 .Ft int
 .Fn taskqueue_enqueue "struct taskqueue *queue" "struct task *task"
 .Ft int
@@ -71,6 +69,8 @@
 .Fn taskqueue_run_fast "struct taskqueue *queue"
 .Ft void
 .Fn taskqueue_drain "struct taskqueue *queue" "struct task *task"
+.Ft int
+.Fn taskqueue_member "struct taskqueue *queue" "struct thread *td"
 .Fn TASK_INIT "struct task *task" "int priority" "task_fn_t *func" "void *context"
 .Fn TASKQUEUE_DECLARE "name"
 .Fn TASKQUEUE_DEFINE "name" "taskqueue_enqueue_fn enqueue" "void *context" "init"
@@ -113,16 +113,10 @@
 .Pp
 The function
 .Fn taskqueue_free
-should be used to remove the queue from the global list of queues
-and free the memory used by the queue.
+should be used to free the memory used by the queue.
 Any tasks that are on the queue will be executed at this time after
 which the thread servicing the queue will be signaled that it should exit.
 .Pp
-The system maintains a list of all queues which can be searched using
-.Fn taskqueue_find .
-The first queue whose name matches is returned, otherwise
-.Dv NULL .
-.Pp
 To add a task to the list of tasks queued on a taskqueue, call
 .Fn taskqueue_enqueue
 with pointers to the queue and task.
@@ -182,6 +176,18 @@
 enqueued after call to
 .Fn taskqueue_drain .
 .Pp
+The
+.Fn taskqueue_member
+function returns
+.No 1
+if the given thread
+.Fa td
+is part of the given taskqeueue
+.Fa queue
+and
+.No 0
+otherwise.
+.Pp
 A convenience macro,
 .Fn TASK_INIT "task" "priority" "func" "context"
 is provided to initialise a

==== //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#17 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.30 2009/04/05 09:27:19 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.31 2009/08/24 16:19:47 bz Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -35,6 +35,7 @@
 #include <sys/sysent.h>
 #include <sys/imgact_elf.h>
 #include <sys/syscall.h>
+#include <sys/sysent.h>
 #include <sys/signalvar.h>
 #include <sys/vnode.h>
 
@@ -108,6 +109,22 @@
 	(sysinit_cfunc_t) elf64_insert_brand_entry,
 	&freebsd_brand_oinfo);
 
+static Elf64_Brandinfo kfreebsd_brand_info = {
+	.brand		= ELFOSABI_FREEBSD,
+	.machine	= EM_X86_64,
+	.compat_3_brand	= "FreeBSD",
+	.emul_path	= NULL,
+	.interp_path	= "/lib/ld-kfreebsd-x86-64.so.1",
+	.sysvec		= &elf64_freebsd_sysvec,
+	.interp_newpath	= NULL,
+	.brand_note	= &elf64_kfreebsd_brandnote,
+	.flags		= BI_CAN_EXEC_DYN | BI_BRAND_NOTE
+};
+
+SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY,
+	(sysinit_cfunc_t) elf64_insert_brand_entry,
+	&kfreebsd_brand_info);
+
 
 void
 elf64_dump_thread(struct thread *td __unused, void *dst __unused,

==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#45 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.59 2009/08/13 17:09:45 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.60 2009/08/14 21:05:08 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -123,7 +123,7 @@
 	{ 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 },	/* LINT1: NMI */
 	{ 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_TIMER_INT },	/* Timer */
 	{ 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_ERROR_INT },	/* Error */
-	{ 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 },	/* PMC */
+	{ 1, 1, 1, 1, APIC_LVT_DM_NMI, 0 },	/* PMC */
 	{ 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_THERMAL_INT },	/* Thermal */
 };
 
@@ -305,11 +305,9 @@
 	lapic->lvt_lint0 = lvt_mode(la, LVT_LINT0, lapic->lvt_lint0);
 	lapic->lvt_lint1 = lvt_mode(la, LVT_LINT1, lapic->lvt_lint1);
 
-#ifdef	HWPMC_HOOKS
 	/* Program the PMC LVT entry if present. */
 	if (maxlvt >= LVT_PMC)
 		lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint);
-#endif
 
 	/* Program timer LVT and setup handler. */
 	lapic->lvt_timer = lvt_mode(la, LVT_TIMER, lapic->lvt_timer);
@@ -332,6 +330,88 @@
 	intr_restore(eflags);
 }
 
+void
+lapic_reenable_pmc(void)
+{
+#ifdef HWPMC_HOOKS
+	uint32_t value;
+
+	value =  lapic->lvt_pcint;
+	value &= ~APIC_LVT_M;
+	lapic->lvt_pcint = value;
+#endif
+}
+
+#ifdef HWPMC_HOOKS
+static void
+lapic_update_pmc(void *dummy)
+{
+	struct lapic *la;
+
+	la = &lapics[lapic_id()];
+	lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint);
+}
+#endif
+
+int
+lapic_enable_pmc(void)
+{
+#ifdef HWPMC_HOOKS
+	u_int32_t maxlvt;
+
+	/* Fail if the local APIC is not present. */
+	if (lapic == NULL)
+		return (0);
+
+	/* Fail if the PMC LVT is not present. */
+	maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT;
+	if (maxlvt < LVT_PMC)
+		return (0);
+
+	lvts[LVT_PMC].lvt_masked = 0;
+
+#ifdef SMP
+	/*
+	 * If hwpmc was loaded at boot time then the APs may not be
+	 * started yet.  In that case, don't forward the request to
+	 * them as they will program the lvt when they start.
+	 */
+	if (smp_started)
+		smp_rendezvous(NULL, lapic_update_pmc, NULL, NULL);
+	else
+#endif
+		lapic_update_pmc(NULL);
+	return (1);
+#else
+	return (0);
+#endif
+}
+
+void
+lapic_disable_pmc(void)
+{
+#ifdef HWPMC_HOOKS
+	u_int32_t maxlvt;
+
+	/* Fail if the local APIC is not present. */
+	if (lapic == NULL)
+		return;
+
+	/* Fail if the PMC LVT is not present. */
+	maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT;
+	if (maxlvt < LVT_PMC)
+		return;
+
+	lvts[LVT_PMC].lvt_masked = 1;
+
+#ifdef SMP
+	/* The APs should always be started when hwpmc is unloaded. */
+	KASSERT(mp_ncpus == 1 || smp_started, ("hwpmc unloaded too early"));
+#endif
+	smp_rendezvous(NULL, lapic_update_pmc, NULL, NULL);
+#endif
+}
+
 /*
  * Called by cpu_initclocks() on the BSP to setup the local APIC timer so
  * that it can drive hardclock, statclock, and profclock.  This function

==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#85 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.707 2009/08/02 11:26:23 ed Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.709 2009/08/20 22:58:05 jkim Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -217,6 +217,7 @@
 		    strncmp(sysenv, "MacBook3,1", 10) == 0 ||
 		    strncmp(sysenv, "MacBookPro1,1", 13) == 0 ||
 		    strncmp(sysenv, "MacBookPro1,2", 13) == 0 ||
+		    strncmp(sysenv, "MacBookPro3,1", 13) == 0 ||
 		    strncmp(sysenv, "Macmini1,1", 10) == 0) {
 			if (bootverbose)
 				printf("Disabling LEGACY_USB_EN bit on "
@@ -235,19 +236,21 @@
 #ifdef PERFMON
 	perfmon_init();
 #endif
+	realmem = Maxmem;
+
+	/*
+	 * Display physical memory if SMBIOS reports reasonable amount.
+	 */
+	memsize = 0;
 	sysenv = getenv("smbios.memory.enabled");
 	if (sysenv != NULL) {
-		memsize = (uintmax_t)strtoul(sysenv, (char **)NULL, 10);
+		memsize = (uintmax_t)strtoul(sysenv, (char **)NULL, 10) << 10;
 		freeenv(sysenv);
-	} else
-		memsize = 0;
-	if (memsize > 0)
-		printf("real memory  = %ju (%ju MB)\n", memsize << 10,
-		    memsize >> 10);
-	else
-		printf("real memory  = %ju (%ju MB)\n", ptoa((uintmax_t)Maxmem),
-		    ptoa((uintmax_t)Maxmem) / 1048576);
-	realmem = Maxmem;
+	}
+	if (memsize < ptoa((uintmax_t)cnt.v_free_count))
+		memsize = ptoa((uintmax_t)Maxmem);
+	printf("real memory  = %ju (%ju MB)\n", memsize, memsize >> 20);
+
 	/*
 	 * Display any holes after the first chunk of extended memory.
 	 */

==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#98 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.667 2009/07/24 13:50:29 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.668 2009/08/17 13:27:55 kib Exp $");
 
 /*
  *	Manages physical address maps.
@@ -2261,6 +2261,8 @@
 			    " in pmap %p", va, pmap);
 			return (FALSE);
 		}
+		if (va < VM_MAXUSER_ADDRESS)
+			pmap->pm_stats.resident_count++;
 	}
 	mptepa = VM_PAGE_TO_PHYS(mpte);
 	firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);

==== //depot/projects/smpng/sys/amd64/amd64/trap.c#68 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.333 2009/08/13 17:09:45 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.334 2009/08/24 16:19:47 bz Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -409,7 +409,9 @@
 					 * This check also covers the images
 					 * without the ABI-tag ELF note.
 					 */
-					if (p->p_osrel >= 700004) {
+					if (SV_CURPROC_ABI() ==
+					    SV_ABI_FREEBSD &&
+					    p->p_osrel >= 700004) {
 						i = SIGSEGV;
 						ucode = SEGV_ACCERR;
 					} else {

==== //depot/projects/smpng/sys/amd64/include/apicvar.h#24 (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.30 2009/08/13 17:09:45 attilio Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.31 2009/08/14 21:05:08 jhb Exp $
  */
 
 #ifndef _MACHINE_APICVAR_H_
@@ -201,7 +201,9 @@
 int	ioapic_set_smi(void *cookie, u_int pin);
 void	lapic_create(u_int apic_id, int boot_cpu);
 void	lapic_disable(void);
+void	lapic_disable_pmc(void);
 void	lapic_dump(const char *str);
+int	lapic_enable_pmc(void);
 void	lapic_eoi(void);
 u_int	lapic_error(void);
 int	lapic_id(void);
@@ -212,6 +214,7 @@
 int	lapic_ipi_wait(int delay);
 void	lapic_handle_intr(int vector, struct trapframe *frame);
 void	lapic_handle_timer(struct trapframe *frame);
+void	lapic_reenable_pmc(void);
 void	lapic_set_logical_id(u_int apic_id, u_int cluster, u_int cluster_id);
 int	lapic_set_lvt_mask(u_int apic_id, u_int lvt, u_char masked);
 int	lapic_set_lvt_mode(u_int apic_id, u_int lvt, u_int32_t mode);

==== //depot/projects/smpng/sys/amd64/include/pmc_mdep.h#8 (text+ko) ====

@@ -27,7 +27,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/pmc_mdep.h,v 1.8 2008/11/27 09:00:47 jkoshy Exp $
+ * $FreeBSD: src/sys/amd64/include/pmc_mdep.h,v 1.9 2009/08/14 21:05:08 jhb Exp $
  */
 
 /* Machine dependent interfaces */
@@ -115,7 +115,6 @@
  */
 
 void	start_exceptions(void), end_exceptions(void);
-void	pmc_x86_lapic_enable_pmc_interrupt(void);
 
 struct pmc_mdep *pmc_amd_initialize(void);
 void	pmc_amd_finalize(struct pmc_mdep *_md);

==== //depot/projects/smpng/sys/amd64/linux32/linux32_sysvec.c#42 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.52 2009/07/09 09:34:11 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.53 2009/08/24 16:19:47 bz Exp $");
 #include "opt_compat.h"
 
 #ifndef COMPAT_IA32
@@ -127,6 +127,7 @@
 static void	exec_linux_setregs(struct thread *td, u_long entry,
 				   u_long stack, u_long ps_strings);
 static void	linux32_fixlimit(struct rlimit *rl, int which);
+static boolean_t linux32_trans_osrel(const Elf_Note *note, int32_t *osrel);
 
 static eventhandler_tag linux_exit_tag;
 static eventhandler_tag linux_schedtail_tag;
@@ -1066,14 +1067,38 @@
 	.sv_flags	= SV_ABI_LINUX | SV_ILP32 | SV_IA32
 };
 
-static char GNULINUX_ABI_VENDOR[] = "GNU";
+static char GNU_ABI_VENDOR[] = "GNU";
+static int GNULINUX_ABI_DESC = 0;
+
+static boolean_t
+linux32_trans_osrel(const Elf_Note *note, int32_t *osrel)
+{
+	const Elf32_Word *desc;
+	uintptr_t p;
+
+	p = (uintptr_t)(note + 1);
+	p += roundup2(note->n_namesz, sizeof(Elf32_Addr));
+
+	desc = (const Elf32_Word *)p;
+	if (desc[0] != GNULINUX_ABI_DESC)
+		return (FALSE);
+
+	/*
+	 * For linux we encode osrel as follows (see linux_mib.c):
+	 * VVVMMMIII (version, major, minor), see linux_mib.c.
+	 */
+	*osrel = desc[1] * 1000000 + desc[2] * 1000 + desc[3];
+
+	return (TRUE);
+}
 
 static Elf_Brandnote linux32_brandnote = {
-	.hdr.n_namesz	= sizeof(GNULINUX_ABI_VENDOR),
-	.hdr.n_descsz	= 16,
+	.hdr.n_namesz	= sizeof(GNU_ABI_VENDOR),
+	.hdr.n_descsz	= 16,	/* XXX at least 16 */
 	.hdr.n_type	= 1,
-	.vendor		= GNULINUX_ABI_VENDOR,
-	.flags		= 0
+	.vendor		= GNU_ABI_VENDOR,
+	.flags		= BN_TRANSLATE_OSREL,
+	.trans_osrel	= linux32_trans_osrel
 };
 
 static Elf32_Brandinfo linux_brand = {

==== //depot/projects/smpng/sys/arm/arm/undefined.c#17 (text+ko) ====

@@ -48,7 +48,7 @@
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.16 2008/10/23 15:53:51 des Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.17 2009/08/23 23:37:53 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -82,11 +82,10 @@
 
 #ifdef DDB
 #include <ddb/db_output.h>
-#include <machine/db_machdep.h>
 #endif
 
-#ifdef acorn26
-#include <machine/machdep.h>
+#ifdef KDB
+#include <machine/db_machdep.h>
 #endif
 
 static int gdb_trapper(u_int, u_int, struct trapframe *, int);

==== //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#19 (text) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.19 2009/01/22 21:56:41 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.20 2009/08/15 15:15:20 stas Exp $");
 
 #include "opt_comconsole.h"
 
@@ -307,6 +307,10 @@
 int
 at91_usart_bus_probe(struct uart_softc *sc)
 {
+
+	sc->sc_txfifosz = USART_BUFFER_SIZE;
+	sc->sc_rxfifosz = USART_BUFFER_SIZE;
+	sc->sc_hwiflow = 0;
 	return (0);
 }
 
@@ -344,10 +348,6 @@
 		atsc->flags |= HAS_TIMEOUT;
 	WR4(&sc->sc_bas, USART_IDR, 0xffffffff);
 
-	sc->sc_txfifosz = USART_BUFFER_SIZE;
-	sc->sc_rxfifosz = USART_BUFFER_SIZE;
-	sc->sc_hwiflow = 0;
-
 #ifndef SKYEYE_WORKAROUNDS
 	/*
 	 * Allocate DMA tags and maps

==== //depot/projects/smpng/sys/arm/mv/common.c#6 (text+ko) ====

@@ -30,10 +30,12 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.7 2009/06/12 20:00:38 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.8 2009/08/25 09:35:50 raj Exp $");
 
+#include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
+#include <sys/kernel.h>
 
 #include <machine/bus.h>
 
@@ -62,6 +64,76 @@
 
 static uint32_t used_cpu_wins;
 
+static __inline int
+pm_is_disabled(uint32_t mask)
+{
+
+	return (soc_power_ctrl_get(mask) == mask ? 0 : 1);
+}
+
+static __inline uint32_t
+obio_get_pm_mask(uint32_t base)
+{
+	struct obio_device *od;
+
+	for (od = obio_devices; od->od_name != NULL; od++)
+		if (od->od_base == base)
+			return (od->od_pwr_mask);
+
+	return (CPU_PM_CTRL_NONE);
+}
+
+/*
+ * Disable device using power management register.
+ * 1 - Device Power On
+ * 0 - Device Power Off
+ * Mask can be set in loader.
+ * EXAMPLE:
+ * loader> set hw.pm-disable-mask=0x2
+ *
+ * Common mask:
+ * |-------------------------------|
+ * | Device | Kirkwood | Discovery |
+ * |-------------------------------|
+ * | USB0   | 0x00008  | 0x020000  |
+ * |-------------------------------|
+ * | USB1   |     -    | 0x040000  |
+ * |-------------------------------|
+ * | USB2   |     -    | 0x080000  |
+ * |-------------------------------|
+ * | GE0    | 0x00001  | 0x000002  |
+ * |-------------------------------|
+ * | GE1    |     -    | 0x000004  |
+ * |-------------------------------|
+ * | IDMA   |     -    | 0x100000  |
+ * |-------------------------------|
+ * | XOR    | 0x10000  | 0x200000  |
+ * |-------------------------------|
+ * | CESA   | 0x20000  | 0x400000  |
+ * |-------------------------------|
+ * | SATA   | 0x04000  | 0x004000  |
+ * --------------------------------|
+ * This feature can be used only on Kirkwood and Discovery
+ * machines.
+ */
+static __inline void
+pm_disable_device(int mask)
+{
+#ifdef DIAGNOSTIC
+	uint32_t reg;
+
+	reg = soc_power_ctrl_get(CPU_PM_CTRL_ALL);
+	printf("Power Management Register: 0%x\n", reg);
+
+	reg &= ~mask;
+	soc_power_ctrl_set(reg);
+	printf("Device %x is disabled\n", mask);
+
+	reg = soc_power_ctrl_get(CPU_PM_CTRL_ALL);
+	printf("Power Management Register: 0%x\n", reg);
+#endif
+}
+
 uint32_t
 read_cpu_ctrl(uint32_t reg)
 {
@@ -103,14 +175,36 @@

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908252112.n7PLCsDw022283>