PERFORCE change 166779 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Thu Jul 30 08:30:26 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=166779
Change 166779 by hselasky at hselasky_laptop001 on 2009/07/30 08:29:36
IFC @ 166777
Affected files ...
.. //depot/projects/usb/src/lib/libusb/libusb.3#19 integrate
.. //depot/projects/usb/src/lib/libusb/libusb.h#9 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10.c#11 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10.h#9 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10_desc.c#8 integrate
.. //depot/projects/usb/src/lib/libusb/libusb10_io.c#8 integrate
.. //depot/projects/usb/src/lib/libusb/libusb20.3#4 integrate
.. //depot/projects/usb/src/lib/libusb/libusb20_compat01.c#7 integrate
.. //depot/projects/usb/src/lib/libusb/libusb20_int.h#8 integrate
.. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#55 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#28 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#38 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#32 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#26 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#27 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#25 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#25 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#28 integrate
.. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#24 integrate
.. //depot/projects/usb/src/sys/dev/usb/input/ums.c#23 integrate
.. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#19 integrate
.. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#18 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#46 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#22 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#18 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#33 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_dev.h#17 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_device.c#46 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#18 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#40 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#28 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_parse.c#9 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_request.c#25 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#162 integrate
.. //depot/projects/usb/src/sys/dev/usb/usbdevs#71 integrate
.. //depot/projects/usb/src/sys/dev/usb/usbdi.h#12 integrate
.. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#10 integrate
.. //depot/projects/usb/src/sys/i386/i386/initcpu.c#8 integrate
.. //depot/projects/usb/src/sys/i386/i386/pmap.c#25 integrate
.. //depot/projects/usb/src/sys/i386/i386/vm_machdep.c#13 integrate
.. //depot/projects/usb/src/sys/i386/include/cpufunc.h#10 integrate
.. //depot/projects/usb/src/sys/i386/include/md_var.h#5 integrate
.. //depot/projects/usb/src/sys/i386/include/pmap.h#13 integrate
.. //depot/projects/usb/src/sys/i386/include/sf_buf.h#2 integrate
.. //depot/projects/usb/src/sys/i386/xen/pmap.c#12 integrate
.. //depot/projects/usb/src/sys/kern/kern_exec.c#19 integrate
.. //depot/projects/usb/src/sys/kern/kern_jail.c#27 integrate
.. //depot/projects/usb/src/sys/kern/uipc_socket.c#25 integrate
.. //depot/projects/usb/src/sys/kern/vfs_lookup.c#20 integrate
.. //depot/projects/usb/src/sys/kern/vfs_mount.c#28 integrate
.. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#27 integrate
.. //depot/projects/usb/src/sys/net/if_ethersubr.c#22 integrate
.. //depot/projects/usb/src/sys/net/vnet.h#16 integrate
.. //depot/projects/usb/src/sys/netinet/ipfw/ip_fw2.c#7 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_auth.c#10 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_indata.c#20 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_sysctl.c#15 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_sysctl.h#12 integrate
.. //depot/projects/usb/src/sys/netinet/sctputil.c#22 integrate
.. //depot/projects/usb/src/sys/netinet/sctputil.h#12 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_input.c#27 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_syncache.c#25 integrate
.. //depot/projects/usb/src/sys/security/audit/audit.c#15 integrate
.. //depot/projects/usb/src/sys/security/audit/audit.h#13 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_arg.c#13 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_bsm.c#16 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_bsm_klib.c#13 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_private.h#12 integrate
Differences ...
==== //depot/projects/usb/src/lib/libusb/libusb.3#19 (text+ko) ====
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.7 2009/06/23 01:00:26 thompsa Exp $
+.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.8 2009/07/30 00:11:41 alfred Exp $
.\"
.Dd June 22, 2009
.Dt LIBUSB 3
==== //depot/projects/usb/src/lib/libusb/libusb.h#9 (text+ko) ====
@@ -1,3 +1,4 @@
+/* $FreeBSD: src/lib/libusb/libusb.h,v 1.9 2009/07/30 00:11:41 alfred Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
==== //depot/projects/usb/src/lib/libusb/libusb10.c#11 (text+ko) ====
@@ -1,3 +1,4 @@
+/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.3 2009/07/30 00:11:41 alfred 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.h#9 (text+ko) ====
@@ -1,3 +1,4 @@
+/* $FreeBSD: src/lib/libusb/libusb10.h,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
==== //depot/projects/usb/src/lib/libusb/libusb10_desc.c#8 (text+ko) ====
@@ -1,3 +1,4 @@
+/* $FreeBSD: src/lib/libusb/libusb10_desc.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
==== //depot/projects/usb/src/lib/libusb/libusb10_io.c#8 (text+ko) ====
@@ -1,3 +1,4 @@
+/* $FreeBSD: src/lib/libusb/libusb10_io.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
==== //depot/projects/usb/src/lib/libusb/libusb20.3#4 (text+ko) ====
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/lib/libusb/libusb20.3,v 1.3 2009/06/23 01:00:26 thompsa Exp $
+.\" $FreeBSD: src/lib/libusb/libusb20.3,v 1.4 2009/07/30 00:11:41 alfred Exp $
.\"
.Dd June 22, 2009
.Dt LIBUSB20 3
==== //depot/projects/usb/src/lib/libusb/libusb20_compat01.c#7 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_compat01.c,v 1.3 2009/06/12 16:07:06 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_compat01.c,v 1.4 2009/07/30 00:11:41 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/lib/libusb/libusb20_int.h#8 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_int.h,v 1.3 2009/06/12 16:07:06 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_int.h,v 1.4 2009/07/30 00:11:41 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#55 (text+ko) ====
@@ -1,5 +1,5 @@
/* $NetBSD: uaudio.c,v 1.91 2004/11/05 17:46:14 kent Exp $ */
-/* $FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.54 2009/07/12 16:50:32 marcel Exp $ */
+/* $FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.55 2009/07/30 00:14:56 alfred Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
==== //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#28 (text+ko) ====
@@ -1,5 +1,5 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/at91dci.c,v 1.21 2009/06/27 21:23:30 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/at91dci.c,v 1.22 2009/07/30 00:14:34 alfred Exp $");
/*-
* Copyright (c) 2007-2008 Hans Petter Selasky. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#38 (text+ko) ====
@@ -1,5 +1,5 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/atmegadci.c,v 1.27 2009/06/27 21:23:30 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/atmegadci.c,v 1.28 2009/07/30 00:14:34 alfred Exp $");
/*-
* Copyright (c) 2009 Hans Petter Selasky. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#13 (text+ko) ====
@@ -1,5 +1,5 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/avr32dci.c,v 1.7 2009/06/27 21:23:30 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/avr32dci.c,v 1.8 2009/07/30 00:14:34 alfred Exp $");
/*-
* Copyright (c) 2009 Hans Petter Selasky. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#32 (text+ko) ====
@@ -44,7 +44,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ehci.c,v 1.25 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ehci.c,v 1.26 2009/07/30 00:14:34 alfred Exp $");
#include <sys/stdint.h>
#include <sys/stddef.h>
==== //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#10 (text+ko) ====
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ehci_pci.c,v 1.7 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ehci_pci.c,v 1.8 2009/07/30 00:12:47 alfred Exp $");
/*
* USB Enhanced Host Controller Driver, a.k.a. USB 2.0 controller.
==== //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#26 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/controller/musb_otg.c,v 1.21 2009/06/27 21:23:30 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/controller/musb_otg.c,v 1.22 2009/07/30 00:14:34 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#27 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ohci.c,v 1.20 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ohci.c,v 1.21 2009/07/30 00:14:34 alfred Exp $");
/*
* USB Open Host Controller driver.
==== //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#10 (text+ko) ====
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ohci_pci.c,v 1.7 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ohci_pci.c,v 1.8 2009/07/30 00:12:47 alfred Exp $");
/*
* USB Open Host Controller driver.
==== //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#25 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/uhci.c,v 1.20 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/uhci.c,v 1.21 2009/07/30 00:14:34 alfred Exp $");
/*
* USB Universal Host Controller driver.
==== //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#10 (text+ko) ====
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/uhci_pci.c,v 1.7 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/uhci_pci.c,v 1.8 2009/07/30 00:12:47 alfred Exp $");
/* Universal Host Controller Interface
*
==== //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#25 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/controller/usb_controller.c,v 1.20 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/controller/usb_controller.c,v 1.21 2009/07/30 00:16:32 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#28 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/controller/uss820dci.c,v 1.24 2009/06/27 21:23:30 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/controller/uss820dci.c,v 1.25 2009/07/30 00:14:34 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky <hselasky at FreeBSD.org>
* All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#24 (text+ko) ====
@@ -1,5 +1,5 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/input/ukbd.c,v 1.14 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/input/ukbd.c,v 1.15 2009/07/30 00:14:34 alfred Exp $");
/*-
==== //depot/projects/usb/src/sys/dev/usb/input/ums.c#23 (text+ko) ====
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/input/ums.c,v 1.15 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/input/ums.c,v 1.16 2009/07/30 00:13:09 alfred Exp $");
/*
* HID spec: http://www.usb.org/developers/devclass_docs/HID1_11.pdf
==== //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#19 (text+ko) ====
@@ -16,7 +16,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $FreeBSD: src/sys/dev/usb/serial/u3g.c,v 1.18 2009/06/23 02:19:59 thompsa Exp $
+ * $FreeBSD: src/sys/dev/usb/serial/u3g.c,v 1.19 2009/07/30 00:15:17 alfred Exp $
*/
/*
==== //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#18 (text+ko) ====
@@ -1,5 +1,5 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/serial/ulpt.c,v 1.12 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/serial/ulpt.c,v 1.13 2009/07/30 00:16:06 alfred Exp $");
/* $NetBSD: ulpt.c,v 1.60 2003/10/04 21:19:50 augustss Exp $ */
==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#46 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_compat_linux.c,v 1.15 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_compat_linux.c,v 1.16 2009/07/30 00:16:50 alfred Exp $ */
/*-
* Copyright (c) 2007 Luigi Rizzo - Universita` di Pisa. All rights reserved.
* Copyright (c) 2007 Hans Petter Selasky. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#22 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_compat_linux.h,v 1.10 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_compat_linux.h,v 1.11 2009/07/30 00:16:50 alfred Exp $ */
/*-
* Copyright (c) 2007 Luigi Rizzo - Universita` di Pisa. All rights reserved.
* Copyright (c) 2007 Hans Petter Selasky. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#18 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_controller.h,v 1.16 2009/06/27 21:23:30 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_controller.h,v 1.17 2009/07/30 00:14:34 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usb_dev.c#33 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_dev.c,v 1.29 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_dev.c,v 1.30 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 2006-2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usb_dev.h#17 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_dev.h,v 1.12 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_dev.h,v 1.13 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#46 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_device.c,v 1.43 2009/06/27 21:23:30 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_device.c,v 1.44 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#18 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_handle_request.c,v 1.13 2009/06/27 21:23:30 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_handle_request.c,v 1.14 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usb_hid.c#40 (text+ko) ====
@@ -2,7 +2,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/usb_hid.c,v 1.16 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/usb_hid.c,v 1.17 2009/07/30 00:17:08 alfred Exp $");
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#28 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_hub.c,v 1.26 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_hub.c,v 1.27 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc. All rights reserved.
* Copyright (c) 1998 Lennart Augustsson. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/usb_parse.c#9 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_parse.c,v 1.5 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_parse.c,v 1.6 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#25 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_request.c,v 1.23 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_request.c,v 1.24 2009/07/30 00:15:50 alfred Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc. All rights reserved.
* Copyright (c) 1998 Lennart Augustsson. All rights reserved.
==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#162 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/usb_transfer.c,v 1.27 2009/06/27 21:23:30 thompsa Exp $ */
+/* $FreeBSD: src/sys/dev/usb/usb_transfer.c,v 1.28 2009/07/30 00:14:34 alfred Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/dev/usb/usbdevs#71 (text+ko) ====
@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.419 2009/07/27 20:17:20 weongyo Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.420 2009/07/30 00:15:17 alfred Exp $
/* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
/*-
==== //depot/projects/usb/src/sys/dev/usb/usbdi.h#12 (text+ko) ====
@@ -21,7 +21,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/sys/dev/usb/usbdi.h,v 1.70 2009/06/27 21:23:30 thompsa Exp $
+ * $FreeBSD: src/sys/dev/usb/usbdi.h,v 1.71 2009/07/30 00:57:54 alfred Exp $
*/
#ifndef _USB_USBDI_H_
#define _USB_USBDI_H_
==== //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#10 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.12 2009/07/22 14:37:53 rmacklem Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.13 2009/07/29 14:50:31 rmacklem Exp $");
/*
* vnode op calls for Sun NFS version 2, 3 and 4
@@ -687,11 +687,17 @@
int cm = newnfs_commit_on_close ? 1 : 0;
error = ncl_flush(vp, MNT_WAIT, cred, ap->a_td, cm);
/* np->n_flag &= ~NMODIFIED; */
- } else if (NFS_ISV4(vp) && nfscl_mustflush(vp)) {
- int cm = newnfs_commit_on_close ? 1 : 0;
- error = ncl_flush(vp, MNT_WAIT, cred, ap->a_td, cm);
- /* as above w.r.t. races when clearing NMODIFIED */
- /* np->n_flag &= ~NMODIFIED; */
+ } else if (NFS_ISV4(vp)) {
+ if (nfscl_mustflush(vp)) {
+ int cm = newnfs_commit_on_close ? 1 : 0;
+ error = ncl_flush(vp, MNT_WAIT, cred, ap->a_td,
+ cm);
+ /*
+ * as above w.r.t races when clearing
+ * NMODIFIED.
+ * np->n_flag &= ~NMODIFIED;
+ */
+ }
} else
error = ncl_vinvalbuf(vp, V_SAVE, ap->a_td, 1);
mtx_lock(&np->n_mtx);
==== //depot/projects/usb/src/sys/i386/i386/initcpu.c#8 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/initcpu.c,v 1.61 2009/01/12 22:01:49 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/initcpu.c,v 1.62 2009/07/29 08:49:58 kib Exp $");
#include "opt_cpu.h"
@@ -91,6 +91,7 @@
u_int cpu_procinfo2 = 0; /* Multicore info */
char cpu_vendor[20] = ""; /* CPU Origin code */
u_int cpu_vendor_id = 0; /* CPU vendor ID */
+u_int cpu_clflush_line_size = 32;
SYSCTL_UINT(_hw, OID_AUTO, via_feature_rng, CTLFLAG_RD,
&via_feature_rng, 0, "VIA C3/C7 RNG feature available in CPU");
@@ -709,6 +710,14 @@
}
enable_sse();
+ /*
+ * CPUID with %eax = 1, %ebx returns
+ * Bits 15-8: CLFLUSH line size
+ * (Value * 8 = cache line size in bytes)
+ */
+ if ((cpu_feature & CPUID_CLFSH) != 0)
+ cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8;
+
#if defined(PC98) && !defined(CPU_UPGRADE_HW_CACHE)
/*
* OS should flush L1 cache by itself because no PC-98 supports
==== //depot/projects/usb/src/sys/i386/i386/pmap.c#25 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.644 2009/07/24 13:50:29 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.645 2009/07/29 08:49:58 kib Exp $");
/*
* Manages physical address maps.
@@ -119,6 +119,7 @@
#include <sys/msgbuf.h>
#include <sys/mutex.h>
#include <sys/proc.h>
+#include <sys/sf_buf.h>
#include <sys/sx.h>
#include <sys/vmmeter.h>
#include <sys/sched.h>
@@ -732,7 +733,7 @@
* Determine the appropriate bits to set in a PTE or PDE for a specified
* caching mode.
*/
-static int
+int
pmap_cache_bits(int mode, boolean_t is_pde)
{
int pat_flag, pat_index, cache_bits;
@@ -945,6 +946,40 @@
}
#endif /* !SMP */
+void
+pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva)
+{
+
+ KASSERT((sva & PAGE_MASK) == 0,
+ ("pmap_invalidate_cache_range: sva not page-aligned"));
+ KASSERT((eva & PAGE_MASK) == 0,
+ ("pmap_invalidate_cache_range: eva not page-aligned"));
+
+ if (cpu_feature & CPUID_SS)
+ ; /* If "Self Snoop" is supported, do nothing. */
+ else if (cpu_feature & CPUID_CLFSH) {
+
+ /*
+ * Otherwise, do per-cache line flush. Use the mfence
+ * instruction to insure that previous stores are
+ * included in the write-back. The processor
+ * propagates flush to other processors in the cache
+ * coherence domain.
+ */
+ mfence();
+ for (; eva < sva; eva += cpu_clflush_line_size)
+ clflush(eva);
+ mfence();
+ } else {
+
+ /*
+ * No targeted cache flush methods are supported by CPU,
+ * globally invalidate cache as a last resort.
+ */
+ pmap_invalidate_cache();
+ }
+}
+
/*
* Are we current address space or kernel? N.B. We return FALSE when
* a pmap's page table is in use because a kernel thread is borrowing
@@ -4400,7 +4435,8 @@
void *
pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, int mode)
{
- vm_offset_t va, tmpva, offset;
+ vm_offset_t va, offset;
+ vm_size_t tmpsize;
offset = pa & PAGE_MASK;
size = roundup(offset + size, PAGE_SIZE);
@@ -4413,16 +4449,10 @@
if (!va)
panic("pmap_mapdev: Couldn't alloc kernel virtual memory");
- for (tmpva = va; size > 0; ) {
- pmap_kenter_attr(tmpva, pa, mode);
- size -= PAGE_SIZE;
- tmpva += PAGE_SIZE;
- pa += PAGE_SIZE;
- }
- pmap_invalidate_range(kernel_pmap, va, tmpva);
- /* If "Self Snoop" is supported, do nothing. */
- if (!(cpu_feature & CPUID_SS))
- pmap_invalidate_cache();
+ for (tmpsize = 0; tmpsize < size; tmpsize += PAGE_SIZE)
+ pmap_kenter_attr(va + tmpsize, pa + tmpsize, mode);
+ pmap_invalidate_range(kernel_pmap, va, va + tmpsize);
+ pmap_invalidate_cache_range(va, va + size);
return ((void *)(va + offset));
}
@@ -4462,16 +4492,48 @@
void
pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
{
+ struct sysmaps *sysmaps;
+ vm_offset_t sva, eva;
m->md.pat_mode = ma;
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ return;
/*
* If "m" is a normal page, flush it from the cache.
+ * See pmap_invalidate_cache_range().
+ *
+ * First, try to find an existing mapping of the page by sf
+ * buffer. sf_buf_invalidate_cache() modifies mapping and
+ * flushes the cache.
*/
- if ((m->flags & PG_FICTITIOUS) == 0) {
- /* If "Self Snoop" is supported, do nothing. */
- if (!(cpu_feature & CPUID_SS))
- pmap_invalidate_cache();
+ if (sf_buf_invalidate_cache(m))
+ return;
+
+ /*
+ * If page is not mapped by sf buffer, but CPU does not
+ * support self snoop, map the page transient and do
+ * invalidation. In the worst case, whole cache is flushed by
+ * pmap_invalidate_cache_range().
+ */
+ if ((cpu_feature & (CPUID_SS|CPUID_CLFSH)) == CPUID_CLFSH) {
+ sysmaps = &sysmaps_pcpu[PCPU_GET(cpuid)];
+ mtx_lock(&sysmaps->lock);
+ if (*sysmaps->CMAP2)
+ panic("pmap_page_set_memattr: CMAP2 busy");
+ sched_pin();
+ *sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(m) |
+ PG_A | PG_M | pmap_cache_bits(m->md.pat_mode, 0);
+ invlcaddr(sysmaps->CADDR2);
+ sva = (vm_offset_t)sysmaps->CADDR2;
+ eva = sva + PAGE_SIZE;
+ } else
+ sva = eva = 0; /* gcc */
+ pmap_invalidate_cache_range(sva, eva);
+ if (sva != 0) {
+ *sysmaps->CMAP2 = 0;
+ sched_unpin();
+ mtx_unlock(&sysmaps->lock);
}
}
@@ -4537,9 +4599,7 @@
*/
if (changed) {
pmap_invalidate_range(kernel_pmap, base, tmpva);
- /* If "Self Snoop" is supported, do nothing. */
- if (!(cpu_feature & CPUID_SS))
- pmap_invalidate_cache();
+ pmap_invalidate_cache_range(base, tmpva);
}
return (0);
}
==== //depot/projects/usb/src/sys/i386/i386/vm_machdep.c#13 (text+ko) ====
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.296 2009/03/22 02:33:48 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.297 2009/07/29 08:49:58 kib Exp $");
#include "opt_isa.h"
#include "opt_npx.h"
@@ -720,6 +720,39 @@
}
/*
+ * Invalidate the cache lines that may belong to the page, if
+ * (possibly old) mapping of the page by sf buffer exists. Returns
+ * TRUE when mapping was found and cache invalidated.
+ */
+boolean_t
+sf_buf_invalidate_cache(vm_page_t m)
+{
+ struct sf_head *hash_list;
+ struct sf_buf *sf;
+ boolean_t ret;
+
+ hash_list = &sf_buf_active[SF_BUF_HASH(m)];
+ ret = FALSE;
+ mtx_lock(&sf_buf_lock);
+ LIST_FOREACH(sf, hash_list, list_entry) {
+ if (sf->m == m) {
+ /*
+ * Use pmap_qenter to update the pte for
+ * existing mapping, in particular, the PAT
+ * settings are recalculated.
+ */
+ pmap_qenter(sf->kva, &m, 1);
+ pmap_invalidate_cache_range(sf->kva, sf->kva +
+ PAGE_SIZE);
+ ret = TRUE;
+ break;
+ }
+ }
+ mtx_unlock(&sf_buf_lock);
+ return (ret);
+}
+
+/*
* Get an sf_buf from the freelist. May block if none are available.
*/
struct sf_buf *
@@ -787,9 +820,10 @@
opte = *ptep;
#ifdef XEN
PT_SET_MA(sf->kva, xpmap_ptom(VM_PAGE_TO_PHYS(m)) | pgeflag
- | PG_RW | PG_V);
+ | PG_RW | PG_V | pmap_cache_bits(m->md.pat_mode, 0));
#else
- *ptep = VM_PAGE_TO_PHYS(m) | pgeflag | PG_RW | PG_V;
+ *ptep = VM_PAGE_TO_PHYS(m) | pgeflag | PG_RW | PG_V |
+ pmap_cache_bits(m->md.pat_mode, 0);
#endif
/*
==== //depot/projects/usb/src/sys/i386/include/cpufunc.h#10 (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/i386/include/cpufunc.h,v 1.154 2009/06/16 15:13:18 jhb Exp $
+ * $FreeBSD: src/sys/i386/include/cpufunc.h,v 1.155 2009/07/29 08:49:58 kib Exp $
*/
/*
@@ -90,6 +90,13 @@
}
static __inline void
+clflush(u_long addr)
+{
+
+ __asm __volatile("clflush %0" : : "m" (*(char *)addr));
+}
+
+static __inline void
disable_intr(void)
{
#ifdef XEN
@@ -138,6 +145,13 @@
__asm __volatile("mwait;" : :"a" (hints), "c" (extensions));
}
+static __inline void
+mfence(void)
+{
+
+ __asm __volatile("mfence" : : : "memory");
+}
+
#ifdef _KERNEL
#define HAVE_INLINE_FFS
==== //depot/projects/usb/src/sys/i386/include/md_var.h#5 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/i386/include/md_var.h,v 1.78 2008/11/26 19:25:13 jkim Exp $
+ * $FreeBSD: src/sys/i386/include/md_var.h,v 1.79 2009/07/29 08:49:58 kib Exp $
*/
#ifndef _MACHINE_MD_VAR_H_
@@ -52,6 +52,7 @@
extern u_int amd_pminfo;
extern u_int via_feature_rng;
extern u_int via_feature_xcrypt;
+extern u_int cpu_clflush_line_size;
extern u_int cpu_fxsr;
extern u_int cpu_high;
extern u_int cpu_id;
==== //depot/projects/usb/src/sys/i386/include/pmap.h#13 (text+ko) ====
@@ -38,7 +38,7 @@
*
* from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
* from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/i386/include/pmap.h,v 1.139 2009/07/12 23:31:20 alc Exp $
+ * $FreeBSD: src/sys/i386/include/pmap.h,v 1.140 2009/07/29 08:49:58 kib Exp $
*/
#ifndef _MACHINE_PMAP_H_
@@ -463,6 +463,7 @@
#define pmap_unmapbios(va, sz) pmap_unmapdev((va), (sz))
void pmap_bootstrap(vm_paddr_t);
+int pmap_cache_bits(int mode, boolean_t is_pde);
int pmap_change_attr(vm_offset_t, vm_size_t, int);
void pmap_init_pat(void);
void pmap_kenter(vm_offset_t va, vm_paddr_t pa);
@@ -480,6 +481,7 @@
void pmap_invalidate_range(pmap_t, vm_offset_t, vm_offset_t);
void pmap_invalidate_all(pmap_t);
void pmap_invalidate_cache(void);
+void pmap_invalidate_cache_range(vm_offset_t, vm_offset_t);
#endif /* _KERNEL */
==== //depot/projects/usb/src/sys/i386/include/sf_buf.h#2 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/i386/include/sf_buf.h,v 1.4 2005/02/13 06:23:13 alc Exp $
+ * $FreeBSD: src/sys/i386/include/sf_buf.h,v 1.5 2009/07/29 08:49:58 kib Exp $
*/
#ifndef _MACHINE_SF_BUF_H_
@@ -58,4 +58,6 @@
return (sf->m);
}
+boolean_t sf_buf_invalidate_cache(vm_page_t m);
+
#endif /* !_MACHINE_SF_BUF_H_ */
==== //depot/projects/usb/src/sys/i386/xen/pmap.c#12 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/xen/pmap.c,v 1.16 2009/07/24 13:50:29 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/xen/pmap.c,v 1.17 2009/07/29 19:38:33 kib Exp $");
/*
* Manages physical address maps.
@@ -121,6 +121,7 @@
#include <sys/msgbuf.h>
#include <sys/mutex.h>
#include <sys/proc.h>
+#include <sys/sf_buf.h>
#include <sys/sx.h>
#include <sys/vmmeter.h>
#include <sys/sched.h>
@@ -759,7 +760,7 @@
* Determine the appropriate bits to set in a PTE or PDE for a specified
* caching mode.
*/
-static int
+int
pmap_cache_bits(int mode, boolean_t is_pde)
{
int pat_flag, pat_index, cache_bits;
@@ -988,6 +989,40 @@
}
#endif /* !SMP */
+void
+pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva)
+{
+
+ KASSERT((sva & PAGE_MASK) == 0,
+ ("pmap_invalidate_cache_range: sva not page-aligned"));
+ KASSERT((eva & PAGE_MASK) == 0,
+ ("pmap_invalidate_cache_range: eva not page-aligned"));
+
+ if (cpu_feature & CPUID_SS)
+ ; /* If "Self Snoop" is supported, do nothing. */
+ else if (cpu_feature & CPUID_CLFSH) {
+
+ /*
+ * Otherwise, do per-cache line flush. Use the mfence
+ * instruction to insure that previous stores are
+ * included in the write-back. The processor
+ * propagates flush to other processors in the cache
+ * coherence domain.
+ */
+ mfence();
+ for (; eva < sva; eva += cpu_clflush_line_size)
+ clflush(eva);
+ mfence();
+ } else {
+
+ /*
+ * No targeted cache flush methods are supported by CPU,
+ * globally invalidate cache as a last resort.
+ */
+ pmap_invalidate_cache();
+ }
+}
+
/*
* Are we current address space or kernel? N.B. We return FALSE when
* a pmap's page table is in use because a kernel thread is borrowing
@@ -3865,7 +3900,8 @@
void *
pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, int mode)
{
- vm_offset_t va, tmpva, offset;
+ vm_offset_t va, offset;
+ vm_size_t tmpsize;
offset = pa & PAGE_MASK;
size = roundup(offset + size, PAGE_SIZE);
@@ -3878,14 +3914,10 @@
if (!va)
panic("pmap_mapdev: Couldn't alloc kernel virtual memory");
- for (tmpva = va; size > 0; ) {
- pmap_kenter_attr(tmpva, pa, mode);
- size -= PAGE_SIZE;
- tmpva += PAGE_SIZE;
- pa += PAGE_SIZE;
- }
- pmap_invalidate_range(kernel_pmap, va, tmpva);
- pmap_invalidate_cache();
+ for (tmpsize = 0; tmpsize < size; tmpsize += PAGE_SIZE)
+ pmap_kenter_attr(va + tmpsize, pa + tmpsize, mode);
+ pmap_invalidate_range(kernel_pmap, va, va + tmpsize);
+ pmap_invalidate_cache_range(va, va + size);
return ((void *)(va + offset));
}
@@ -3927,16 +3959,49 @@
void
pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
{
+ struct sysmaps *sysmaps;
+ vm_offset_t sva, eva;
m->md.pat_mode = ma;
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ return;
/*
* If "m" is a normal page, flush it from the cache.
+ * See pmap_invalidate_cache_range().
+ *
+ * First, try to find an existing mapping of the page by sf
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list