Date: Thu, 30 Jul 2009 08:30:24 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166779 for review Message-ID: <200907300830.n6U8UOxX014487@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166779 Change 166779 by hselasky@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@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907300830.n6U8UOxX014487>
