From owner-p4-projects@FreeBSD.ORG Tue Aug 25 21:12:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF4971065690; Tue, 25 Aug 2009 21:12:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A838106568D for ; Tue, 25 Aug 2009 21:12:55 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 476D98FC27 for ; Tue, 25 Aug 2009 21:12:55 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n7PLCttc022285 for ; Tue, 25 Aug 2009 21:12:55 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n7PLCsDw022283 for perforce@freebsd.org; Tue, 25 Aug 2009 21:12:54 GMT (envelope-from jhb@freebsd.org) Date: Tue, 25 Aug 2009 21:12:54 GMT Message-Id: <200908252112.n7PLCsDw022283@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 167815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Aug 2009 21:12:55 -0000 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 -__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 #include @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -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 -__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 -__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 -__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 -__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 -__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 -__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 #include @@ -82,11 +82,10 @@ #ifdef DDB #include -#include #endif -#ifdef acorn26 -#include +#ifdef KDB +#include #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 -__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 -__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 #include #include +#include #include @@ -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) <<<