Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Nov 2009 20:05:03 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 170505 for review
Message-ID:  <200911112005.nABK535M017263@repoman.freebsd.org>

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

Change 170505 by hselasky@hselasky_laptop001 on 2009/11/11 20:04:37

	
	IFC @ 170502

Affected files ...

.. //depot/projects/usb/src/lib/libusb/libusb.h#11 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10.c#15 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10_desc.c#11 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10_io.c#11 integrate
.. //depot/projects/usb/src/lib/libusb/libusb20.c#9 integrate
.. //depot/projects/usb/src/lib/libusb/libusb20_desc.c#5 integrate
.. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#11 integrate
.. //depot/projects/usb/src/sys/amd64/acpica/acpi_wakeup.c#7 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#18 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/initcpu.c#9 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#25 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#33 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/trap.c#19 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/vm_machdep.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/isa/isa_dma.c#2 integrate
.. //depot/projects/usb/src/sys/arm/arm/db_trace.c#4 integrate
.. //depot/projects/usb/src/sys/arm/arm/gdb_machdep.c#2 integrate
.. //depot/projects/usb/src/sys/arm/arm/machdep.c#11 integrate
.. //depot/projects/usb/src/sys/arm/arm/trap.c#9 integrate
.. //depot/projects/usb/src/sys/arm/arm/vm_machdep.c#12 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#5 integrate
.. //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#9 integrate
.. //depot/projects/usb/src/sys/arm/sa11x0/assabet_machdep.c#10 integrate
.. //depot/projects/usb/src/sys/boot/uboot/lib/glue.c#5 integrate
.. //depot/projects/usb/src/sys/cam/ata/ata_all.c#4 integrate
.. //depot/projects/usb/src/sys/cam/ata/ata_all.h#3 integrate
.. //depot/projects/usb/src/sys/cam/ata/ata_da.c#7 integrate
.. //depot/projects/usb/src/sys/cam/ata/ata_xpt.c#6 integrate
.. //depot/projects/usb/src/sys/cam/cam.c#5 integrate
.. //depot/projects/usb/src/sys/cam/cam.h#5 integrate
.. //depot/projects/usb/src/sys/cam/cam_ccb.h#9 integrate
.. //depot/projects/usb/src/sys/cam/cam_periph.c#14 integrate
.. //depot/projects/usb/src/sys/cam/cam_periph.h#6 integrate
.. //depot/projects/usb/src/sys/cam/cam_xpt.c#25 integrate
.. //depot/projects/usb/src/sys/cam/cam_xpt_internal.h#4 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_da.c#17 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_xpt.c#3 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#4 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#10 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_ipc.c#6 integrate
.. //depot/projects/usb/src/sys/compat/ndis/kern_ndis.c#15 integrate
.. //depot/projects/usb/src/sys/compat/ndis/kern_windrv.c#9 integrate
.. //depot/projects/usb/src/sys/compat/ndis/subr_hal.c#5 integrate
.. //depot/projects/usb/src/sys/compat/ndis/subr_ndis.c#18 integrate
.. //depot/projects/usb/src/sys/compat/ndis/subr_ntoskrnl.c#13 integrate
.. //depot/projects/usb/src/sys/compat/ndis/subr_pe.c#4 integrate
.. //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#18 integrate
.. //depot/projects/usb/src/sys/conf/NOTES#49 integrate
.. //depot/projects/usb/src/sys/conf/files#85 integrate
.. //depot/projects/usb/src/sys/conf/files.ia64#14 integrate
.. //depot/projects/usb/src/sys/conf/options#42 integrate
.. //depot/projects/usb/src/sys/contrib/altq/altq/altq_hfsc.c#5 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi.c#24 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi_cpu.c#14 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi_ec.c#7 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi_hpet.c#10 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpivar.h#13 integrate
.. //depot/projects/usb/src/sys/dev/ahci/ahci.c#6 integrate
.. //depot/projects/usb/src/sys/dev/ahci/ahci.h#4 integrate
.. //depot/projects/usb/src/sys/dev/an/if_an.c#8 integrate
.. //depot/projects/usb/src/sys/dev/an/if_an_isa.c#3 integrate
.. //depot/projects/usb/src/sys/dev/an/if_an_pccard.c#3 integrate
.. //depot/projects/usb/src/sys/dev/an/if_an_pci.c#4 integrate
.. //depot/projects/usb/src/sys/dev/an/if_anreg.h#5 integrate
.. //depot/projects/usb/src/sys/dev/arcmsr/arcmsr.c#11 integrate
.. //depot/projects/usb/src/sys/dev/arcmsr/arcmsr.h#5 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-all.h#16 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-disk.c#17 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.h#23 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-queue.c#16 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-raid.c#12 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-cd.c#13 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-intel.c#8 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-nvidia.c#9 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-siliconimage.c#8 integrate
.. //depot/projects/usb/src/sys/dev/ath/if_ath.c#33 integrate
.. //depot/projects/usb/src/sys/dev/bge/if_bge.c#23 integrate
.. //depot/projects/usb/src/sys/dev/bge/if_bgereg.h#12 integrate
.. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#24 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#15 integrate
.. //depot/projects/usb/src/sys/dev/fb/vesa.c#5 integrate
.. //depot/projects/usb/src/sys/dev/fb/vgareg.h#3 integrate
.. //depot/projects/usb/src/sys/dev/fdc/fdc.c#11 integrate
.. //depot/projects/usb/src/sys/dev/hatm/if_hatm.c#3 integrate
.. //depot/projects/usb/src/sys/dev/hptrr/hptrr_osm_bsd.c#3 integrate
.. //depot/projects/usb/src/sys/dev/ichwd/ichwd.c#10 integrate
.. //depot/projects/usb/src/sys/dev/ieee488/ibfoo.c#3 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#34 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#22 integrate
.. //depot/projects/usb/src/sys/dev/isp/isp_sbus.c#8 integrate
.. //depot/projects/usb/src/sys/dev/ixgb/if_ixgb.c#8 integrate
.. //depot/projects/usb/src/sys/dev/ixgb/if_ixgb.h#2 integrate
.. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#14 integrate
.. //depot/projects/usb/src/sys/dev/mii/brgphy.c#11 integrate
.. //depot/projects/usb/src/sys/dev/mii/miidevs#15 integrate
.. //depot/projects/usb/src/sys/dev/msk/if_msk.c#17 integrate
.. //depot/projects/usb/src/sys/dev/msk/if_mskreg.h#12 integrate
.. //depot/projects/usb/src/sys/dev/nfe/if_nfe.c#12 integrate
.. //depot/projects/usb/src/sys/dev/patm/if_patm_attach.c#3 integrate
.. //depot/projects/usb/src/sys/dev/pci/vga_pci.c#5 integrate
.. //depot/projects/usb/src/sys/dev/re/if_re.c#23 integrate
.. //depot/projects/usb/src/sys/dev/siis/siis.c#6 integrate
.. //depot/projects/usb/src/sys/dev/siis/siis.h#2 integrate
.. //depot/projects/usb/src/sys/dev/sk/if_sk.c#11 integrate
.. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#59 integrate
.. //depot/projects/usb/src/sys/dev/stge/if_stge.c#9 integrate
.. //depot/projects/usb/src/sys/dev/sym/sym_hipd.c#9 integrate
.. //depot/projects/usb/src/sys/dev/syscons/scterm-teken.c#10 integrate
.. //depot/projects/usb/src/sys/dev/syscons/syscons.c#18 integrate
.. //depot/projects/usb/src/sys/dev/syscons/syscons.h#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#44 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.h#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci_ixp4xx.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci_mbus.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#19 integrate
.. //depot/projects/usb/src/sys/dev/usb/input/atp.c#1 branch
.. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#37 integrate
.. //depot/projects/usb/src/sys/dev/usb/input/ums.c#25 integrate
.. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#17 integrate
.. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#38 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#53 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#25 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_core.h#31 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#173 integrate
.. //depot/projects/usb/src/sys/dev/usb/usbdi.h#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#11 integrate
.. //depot/projects/usb/src/sys/dev/vge/if_vge.c#11 integrate
.. //depot/projects/usb/src/sys/dev/vge/if_vgevar.h#2 integrate
.. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#15 integrate
.. //depot/projects/usb/src/sys/fs/fifofs/fifo_vnops.c#16 integrate
.. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#12 integrate
.. //depot/projects/usb/src/sys/geom/part/g_part_gpt.c#15 integrate
.. //depot/projects/usb/src/sys/gnu/fs/ext2fs/ext2_inode_cnv.c#2 integrate
.. //depot/projects/usb/src/sys/gnu/fs/ext2fs/ext2_vnops.c#11 integrate
.. //depot/projects/usb/src/sys/i386/i386/identcpu.c#16 integrate
.. //depot/projects/usb/src/sys/i386/i386/initcpu.c#10 integrate
.. //depot/projects/usb/src/sys/i386/i386/pmap.c#29 integrate
.. //depot/projects/usb/src/sys/i386/i386/trap.c#16 integrate
.. //depot/projects/usb/src/sys/i386/i386/vm_machdep.c#15 integrate
.. //depot/projects/usb/src/sys/i386/isa/isa_dma.c#2 integrate
.. //depot/projects/usb/src/sys/i386/xen/pmap.c#16 integrate
.. //depot/projects/usb/src/sys/ia64/ia64/highfp.c#1 branch
.. //depot/projects/usb/src/sys/ia64/ia64/interrupt.c#10 integrate
.. //depot/projects/usb/src/sys/ia64/ia64/machdep.c#14 integrate
.. //depot/projects/usb/src/sys/ia64/ia64/trap.c#8 integrate
.. //depot/projects/usb/src/sys/ia64/ia64/vm_machdep.c#5 integrate
.. //depot/projects/usb/src/sys/ia64/include/md_var.h#6 integrate
.. //depot/projects/usb/src/sys/ia64/include/proc.h#2 integrate
.. //depot/projects/usb/src/sys/isa/vga_isa.c#3 integrate
.. //depot/projects/usb/src/sys/kern/kern_idle.c#6 integrate
.. //depot/projects/usb/src/sys/kern/kern_intr.c#17 integrate
.. //depot/projects/usb/src/sys/kern/kern_lock.c#21 integrate
.. //depot/projects/usb/src/sys/kern/kern_sig.c#20 integrate
.. //depot/projects/usb/src/sys/kern/sched_4bsd.c#12 integrate
.. //depot/projects/usb/src/sys/kern/sched_ule.c#20 integrate
.. //depot/projects/usb/src/sys/kern/subr_log.c#3 integrate
.. //depot/projects/usb/src/sys/kern/subr_prf.c#10 integrate
.. //depot/projects/usb/src/sys/kern/uipc_syscalls.c#22 integrate
.. //depot/projects/usb/src/sys/kern/vfs_acl.c#8 integrate
.. //depot/projects/usb/src/sys/kern/vfs_default.c#16 integrate
.. //depot/projects/usb/src/sys/kern/vfs_lookup.c#21 integrate
.. //depot/projects/usb/src/sys/kern/vfs_mount.c#31 integrate
.. //depot/projects/usb/src/sys/kern/vfs_vnops.c#24 integrate
.. //depot/projects/usb/src/sys/mips/include/pcb.h#2 integrate
.. //depot/projects/usb/src/sys/mips/mips/machdep.c#8 integrate
.. //depot/projects/usb/src/sys/mips/mips/pmap.c#14 integrate
.. //depot/projects/usb/src/sys/mips/mips/trap.c#4 integrate
.. //depot/projects/usb/src/sys/mips/mips/vm_machdep.c#2 integrate
.. //depot/projects/usb/src/sys/modules/ichwd/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb/Makefile#24 integrate
.. //depot/projects/usb/src/sys/modules/usb/atp/Makefile#1 branch
.. //depot/projects/usb/src/sys/net/if_ef.c#13 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211.c#30 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_action.c#4 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ioctl.h#17 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_proto.h#21 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_eiface.c#16 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_fec.c#6 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_iface.c#19 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_sppp.c#4 integrate
.. //depot/projects/usb/src/sys/netinet/ip_ipsec.c#18 integrate
.. //depot/projects/usb/src/sys/netinet/ip_ipsec.h#5 integrate
.. //depot/projects/usb/src/sys/netinet/ip_output.c#30 integrate
.. //depot/projects/usb/src/sys/netinet/ipfw/ip_dummynet.c#4 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_output.c#21 integrate
.. //depot/projects/usb/src/sys/netinet6/nd6.c#27 integrate
.. //depot/projects/usb/src/sys/pc98/cbus/scterm-sck.c#5 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/copyinout.c#2 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/mmu_oea64.c#7 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/swtch.S#7 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/trap.c#5 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/vm_machdep.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/trap.c#4 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/vm_machdep.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/cpu.c#12 integrate
.. //depot/projects/usb/src/sys/rpc/clnt_vc.c#9 integrate
.. //depot/projects/usb/src/sys/sparc64/include/pcb.h#3 integrate
.. //depot/projects/usb/src/sys/sparc64/sparc64/trap.c#10 integrate
.. //depot/projects/usb/src/sys/sparc64/sparc64/vm_machdep.c#7 integrate
.. //depot/projects/usb/src/sys/sun4v/sun4v/trap.c#7 integrate
.. //depot/projects/usb/src/sys/sun4v/sun4v/vm_machdep.c#4 integrate
.. //depot/projects/usb/src/sys/sys/ata.h#8 integrate
.. //depot/projects/usb/src/sys/sys/fbio.h#2 integrate
.. //depot/projects/usb/src/sys/sys/mman.h#4 integrate
.. //depot/projects/usb/src/sys/sys/msgbuf.h#3 integrate
.. //depot/projects/usb/src/sys/sys/proc.h#23 integrate
.. //depot/projects/usb/src/sys/sys/signalvar.h#7 integrate
.. //depot/projects/usb/src/sys/teken/teken.c#4 integrate
.. //depot/projects/usb/src/sys/teken/teken.h#4 integrate
.. //depot/projects/usb/src/sys/teken/teken_subr.h#4 integrate
.. //depot/projects/usb/src/sys/vm/swap_pager.c#18 integrate
.. //depot/projects/usb/src/sys/vm/vm_fault.c#19 integrate
.. //depot/projects/usb/src/sys/vm/vm_map.c#22 integrate
.. //depot/projects/usb/src/sys/vm/vm_zeroidle.c#10 integrate
.. //depot/projects/usb/src/usr.sbin/usbconfig/dump.c#16 integrate
.. //depot/projects/usb/src/usr.sbin/usbconfig/usbconfig.8#7 integrate

Differences ...

==== //depot/projects/usb/src/lib/libusb/libusb.h#11 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb.h,v 1.9 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb.h,v 1.10 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
  *

==== //depot/projects/usb/src/lib/libusb/libusb10.c#15 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.4 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
  * Copyright (c) 2009 Hans Petter Selasky. All rights reserved.

==== //depot/projects/usb/src/lib/libusb/libusb10_desc.c#11 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10_desc.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10_desc.c,v 1.4 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
  *

==== //depot/projects/usb/src/lib/libusb/libusb10_io.c#11 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10_io.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10_io.c,v 1.4 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
  *

==== //depot/projects/usb/src/lib/libusb/libusb20.c#9 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20.c,v 1.4 2009/06/12 16:07:06 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20.c,v 1.5 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *

==== //depot/projects/usb/src/lib/libusb/libusb20_desc.c#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_desc.c,v 1.1 2009/03/09 17:09:46 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_desc.c,v 1.2 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *

==== //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#11 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.5 2009/10/22 21:01:41 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.6 2009/11/08 20:03:52 thompsa Exp $ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *

==== //depot/projects/usb/src/sys/amd64/acpica/acpi_wakeup.c#7 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.27 2009/10/08 17:41:53 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.28 2009/11/04 22:39:18 jkim Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -65,9 +65,9 @@
 extern int		acpi_reset_video;
 
 #ifdef SMP
-extern struct xpcb	*stopxpcbs;
+extern struct xpcb	**stopxpcbs;
 #else
-static struct xpcb	*stopxpcbs;
+static struct xpcb	**stopxpcbs;
 #endif
 
 int			acpi_restorecpu(struct xpcb *, vm_offset_t);
@@ -104,10 +104,10 @@
 	int		apic_id = cpu_apic_ids[cpu];
 	int		ms;
 
-	WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, &stopxpcbs[cpu]);
-	WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu].xpcb_gdt.rd_limit);
+	WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[cpu]);
+	WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu]->xpcb_gdt.rd_limit);
 	WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t,
-	    stopxpcbs[cpu].xpcb_gdt.rd_base);
+	    stopxpcbs[cpu]->xpcb_gdt.rd_base);
 	WAKECODE_FIXUP(wakeup_cpu, int, cpu);
 
 	/* do an INIT IPI: assert RESET */
@@ -245,8 +245,8 @@
 	cr3 = rcr3();
 	load_cr3(KPML4phys);
 
-	stopfpu = &stopxpcbs[0].xpcb_pcb.pcb_save;
-	if (acpi_savecpu(&stopxpcbs[0])) {
+	stopfpu = &stopxpcbs[0]->xpcb_pcb.pcb_save;
+	if (acpi_savecpu(stopxpcbs[0])) {
 		fpugetregs(curthread, stopfpu);
 
 #ifdef SMP
@@ -261,11 +261,11 @@
 		WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0));
 		WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0));
 
-		WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, &stopxpcbs[0]);
+		WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[0]);
 		WAKECODE_FIXUP(wakeup_gdt, uint16_t,
-		    stopxpcbs[0].xpcb_gdt.rd_limit);
+		    stopxpcbs[0]->xpcb_gdt.rd_limit);
 		WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t,
-		    stopxpcbs[0].xpcb_gdt.rd_base);
+		    stopxpcbs[0]->xpcb_gdt.rd_base);
 		WAKECODE_FIXUP(wakeup_cpu, int, 0);
 
 		/* Call ACPICA to enter the desired sleep state */
@@ -320,6 +320,7 @@
 acpi_alloc_wakeup_handler(void)
 {
 	void		*wakeaddr;
+	int		i;
 
 	/*
 	 * Specify the region for our wakeup code.  We want it in the low 1 MB
@@ -334,12 +335,9 @@
 		printf("%s: can't alloc wake memory\n", __func__);
 		return (NULL);
 	}
-	stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_NOWAIT);
-	if (stopxpcbs == NULL) {
-		contigfree(wakeaddr, 4 * PAGE_SIZE, M_DEVBUF);
-		printf("%s: can't alloc CPU state memory\n", __func__);
-		return (NULL);
-	}
+	stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_WAITOK);
+	for (i = 0; i < mp_ncpus; i++)
+		stopxpcbs[i] = malloc(sizeof(**stopxpcbs), M_DEVBUF, M_WAITOK);
 
 	return (wakeaddr);
 }

==== //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#18 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.175 2009/09/10 17:27:36 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.177 2009/11/05 14:34:38 attilio Exp $");
 
 #include "opt_cpu.h"
 
@@ -607,6 +607,21 @@
 		printf(", %d lines/tag", (regs[2] >> 8) & 0x0f);
 		print_AMD_l2_assoc((regs[2] >> 12) & 0x0f);	
 	}
+
+	/*
+	 * Opteron Rev E shows a bug as in very rare occasions a read memory 
+	 * barrier is not performed as expected if it is followed by a 
+	 * non-atomic read-modify-write instruction.  
+	 * As long as that bug pops up very rarely (intensive machine usage
+	 * on other operating systems generally generates one unexplainable 
+	 * crash any 2 months) and as long as a model specific fix would be
+	 * impratical at this stage, print out a warning string if the broken
+	 * model and family are identified.
+	 */
+	if (CPUID_TO_FAMILY(cpu_id) == 0xf && CPUID_TO_MODEL(cpu_id) >= 0x20 &&
+	    CPUID_TO_MODEL(cpu_id) <= 0x3f)
+		printf("WARNING: This architecture revision has known SMP "
+		    "hardware bugs which may cause random instability\n");
 }
 
 static void

==== //depot/projects/usb/src/sys/amd64/amd64/initcpu.c#9 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.56 2009/10/01 12:52:48 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.57 2009/11/09 02:54:16 kuriyama Exp $");
 
 #include "opt_cpu.h"
 
@@ -47,6 +47,13 @@
 static int	hw_instruction_sse;
 SYSCTL_INT(_hw, OID_AUTO, instruction_sse, CTLFLAG_RD,
     &hw_instruction_sse, 0, "SIMD/MMX2 instructions available in CPU");
+/*
+ * -1: automatic (default)
+ *  0: keep enable CLFLUSH
+ *  1: force disable CLFLUSH
+ */
+static int	hw_clflush_disable = -1;
+TUNABLE_INT("hw.clflush_disable", &hw_clflush_disable);
 
 int	cpu;			/* Are we 386, 386sx, 486, etc? */
 u_int	cpu_feature;		/* Feature flags */
@@ -169,6 +176,16 @@
 	 * XXXKIB: (temporary) hack to work around traps generated when
 	 * CLFLUSHing APIC registers window.
 	 */
-	if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS))
+	TUNABLE_INT_FETCH("hw.clflush_disable", &hw_clflush_disable);
+	if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS) &&
+	    hw_clflush_disable == -1)
+		cpu_feature &= ~CPUID_CLFSH;
+	/*
+	 * Allow to disable CLFLUSH feature manually by
+	 * hw.clflush_disable tunable.  This may help Xen guest on some AMD
+	 * CPUs.
+	 */
+	if (hw_clflush_disable == 1) {
 		cpu_feature &= ~CPUID_CLFSH;
+	}
 }

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

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.310 2009/08/13 17:09:45 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.311 2009/11/04 22:39:18 jkim Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -105,7 +105,7 @@
 extern pt_entry_t *SMPpt;
 
 struct pcb stoppcbs[MAXCPU];
-struct xpcb *stopxpcbs = NULL;
+struct xpcb **stopxpcbs = NULL;
 
 /* Variables needed for SMP tlb shootdown. */
 vm_offset_t smp_tlb_addr1;
@@ -1256,8 +1256,8 @@
 
 	rf = intr_disable();
 	cr3 = rcr3();
-	stopfpu = &stopxpcbs[cpu].xpcb_pcb.pcb_save;
-	if (savectx2(&stopxpcbs[cpu])) {
+	stopfpu = &stopxpcbs[cpu]->xpcb_pcb.pcb_save;
+	if (savectx2(stopxpcbs[cpu])) {
 		fpugetregs(curthread, stopfpu);
 		wbinvd();
 		atomic_set_int(&stopped_cpus, cpumask);

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

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.675 2009/10/21 18:38:02 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.676 2009/11/11 14:21:31 avg Exp $");
 
 /*
  *	Manages physical address maps.
@@ -183,7 +183,7 @@
 SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
 
 static int pg_ps_enabled = 1;
-SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RD, &pg_ps_enabled, 0,
+SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RDTUN, &pg_ps_enabled, 0,
     "Are large page mappings enabled?");
 
 static u_int64_t	KPTphys;	/* phys addr of kernel level 1 */

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

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.336 2009/09/24 14:26:42 emaste Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.337 2009/11/10 11:43:07 kib Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -1007,39 +1007,7 @@
 #endif
 	}
 
-	switch (error) {
-	case 0:
-		frame->tf_rax = td->td_retval[0];
-		frame->tf_rdx = td->td_retval[1];
-		frame->tf_rflags &= ~PSL_C;
-		break;
-
-	case ERESTART:
-		/*
-		 * Reconstruct pc, we know that 'syscall' is 2 bytes.
-		 * We have to do a full context restore so that %r10
-		 * (which was holding the value of %rcx) is restored for
-		 * the next iteration.
-		 */
-		frame->tf_rip -= frame->tf_err;
-		frame->tf_r10 = frame->tf_rcx;
-		td->td_pcb->pcb_flags |= PCB_FULLCTX;
-		break;
-
-	case EJUSTRETURN:
-		break;
-
-	default:
- 		if (p->p_sysent->sv_errsize) {
- 			if (error >= p->p_sysent->sv_errsize)
-  				error = -1;	/* XXX */
-   			else
-  				error = p->p_sysent->sv_errtbl[error];
-		}
-		frame->tf_rax = error;
-		frame->tf_rflags |= PSL_C;
-		break;
-	}
+	cpu_set_syscall_retval(td, error);
 
 	/*
 	 * Traced syscall.

==== //depot/projects/usb/src/sys/amd64/amd64/vm_machdep.c#14 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.264 2009/07/09 09:34:11 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.265 2009/11/10 11:43:07 kib Exp $");
 
 #include "opt_isa.h"
 #include "opt_cpu.h"
@@ -317,6 +317,45 @@
 	cpu_thread_clean(td);
 }
 
+void
+cpu_set_syscall_retval(struct thread *td, int error)
+{
+
+	switch (error) {
+	case 0:
+		td->td_frame->tf_rax = td->td_retval[0];
+		td->td_frame->tf_rdx = td->td_retval[1];
+		td->td_frame->tf_rflags &= ~PSL_C;
+		break;
+
+	case ERESTART:
+		/*
+		 * Reconstruct pc, we know that 'syscall' is 2 bytes.
+		 * We have to do a full context restore so that %r10
+		 * (which was holding the value of %rcx) is restored
+		 * for the next iteration.
+		 */
+		td->td_frame->tf_rip -= td->td_frame->tf_err;
+		td->td_frame->tf_r10 = td->td_frame->tf_rcx;
+		td->td_pcb->pcb_flags |= PCB_FULLCTX;
+		break;
+
+	case EJUSTRETURN:
+		break;
+
+	default:
+		if (td->td_proc->p_sysent->sv_errsize) {
+			if (error >= td->td_proc->p_sysent->sv_errsize)
+				error = -1;	/* XXX */
+			else
+				error = td->td_proc->p_sysent->sv_errtbl[error];
+		}
+		td->td_frame->tf_rax = error;
+		td->td_frame->tf_rflags |= PSL_C;
+		break;
+	}
+}
+
 /*
  * Initialize machine state (pcb and trap frame) for a new thread about to
  * upcall. Put enough state in the new thread's PCB to get it to go back 

==== //depot/projects/usb/src/sys/amd64/isa/isa_dma.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/isa_dma.c,v 1.22 2005/05/14 10:14:56 nyan Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/isa_dma.c,v 1.23 2009/11/09 20:29:10 rdivacky Exp $");
 
 /*
  * code to manage AT bus
@@ -71,6 +71,8 @@
 static u_int8_t	dma_busy = 0;		/* Used in isa_dmastart() */
 static u_int8_t	dma_inuse = 0;		/* User for acquire/release */
 static u_int8_t dma_auto_mode = 0;
+static struct mtx isa_dma_lock;
+MTX_SYSINIT(isa_dma_lock, &isa_dma_lock, "isa DMA lock", MTX_DEF);
 
 #define VALID_DMA_MASK (7)
 
@@ -84,39 +86,56 @@
 isa_dma_init(int chan, u_int bouncebufsize, int flag)
 {
 	void *buf;
-
-	/*
-	 * If a DMA channel is shared, both drivers have to call isa_dma_init
-	 * since they don't know that the other driver will do it.
-	 * Just return if we're already set up good.
-	 * XXX: this only works if they agree on the bouncebuf size.  This
-	 * XXX: is typically the case since they are multiple instances of
-	 * XXX: the same driver.
-	 */
-	if (dma_bouncebuf[chan] != NULL)
-		return (0);
+	int contig;
 
 #ifdef DIAGNOSTIC
 	if (chan & ~VALID_DMA_MASK)
 		panic("isa_dma_init: channel out of range");
 #endif
 
-	dma_bouncebufsize[chan] = bouncebufsize;
 
 	/* Try malloc() first.  It works better if it works. */
 	buf = malloc(bouncebufsize, M_DEVBUF, flag);
 	if (buf != NULL) {
-		if (isa_dmarangecheck(buf, bouncebufsize, chan) == 0) {
-			dma_bouncebuf[chan] = buf;
-			return (0);
+		if (isa_dmarangecheck(buf, bouncebufsize, chan) != 0) {
+			free(buf, M_DEVBUF);
+			buf = NULL;
 		}
-		free(buf, M_DEVBUF);
+		contig = 0;
 	}
-	buf = contigmalloc(bouncebufsize, M_DEVBUF, flag, 0ul, 0xfffffful,
+
+	if (buf == NULL) {
+		buf = contigmalloc(bouncebufsize, M_DEVBUF, flag, 0ul, 0xfffffful,
 			   1ul, chan & 4 ? 0x20000ul : 0x10000ul);
+		contig = 1;
+	}
+
 	if (buf == NULL)
 		return (ENOMEM);
+
+	mtx_lock(&isa_dma_lock);
+	/*
+	 * If a DMA channel is shared, both drivers have to call isa_dma_init
+	 * since they don't know that the other driver will do it.
+	 * Just return if we're already set up good.
+	 * XXX: this only works if they agree on the bouncebuf size.  This
+	 * XXX: is typically the case since they are multiple instances of
+	 * XXX: the same driver.
+	 */
+	if (dma_bouncebuf[chan] != NULL) {
+		if (contig)
+			contigfree(buf, bouncebufsize, M_DEVBUF);
+		else
+			free(buf, M_DEVBUF);
+		mtx_unlock(&isa_dma_lock);
+		return (0);
+	}
+
+	dma_bouncebufsize[chan] = bouncebufsize;
 	dma_bouncebuf[chan] = buf;
+
+	mtx_unlock(&isa_dma_lock);
+
 	return (0);
 }
 
@@ -133,12 +152,15 @@
 		panic("isa_dma_acquire: channel out of range");
 #endif
 
+	mtx_lock(&isa_dma_lock);
 	if (dma_inuse & (1 << chan)) {
 		printf("isa_dma_acquire: channel %d already in use\n", chan);
+		mtx_unlock(&isa_dma_lock);
 		return (EBUSY);
 	}
 	dma_inuse |= (1 << chan);
 	dma_auto_mode &= ~(1 << chan);
+	mtx_unlock(&isa_dma_lock);
 
 	return (0);
 }
@@ -155,8 +177,11 @@
 	if (chan & ~VALID_DMA_MASK)
 		panic("isa_dma_release: channel out of range");
 
+	mtx_lock(&isa_dma_lock);
 	if ((dma_inuse & (1 << chan)) == 0)
 		printf("isa_dma_release: channel %d not in use\n", chan);
+#else
+	mtx_lock(&isa_dma_lock);
 #endif
 
 	if (dma_busy & (1 << chan)) {
@@ -171,6 +196,8 @@
 
 	dma_inuse &= ~(1 << chan);
 	dma_auto_mode &= ~(1 << chan);
+
+	mtx_unlock(&isa_dma_lock);
 }
 
 /*
@@ -186,6 +213,7 @@
 		panic("isa_dmacascade: channel out of range");
 #endif
 
+	mtx_lock(&isa_dma_lock);
 	/* set dma channel mode, and set dma channel mode */
 	if ((chan & 4) == 0) {
 		outb(DMA1_MODE, DMA37MD_CASCADE | chan);
@@ -194,6 +222,7 @@
 		outb(DMA2_MODE, DMA37MD_CASCADE | (chan & 3));
 		outb(DMA2_SMSK, chan & 3);
 	}
+	mtx_unlock(&isa_dma_lock);
 }
 
 /*
@@ -206,8 +235,11 @@
 	vm_paddr_t phys;
 	int waport;
 	caddr_t newaddr;
+	int dma_range_checked;
 
-	GIANT_REQUIRED;
+	/* translate to physical */
+	phys = pmap_extract(kernel_pmap, (vm_offset_t)addr);
+	dma_range_checked = isa_dmarangecheck(addr, nbytes, chan);
 
 #ifdef DIAGNOSTIC
 	if (chan & ~VALID_DMA_MASK)
@@ -217,8 +249,11 @@
 	    || (chan >= 4 && (nbytes > (1<<17) || (uintptr_t)addr & 1)))
 		panic("isa_dmastart: impossible request");
 
+	mtx_lock(&isa_dma_lock);
 	if ((dma_inuse & (1 << chan)) == 0)
 		printf("isa_dmastart: channel %d not acquired\n", chan);
+#else
+	mtx_lock(&isa_dma_lock);
 #endif
 
 #if 0
@@ -233,7 +268,7 @@
 
 	dma_busy |= (1 << chan);
 
-	if (isa_dmarangecheck(addr, nbytes, chan)) {
+	if (dma_range_checked) {
 		if (dma_bouncebuf[chan] == NULL
 		    || dma_bouncebufsize[chan] < nbytes)
 			panic("isa_dmastart: bad bounce buffer"); 
@@ -246,9 +281,6 @@
 		addr = newaddr;
 	}
 
-	/* translate to physical */
-	phys = pmap_extract(kernel_pmap, (vm_offset_t)addr);
-
 	if (flags & ISADMA_RAW) {
 	    dma_auto_mode |= (1 << chan);
 	} else { 
@@ -323,6 +355,7 @@
 		/* unmask channel */
 		outb(DMA2_SMSK, chan & 3);
 	}
+	mtx_unlock(&isa_dma_lock);
 }
 
 void
@@ -336,6 +369,7 @@
 		printf("isa_dmadone: channel %d not acquired\n", chan);
 #endif
 
+	mtx_lock(&isa_dma_lock);
 	if (((dma_busy & (1 << chan)) == 0) && 
 	    (dma_auto_mode & (1 << chan)) == 0 )
 		printf("isa_dmadone: channel %d not busy\n", chan);
@@ -351,6 +385,7 @@
 		dma_bounced &= ~(1 << chan);
 	}
 	dma_busy &= ~(1 << chan);
+	mtx_unlock(&isa_dma_lock);
 }
 
 /*
@@ -367,8 +402,6 @@
 	vm_offset_t endva;
 	u_int dma_pgmsk = (chan & 4) ?  ~(128*1024-1) : ~(64*1024-1);
 
-	GIANT_REQUIRED;
-
 	endva = (vm_offset_t)round_page((vm_offset_t)va + length);
 	for (; va < (caddr_t) endva ; va += PAGE_SIZE) {
 		phys = trunc_page(pmap_extract(kernel_pmap, (vm_offset_t)va));
@@ -420,13 +453,15 @@
  * or -1 if the channel requested is not active.
  *
  */
-int
-isa_dmastatus(int chan)
+static int
+isa_dmastatus_locked(int chan)
 {
 	u_long	cnt = 0;
 	int	ffport, waport;
 	u_long	low1, high1, low2, high2;
 
+	mtx_assert(&isa_dma_lock, MA_OWNED);
+
 	/* channel active? */
 	if ((dma_inuse & (1 << chan)) == 0) {
 		printf("isa_dmastatus: channel %d not active\n", chan);
@@ -472,6 +507,18 @@
 	return(cnt);
 }
 
+int
+isa_dmastatus(int chan)
+{
+	int status;
+
+	mtx_lock(&isa_dma_lock);
+	status = isa_dmastatus_locked(chan);
+	mtx_unlock(&isa_dma_lock);
+
+	return (status);
+}
+
 /*
  * Reached terminal count yet ?
  */
@@ -491,12 +538,16 @@
 int
 isa_dmastop(int chan) 
 {
+	int status;
+
+	mtx_lock(&isa_dma_lock);
 	if ((dma_inuse & (1 << chan)) == 0)
 		printf("isa_dmastop: channel %d not acquired\n", chan);  
 
 	if (((dma_busy & (1 << chan)) == 0) &&
 	    ((dma_auto_mode & (1 << chan)) == 0)) {
 		printf("chan %d not busy\n", chan);
+		mtx_unlock(&isa_dma_lock);
 		return -2 ;
 	}
     
@@ -505,7 +556,12 @@
 	} else {
 		outb(DMA2_SMSK, (chan & 3) | 4 /* disable mask */);
 	}
-	return(isa_dmastatus(chan));
+
+	status = isa_dmastatus_locked(chan);
+
+	mtx_unlock(&isa_dma_lock);
+
+	return (status);
 }
 
 /*

==== //depot/projects/usb/src/sys/arm/arm/db_trace.c#4 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.14 2007/12/02 20:40:31 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.16 2009/11/05 06:27:46 marcel Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 
@@ -194,18 +194,18 @@
 int
 db_trace_thread(struct thread *thr, int count)
 {
-	uint32_t addr;
+	struct pcb *ctx;
 
-	if (thr == curthread)
-		addr = (uint32_t)__builtin_frame_address(0);
-	else
-		addr = thr->td_pcb->un_32.pcb32_r11;
-	db_stack_trace_cmd(addr, -1);
+	ctx = kdb_thr_ctx(thr);
+	db_stack_trace_cmd(ctx->un_32.pcb32_r11, -1);
 	return (0);
 }
 
 void
 db_trace_self(void)
 {
-	db_trace_thread(curthread, -1);
+	db_addr_t addr;
+
+	addr = (db_addr_t)__builtin_frame_address(1);
+	db_stack_trace_cmd(addr, -1);
 }

==== //depot/projects/usb/src/sys/arm/arm/gdb_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/gdb_machdep.c,v 1.1 2006/07/14 00:50:51 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/gdb_machdep.c,v 1.2 2009/11/05 06:31:50 marcel Exp $");
 
 
 #include <sys/param.h>
@@ -53,12 +53,15 @@
 
 	*regsz = gdb_cpu_regsz(regnum);
 
-	if (kdb_thread  == curthread) {
-		if (regnum < 16)
-			return (&kdb_frame->tf_r0 + 4 * regnum);
+	if (kdb_thread == curthread) {
+		if (regnum < 15)
+			return (&kdb_frame->tf_r0 + regnum);
+		if (regnum == 15)
+			return (&kdb_frame->tf_pc);
 		if (regnum == 25)
 			return (&kdb_frame->tf_spsr);
 	}
+
 	switch (regnum) {
 	case 8:  return (&kdb_thrctx->un_32.pcb32_r8);
 	case 9:  return (&kdb_thrctx->un_32.pcb32_r9);
@@ -78,6 +81,7 @@
 			  return (&kdb_thrctx->un_32.pcb32_pc);
 		  }
 	}
+
 	return (NULL);
 }
 

==== //depot/projects/usb/src/sys/arm/arm/machdep.c#11 (text+ko) ====

@@ -46,7 +46,7 @@
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.34 2009/10/27 10:47:58 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.35 2009/11/04 04:41:03 alc Exp $");
 
 #include <sys/param.h>

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



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