From weongyo at FreeBSD.org Mon Dec 1 03:21:10 2008 From: weongyo at FreeBSD.org (Weongyo Jeong) Date: Mon Dec 1 03:21:26 2008 Subject: PERFORCE change 153880 for review Message-ID: <200812011121.mB1BL9sI033107@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153880 Change 153880 by weongyo@weongyo_ws on 2008/12/01 11:20:36 - fix a panic when IRP cancel is invoked after detaching. - after returning IRP cancel routine there's no any guarantee that IRP structure is maintained at memory so we shouldn't pass IRP pointer. Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#16 edit .. //depot/projects/ndisusb/sys/compat/ndis/usbd_var.h#4 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#16 (text+ko) ==== @@ -48,7 +48,7 @@ #include #include #include - +#include #include #include @@ -603,22 +603,17 @@ void *priv; { struct ndisusb_cancel *nc = priv; - irp *ip = nc->ip; - device_t dev = IRP_NDIS_DEV(ip); - struct ndis_softc *sc = device_get_softc(dev); - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ndis_softc *sc = device_get_softc(nc->dev); usbd_status status; - usbd_xfer_handle xfer; - usb_rem_task(uaa->device, &nc->task); - free(priv, M_USBDEV); + if (sc->ndisusb_status & NDISUSB_STATUS_DETACH) + goto exit; - xfer = IRP_NDISUSB_XFER(ip); - IRP_NDISUSB_XFER(ip) = NULL; - status = usbd_abort_pipe(sc->ndisusb_ep[NDISUSB_ENDPT_IIN]); if (status != USBD_NORMAL_COMPLETION) - device_printf(dev, "IIN can't be canceld"); + device_printf(nc->dev, "IIN can't be canceld"); +exit: + free(nc, M_USBDEV); } static int32_t @@ -638,8 +633,11 @@ return (-1); } - nc->ip = ip; + nc->dev = dev; + nc->xfer = IRP_NDISUSB_XFER(ip); usb_init_task(&nc->task, usbd_irpcancel_iin_cb, nc); + + IRP_NDISUSB_XFER(ip) = NULL; usb_add_task(uaa->device, &nc->task, USB_TASKQ_DRIVER); IoReleaseCancelSpinLock(ip->irp_cancelirql); @@ -797,21 +795,18 @@ void *priv; { struct ndisusb_cancel *nc = priv; - irp *ip = nc->ip; - device_t dev = IRP_NDIS_DEV(ip); - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ndis_softc *sc = device_get_softc(nc->dev); usbd_status status; - usbd_xfer_handle xfer; + usbd_xfer_handle xfer = nc->xfer; - usb_rem_task(uaa->device, &nc->task); - free(priv, M_USBDEV); + if (sc->ndisusb_status & NDISUSB_STATUS_DETACH) + goto exit; - xfer = IRP_NDISUSB_XFER(ip); - IRP_NDISUSB_XFER(ip) = NULL; - status = usbd_abort_pipe(xfer->pipe); if (status != USBD_NORMAL_COMPLETION) - device_printf(dev, "can't be canceld"); + device_printf(nc->dev, "can't be canceld"); +exit: + free(nc, M_USBDEV); } static int32_t @@ -847,8 +842,11 @@ return (-1); } - nc->ip = ip; + nc->dev = dev; + nc->xfer = IRP_NDISUSB_XFER(ip); usb_init_task(&nc->task, usbd_irpcancel_cb, nc); + + IRP_NDISUSB_XFER(ip) = NULL; usb_add_task(uaa->device, &nc->task, USB_TASKQ_DRIVER); IoReleaseCancelSpinLock(ip->irp_cancelirql); ==== //depot/projects/ndisusb/sys/compat/ndis/usbd_var.h#4 (text+ko) ==== @@ -189,8 +189,9 @@ /* used for IRP cancel. */ struct ndisusb_cancel { + device_t dev; + usbd_xfer_handle xfer; struct usb_task task; - irp *ip; }; extern image_patch_table usbd_functbl[]; From weongyo at FreeBSD.org Mon Dec 1 03:23:12 2008 From: weongyo at FreeBSD.org (Weongyo Jeong) Date: Mon Dec 1 03:23:20 2008 Subject: PERFORCE change 153881 for review Message-ID: <200812011123.mB1BNBEn033279@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153881 Change 153881 by weongyo@weongyo_ws on 2008/12/01 11:22:34 remove Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#17 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#17 (text+ko) ==== @@ -48,7 +48,7 @@ #include #include #include -#include + #include #include From gabor at FreeBSD.org Mon Dec 1 04:37:28 2008 From: gabor at FreeBSD.org (Gabor Kovesdan) Date: Mon Dec 1 04:37:36 2008 Subject: PERFORCE change 153882 for review Message-ID: <200812011237.mB1CbQ1W041196@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153882 Change 153882 by gabor@gabor_server on 2008/12/01 12:36:39 IFC Affected files ... .. //depot/projects/docproj_es/doc/en_US.ISO8859-1/share/sgml/authors.ent#6 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/Makefile#2 edit .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/audit/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/authors.ent#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/backups/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/book.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/chapters.ent#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/colophon.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/config/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/contrib/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/desktop/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/eresources/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/firewalls/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/geom/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/install/chapter.sgml#2 edit .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml#2 edit .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/jails/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml#2 delete .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml#2 delete .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/mac/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/multimedia/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/newsgroups.ent#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/policies/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/preface/preface.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/printing/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/security/chapter.sgml#3 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/txtfiles.ent#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/updating/chapter.sgml#1 branch .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/users/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/vinum/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 integrate .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml#2 edit .. //depot/projects/docproj_es/doc/es_ES.ISO8859-1/share/tools/checkupdate/notify#1 branch .. //depot/projects/docproj_es/doc/share/misc/docbook.css#2 integrate .. //depot/projects/docproj_es/doc/share/pgpkeys/pgpkeys-developers.sgml#6 integrate .. //depot/projects/docproj_es/doc/share/pgpkeys/pgpkeys.ent#6 integrate .. //depot/projects/docproj_es/doc/share/pgpkeys/pho.key#1 branch .. //depot/projects/docproj_es/doc/share/pgpkeys/rene.key#1 branch .. //depot/projects/docproj_es/doc/share/pgpkeys/tabthorpe.key#2 integrate .. //depot/projects/docproj_es/doc/share/pgpkeys/versus.key#1 branch .. //depot/projects/docproj_es/doc/share/sgml/freebsd.ent#3 integrate .. //depot/projects/docproj_es/doc/share/sgml/man-refs.ent#6 integrate .. //depot/projects/docproj_es/doc/share/sgml/urls.ent#2 integrate .. //depot/projects/docproj_es/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#4 integrate .. //depot/projects/docproj_es/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/docproj_es/src_7/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/docproj_es/src_7/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/docproj_es/www/en/cgi/man.cgi#7 integrate .. //depot/projects/docproj_es/www/en/developers.sgml#6 integrate .. //depot/projects/docproj_es/www/en/docproj/translations.sgml#6 integrate .. //depot/projects/docproj_es/www/en/donations/wantlist.sgml#4 integrate .. //depot/projects/docproj_es/www/en/news/status/Makefile#4 integrate .. //depot/projects/docproj_es/www/en/news/status/report-2008-07-2008-09.xml#1 branch .. //depot/projects/docproj_es/www/en/news/status/status.sgml#4 integrate .. //depot/projects/docproj_es/www/en/platforms/amd64/motherboards.sgml#4 integrate .. //depot/projects/docproj_es/www/en/projects/ideas/ideas.xml#5 integrate .. //depot/projects/docproj_es/www/en/releases/6.4R/Makefile#2 integrate .. //depot/projects/docproj_es/www/en/releases/6.4R/announce.sgml#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/errata.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware-alpha.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware-amd64.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware-i386.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware-pc98.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware-powerpc.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware-sparc64.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/hardware.sgml#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation-alpha.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation-amd64.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation-i386.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation-pc98.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation-powerpc.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation-sparc64.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/installation.sgml#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/readme.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes-alpha.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes-amd64.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes-i386.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes-pc98.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes-powerpc.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes-sparc64.html#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/relnotes.sgml#1 branch .. //depot/projects/docproj_es/www/en/releases/6.4R/schedule.sgml#2 integrate .. //depot/projects/docproj_es/www/en/releases/7.1R/schedule.sgml#2 integrate .. //depot/projects/docproj_es/www/en/releases/index.sgml#3 integrate .. //depot/projects/docproj_es/www/en/releng/index.sgml#4 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/cvsweb.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/man.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/markmail.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/message-id.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/ports.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/query-pr.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/rambler.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/web-all.xml#2 integrate .. //depot/projects/docproj_es/www/en/search/opensearch/web.xml#2 integrate .. //depot/projects/docproj_es/www/en/security/security.sgml#4 integrate .. //depot/projects/docproj_es/www/share/sgml/advisories.xml#4 integrate .. //depot/projects/docproj_es/www/share/sgml/commercial.consult.xml#6 integrate .. //depot/projects/docproj_es/www/share/sgml/commercial.isp.xml#5 integrate .. //depot/projects/docproj_es/www/share/sgml/events.xml#6 integrate .. //depot/projects/docproj_es/www/share/sgml/navibar.ent#3 integrate .. //depot/projects/docproj_es/www/share/sgml/news.xml#7 integrate .. //depot/projects/docproj_es/www/share/sgml/release.ent#3 integrate Differences ... ==== //depot/projects/docproj_es/doc/en_US.ISO8859-1/share/sgml/authors.ent#6 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.463 2008/10/06 08:36:30 lstewart Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.467 2008/11/24 06:38:24 pgj Exp $ --> aaron@FreeBSD.org"> @@ -874,6 +874,8 @@ remko@FreeBSD.org"> +rene@FreeBSD.org"> + rgrimes@FreeBSD.org"> ricardag@FreeBSD.org"> @@ -1096,6 +1098,8 @@ vd@FreeBSD.org"> +versus@FreeBSD.org"> + viny@FreeBSD.org"> vkashyap@FreeBSD.org"> ==== //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/Makefile#2 (text+ko) ==== @@ -1,10 +1,15 @@ # -# $FreeBSD: doc/es_ES.ISO8859-1/books/handbook/Makefile,v 1.13 2008/02/18 21:03:03 carvay Exp $ +# $FreeBSD: doc/es_ES.ISO8859-1/books/handbook/Makefile,v 1.16 2008/11/22 00:27:05 carvay Exp $ # $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/Makefile,v 1.6 2004/10/08 22:36:28 jesusr Exp $ # # Build the FreeBSD Handbook. # +# The FreeBSD Spanish Documentation Project + +# %SOURCE% en_US.ISO8859-1/books/handbook/Makefile +# %SRCID% 0.0 + # ------------------------------------------------------------------------ # # Handbook-specific variables @@ -46,12 +51,13 @@ IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr +IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr +IMAGES_EN+= install/config-country.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr -IMAGES_EN+= install/desktop.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr @@ -59,7 +65,7 @@ IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr -IMAGES_EN+= install/disk-layout.eps +IMAGES_EM+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr @@ -106,7 +112,6 @@ IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr -IMAGES_EN+= install/xf86setup.scr IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr IMAGES_EN+= mail/mutt3.scr @@ -169,8 +174,6 @@ SRCS+= introduction/chapter.sgml SRCS+= jails/chapter.sgml SRCS+= kernelconfig/chapter.sgml -SRCS+= kerneldebug/chapter.sgml -SRCS+= kernelopts/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mac/chapter.sgml @@ -185,6 +188,7 @@ SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml +SRCS+= updating/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= virtualization/chapter.sgml ==== //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,13 @@ ==== //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/audit/chapter.sgml#2 (text+ko) ==== @@ -1,11 +1,15 @@ abial@FreeBSD.org"> ==== //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/backups/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,13 @@ ==== //depot/projects/docproj_es/doc/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,12 @@ @@ -24,10 +29,10 @@ El siguiente capítulo comprende la funcionalidad y órdenes básicas del sistema operativo &os;. Gran parte de este material es relevante para cualquier sistema - operativo tipo &unix;. - Puede saltarse este capítulo si considera que ya conoce + operativo tipo &unix;. + Puede saltarse este capítulo si considera que ya conoce el funcionamiento de &unix;. - Si no tiene experiencia previa con &os; debería leer este + Si no tiene experiencia previa con &os; debería leer este capítulo con mucha atención. Después de leer este capítulo, usted @@ -35,16 +40,16 @@ - Cómo usar las consolas virtuales de + Cómo usar las «consolas virtuales» de FreeBSD. - Cómo funcionan los permisos de fichero &unix; en + Cómo funcionan los permisos de fichero &unix; en relación con las banderas de fichero en &os;. - La disposición de sistemas de ficheros por defecto - en &os;. + La disposición de sistemas de ficheros por + omisión en &os;. La organización de disco de &os;. @@ -57,7 +62,7 @@ Qué es una shell, cómo modificar sus variables - de ambiente de login por defecto. + de entorno por omisión. Cómo utilizar editores de texto básicos. @@ -69,7 +74,7 @@ Qué formato binario se usa en &os;. - Cómo buscar información en las páginas + Cómo buscar información en las páginas de manual. @@ -82,21 +87,21 @@ terminales &os; puede utilizarse de muchas maneras. Una de ellas es - tecleando órdenes en una terminal de texto. De este modo, mucha - de la flexibilidad y poder de un sistema operativo &unix; está - inmediatamente en sus manos cuando usa &os;. Esta sección - describe qué son terminales y - consolas, y cómo puede usarlas en &os;. + tecleando órdenes en una terminal de texto. De este modo, mucha + de la flexibilidad y poder de un sistema operativo &unix; está + inmediatamente en sus manos cuando usa &os;. Esta sección + describe qué son «terminales» y + «consolas» y cómo puede usarlas en &os;. La consola consola - Si no ha configurado FreeBSD para iniciar automáticamente + Si no ha configurado &os; para ejecutar automáticamente un entorno gráfico en el arranque, el sistema le - presentará un prompt de entrada después - del arranque, inmediatamente después de que los - scripts de inicio terminen de ejecutarse. + presentará un «prompt» de entrada después + del arranque, inmediatamente después de que los + «scripts» de inicio terminen de ejecutarse. Verá algo similar a esto: Additional ABI support:. @@ -118,116 +123,116 @@ Esta línea contiene información acerca del sistema que acaba de arrancar. Esta usted ante una - consola FreeBSD que se ejecuta en un procesador Intel + consola «FreeBSD» que se ejecuta en un procesador Intel o compatible de la arquitectura x86 - Esto es lo que i386 significa. Tenga en - cuenta que incluso si no está ejecutando &os; en una CPU + Esto es lo que i386 significa. Tenga en + cuenta que incluso si no está ejecutando &os; en una CPU Intel 386, éste va a ser i386. - No es el tipo de su procesador, sino la - arquitectura la que se muestra aquí. + No es el tipo de su procesador, sino la + «arquitectura» la que se muestra aquí. . - El nombre de esta máquina (cada máquina &unix; + El nombre de esta máquina (todas las máquinas &unix; tiene un nombre) es pc3.ejemplo.org, y usted está ahora ante su consola de sistema (la terminal ttyv0). - Finalmente, la última línea siempre es: + Para acabar, la última línea siempre es: login: - Esta es la parte donde se supone que usted teclée - su nombre de usuario para entrar en &os;. + Este es el lugar donde se usted tecleará su + «nombre de usuario» para entrar en &os;. La siguiente sección describe cómo hacerlo. La entrada a &os; - &os; es un sistema multiusuario multiprocesador. Esta + &os; es un sistema multiusuario multiprocesador. Esta es la descripción formal que se suele dar a un sistema que puede ser utilizado por muchas personas diferentes, que simultáneamente ejecutan muchos programas en un sola máquina. - Cada sistema multiusuario necesita algún modo de - distinguir a un usuario del resto. En &os; - (y en todos los sistemas operativos tipo &unix;) esto se - logra requiriendo que cada usuario debe acceder + Cada sistema multiusuario necesita algún modo de + distinguir a un «usuario» del resto. En &os; + (y en todos los sistemas operativos de tipo &unix;) esto se + logra requiriendo que cada usuario «acceda» al sistema antes de poder ejecutar programas. Cada usuario - tiene un nombre único (el nombre de usuario) - y una clave secreta, personal (la contraseña). + tiene un nombre único (el «nombre de usuario») + y una clave secreta, personal (la «contraseña»). &os; preguntará por ambos antes de permitirle a un usuario ejecutar cualquier programa. scripts de inicio Justo después de que &os; arranque y termine de - ejecutar sus scripts de inicio + ejecutar sus «scripts» de inicio - Los scripts de inicio son programas que &os; + Los «scripts» de inicio son programas que &os; ejecuta automáticamente cuando arranca. Su función - principal es preparar las cosas para que todo lo demás + principal es preparar todo lo necesario para que todo lo demás se ejecute, e iniciar cualquier servicio que tenga configurado - para ejecutarse en segundo plano haciendo cosas + para ejecutarse en segundo plano algo útiles. - , le presentará un prompt y + , le presentará un «prompt» y solicitará un nombre válido de usuario: login: En este ejemplo vamos a asumir que su nombre de - usuario es john. Teclée - john en el prompt y pulse - Enter. Debería presentársele un - prompt donde introducir una - contraseña: + usuario es john. Teclée + john en el «prompt» y pulse + Intro. Debería presentársele un + «prompt» donde introducir una + «contraseña»: login: john Password: Teclée ahora la contraseña de john - y pulse Enter. La contraseña - no se muestra en pantalla, pero no debe - preocuparse por ello. Esto se hace así por motivos de + y pulse Enter. La contraseña + no se muestra en pantalla, pero no debe + preocuparse por ello. Esto se hace así por motivos de seguridad. - Si ha tecleado su contraseña correctamente ya está - usted en un sistema &os;, listo para probar todas las + Si ha tecleado su contraseña correctamente ya está + usted en un sistema &os;, listo para probar todas las órdenes disponibles. - Verá el MOTD (mensaje del día) - seguido por un prompt (un caracter #, - $ o %). Esto confirma + Verá el MOTD (mensaje del día) + seguido por un «prompt» (un caracter #, + $ o %). Esto confirma que ha validado con éxito su usuario en &os;. Consolas múltiples - Ejecutar órdenes &unix; en una consola está bien, + Ejecutar órdenes &unix; en una consola está bien, pero &os; puede ejecutar muchos programas a la vez. Tener una consola - donde se pueden teclear órdenes puede ser un poco de desperdicio - cuando un sistema operativo como &os; puede ejecutar docenas de + donde se pueden teclear órdenes puede ser un desperdicio + cuando un sistema operativo como &os; puede ejecutar docenas de programas al mismo tiempo. Aquí es donde las - consolas virtuales pueden ser de mucha ayuda. + «consolas virtuales» muestran su potencial. - &os; puede ser configurado para presentarle diferentes + &os; puede configurarse para presentarle diferentes consolas virtuales. Puede cambiar de una de ellas a cualquier otra consola virtual pulsando un par de teclas en su teclado. - Cada consola tiene su propio canal de salida, y &os; - se ocupa de redireccionar correctamente la entrada del teclado y + Cada consola tiene su propio canal de salida, y &os; + se ocupa de redirigir correctamente la entrada del teclado y la salida al monitor cuando cambia de una consola virtual a la siguiente. - Se han reservado ciertas combinaciones especiales de teclas + Se han reservado ciertas combinaciones especiales de teclas para pasar de unas consolas virtuales a otras en &os; Tiene una descripción bastante técnica y correcta de todos los detalles de la consola &os; y los controladores de teclado pueden encontrarse en las páginas de manual de &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; y &man.kbdcontrol.1;. No nos extenderemos en los detalles aquí, - pero el lector interesado siempre puede consultar dichas - páginas de manual si quiere una explicación - más detallada y profunda de cómo funcionan + pero el lector interesado siempre puede consultar dichas + páginas de manual si quiere una explicación + más detallada y profunda de cómo funcionan estas cosas. . Puede utilizar AltF1, @@ -236,34 +241,34 @@ AltF8 para cambiar a una consola virtual diferente en &os;. - Mientras está cambiando de una consola a la siguiente, - FreeBSD se ocupa de guardar y restaurar la salida de pantalla. El - resultado es la ilusión de tener varias - pantallas y teclados virtuales que puede utilizar - para teclear órdenes para que los ejecute &os;. El programa que - usted lanza en una consola virtual no deja de ejecutarse cuando la - consola no está visible. Continúan ejecutándose + Mientras está cambiando de una consola a la siguiente, + &os; se ocupa de guardar y restaurar la salida de pantalla. El + resultado es la «ilusión» de tener varias + pantallas y teclados «virtuales» que puede utilizar + para teclear órdenes para que &os; los ejecute. El programa que + usted lanza en una consola virtual no deja de ejecutarse cuando la + consola no está visible. Continúan ejecutándose cuando se cambia a una consola virtual diferente. El fichero <filename>/etc/ttys</filename> - La configuración por defecto de &os; iniciará - con ocho consolas virtuales. Esta no es una configuración - estática por hardware y usted puede personalizar - fácilmente su sistema para arrancar con más o menos + La configuración por omisión de &os; iniciará + con ocho consolas virtuales. No es una configuración + estática por hardware, así que puede personalizar + fácilmente su sistema para arrancar con más o menos consolas virtuales. El número y propiedades de las consolas - virtuales están detallados en + virtuales están detallados en /etc/ttys. - Use /etc/ttys para - configurar las consolas virtuales de &os;. Cada línea no + En /etc/ttys es donde se configuran + las consolas virtuales de &os;. Cada línea no comentada de este fichero (líneas que no comienzan con un caracter #) contiene propiedades para una sola - terminal o consola virtual. La versión por defecto de - este fichero en FreeBSD configura nueve consolas - virtuales y habilita ocho de ellas. Son las líneas que + terminal o consola virtual. La versión por omisión de + este fichero en &os; configura nueve consolas + virtuales y habilita ocho de ellas. Son las líneas que comienzan con ttyv: # name getty type status comments @@ -279,22 +284,22 @@ ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure - Consulte &man.ttys.5; si quiere una descripción detallada - de cada columna en este fichero y todas las opciones que puede usar + Consulte &man.ttys.5; si quiere una descripción detallada + de cada columna en este fichero y todas las opciones que puede usar para configurar las consolas virtuales. Consola en modo monousuario - En la encontrará una - descripción detallada de lo que es modo - monousuario - No importa que solo exista una consola cuando ejecuta &os; en - modo monousuario. No existen consolas virtuales disponibles. Las + En la encontrará una + descripción detallada de lo que es «modo + monousuario». + No importa que sólo exista una consola cuando ejecuta &os; en + modo monousuario. No hay otra consola virtual disponible. Las configuraciones de la consola en modo monousuario se pueden encontrar también en /etc/ttys. Busque la - línea que comienza con console: + línea que comienza por console: # name getty type status comments # @@ -303,46 +308,83 @@ console none unknown off secure - Tal y como indican los comentarios por encima de la - línea console, puede editar esta - línea y cambiar secure por - insecure. Si lo hace, cuando &os; arranque - en modo monousuario el sistema le pedirá la + Tal y como indican los comentarios por encima de la + línea console, puede editar esta + línea y cambiar secure por + insecure. Si lo hace, cuando &os; arranque + en modo monousuario el sistema le pedirá la contraseña de root. - Tenga cuidado si cambia esto a + Tenga cuidado si cambia esto a insecure. Si olvida la contraseña de root arrancar - en modo monousuario será con seguridad más - complicado. Sigue siendo posible, pero será un poco - difícil para alguien que no esté familiarizado - con le proceso de arranque de &os; y los programas involucrados + en modo monousuario será con seguridad más + complicado. Sigue siendo posible, pero será un poco + difícil para alguien que no esté familiarizado + con le proceso de arranque de &os; y los programas involucrados en dicho proceso. + + + + + Cambio del modo de video de la consola + + La consola &os; por omisión tiene un modo de video que + puede ajustarse a 1024x768, 1280x1024 o cualquier otra resolución + que admita su chip gráfico y su monitor. Si quiere utilizar + uno diferente tendrá que recompilar su kernel con estas dos + opciones añadidas: + + options VESA +options SC_PIXEL_MODE + + Una vez recompilado el kernel con esas dos opciones en él + determine qué modos de video admite su hardware; para ello + use &man.vidcontrol.1;. Con lo siguiente le mostrará una + lista de modos de video soportados: + + &prompt.root; vidcontrol -i mode + + La salida de esta orden es una lista de los modos de + que admite su tarjeta. Para elegir uno de ellos tendrá + que ejecutar &man.vidcontrol.1; en una consola como + root: + + &prompt.root; vidcontrol MODE_279 + + Si el modo de video que ha elegido le parece adecuado puede + configurarlo de forma permanente haciendo que funcione desde el + momento del arranque; para ello debe editar /etc/rc.conf + file: + + allscreens_flags="MODE_279" + + + Permisos UNIX - &os;, cuya raíz histórica es el UNIX BSD, + &os;, cuya raíz histórica es el &unix; BSD, se fundamenta en varios conceptos clave de UNIX. El primero y más importante es que &os; es un sistema operativo - multi-usuario. El sistema puede gestionar varios usuarios trabajando - simultáneamente y en tareas que no guardan relación + multi-usuario. El sistema puede gestionar múltiples usuarios + trabajando simultáneamente y en tareas que no guarden relación entre sí. El sistema se encarga de compartir y administrar peticiones de dispositivos de hardware, periféricos, memoria y - tiempo de Unidad Central de Proceso (CPU) de manera equitativa para cada - usuario. + tiempo de CPU de manera equitativa para cada usuario. Debido a que el sistema es capaz de soportar múltiples usuarios, todo lo que el sistema administra tiene un conjunto de - permisos que usa para decidir quién puede leer, escribir y - ejecutar un recurso. Estos permisos se guardan como octetos - divididos en tres partes: una para el propietario del fichero, otra - para el grupo al que el fichero pertenece, y otra para todos los + permisos que usa para decidir quién puede leer, escribir y + ejecutar un recurso. Estos permisos se guardan como octetos + divididos en tres partes: una para el propietario del fichero, otra + para el grupo al que el fichero pertenece, y otra para todos los demás grupos y usuarios. Veamos una representación numérica de esto: @@ -416,12 +458,12 @@ directorios - Puede utilizar el parámetro de línea de órdenes - de &man.ls.1; para ver un listado - largo que incluya una columna con información acerca - de los permisos de fichero para el propietario, grupo y - los demás. Por ejemplo, un ls -l en - un directorio arbitrario puede mostrar algo como esto: + Puede utilizar el parámetro de línea de órdenes + de &man.ls.1; para ver un listado + largo que incluya una columna con información acerca + de los permisos de fichero para el propietario, grupo y + los demás. Por ejemplo, un ls -l en + un directorio puede mostrar algo como esto: &prompt.user; ls -l total 530 @@ -468,7 +510,7 @@ ejecución en un directorio tiene un significado ligeramente distinto que para los ficheros. Cuando un directorio está marcado como ejecutable significa que se puede mirar dentro, - se puede hacer un cd (cambiar directorio) a él. + se puede hacer un «cd» (cambiar directorio) a él. Esto también significa que dentro del directorio es posible acceder a ficheros cuyos nombres son conocidos (sujeto, claro está, a los permisos de los ficheros mismos). @@ -481,7 +523,7 @@ Existen más permisos, pero se usan principalmente en circunstancias especiales como los binarios ejecutables de tipo setuid - y los los directorios de tipo sticky. Si desea más + y los los directorios de tipo «sticky». Si desea más información acerca de los permisos de ficheros y cómo establecerlos, consulte &man.chmod.1;. @@ -500,7 +542,7 @@ Permisos simbólicos permisossymbolic - Los permisos simbólicos, también conocidos como + Los permisos simbólicos, también conocidos como expresiones simbólicas, utilizan caracteres en lugar de valores octales para asignar permisos a ficheros o directorios. Las expresiones simbólicas utilizan la sintaxis de (quién) (acción) @@ -538,7 +580,7 @@ (quién) a - Todos (todo el mundo) + Todos («todo el mundo») @@ -556,7 +598,7 @@ (acción) = - Activar permisos explicitamente + Activar permisos explícitamente @@ -580,7 +622,7 @@ (permisos) t - Bit Sticky (pegajoso) + Bit Sticky («pegajoso») @@ -593,17 +635,17 @@ Estos valores se aplican con &man.chmod.1; - de la misma manera que los anteriores, pero con letras. Por - ejemplo, podría usar la siguiente orden para + de la misma manera que los anteriores, pero con letras. Por + ejemplo, podría usar la siguiente orden para bloquear a otros usuarios el acceso a FICHERO: &prompt.user; chmod go= FICHERO - Puede usarse una lista separada por comas cuando + Puede usarse una lista separada por comas cuando se quiera aplicar más de un conjunto de cambios a un fichero. - Por ejemplo la siguiente orden eliminará los permisos de - escritura de grupo y mundo a - FICHERO, y añade permisos de + Por ejemplo la siguiente orden eliminará los permisos de + escritura de grupo y «mundo» a + FICHERO, y añade permisos de ejecución para todos: &prompt.user; chmod go-w,a+x FILE @@ -628,25 +670,25 @@ Banderas de fichero en &os; - Además de los permisos de fichero previamente - expuestos, &os; permite el uso de banderas de - fichero. Estas banderas añaden un nivel de seguridad - y control adicional sobre ficheros, pero no sobre directorios. + Además de los permisos de fichero previamente + expuestos, &os; permite el uso de «banderas de + fichero». Estas banderas añaden un nivel de seguridad + y control adicional a los ficheros, pero no a los directorios. - Estas banderas de fichero añaden un nivel adicional - de control sobre ficheros, ayudando a asegurar que en algunos + Las banderas de fichero añaden un nivel adicional + de control sobre los ficheros ayudando a asegurar que en algunos casos ni siquiera root pueda eliminar o alterar ficheros. - Las banderas de fichero se modifican mediante + Las banderas de fichero se modifican mediante &man.chflags.1;, gracias a una interfaz muy sencilla. Por ejemplo, - para habilitar la bandera imborrable de sistema en + para habilitar la bandera imborrable de sistema en fichero1, escriba lo siguiente: &prompt.root; chflags sunlink fichero1 - Y para dehabilitar la bandera imborrable de sistema, - simplemente escriba la orden previa con no + Y para dehabilitar la bandera imborrable de sistema, + simplemente escriba la orden previa con «no» antes de . Observe: &prompt.root; chflags nosunlink fichero1 @@ -661,17 +703,172 @@ -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 fichero1 - Varias banderas solo pueden ser añadidas o retiradas + Varias banderas solo pueden ser añadidas o retiradas de ficheros por el usuario root. En otros casos, el propietario del fichero puede activar estas - banderas. Se recomienda que para más información - la persona encargada de la administración del sistema - consulte las páginas de manual &man.chflags.1; y - &man.chflags.2;. - + banderas. Se recomienda que para más información + la persona encargada de la administración del sistema + consulte las páginas de manual &man.chflags.1; y + &man.chflags.2;. + + + + + + + + Tom + Rhodes + Escrito por + + + + + Los permisos <literal>setuid</literal>, + <literal>setgid</literal> y <literal>sticky</literal> + + Además de los permisos que se han explicado hay + más, hay tres tipos más que todos los administradores + deberían conocer. Son los permisos + setuid, + setgid y sticky. + + Estos permisos juegan un papel clave en ciertas operaciones + &unix; puesto que facilitan funcionalidades que no se suelen + permitir a los usuarios normales. Para comprenderlas + totalmente hay que comprender la diferencia entre el ID real + del usuario y el ID efectivo. + + El ID del usuario real es el + UID que arranca (y el propietario) del + proceso. El UID efectivo es el ID bajo + el que se ejecuta el proceso. Veamos un ejemplo; el programa + &man.passwd.1; se ejecuta con el ID real del usuario puesto que + el usuario está cambiando su contraseña. Pero para + poder manipular la base de datos de contraseñas debe + ejecutarse con el ID efectivo del usuario + root. De este modo es posible que los usuarios + cambien su contraseña sin llegar a ver un error de + Permission Denied (permiso denegado). + + + La opción nosuid de &man.mount.8; + hace que estos binarios den errores silenciosos, es decir, + fallarán pero el usuario no recibirá ningún + mensaje de error por ello. Esta opción no funciona + siempre, pues, según la página man de + &man.mount.8;, un «wrapper» + nosuid puede sortear esta limitación. + + + El permiso setuid puede asignarse colocando un número + cuatro (4) antes de los permisos. Se ve mejor con un ejemplo: + + &prompt.root; chmod 4755 ejemplosuid.sh + + Los permisos de + ejemplosuid.sh + deberían ser así: + + -rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 ejemplosuid.sh + + Fíjese atentamente en la + s que ha aparecido en los permisos + del fichero, en la parte de los permisos del propietario; + esa s está en donde estaría + el bit de ejecución. Gracias a esto el funcionamiento + de aplicaciones que necesitan permisos elevados, como + passwd, pueden funcionar. + + Si quiere ver un ejemplo con sus propios ojos abra dos + terminales. En una arranque un proceso (ejecute) + passwd con un usuario normal. Mientras la + aplicación espera a que le de una nueva contraseña + busque la información de usuario del proceso + passwd en la tabla de procesos. + + En la terminal A: + + Changing local password for trhodes +Old Password: + + En la terminal B: + + &prompt.root; ps aux | grep passwd + + trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd +root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd + + Tal y como se ha dicho, un usuario normal puede ejecutar + passwd, pero en realidad está + utilizando el UID efectivo de + root. >>> TRUNCATED FOR MAIL (1000 lines) <<< From rwatson at FreeBSD.org Mon Dec 1 04:42:33 2008 From: rwatson at FreeBSD.org (Robert Watson) Date: Mon Dec 1 04:42:53 2008 Subject: PERFORCE change 153883 for review Message-ID: <200812011242.mB1CgWIo041584@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153883 Change 153883 by rwatson@rwatson_cinnamon_macosx on 2008/12/01 12:41:51 In userspace, malloc(3) can fail, so we need to check for and handle NULL returns from GET_TOKEN_AREA() in au_to_zonename(). Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#77 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#77 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#76 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#77 $ */ #include @@ -1234,9 +1234,11 @@ u_int16_t textlen; token_t *t; - textlen = strlen(zonename); - textlen += 1; + textlen = strlen(zonename) + 1; GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + textlen); + if (t == NULL) + return (NULL); + ADD_U_CHAR(dptr, AUT_ZONENAME); ADD_U_INT16(dptr, textlen); ADD_STRING(dptr, zonename, textlen); From rwatson at FreeBSD.org Mon Dec 1 04:48:40 2008 From: rwatson at FreeBSD.org (Robert Watson) Date: Mon Dec 1 04:48:50 2008 Subject: PERFORCE change 153884 for review Message-ID: <200812011248.mB1CmdGI051529@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153884 Change 153884 by rwatson@rwatson_cinnamon_macosx on 2008/12/01 12:48:32 Don't put au_to_zonename() in the middle of the execve-related token functions, as it makes the ifdefs more complicated when merging new OpenBSM parts to the FreeBSD and Mac OS X kernels. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#78 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#78 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#77 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#78 $ */ #include @@ -1223,29 +1223,6 @@ } /* - * token ID 1 byte - * zonename length 2 bytes - * zonename N bytes + 1 terminating NULL byte - */ -token_t * -au_to_zonename(const char *zonename) -{ - u_char *dptr = NULL; - u_int16_t textlen; - token_t *t; - - textlen = strlen(zonename) + 1; - GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + textlen); - if (t == NULL) - return (NULL); - - ADD_U_CHAR(dptr, AUT_ZONENAME); - ADD_U_INT16(dptr, textlen); - ADD_STRING(dptr, zonename, textlen); - return (t); -} - -/* * token ID 1 byte * count 4 bytes * text count null-terminated strings @@ -1287,6 +1264,29 @@ /* * token ID 1 byte + * zonename length 2 bytes + * zonename N bytes + 1 terminating NULL byte + */ +token_t * +au_to_zonename(const char *zonename) +{ + u_char *dptr = NULL; + u_int16_t textlen; + token_t *t; + + textlen = strlen(zonename) + 1; + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + textlen); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_ZONENAME); + ADD_U_INT16(dptr, textlen); + ADD_STRING(dptr, zonename, textlen); + return (t); +} + +/* + * token ID 1 byte * record byte count 4 bytes * version # 1 byte [2] * event type 2 bytes From rwatson at FreeBSD.org Mon Dec 1 04:54:46 2008 From: rwatson at FreeBSD.org (Robert Watson) Date: Mon Dec 1 04:54:52 2008 Subject: PERFORCE change 153885 for review Message-ID: <200812011254.mB1CsjSZ051959@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153885 Change 153885 by rwatson@rwatson_cinnamon_macosx on 2008/12/01 12:54:33 Remove unused local variable in au_to_header32_ex_tm(). Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#79 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#79 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#78 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#79 $ */ #include @@ -1338,7 +1338,7 @@ { token_t *t; u_char *dptr = NULL; - u_int32_t timems, hostid; + u_int32_t timems; au_tid_addr_t *tid = &aia->ai_termid; if (tid->at_type != AU_IPv4 && tid->at_type != AU_IPv6) From rwatson at FreeBSD.org Mon Dec 1 04:56:48 2008 From: rwatson at FreeBSD.org (Robert Watson) Date: Mon Dec 1 04:56:55 2008 Subject: PERFORCE change 153886 for review Message-ID: <200812011256.mB1Culke052152@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153886 Change 153886 by rwatson@rwatson_cinnamon_macosx on 2008/12/01 12:56:04 style(9) prefers we not initialize local variables with their declaration, so don't do that in au_to_header32_ex. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#80 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#80 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#79 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#80 $ */ #include @@ -1339,8 +1339,9 @@ token_t *t; u_char *dptr = NULL; u_int32_t timems; - au_tid_addr_t *tid = &aia->ai_termid; + au_tid_addr_t *tid; + tid = &aia->ai_termid; if (tid->at_type != AU_IPv4 && tid->at_type != AU_IPv6) return (NULL); GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t) + From rene at FreeBSD.org Mon Dec 1 05:43:35 2008 From: rene at FreeBSD.org (Rene Ladan) Date: Mon Dec 1 05:43:42 2008 Subject: PERFORCE change 153887 for review Message-ID: <200812011343.mB1DhZaF056605@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=153887 Change 153887 by rene@rene_self on 2008/12/01 13:43:22 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/new-users/article.sgml#2 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml#8 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#7 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#9 integrate .. //depot/projects/docproj_nl/www/en/releases/7.1R/schedule.sgml#6 integrate .. //depot/projects/docproj_nl/www/en/releng/index.sgml#8 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/new-users/article.sgml#2 (text+ko) ==== @@ -1,4 +1,4 @@ - + Once it is installed type rehash to make FreeBSD reread the files in the path so it knows what is there. (If you get a lot of path not found - messages when you use whereis or which, you + messages when you use whereis or which, you might want to make additions to the list of directories in the path statement in .cshrc in your home directory. The path statement in &unix; does the same kind of ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -3447,6 +3447,7 @@ + @@ -3759,6 +3760,7 @@ + ==== //depot/projects/docproj_nl/www/en/community/social.xsl#2 (text+ko) ==== @@ -6,7 +6,7 @@ ]> - + @@ -55,7 +55,7 @@
  • There are hundreds of videos from conferences, screencasts, and demonstrations relating to FreeBSD - on YouTube.
  • + on YouTube. In particular, there is a new BSD Conferences channel with full length 1 hour taped presentations from FreeBSD technical conferences.
  • There is a FreeBSD ==== //depot/projects/docproj_nl/www/share/sgml/events.xml#9 (text+ko) ==== @@ -10,7 +10,7 @@ - $FreeBSD: www/share/sgml/events.xml,v 1.61 2008/11/25 19:02:33 remko Exp $ + $FreeBSD: www/share/sgml/events.xml,v 1.62 2008/12/03 05:05:51 kensmith Exp $ @@ -44,12 +44,12 @@ 2009 5 - 14 + 6 2009 5 - 15 + 9 Canada ==== //depot/projects/docproj_nl/www/share/sgml/news.xml#20 (text+ko) ==== @@ -25,7 +25,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.211 2008/11/28 17:08:23 hrs Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.212 2008/12/04 05:01:36 murray Exp $ @@ -33,6 +33,30 @@ 2008 + 12 + + + 3 + + + BSD channel launched on YouTube + +

    We are pleased to announce the availability of a + dedicated YouTube channel for technical lectures about + FreeBSD and other BSD operating systems. The channel is + available at www.youtube.com/bsdconferences.

    + +

    This channel allows us to post full hour long lectures >>> TRUNCATED FOR MAIL (1000 lines) <<< From rene at FreeBSD.org Thu Dec 4 08:07:26 2008 From: rene at FreeBSD.org (Rene Ladan) Date: Thu Dec 4 08:07:33 2008 Subject: PERFORCE change 154051 for review Message-ID: <200812041607.mB4G7P6Z079443@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154051 Change 154051 by rene@rene_self on 2008/12/04 16:07:17 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#7 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4375,7 +4375,22 @@ As explained in , the inetd configuration must be reloaded - after this configuration file is changed. + after this configuration file is changed. Please refer to + for details on enabling + inetd on your system. + + Alternatively, ftpd can also be + started as a stand-alone server. In this case, it is sufficient to + set the appropriate variable in + /etc/rc.conf: + + ftpd_enable="YES" + + After setting the above variable, the stand-alone server will be + started at the next reboot, or it can be started manually by + executing the following command as root: + + &prompt.root; /etc/rc.d/ftpd start You can now log on to your FTP server by typing: From rene at FreeBSD.org Thu Dec 4 08:24:44 2008 From: rene at FreeBSD.org (Rene Ladan) Date: Thu Dec 4 08:24:49 2008 Subject: PERFORCE change 154052 for review Message-ID: <200812041624.mB4GOhqd080752@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154052 Change 154052 by rene@rene_self on 2008/12/04 16:24:27 MFen handbook/network-servers 1.109 -> 1.110 Checked build, spelling (diff only), whitespace (diff only) Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.sgml#7 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.sgml#7 (text+ko) ==== @@ -5,7 +5,7 @@ $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.sgml,v 1.48 2006/01/05 21:13:23 siebrand Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml - %SRCID% 1.109 + %SRCID% 1.110 --> @@ -4717,7 +4717,24 @@ Zoals is uitgelegd in , moet de configuratie van inetd worden - herladen nadat dit instellingenbestand is gewijzigd. + herladen nadat dit instellingenbestand is gewijzigd. Details + over het aanzetten van inetd op uw + systeem staan in . + + Als alternatief kan ftpd ook + gestart worden als een op zichzelf staande dienst. In dat geval + volstaat het om de juiste variabele in te stellen in + /etc/rc.conf: + + ftpd_enable="YES" + + Na het instellen van de bovenstaande variabele zal de op + zichzelf staande server gestart worden nadat de computer opnieuw + is opgestart, of het kan handmatig worden gestart door het + volgende commando als root uit te + voeren: + + &prompt.root; /etc/rc.d/ftpd start Nu kan aangemeld worden op de FTP-server met: From ed at FreeBSD.org Thu Dec 4 10:40:02 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Dec 4 10:40:09 2008 Subject: PERFORCE change 154056 for review Message-ID: <200812041840.mB4Ie1DW009984@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154056 Change 154056 by ed@ed_flippo on 2008/12/04 18:39:28 Make scterm-teken somewhat usable: - Update libteken to upstream repository sources. - Implement a basic putchar() routine, which does not take attributes into account yet. - A horribly slow fill() routine, which just calls putchar() in loops. A simple optimisation would be to call sc_vtb_clear() if c == ' '. - A broken copy() routine, which copies data from the screen to a different location. We'll implement this using sc_vtb_move(). Right now it only successfully copies data when we start at column 0 and end at xsize - 1. I can already use it on my system right now, but it's still very broken. I guess if I fix it to work properly, we could get rid of a lot of LOC from syscons itself. We could even decide to replace scterm entirely and let scterm-teken only make calls into scvtb. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#2 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#3 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#2 (text+ko) ==== @@ -227,20 +227,51 @@ } static void -scteken_putchar(void *arg, const teken_pos_t *p, teken_char_t c, +scteken_putchar(void *arg, const teken_pos_t *tp, teken_char_t c, const teken_attr_t *a) { + scr_stat *scp = arg; + u_char *map = scp->sc->scr_map; + u_char ch = c; + vm_offset_t p; + int cursor; + + cursor = tp->tp_row * scp->xsize + tp->tp_col; + p = sc_vtb_pointer(&scp->vtb, cursor); + sc_vtb_putchar(&scp->vtb, p, map[ch], SC_NORM_ATTR << 8); + mark_all(scp); } static void scteken_fill(void *arg, const teken_rect_t *r, teken_char_t c, const teken_attr_t *a) { + teken_pos_t p; + + /* Braindead implementation of fill() - just call putchar(). */ + for (p.tp_row = r->tr_begin.tp_row; + p.tp_row < r->tr_end.tp_row; p.tp_row++) + for (p.tp_col = r->tr_begin.tp_col; + p.tp_col < r->tr_end.tp_col; p.tp_col++) + scteken_putchar(arg, &p, c, a); } static void scteken_copy(void *arg, const teken_rect_t *r, const teken_pos_t *p) { + scr_stat *scp = arg; + int from, to, count; + + /* XXX: only copy whole lines for now! */ + from = r->tr_begin.tp_row * scp->xsize; + to = p->tp_row * scp->xsize; + count = (r->tr_end.tp_row - r->tr_begin.tp_row + 1) * scp->xsize - 1; + + if (count <= 0 || from == to) + return; + + sc_vtb_move(&scp->vtb, from, to, count); + mark_all(scp); } static void ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#3 (text+ko) ==== @@ -91,6 +91,7 @@ #define TP_SHOWCURSOR 0 #define TP_CURSORKEYS 1 #define TP_KEYPADAPP 2 +#define TP_AUTOREPEAT 3 typedef void tf_respond_t(void *, const void *, size_t); typedef struct { ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#2 (text+ko) ==== @@ -138,10 +138,9 @@ { switch (cmd) { - case 5: { /* Operating status. */ + case 5: /* Operating status. */ strcpy(response, "0n"); return (2); - } case 6: { /* Cursor position. */ int len; @@ -153,18 +152,15 @@ return (-1); return (len); } - case 15: { /* Printer status. */ + case 15: /* Printer status. */ strcpy(response, "13n"); return (3); - } - case 25: { /* UDK status. */ + case 25: /* UDK status. */ strcpy(response, "20n"); return (3); - } - case 26: { /* Keyboard status. */ + case 26: /* Keyboard status. */ strcpy(response, "27;1n"); return (5); - } default: teken_printf("Unknown DSR\n"); return (-1); @@ -691,6 +687,7 @@ if (request == 0) { const char response[] = "\x1B[?1;2c"; + teken_funcs_respond(t, response, sizeof response - 1); } else { teken_printf("Unknown DA1\n"); @@ -784,6 +781,9 @@ teken_printf("DECRST autowrap mode\n"); t->t_stateflags &= ~TS_AUTOWRAP; break; + case 8: /* Autorepeat mode. */ + teken_funcs_param(t, TP_AUTOREPEAT, 0); + break; case 25: /* Hide cursor. */ teken_funcs_param(t, TP_SHOWCURSOR, 0); break; @@ -894,6 +894,9 @@ teken_printf("DECSET autowrap mode\n"); t->t_stateflags |= TS_AUTOWRAP; break; + case 8: /* Autorepeat mode. */ + teken_funcs_param(t, TP_AUTOREPEAT, 1); + break; case 25: /* Display cursor. */ teken_funcs_param(t, TP_SHOWCURSOR, 1); break; From hselasky at FreeBSD.org Thu Dec 4 10:58:20 2008 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Thu Dec 4 10:58:26 2008 Subject: PERFORCE change 154057 for review Message-ID: <200812041858.mB4IwJa4011278@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154057 Change 154057 by hselasky@hselasky_laptop001 on 2008/12/04 18:58:02 Patch from "Ian Lepore" to support proper decoding of MSR bits. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#12 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#12 (text+ko) ==== @@ -470,6 +470,7 @@ { struct uftdi_softc *sc = xfer->priv_sc; uint8_t buf[2]; + uint8_t ftdi_msr; uint8_t msr; uint8_t lsr; @@ -481,9 +482,19 @@ } usb2_copy_out(xfer->frbuffers, 0, buf, 2); - msr = FTDI_GET_MSR(buf); + ftdi_msr = FTDI_GET_MSR(buf); lsr = FTDI_GET_LSR(buf); + msr = 0; + if (ftdi_msr & FTDI_SIO_CTS_MASK) + msr |= SER_CTS; + if (ftdi_msr & FTDI_SIO_DSR_MASK) + msr |= SER_DSR; + if (ftdi_msr & FTDI_SIO_RI_MASK) + msr |= SER_RI; + if (ftdi_msr & FTDI_SIO_RLSD_MASK) + msr |= SER_DCD; + if ((sc->sc_msr != msr) || ((sc->sc_lsr & FTDI_LSR_MASK) != (lsr & FTDI_LSR_MASK))) { DPRINTF("status change msr=0x%02x (0x%02x) " From ed at FreeBSD.org Thu Dec 4 11:00:22 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Dec 4 11:00:29 2008 Subject: PERFORCE change 154058 for review Message-ID: <200812041900.mB4J0Ml3011472@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154058 Change 154058 by ed@ed_flippo on 2008/12/04 18:59:41 Let there be colors! Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#3 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#4 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#3 (text+ko) ==== @@ -210,6 +210,19 @@ * libteken routines. */ +static unsigned char sccolors[8] = { + FG_BLACK, FG_RED, FG_GREEN, FG_BROWN, FG_BLUE, FG_MAGENTA, FG_CYAN, + FG_LIGHTGREY, +}; + +static inline int +scteken_attr(const teken_attr_t *a) +{ + + return (((unsigned int)sccolors[a->ta_fgcolor]) << 8) | + (((unsigned int)sccolors[a->ta_bgcolor]) << 12); +} + static void scteken_bell(void *arg) { @@ -238,7 +251,7 @@ cursor = tp->tp_row * scp->xsize + tp->tp_col; p = sc_vtb_pointer(&scp->vtb, cursor); - sc_vtb_putchar(&scp->vtb, p, map[ch], SC_NORM_ATTR << 8); + sc_vtb_putchar(&scp->vtb, p, map[ch], scteken_attr(a)); mark_all(scp); } ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#4 (text+ko) ==== @@ -40,11 +40,11 @@ typedef unsigned char teken_char_t; #endif /* TEKEN_UTF8 */ typedef unsigned int teken_unit_t; -typedef char teken_format_t; +typedef unsigned char teken_format_t; #define TF_BOLD 0x01 #define TF_UNDERLINE 0x02 #define TF_BLINK 0x04 -typedef char teken_color_t; +typedef unsigned char teken_color_t; #define TC_BLACK 0 #define TC_RED 1 #define TC_GREEN 2 From sam at FreeBSD.org Thu Dec 4 11:05:28 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:05:34 2008 Subject: PERFORCE change 154059 for review Message-ID: <200812041905.mB4J5RKG014088@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154059 Change 154059 by sam@sam_ebb on 2008/12/04 19:05:07 o map out the virtual address space o remove IXP435_MCU_VBASE and IXP435_MCU_SIZE; we intentionally map the 435's MCU registers to the same place as the 425, don't obfuscate this behind some #defines o move the 435's MAC-A and MAC-C virtual mapping to where the we map MAC-A and MAC-B on the 425, respectively o remove IXP435_USB1_OFFSET and IXP435_USB2_OFFSET o setup IXP435_USB1 and IXP435_USB2's mappings corrrectly (note the Gateworks doc is wrong for these; use the IXP435 manual for ref) Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425reg.h#5 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425reg.h#5 (text+ko) ==== @@ -68,27 +68,48 @@ */ /* - * Virtual memory map for the Intel IXP425 integrated devices + * Virtual memory map for the Intel IXP425/IXP435 integrated devices */ /* * FFFF FFFF --------------------------- * + * Global cache clean area + * FF00 0000 --------------------------- + * * FC00 0000 --------------------------- * PCI Data (memory space) - * F800 0000 --------------------------- + * F800 0000 --------------------------- IXP425_PCI_MEM_VBASE * * F020 1000 --------------------------- - * SDRAM Controller - * F020 0000 --------------------------- + * SDRAM/DDR Memory Controller + * F020 0000 --------------------------- IXP425_MCU_VBASE * - * F001 2000 --------------------------- - * PCI Configuration and Status Registers - * F001 1000 --------------------------- - * Expansion bus Configuration Registers - * F001 0000 --------------------------- - * System and Peripheral Registers - * VA F000 0000 = PA C800 0000 (SIZE 0x10000) - * F000 0000 --------------------------- + * F001 7000 EHCI USB 2 (IXP435) + * F001 6000 EHCI USB 1 (IXP435) + * F020 6000 --------------------------- + * Queue manager + * F001 2000 --------------------------- IXP425_QMGR_VBASE + * PCI Configuration and Status + * F001 1000 --------------------------- IXP425_PCI_VBASE + * Expansion Bus Configuration + * F001 0000 --------------------------- IXP425_EXP_VBASE + * F000 F000 Expansion Bus Chip Select 4 + * F000 E000 Expansion Bus Chip Select 3 + * F000 D000 Expansion Bus Chip Select 2 + * F000 C000 Expansion Bus Chip Select 1 + * F000 B000 USB (option on IXP425) + * F000 A000 MAC-B (IXP425) | MAC-C (IXP435) + * F000 9000 MAC-A + * F000 8000 NPE-C + * F000 7000 NPE-B (IXP425) + * F000 6000 NPE-A + * F000 5000 Timers + * F000 4000 GPIO Controller + * F000 3000 Interrupt Controller + * F000 2000 Performance Monitor Controller (PMC) + * F000 1000 UART 1 (IXP425) + * F000 0000 UART 0 + * F000 0000 --------------------------- IXP425_IO_VBASE * * 0000 0000 --------------------------- * @@ -117,8 +138,6 @@ #define IXP435_MAC_C_OFFSET 0x0000a000UL /* Ethernet MAC on NPE C */ #define IXP435_MAC_A_OFFSET 0x0000c000UL /* Ethernet MAC on NPE A */ -#define IXP435_USB1_OFFSET 0x0000d000UL /* USB host controller 1 */ -#define IXP435_USB2_OFFSET 0x0000e000UL /* USB host controller 2 */ #define IXP425_REG_SIZE 0x1000 @@ -147,7 +166,6 @@ /* * Timers - * */ #define IXP425_TIMER_HWBASE (IXP425_IO_HWBASE + IXP425_TIMER_OFFSET) #define IXP425_TIMER_VBASE (IXP425_IO_VBASE + IXP425_TIMER_OFFSET) @@ -518,8 +536,6 @@ * IXP435 DDR MCU Registers */ #define IXP435_MCU_HWBASE 0xcc00e500UL -#define IXP435_MCU_VBASE 0xf0200000UL /* NB: use same addr as 425 */ -#define IXP435_MCU_SIZE 0x1000 /* NB: does not map all regs */ #define MCU_DDR_SDIR 0x00 /* DDR SDAM Initialization Reg*/ #define MCU_DDR_SDCR0 0x04 /* DDR SDRAM Control Reg 0 */ #define MCU_DDR_SDCR1 0x08 /* DDR SDRAM Control Reg 1 */ @@ -605,12 +621,13 @@ #define IXP425_MAC_B_VBASE (IXP425_IO_VBASE + IXP425_MAC_B_OFFSET) #define IXP425_MAC_B_SIZE 0x1000 /* Actually only 256 bytes */ +/* NB: IXP435 MAC's are mapped differently */ #define IXP435_MAC_A_HWBASE (IXP425_IO_HWBASE + IXP435_MAC_A_OFFSET) -#define IXP435_MAC_A_VBASE (IXP425_IO_VBASE + IXP435_MAC_A_OFFSET) +#define IXP435_MAC_A_VBASE (IXP425_IO_VBASE + IXP425_MAC_A_OFFSET) #define IXP435_MAC_A_SIZE 0x1000 /* Actually only 256 bytes */ #define IXP435_MAC_C_HWBASE (IXP425_IO_HWBASE + IXP435_MAC_C_OFFSET) -#define IXP435_MAC_C_VBASE (IXP425_IO_VBASE + IXP435_MAC_C_OFFSET) +#define IXP435_MAC_C_VBASE (IXP425_IO_VBASE + IXP425_MAC_B_OFFSET) #define IXP435_MAC_C_SIZE 0x1000 /* Actually only 256 bytes */ /* @@ -621,7 +638,6 @@ #define IXP425_EXP_BUS_CSx_HWBASE(i) \ (IXP425_EXP_BUS_HWBASE + (i)*IXP425_EXP_BUS_SIZE) - #define IXP425_EXP_BUS_CSx_VBASE(i) \ (IXP425_MAC_B_VBASE + (i)*IXP425_MAC_B_SIZE) @@ -665,4 +681,12 @@ #define CAMBRIA_CFSEL0_HWBASE (CAMBRIA_CFSEL1_HWBASE - 0x40000) #define CAMBRIA_CFSEL0_SIZE 0x40000 +#define IXP435_USB1_HWBASE 0xcd000000UL /* USB host controller 1 */ +#define IXP435_USB1_VBASE (IXP425_QMGR_VBASE + IXP425_QMGR_SIZE) +#define IXP435_USB1_SIZE 0x1000 /* NB: only uses 0x300 */ + +#define IXP435_USB2_HWBASE 0xce000000UL /* USB host controller 2 */ +#define IXP435_USB2_VBASE (IXP435_USB1_VBASE + IXP435_USB1_SIZE) +#define IXP435_USB2_SIZE 0x1000 /* NB: only uses 0x300 */ + #endif /* _IXP425REG_H_ */ From sam at FreeBSD.org Thu Dec 4 11:06:29 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:06:36 2008 Subject: PERFORCE change 154060 for review Message-ID: <200812041906.mB4J6Ssk015033@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154060 Change 154060 by sam@sam_ebb on 2008/12/04 19:05:39 add static va<->pa mapping for 435's builting usb controllers Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425.c#7 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425.c#7 (text+ko) ==== @@ -315,6 +315,9 @@ /* NB: needed only for uart_cpu_getdev */ { IXP425_UART0_HWBASE, IXP425_REG_SIZE, IXP425_UART0_VBASE }, { IXP425_UART1_HWBASE, IXP425_REG_SIZE, IXP425_UART1_VBASE }, + /* NB: need for ixp435 ehci controllers */ + { IXP435_USB1_HWBASE, IXP435_USB1_SIZE, IXP435_USB1_VBASE }, + { IXP435_USB2_HWBASE, IXP435_USB2_SIZE, IXP435_USB2_VBASE }, }; int From sam at FreeBSD.org Thu Dec 4 11:08:31 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:08:38 2008 Subject: PERFORCE change 154062 for review Message-ID: <200812041908.mB4J8U1r015763@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154062 Change 154062 by sam@sam_ebb on 2008/12/04 19:07:37 o explicitly map the 435's MCU to the same va as the 425's o add mappings for the builtin usb controllers on the 435 o make style consistent Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/avila_machdep.c#11 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/avila_machdep.c#11 (text+ko) ==== @@ -205,7 +205,7 @@ VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, /* DDRII Controller NB: mapped same place as IXP425 */ - { IXP435_MCU_VBASE, IXP435_MCU_HWBASE, IXP435_MCU_SIZE, + { IXP425_MCU_VBASE, IXP435_MCU_HWBASE, IXP425_MCU_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, /* PCI Memory Space */ @@ -230,6 +230,13 @@ { IXP435_MAC_A_VBASE, IXP435_MAC_A_HWBASE, IXP435_MAC_A_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* USB1 Memory Space */ + { IXP435_USB1_VBASE, IXP435_USB1_HWBASE, IXP435_USB1_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* USB2 Memory Space */ + { IXP435_USB2_VBASE, IXP435_USB2_HWBASE, IXP435_USB2_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + { 0 } }; @@ -300,7 +307,7 @@ freemem_pt = freemempos; /* base of allocated pt's */ /* - * Re-align allocation boundary so we can map there area + * Re-align allocation boundary so we can map the area * write-back instead of write-through for the stacks and * related structures allocated below. */ @@ -346,11 +353,11 @@ pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), &kernel_pt_table[KERNEL_PT_SYS]); pmap_link_l2pt(l1pagetable, IXP425_IO_VBASE, - &kernel_pt_table[KERNEL_PT_IO]); + &kernel_pt_table[KERNEL_PT_IO]); pmap_link_l2pt(l1pagetable, IXP425_MCU_VBASE, - &kernel_pt_table[KERNEL_PT_IO + 1]); + &kernel_pt_table[KERNEL_PT_IO + 1]); pmap_link_l2pt(l1pagetable, IXP425_PCI_MEM_VBASE, - &kernel_pt_table[KERNEL_PT_IO + 2]); + &kernel_pt_table[KERNEL_PT_IO + 2]); pmap_link_l2pt(l1pagetable, KERNBASE, &kernel_pt_table[KERNEL_PT_BEFOREKERN]); pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, 0x100000, From sam at FreeBSD.org Thu Dec 4 11:10:33 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:10:40 2008 Subject: PERFORCE change 154063 for review Message-ID: <200812041910.mB4JAXG6016093@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154063 Change 154063 by sam@sam_ebb on 2008/12/04 19:10:08 ixp bus shim for ixp435's builting usb controllers; this probably belongs in dev/usb but leave it here for now until we can redo the ixp bus attachment so that we can specify a config syntax that brings it in only with "ixp ehci" or similar Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/files.ixp425#4 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp435_ehci.c#1 add Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/files.ixp425#4 (text+ko) ==== @@ -44,3 +44,5 @@ # Q-Manager support # arm/xscale/ixp425/ixp425_qmgr.c optional qmgr +# +arm/xscale/ixp425/ixp435_ehci.c optional ehci From sam at FreeBSD.org Thu Dec 4 11:11:34 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:11:41 2008 Subject: PERFORCE change 154064 for review Message-ID: <200812041911.mB4JBYVB016223@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154064 Change 154064 by sam@sam_ebb on 2008/12/04 19:11:25 add USB device mode register defs Affected files ... .. //depot/projects/vap/sys/dev/usb/ehcireg.h#7 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/ehcireg.h#7 (text+ko) ==== @@ -173,6 +173,15 @@ #define EHCI_PS_CS 0x00000001 /* RO connect status */ #define EHCI_PS_CLEAR (EHCI_PS_OCC|EHCI_PS_PEC|EHCI_PS_CSC) +#define EHCI_USBMODE 0x68 /* RW USB Device mode register */ +#define EHCI_UM_CM 0x00000003 /* R/WO Controller Mode */ +#define EHCI_UM_CM_IDLE 0x0 /* Idle */ +#define EHCI_UM_CM_HOST 0x3 /* Host Controller */ +#define EHCI_UM_ES 0x00000004 /* R/WO Endian Select */ +#define EHCI_UM_ES_LE 0x0 /* Little-endian byte alignment */ +#define EHCI_UM_ES_BE 0x4 /* Big-endian byte alignment */ +#define EHCI_UM_SDIS 0x00000010 /* R/WO Stream Disable Mode */ + #define EHCI_PORT_RESET_COMPLETE 2 /* ms */ #define EHCI_FLALIGN_ALIGN 0x1000 From sam at FreeBSD.org Thu Dec 4 11:15:39 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:15:45 2008 Subject: PERFORCE change 154065 for review Message-ID: <200812041915.mB4JFc1t016631@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154065 Change 154065 by sam@sam_ebb on 2008/12/04 19:14:40 o cleanup EHCI_SCFLG_SETMODE; we also need it for the ixp435 integral controller; it really means to force Host Controller mode after doing a reset o add EHCI_SCFLG_BIGENDIAN to enable support for big-endian byte alignment on controllers that support it; we need to manually handle big/little endian issues before reset and then after select big-endian handling in the controller Note big-endian changes are likely incomplete, still don't have working usb on the Cambria board. Affected files ... .. //depot/projects/vap/sys/dev/usb/ehci.c#15 edit .. //depot/projects/vap/sys/dev/usb/ehcivar.h#9 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/ehci.c#15 (text+ko) ==== @@ -344,17 +344,33 @@ * Table 2-9 in the EHCI spec says this will result * in undefined behavior. */ - printf("%s: stop timeout\n", - device_get_nameunit(sc->sc_bus.bdev)); + device_printf(sc->sc_bus.bdev, "stop timeout\n"); EOWRITE4(sc, EHCI_USBCMD, EHCI_CMD_HCRESET); for (i = 0; i < 100; i++) { usb_delay_ms(&sc->sc_bus, 1); hcr = EOREAD4(sc, EHCI_USBCMD) & EHCI_CMD_HCRESET; if (!hcr) { - if (sc->sc_flags & EHCI_SCFLG_SETMODE) - EOWRITE4(sc, 0x68, 0x3); - + if (sc->sc_flags & (EHCI_SCFLG_SETMODE | EHCI_SCFLG_BIGENDIAN)) { + /* + * Force USBMODE as requested. Controllers + * may have multiple operating modes and on + * some platforms we need to force big-endian + * byte alignement of data structures. + */ + uint32_t usbmode = EOREAD4(sc, EHCI_USBMODE); + if (sc->sc_flags & EHCI_SCFLG_SETMODE) { + usbmode = (usbmode &~ EHCI_UM_CM) | EHCI_UM_CM_HOST; + device_printf(sc->sc_bus.bdev, + "set host controller mode\n"); + } + if (sc->sc_flags & EHCI_SCFLG_BIGENDIAN) { + usbmode |= EHCI_UM_ES_BE; + device_printf(sc->sc_bus.bdev, + "set big-endian byte alignment\n"); + } + EOWRITE4(sc, EHCI_USBMODE, usbmode); + } return (USBD_NORMAL_COMPLETION); } } @@ -377,10 +393,14 @@ theehci = sc; #endif - sc->sc_offs = EREAD1(sc, EHCI_CAPLENGTH); + /* NB: must handle byte-order manually before ehci_hcreset */ + + sc->sc_offs = EREAD1(sc, sc->sc_flags & EHCI_SCFLG_BIGENDIAN ? + 3-EHCI_CAPLENGTH : EHCI_CAPLENGTH); - version = EREAD2(sc, EHCI_HCIVERSION); - printf("%s: EHCI version %x.%x\n", device_get_nameunit(sc->sc_bus.bdev), + version = EREAD2(sc, sc->sc_flags & EHCI_SCFLG_BIGENDIAN ? + 2-EHCI_HCIVERSION : EHCI_HCIVERSION); + device_printf(sc->sc_bus.bdev, "EHCI version %x.%x\n", version >> 8, version & 0xff); sparams = EREAD4(sc, EHCI_HCSPARAMS); ==== //depot/projects/vap/sys/dev/usb/ehcivar.h#9 (text+ko) ==== @@ -125,6 +125,7 @@ #define EHCI_SCFLG_SETMODE 0x0004 /* set bridge mode again after init (Marvell) */ #define EHCI_SCFLG_FORCESPEED 0x0008 /* force speed (Marvell) */ #define EHCI_SCFLG_NORESTERM 0x0010 /* don't terminate reset sequence (Marvell) */ +#define EHCI_SCFLG_BIGENDIAN 0x0020 /* set big-endian select on reset */ typedef struct ehci_softc { struct usbd_bus sc_bus; /* base device */ From ed at FreeBSD.org Thu Dec 4 11:48:12 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Dec 4 11:48:21 2008 Subject: PERFORCE change 154066 for review Message-ID: <200812041948.mB4JmBgb019118@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154066 Change 154066 by ed@ed_flippo on 2008/12/04 19:47:14 Remove scterm-sc and scterm-dumb. Looking at the source code, scterm-dumb has been broken for a long time now. It even uses `struct proc *' where it should use `struct thread *' for the ioctl() handlers. I thought we made that change a very long time ago. I'm not saying scterm-teken is perfect yet... ;-) Affected files ... .. //depot/projects/mpsafetty/sys/conf/files#30 edit .. //depot/projects/mpsafetty/sys/conf/files.amd64#7 edit .. //depot/projects/mpsafetty/sys/conf/files.i386#12 edit .. //depot/projects/mpsafetty/sys/conf/files.ia64#4 edit .. //depot/projects/mpsafetty/sys/conf/files.pc98#6 edit .. //depot/projects/mpsafetty/sys/conf/files.powerpc#9 edit .. //depot/projects/mpsafetty/sys/conf/files.sparc64#8 edit .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-dumb.c#2 delete .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-sc.c#4 delete .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#4 edit .. //depot/projects/mpsafetty/sys/dev/syscons/scterm.c#2 edit .. //depot/projects/mpsafetty/sys/dev/syscons/sctermvar.h#2 delete .. //depot/projects/mpsafetty/sys/pc98/cbus/scterm-sck.c#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/conf/files#30 (text+ko) ==== @@ -1424,7 +1424,6 @@ dev/syscons/rain/rain_saver.c optional rain_saver dev/syscons/schistory.c optional sc dev/syscons/scmouse.c optional sc -dev/syscons/scterm-dumb.c optional sc dev/syscons/scterm.c optional sc dev/syscons/scvidctl.c optional sc dev/syscons/snake/snake_saver.c optional snake_saver ==== //depot/projects/mpsafetty/sys/conf/files.amd64#7 (text+ko) ==== @@ -196,7 +196,6 @@ dev/sio/sio_puc.c optional sio puc dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm -#dev/syscons/scterm-sc.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc ==== //depot/projects/mpsafetty/sys/conf/files.i386#12 (text+ko) ==== @@ -220,8 +220,7 @@ dev/speaker/spkr.c optional speaker dev/sr/if_sr_isa.c optional sr isa dev/syscons/apm/apm_saver.c optional apm_saver apm -#dev/syscons/scterm-sc.c optional sc -dev/syscons/scterm-teken.c optional sc +dev/syscons/scterm-teken.c optional sc dev/syscons/scvesactl.c optional sc vga vesa dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc ==== //depot/projects/mpsafetty/sys/conf/files.ia64#4 (text+ko) ==== @@ -57,7 +57,6 @@ dev/fb/vga.c optional vga dev/hwpmc/hwpmc_ia64.c optional hwpmc dev/kbd/kbd.c optional atkbd | sc | ukbd -#dev/syscons/scterm-sc.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc ==== //depot/projects/mpsafetty/sys/conf/files.pc98#6 (text+ko) ==== ==== //depot/projects/mpsafetty/sys/conf/files.powerpc#9 (text+ko) ==== @@ -37,7 +37,6 @@ dev/quicc/quicc_bfe_ocp.c optional quicc mpc85xx dev/scc/scc_bfe_macio.c optional scc powermac dev/syscons/scgfbrndr.c optional sc -#dev/syscons/scterm-sc.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc dev/tsec/if_tsec.c optional tsec ==== //depot/projects/mpsafetty/sys/conf/files.sparc64#8 (text+ko) ==== @@ -53,7 +53,6 @@ dev/sound/sbus/cs4231.c optional snd_audiocs ebus | \ snd_audiocs sbus dev/syscons/scgfbrndr.c optional sc -#dev/syscons/scterm-sc.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_sparc64.c optional uart ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#4 (text+ko) ==== @@ -45,7 +45,6 @@ #endif #include -#include #include @@ -210,17 +209,38 @@ * libteken routines. */ -static unsigned char sccolors[8] = { - FG_BLACK, FG_RED, FG_GREEN, FG_BROWN, FG_BLUE, FG_MAGENTA, FG_CYAN, - FG_LIGHTGREY, +static const unsigned char fgcolors_normal[8] = { + FG_BLACK, FG_RED, FG_GREEN, FG_BROWN, + FG_BLUE, FG_MAGENTA, FG_CYAN, FG_LIGHTGREY, +}; + +static const unsigned char fgcolors_bold[8] = { + FG_DARKGREY, FG_LIGHTRED, FG_LIGHTGREEN, FG_YELLOW, + FG_LIGHTBLUE, FG_LIGHTMAGENTA, FG_LIGHTCYAN, FG_WHITE, +}; + +static const unsigned char bgcolors[8] = { + BG_BLACK, BG_RED, BG_GREEN, BG_BROWN, + BG_BLUE, BG_MAGENTA, BG_CYAN, BG_LIGHTGREY, }; -static inline int +static inline unsigned int scteken_attr(const teken_attr_t *a) { + unsigned int attr = 0; + + if (a->ta_format & TF_BOLD) + attr |= fgcolors_bold[a->ta_fgcolor]; + else + attr |= fgcolors_normal[a->ta_fgcolor]; + attr |= bgcolors[a->ta_bgcolor]; - return (((unsigned int)sccolors[a->ta_fgcolor]) << 8) | - (((unsigned int)sccolors[a->ta_bgcolor]) << 12); + if (a->ta_format & TF_UNDERLINE) + attr |= FG_UNDERLINE; + if (a->ta_format & TF_BLINK) + attr |= FG_BLINK; + + return (attr << 8); } static void ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm.c#2 (text+ko) ==== @@ -36,7 +36,6 @@ #include #include -#include SET_DECLARE(scterm_set, sc_term_sw_t); ==== //depot/projects/mpsafetty/sys/pc98/cbus/scterm-sck.c#3 (text+ko) ==== @@ -39,8 +39,6 @@ #include #include -#ifndef SC_DUMB_TERMINAL - #define MAX_ESC_PAR 5 #ifdef KANJI @@ -1212,5 +1210,3 @@ return (attr << 8); } - -#endif /* SC_DUMB_TERMINAL */ From sam at FreeBSD.org Thu Dec 4 11:52:16 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 11:52:31 2008 Subject: PERFORCE change 154067 for review Message-ID: <200812041952.mB4JqGqb019645@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154067 Change 154067 by sam@sam_ebb on 2008/12/04 19:52:12 s/IXP425/IXP4XX/ for bits shared with IXP435 and like other parts Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/if_npe.c#8 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425.c#8 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_iic.c#5 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#5 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_pci.c#4 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_timer.c#3 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_wdog.c#3 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/if_npe.c#8 (text+ko) ==== @@ -260,11 +260,11 @@ /* NB: all tx done processing goes through one queue */ static int tx_doneqid = -1; -SYSCTL_NODE(_hw, OID_AUTO, npe, CTLFLAG_RD, 0, "IXP425 NPE driver parameters"); +SYSCTL_NODE(_hw, OID_AUTO, npe, CTLFLAG_RD, 0, "IXP4XX NPE driver parameters"); static int npe_debug = 0; SYSCTL_INT(_hw_npe, OID_AUTO, debug, CTLFLAG_RW, &npe_debug, - 0, "IXP425 NPE network interface debug msgs"); + 0, "IXP4XX NPE network interface debug msgs"); TUNABLE_INT("hw.npe.npe", &npe_debug); #define DPRINTF(sc, fmt, ...) do { \ if (sc->sc_debug) device_printf(sc->sc_dev, fmt, __VA_ARGS__); \ ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425.c#8 (text+ko) ==== @@ -181,7 +181,7 @@ static int ixp425_probe(device_t dev) { - device_set_desc(dev, "Intel IXP425"); + device_set_desc(dev, "Intel IXP4XX"); return (0); } @@ -210,13 +210,13 @@ panic("%s: failed to create dma tag", __func__); sc->sc_irq_rman.rm_type = RMAN_ARRAY; - sc->sc_irq_rman.rm_descr = "IXP425 IRQs"; + sc->sc_irq_rman.rm_descr = "IXP4XX IRQs"; if (rman_init(&sc->sc_irq_rman) != 0 || rman_manage_region(&sc->sc_irq_rman, 0, cpu_is_ixp43x() ? 63 : 31) != 0) panic("%s: failed to set up IRQ rman", __func__); sc->sc_mem_rman.rm_type = RMAN_ARRAY; - sc->sc_mem_rman.rm_descr = "IXP425 Memory"; + sc->sc_mem_rman.rm_descr = "IXP4XX Memory"; if (rman_init(&sc->sc_mem_rman) != 0 || rman_manage_region(&sc->sc_mem_rman, 0, ~0) != 0) panic("%s: failed to set up memory rman", __func__); ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_iic.c#5 (text+ko) ==== @@ -63,7 +63,7 @@ static int ixpiic_probe(device_t dev) { - device_set_desc(dev, "IXP425 GPIO-Based I2C Interface"); + device_set_desc(dev, "IXP4XX GPIO-Based I2C Interface"); return (0); } ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#5 (text+ko) ==== @@ -179,7 +179,7 @@ static int npe_debug = 0; SYSCTL_INT(_debug, OID_AUTO, ixp425npe, CTLFLAG_RW, &npe_debug, - 0, "IXP425 NPE debug msgs"); + 0, "IXP4XX NPE debug msgs"); TUNABLE_INT("debug.ixp425npe", &npe_debug); #define DPRINTF(dev, fmt, ...) do { \ if (npe_debug) device_printf(dev, fmt, __VA_ARGS__); \ ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_pci.c#4 (text+ko) ==== @@ -89,8 +89,7 @@ static int ixppcib_probe(device_t dev) { - - device_set_desc(dev, "IXP425 PCI Bus"); + device_set_desc(dev, "IXP4XX PCI Bus"); return (0); } @@ -153,7 +152,7 @@ /* Initialize memory and i/o rmans. */ sc->sc_io_rman.rm_type = RMAN_ARRAY; - sc->sc_io_rman.rm_descr = "IXP425 PCI I/O Ports"; + sc->sc_io_rman.rm_descr = "IXP4XX PCI I/O Ports"; if (rman_init(&sc->sc_io_rman) != 0 || rman_manage_region(&sc->sc_io_rman, 0, IXP425_PCI_IO_SIZE) != 0) { @@ -161,7 +160,7 @@ } sc->sc_mem_rman.rm_type = RMAN_ARRAY; - sc->sc_mem_rman.rm_descr = "IXP425 PCI Memory"; + sc->sc_mem_rman.rm_descr = "IXP4XX PCI Memory"; if (rman_init(&sc->sc_mem_rman) != 0 || rman_manage_region(&sc->sc_mem_rman, IXP425_PCI_MEM_HWBASE, IXP425_PCI_MEM_HWBASE + IXP425_PCI_MEM_SIZE) != 0) { ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 (text+ko) ==== @@ -161,7 +161,7 @@ static int qmgr_debug = 0; SYSCTL_INT(_debug, OID_AUTO, qmgr, CTLFLAG_RW, &qmgr_debug, - 0, "IXP425 Q-Manager debug msgs"); + 0, "IXP4XX Q-Manager debug msgs"); TUNABLE_INT("debug.qmgr", &qmgr_debug); #define DPRINTF(dev, fmt, ...) do { \ if (qmgr_debug) printf(fmt, __VA_ARGS__); \ @@ -204,7 +204,7 @@ static int ixpqmgr_probe(device_t dev) { - device_set_desc(dev, "IXP425 Q-Manager"); + device_set_desc(dev, "IXP4XX Q-Manager"); return 0; } ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_timer.c#3 (text+ko) ==== @@ -86,14 +86,14 @@ NULL, /* no poll_pps */ ~0u, /* counter_mask */ COUNTS_PER_SEC, /* frequency */ - "IXP425 Timer", /* name */ + "IXP4XX Timer", /* name */ 1000, /* quality */ }; static int ixpclk_probe(device_t dev) { - device_set_desc(dev, "IXP425 Timer"); + device_set_desc(dev, "IXP4XX Timer"); return (0); } ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_wdog.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ __FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_wdog.c,v 1.2 2007/03/27 21:03:36 n_hibma Exp $"); /* - * IXP425 Watchdog Timer Support. + * IXP4XX Watchdog Timer Support. */ #include #include @@ -88,7 +88,7 @@ static int ixpwdog_probe(device_t dev) { - device_set_desc(dev, "IXP425 Watchdog Timer"); + device_set_desc(dev, "IXP4XX Watchdog Timer"); return (0); } From ed at FreeBSD.org Thu Dec 4 11:57:22 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Dec 4 11:57:28 2008 Subject: PERFORCE change 154068 for review Message-ID: <200812041957.mB4JvLWi020118@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154068 Change 154068 by ed@ed_flippo on 2008/12/04 19:57:05 Don't use mark_all() inside putchar(). We don't want to redraw everything when drawing a single character. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#5 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#5 (text+ko) ==== @@ -272,7 +272,7 @@ cursor = tp->tp_row * scp->xsize + tp->tp_col; p = sc_vtb_pointer(&scp->vtb, cursor); sc_vtb_putchar(&scp->vtb, p, map[ch], scteken_attr(a)); - mark_all(scp); + mark_for_update(scp, cursor); } static void From ed at FreeBSD.org Thu Dec 4 12:10:38 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Dec 4 12:10:45 2008 Subject: PERFORCE change 154069 for review Message-ID: <200812042010.mB4KAZNQ022566@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154069 Change 154069 by ed@ed_flippo on 2008/12/04 20:09:59 Woops! Call mark_for_update() on the column beyond the putchar() as well. Otherwise an update won't happen, because the region has a zero size. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#6 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#6 (text+ko) ==== @@ -273,6 +273,7 @@ p = sc_vtb_pointer(&scp->vtb, cursor); sc_vtb_putchar(&scp->vtb, p, map[ch], scteken_attr(a)); mark_for_update(scp, cursor); + mark_for_update(scp, cursor + 1); } static void From ed at FreeBSD.org Thu Dec 4 12:36:04 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Dec 4 12:36:11 2008 Subject: PERFORCE change 154071 for review Message-ID: <200812042036.mB4Ka328024550@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154071 Change 154071 by ed@ed_flippo on 2008/12/04 20:35:20 Hummm... It seems the problem is a little more complex. We should not need to call mark_for_update() (reading the source code), but for some reason this causes the input not to be drawn. If we call mark_for_update(scp, cursor + 1), we get a spontaneous reboot later on, because scp->end is out of bounds then. Temporary hack: call mark_for_update(scp, cursor + 1) unless we're at the last cell on the display. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#7 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#7 (text+ko) ==== @@ -273,7 +273,8 @@ p = sc_vtb_pointer(&scp->vtb, cursor); sc_vtb_putchar(&scp->vtb, p, map[ch], scteken_attr(a)); mark_for_update(scp, cursor); - mark_for_update(scp, cursor + 1); + /* XXX: why? */ + mark_for_update(scp, imin(cursor + 1, scp->xsize * scp->ysize - 1)); } static void From jhb at FreeBSD.org Thu Dec 4 12:58:30 2008 From: jhb at FreeBSD.org (John Baldwin) Date: Thu Dec 4 12:58:38 2008 Subject: PERFORCE change 154073 for review Message-ID: <200812042058.mB4KwRvI035853@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154073 Change 154073 by jhb@jhb_mutex on 2008/12/04 20:58:27 IFC @154071 Affected files ... .. //depot/projects/smpng/sys/amd64/Makefile#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#14 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#30 integrate .. //depot/projects/smpng/sys/amd64/amd64/initcpu.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#33 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#36 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#49 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#8 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#69 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#46 integrate .. //depot/projects/smpng/sys/amd64/include/atomic.h#32 integrate .. //depot/projects/smpng/sys/amd64/include/cputypes.h#4 integrate .. //depot/projects/smpng/sys/amd64/include/md_var.h#17 integrate .. //depot/projects/smpng/sys/amd64/include/pmc_mdep.h#7 integrate .. //depot/projects/smpng/sys/amd64/include/specialreg.h#18 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux.h#17 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#30 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#26 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_syscall.h#26 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysent.c#26 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysvec.c#33 integrate .. //depot/projects/smpng/sys/amd64/linux32/syscalls.master#30 integrate .. //depot/projects/smpng/sys/arm/arm/busdma_machdep.c#25 integrate .. //depot/projects/smpng/sys/arm/arm/elf_machdep.c#10 integrate .. //depot/projects/smpng/sys/arm/at91/at91.c#16 integrate .. //depot/projects/smpng/sys/arm/at91/at91_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/at91/at91_mci.c#10 integrate .. //depot/projects/smpng/sys/arm/at91/at91_mcireg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pdcreg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pio.c#7 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pioreg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_piovar.h#4 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pmc.c#8 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pmcreg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pmcvar.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_rtc.c#5 integrate .. //depot/projects/smpng/sys/arm/at91/at91_rtcreg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_spi.c#8 integrate .. //depot/projects/smpng/sys/arm/at91/at91_spireg.h#4 integrate .. //depot/projects/smpng/sys/arm/at91/at91_ssc.c#6 integrate .. //depot/projects/smpng/sys/arm/at91/at91_sscreg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_st.c#10 integrate .. //depot/projects/smpng/sys/arm/at91/at91_streg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_twi.c#12 integrate .. //depot/projects/smpng/sys/arm/at91/at91_twiio.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_twireg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_usartreg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91board.h#1 branch .. //depot/projects/smpng/sys/arm/at91/at91rm92reg.h#6 integrate .. //depot/projects/smpng/sys/arm/at91/at91var.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/board_bwct.c#1 branch .. //depot/projects/smpng/sys/arm/at91/board_hl200.c#1 branch .. //depot/projects/smpng/sys/arm/at91/board_kb920x.c#1 branch .. //depot/projects/smpng/sys/arm/at91/board_tsc4370.c#1 branch .. //depot/projects/smpng/sys/arm/at91/files.at91#6 integrate .. //depot/projects/smpng/sys/arm/at91/files.kb920x#2 delete .. //depot/projects/smpng/sys/arm/at91/if_ate.c#19 integrate .. //depot/projects/smpng/sys/arm/at91/if_atereg.h#4 integrate .. //depot/projects/smpng/sys/arm/at91/kb920x_machdep.c#19 delete .. //depot/projects/smpng/sys/arm/at91/ohci_atmelarm.c#4 integrate .. //depot/projects/smpng/sys/arm/at91/std.at91#5 integrate .. //depot/projects/smpng/sys/arm/at91/std.bwct#1 branch .. //depot/projects/smpng/sys/arm/at91/std.hl200#1 branch .. //depot/projects/smpng/sys/arm/at91/std.kb920x#5 integrate .. //depot/projects/smpng/sys/arm/at91/std.tsc4370#1 branch .. //depot/projects/smpng/sys/arm/at91/uart_bus_at91usart.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/uart_cpu_at91rm9200usart.c#5 integrate .. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#17 integrate .. //depot/projects/smpng/sys/arm/conf/AVILA#10 integrate .. //depot/projects/smpng/sys/arm/conf/BWCT#6 integrate .. //depot/projects/smpng/sys/arm/conf/CRB#5 integrate .. //depot/projects/smpng/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/smpng/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/smpng/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/smpng/sys/arm/conf/GUMSTIX#3 integrate .. //depot/projects/smpng/sys/arm/conf/HL200#5 integrate .. //depot/projects/smpng/sys/arm/conf/KB920X#13 integrate .. //depot/projects/smpng/sys/arm/conf/NSLU#4 integrate .. //depot/projects/smpng/sys/arm/conf/SIMICS#16 integrate .. //depot/projects/smpng/sys/arm/conf/SKYEYE#9 integrate .. //depot/projects/smpng/sys/arm/include/atomic.h#30 integrate .. //depot/projects/smpng/sys/arm/mv/common.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/files.mv#2 integrate .. //depot/projects/smpng/sys/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/smpng/sys/arm/mv/mv_pci.c#1 branch .. //depot/projects/smpng/sys/arm/mv/mvreg.h#2 integrate .. //depot/projects/smpng/sys/arm/mv/mvvar.h#2 integrate .. //depot/projects/smpng/sys/arm/mv/obio.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/smpng/sys/arm/mv/orion/orion.c#2 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#18 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/ep80219_machdep.c#9 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#28 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/crb_machdep.c#5 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_machdep.c#8 integrate .. //depot/projects/smpng/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/uboot/Makefile#2 integrate .. //depot/projects/smpng/sys/boot/arm/uboot/conf.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/uboot/version#2 integrate .. //depot/projects/smpng/sys/boot/common/interp.c#4 integrate .. //depot/projects/smpng/sys/boot/i386/Makefile#9 integrate .. //depot/projects/smpng/sys/boot/i386/boot0/Makefile#13 integrate .. //depot/projects/smpng/sys/boot/i386/boot0/boot0.S#9 integrate .. //depot/projects/smpng/sys/boot/i386/gptzfsboot/Makefile#1 branch .. //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#17 integrate .. //depot/projects/smpng/sys/boot/i386/zfsboot/zfsboot.c#2 integrate .. //depot/projects/smpng/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/smpng/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/smpng/sys/boot/uboot/lib/glue.c#4 integrate .. //depot/projects/smpng/sys/boot/uboot/lib/glue.h#4 integrate .. //depot/projects/smpng/sys/boot/uboot/lib/libuboot.h#2 integrate .. //depot/projects/smpng/sys/boot/uboot/lib/net.c#4 integrate .. //depot/projects/smpng/sys/boot/zfs/Makefile#2 integrate .. //depot/projects/smpng/sys/boot/zfs/zfs.c#2 integrate .. //depot/projects/smpng/sys/boot/zfs/zfsimpl.c#2 integrate .. //depot/projects/smpng/sys/bsm/audit.h#11 integrate .. //depot/projects/smpng/sys/bsm/audit_internal.h#10 integrate .. //depot/projects/smpng/sys/bsm/audit_kevents.h#12 integrate .. //depot/projects/smpng/sys/bsm/audit_record.h#12 integrate .. //depot/projects/smpng/sys/cddl/boot/zfs/zfsimpl.h#2 integrate .. //depot/projects/smpng/sys/cddl/boot/zfs/zfssubr.c#2 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c#4 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c#4 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#5 integrate .. //depot/projects/smpng/sys/cddl/dev/cyclic/cyclic.c#2 integrate .. //depot/projects/smpng/sys/cddl/dev/dtrace/i386/dtrace_subr.c#2 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32.h#6 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#54 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#49 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#49 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#49 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#49 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#53 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#21 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#69 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#54 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ipc.c#31 integrate .. //depot/projects/smpng/sys/compat/linux/linux_socket.c#44 integrate .. //depot/projects/smpng/sys/compat/linux/linux_socket.h#3 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sockio.c#13 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sysvec.c#28 integrate .. //depot/projects/smpng/sys/conf/Makefile.arm#33 integrate .. //depot/projects/smpng/sys/conf/files#223 integrate .. //depot/projects/smpng/sys/conf/files.amd64#58 integrate .. //depot/projects/smpng/sys/conf/files.arm#16 integrate .. //depot/projects/smpng/sys/conf/files.i386#115 integrate .. //depot/projects/smpng/sys/conf/files.mips#5 integrate .. //depot/projects/smpng/sys/conf/files.pc98#93 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#44 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#70 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#61 integrate .. //depot/projects/smpng/sys/conf/options#156 integrate .. //depot/projects/smpng/sys/conf/options.arm#18 integrate .. //depot/projects/smpng/sys/contrib/altq/altq/altq_subr.c#9 integrate .. //depot/projects/smpng/sys/contrib/dev/ath/COPYRIGHT#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/README#7 delete .. //depot/projects/smpng/sys/contrib/dev/ath/ah.h#11 delete .. //depot/projects/smpng/sys/contrib/dev/ath/ah_desc.h#7 delete .. //depot/projects/smpng/sys/contrib/dev/ath/ah_devid.h#8 delete .. //depot/projects/smpng/sys/contrib/dev/ath/ah_soc.h#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/alpha-elf.inc#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/alpha-elf.opt_ah.h#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap30.hal.o.uu#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap30.inc#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap30.opt_ah.h#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap43.hal.o.uu#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap43.inc#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap43.opt_ah.h#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap51.hal.o.uu#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap51.inc#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap51.opt_ah.h#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap61.hal.o.uu#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap61.inc#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/ap61.opt_ah.h#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/arm9-le-thumb-elf.inc#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/arm9-le-thumb-elf.opt_ah.h#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/armv4-be-elf.inc#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/armv4-be-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/armv4-le-elf.inc#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/armv4-le-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/i386-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/i386-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/i386-elf.opt_ah.h#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips-be-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips-be-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips-be-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips-le-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips-le-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips-le-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips1-be-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips1-be-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips1-le-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mips1-le-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mipsisa32-be-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mipsisa32-be-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mipsisa32-le-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/mipsisa32-le-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-be-eabi.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-be-eabi.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-be-elf.inc#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-le-eabi.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/powerpc-le-eabi.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sh4-le-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sh4-le-elf.opt_ah.h#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sparc-be-elf.inc#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sparc-be-elf.opt_ah.h#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sparc64-be-elf.inc#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/sparc64-be-elf.opt_ah.h#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/wackelf.c#3 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/wisoc.hal.o.uu#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/wisoc.inc#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/wisoc.opt_ah.h#2 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/x86_64-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/x86_64-elf.inc#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/x86_64-elf.opt_ah.h#4 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/xscale-be-elf.inc#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/xscale-be-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/xscale-le-elf.inc#6 delete .. //depot/projects/smpng/sys/contrib/dev/ath/public/xscale-le-elf.opt_ah.h#5 delete .. //depot/projects/smpng/sys/contrib/dev/ath/version.h#11 delete .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#8 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/mlfk_ipl.c#12 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf.c#31 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_if.c#12 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_ioctl.c#28 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_subr.c#6 integrate .. //depot/projects/smpng/sys/contrib/rdma/rdma_cma.c#4 integrate .. //depot/projects/smpng/sys/dev/aac/aac_pci.c#49 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_hpet.c#10 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib.c#35 integrate .. //depot/projects/smpng/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/smpng/sys/dev/asmc/asmc.c#5 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#59 integrate .. //depot/projects/smpng/sys/dev/ata/ata-queue.c#43 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/ah_osdep.c#6 integrate .. //depot/projects/smpng/sys/dev/ath/ah_osdep.h#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_debug.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_decode.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_desc.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_devid.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v1.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v1.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v14.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v14.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v3.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v3.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_internal.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_regdomain.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_soc.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_keycache.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_phy.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_power.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_reset.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210desc.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210phy.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210reg.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5k_0007.ini#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_keycache.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_phy.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_power.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_recv.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211desc.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211phy.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211reg.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/boss.ini#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar2316.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar2317.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar2413.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar2425.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5111.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5112.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212.ini#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_eeprom.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_gpio.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_phy.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_power.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_reset.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_rfgain.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212desc.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212phy.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212reg.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5311reg.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5413.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_eeprom.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_gpio.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_interrupts.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_misc.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_power.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312_reset.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312phy.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5312reg.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5312/ar5315_gpio.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar2133.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416.ini#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_cal.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_cal_iq.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_eeprom.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_keycache.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_phy.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_power.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416desc.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416phy.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416reg.h#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar9160.ini#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar9160_attach.c#1 branch .. //depot/projects/smpng/sys/dev/ath/ath_rate/amrr/amrr.c#14 integrate .. //depot/projects/smpng/sys/dev/ath/ath_rate/onoe/onoe.c#14 integrate .. //depot/projects/smpng/sys/dev/ath/ath_rate/sample/sample.c#13 integrate .. //depot/projects/smpng/sys/dev/ath/ath_rate/sample/sample.h#7 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#60 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_pci.c#19 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#37 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#22 integrate .. //depot/projects/smpng/sys/dev/bce/if_bcereg.h#13 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbus_device.c#3 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbusvar.h#13 integrate .. //depot/projects/smpng/sys/dev/coretemp/coretemp.c#5 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_ael1002.c#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_common.h#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_hw.c#9 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_xgmac.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#12 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_config.h#6 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#16 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_multiq.c#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#10 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#14 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/cxgb_support.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#13 integrate .. //depot/projects/smpng/sys/dev/dcons/dcons_crom.c#8 integrate .. //depot/projects/smpng/sys/dev/dcons/dcons_os.c#14 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_80003es2lan.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82543.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_api.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_mac.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_manage.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_nvm.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_osdep.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.c#3 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#4 integrate .. //depot/projects/smpng/sys/dev/fb/s3_pci.c#9 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc_pccard.c#8 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#84 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxpreg.h#12 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxpvar.h#20 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_amd.c#13 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_arm.c#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#1 branch .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.h#1 branch .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ia64.c#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_intel.c#4 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_logging.c#11 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#28 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_piv.c#13 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_powerpc.c#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#10 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_sparc64.c#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_x86.c#10 integrate .. //depot/projects/smpng/sys/dev/hwpmc/pmc_events.h#4 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#49 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_cam.c#3 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_sm.c#2 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_soc.c#4 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_subr.c#2 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/iscsi.c#4 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/iscsi.h#2 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/iscsi_subr.c#2 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/iscsivar.h#2 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.h#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82598.c#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.c#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.h#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_common.c#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_common.h#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_osdep.h#3 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.c#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.h#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_type.h#4 integrate .. //depot/projects/smpng/sys/dev/jme/if_jme.c#6 integrate .. //depot/projects/smpng/sys/dev/jme/if_jmereg.h#5 integrate .. //depot/projects/smpng/sys/dev/jme/if_jmevar.h#2 integrate .. //depot/projects/smpng/sys/dev/k8temp/k8temp.c#3 integrate .. //depot/projects/smpng/sys/dev/mfi/mfi_pci.c#9 integrate .. //depot/projects/smpng/sys/dev/mii/truephy.c#2 integrate .. //depot/projects/smpng/sys/dev/mmc/mmcsd.c#7 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#12 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#24 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#12 integrate .. //depot/projects/smpng/sys/dev/nmdm/nmdm.c#34 integrate .. //depot/projects/smpng/sys/dev/nxge/xge-osdep.h#2 integrate .. //depot/projects/smpng/sys/dev/patm/if_patm_intr.c#8 integrate .. //depot/projects/smpng/sys/dev/random/randomdev.c#31 integrate .. //depot/projects/smpng/sys/dev/random/randomdev_soft.c#15 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#65 integrate .. //depot/projects/smpng/sys/dev/sdhci/sdhci.c#3 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#21 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac_private.h#8 integrate .. //depot/projects/smpng/sys/dev/uart/uart_dev_quicc.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/if_upgt.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/if_zyd.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/if_zydreg.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/rio500_usb.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/u3g.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#120 integrate .. //depot/projects/smpng/sys/dev/usb2/bluetooth/ng_ubt2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/controller/ehci2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/controller/ehci2.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/controller/uss820dci_pccard.c#2 delete .. //depot/projects/smpng/sys/dev/usb2/core/usb2_busdma.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_core.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_dev.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_dev.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_device.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_generic.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_generic.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_hub.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_msctest.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_msctest.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_request.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_util.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usbdevs#2 delete .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_aue2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/image/uscanner2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/include/Makefile#2 integrate .. //depot/projects/smpng/sys/dev/usb2/include/urio2_ioctl.h#2 delete .. //depot/projects/smpng/sys/dev/usb2/include/usb2_devid.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/include/usb2_devtable.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/include/usb2_ioctl.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/include/usb2_standard.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/quirk/usb2_quirk.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/u3g2.c#1 branch .. //depot/projects/smpng/sys/dev/usb2/serial/ubsa2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/ugensa2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/sound/uaudio2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/storage/umass2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/storage/urio2.c#2 integrate .. //depot/projects/smpng/sys/dev/xen/blkfront/blkfront.c#3 integrate .. //depot/projects/smpng/sys/dev/xen/blkfront/block.h#2 integrate .. //depot/projects/smpng/sys/dev/xen/netfront/netfront.c#3 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_node.c#5 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_rrip.c#5 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vnops.c#37 integrate .. //depot/projects/smpng/sys/fs/unionfs/union.h#16 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_subr.c#36 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vfsops.c#39 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vnops.c#42 integrate .. //depot/projects/smpng/sys/geom/geom_bsd.c#43 integrate .. //depot/projects/smpng/sys/geom/geom_ccd.c#15 integrate .. //depot/projects/smpng/sys/geom/part/g_part.c#12 integrate .. //depot/projects/smpng/sys/geom/part/g_part_bsd.c#8 integrate .. //depot/projects/smpng/sys/geom/part/g_part_gpt.c#8 integrate .. //depot/projects/smpng/sys/geom/part/g_part_mbr.c#5 integrate .. //depot/projects/smpng/sys/geom/part/g_part_pc98.c#5 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum.c#18 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_list.c#4 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_move.c#3 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rename.c#3 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rm.c#14 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#101 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#137 integrate .. //depot/projects/smpng/sys/i386/conf/PAE#23 integrate .. //depot/projects/smpng/sys/i386/conf/XEN#5 integrate .. //depot/projects/smpng/sys/i386/cpufreq/est.c#13 integrate .. //depot/projects/smpng/sys/i386/cpufreq/p4tcc.c#6 integrate .. //depot/projects/smpng/sys/i386/cpufreq/powernow.c#7 integrate .. //depot/projects/smpng/sys/i386/i386/elf_machdep.c#16 integrate .. //depot/projects/smpng/sys/i386/i386/i686_mem.c#12 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#62 integrate .. //depot/projects/smpng/sys/i386/i386/initcpu.c#32 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#34 integrate .. //depot/projects/smpng/sys/i386/i386/k6_mem.c#6 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#58 integrate .. //depot/projects/smpng/sys/i386/i386/longrun.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#115 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#8 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_sysvec.c#12 integrate .. //depot/projects/smpng/sys/i386/include/atomic.h#50 integrate .. //depot/projects/smpng/sys/i386/include/cputypes.h#6 integrate .. //depot/projects/smpng/sys/i386/include/md_var.h#35 integrate .. //depot/projects/smpng/sys/i386/include/pmc_mdep.h#6 integrate .. //depot/projects/smpng/sys/i386/include/specialreg.h#22 integrate .. //depot/projects/smpng/sys/i386/include/xen/xen-os.h#4 integrate .. //depot/projects/smpng/sys/i386/include/xen/xenbus.h#2 delete .. //depot/projects/smpng/sys/i386/linux/linux.h#24 integrate .. //depot/projects/smpng/sys/i386/linux/linux_sysvec.c#63 integrate .. //depot/projects/smpng/sys/i386/xen/xen_machdep.c#6 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#63 integrate .. //depot/projects/smpng/sys/ia64/ia64/elf_machdep.c#23 integrate .. //depot/projects/smpng/sys/ia64/include/atomic.h#16 integrate .. //depot/projects/smpng/sys/kern/Make.tags.inc#10 integrate .. //depot/projects/smpng/sys/kern/imgact_aout.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#57 integrate .. //depot/projects/smpng/sys/kern/kern_cpuset.c#5 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#119 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#134 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#115 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#59 integrate .. //depot/projects/smpng/sys/kern/kern_ktrace.c#66 integrate .. //depot/projects/smpng/sys/kern/kern_lockf.c#26 integrate .. //depot/projects/smpng/sys/kern/kern_poll.c#28 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#99 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#74 integrate .. //depot/projects/smpng/sys/kern/kern_sysctl.c#55 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#49 integrate .. //depot/projects/smpng/sys/kern/kern_uuid.c#16 integrate .. //depot/projects/smpng/sys/kern/subr_bufring.c#1 branch .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#46 integrate .. //depot/projects/smpng/sys/kern/uipc_mqueue.c#20 integrate .. //depot/projects/smpng/sys/kern/uipc_shm.c#5 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#117 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#44 integrate .. //depot/projects/smpng/sys/kern/vfs_export.c#30 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#86 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#158 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#138 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#90 integrate .. //depot/projects/smpng/sys/mips/conf/IDT#5 integrate .. //depot/projects/smpng/sys/mips/conf/SENTRY5#5 integrate .. //depot/projects/smpng/sys/mips/include/atomic.h#2 integrate .. //depot/projects/smpng/sys/mips/mips/elf_machdep.c#3 integrate .. //depot/projects/smpng/sys/mips/mips/machdep.c#4 integrate .. //depot/projects/smpng/sys/modules/Makefile#151 integrate .. //depot/projects/smpng/sys/modules/ae/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/ath/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/ath_hal/Makefile#7 delete .. //depot/projects/smpng/sys/modules/ath_rate_amrr/Makefile#8 integrate .. //depot/projects/smpng/sys/modules/ath_rate_onoe/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/ath_rate_sample/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/bridgestp/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/cxgb/iw_cxgb/Makefile#4 integrate .. //depot/projects/smpng/sys/modules/hwpmc/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/if_ef/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/if_vlan/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/ip_mroute_mod/Makefile#10 integrate .. //depot/projects/smpng/sys/modules/ipfw/Makefile#12 integrate .. //depot/projects/smpng/sys/modules/linprocfs/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/linux/Makefile#21 integrate .. //depot/projects/smpng/sys/modules/netgraph/atm/atm/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/netgraph/ether/Makefile#4 integrate .. //depot/projects/smpng/sys/modules/netgraph/gif/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/nfsclient/Makefile#12 integrate .. //depot/projects/smpng/sys/modules/nfsserver/Makefile#9 integrate .. //depot/projects/smpng/sys/modules/pf/Makefile#15 integrate .. //depot/projects/smpng/sys/modules/powermac_nvram/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/uart/Makefile#11 integrate .. //depot/projects/smpng/sys/modules/usb2/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/wlan/Makefile#10 integrate .. //depot/projects/smpng/sys/net/bpf.c#81 integrate .. //depot/projects/smpng/sys/net/bridgestp.c#24 integrate .. //depot/projects/smpng/sys/net/if.c#106 integrate .. //depot/projects/smpng/sys/net/if_bridge.c#52 integrate .. //depot/projects/smpng/sys/net/if_ef.c#27 integrate .. //depot/projects/smpng/sys/net/if_ethersubr.c#92 integrate .. //depot/projects/smpng/sys/net/if_faith.c#36 integrate .. //depot/projects/smpng/sys/net/if_fddisubr.c#33 integrate .. //depot/projects/smpng/sys/net/if_fwsubr.c#20 integrate .. //depot/projects/smpng/sys/net/if_gif.c#46 integrate .. //depot/projects/smpng/sys/net/if_gre.c#38 integrate .. //depot/projects/smpng/sys/net/if_lagg.c#14 integrate .. //depot/projects/smpng/sys/net/if_loop.c#49 integrate .. //depot/projects/smpng/sys/net/if_mib.c#13 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#37 integrate .. //depot/projects/smpng/sys/net/if_stf.c#45 integrate .. //depot/projects/smpng/sys/net/if_tun.c#57 integrate .. //depot/projects/smpng/sys/net/if_var.h#56 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#62 integrate .. //depot/projects/smpng/sys/net/raw_cb.c#19 integrate .. //depot/projects/smpng/sys/net/raw_usrreq.c#27 integrate .. //depot/projects/smpng/sys/net/route.c#41 integrate .. //depot/projects/smpng/sys/net/rtsock.c#64 integrate .. //depot/projects/smpng/sys/net/vnet.h#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ddb.c#7 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_hostap.c#6 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_output.c#35 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_var.h#31 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_wds.c#4 integrate .. //depot/projects/smpng/sys/netgraph/atm/ng_atm.c#16 integrate .. //depot/projects/smpng/sys/netgraph/netgraph.h#34 integrate .. //depot/projects/smpng/sys/netgraph/ng_base.c#61 integrate .. //depot/projects/smpng/sys/netgraph/ng_eiface.c#31 integrate .. //depot/projects/smpng/sys/netgraph/ng_ether.c#37 integrate .. //depot/projects/smpng/sys/netgraph/ng_gif.c#18 integrate .. //depot/projects/smpng/sys/netgraph/ng_iface.c#32 integrate .. //depot/projects/smpng/sys/netgraph/ng_l2tp.c#18 integrate .. //depot/projects/smpng/sys/netgraph/ng_socket.c#47 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#62 integrate .. //depot/projects/smpng/sys/netinet/igmp.c#24 integrate .. //depot/projects/smpng/sys/netinet/in.c#45 integrate .. //depot/projects/smpng/sys/netinet/in.h#43 integrate .. //depot/projects/smpng/sys/netinet/in_gif.c#25 integrate .. //depot/projects/smpng/sys/netinet/in_mcast.c#6 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#87 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#55 integrate .. //depot/projects/smpng/sys/netinet/in_proto.c#28 integrate .. //depot/projects/smpng/sys/netinet/in_rmx.c#21 integrate .. //depot/projects/smpng/sys/netinet/in_var.h#22 integrate .. //depot/projects/smpng/sys/netinet/ip6.h#10 integrate .. //depot/projects/smpng/sys/netinet/ip_carp.c#29 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#60 integrate .. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#33 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#98 integrate .. //depot/projects/smpng/sys/netinet/ip_fw_pfil.c#21 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.c#46 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.h#10 integrate .. //depot/projects/smpng/sys/netinet/ip_id.c#10 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#91 integrate .. //depot/projects/smpng/sys/netinet/ip_ipsec.c#10 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.c#62 integrate .. //depot/projects/smpng/sys/netinet/ip_options.c#10 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#98 integrate .. //depot/projects/smpng/sys/netinet/ip_var.h#37 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#72 integrate .. //depot/projects/smpng/sys/netinet/sctp_os_bsd.h#16 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#22 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#20 integrate .. //depot/projects/smpng/sys/netinet/tcp_hostcache.c#15 integrate .. //depot/projects/smpng/sys/netinet/tcp_hostcache.h#1 branch .. //depot/projects/smpng/sys/netinet/tcp_input.c#120 integrate .. //depot/projects/smpng/sys/netinet/tcp_offload.c#6 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#59 integrate .. //depot/projects/smpng/sys/netinet/tcp_reass.c#6 integrate .. //depot/projects/smpng/sys/netinet/tcp_sack.c#27 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#103 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#68 integrate .. //depot/projects/smpng/sys/netinet/tcp_timer.c#43 integrate .. //depot/projects/smpng/sys/netinet/tcp_timewait.c#7 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#71 integrate .. //depot/projects/smpng/sys/netinet/tcp_var.h#61 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#85 integrate .. //depot/projects/smpng/sys/netinet/vinet.h#2 integrate .. //depot/projects/smpng/sys/netinet6/dest6.c#8 integrate .. //depot/projects/smpng/sys/netinet6/frag6.c#20 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#48 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#47 integrate .. //depot/projects/smpng/sys/netinet6/in6_gif.c#19 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#26 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#56 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.h#17 integrate .. //depot/projects/smpng/sys/netinet6/in6_proto.c#26 integrate .. //depot/projects/smpng/sys/netinet6/in6_rmx.c#16 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#37 integrate .. //depot/projects/smpng/sys/netinet6/ip6_forward.c#25 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#54 integrate .. //depot/projects/smpng/sys/netinet6/ip6_ipsec.c#6 integrate .. //depot/projects/smpng/sys/netinet6/ip6_mroute.c#35 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#57 integrate .. //depot/projects/smpng/sys/netinet6/mld6.c#26 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#46 integrate .. //depot/projects/smpng/sys/netinet6/nd6_nbr.c#31 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#24 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#54 integrate .. //depot/projects/smpng/sys/netinet6/route6.c#13 integrate .. //depot/projects/smpng/sys/netinet6/scope6.c#12 integrate .. //depot/projects/smpng/sys/netinet6/udp6_usrreq.c#52 integrate .. //depot/projects/smpng/sys/netinet6/vinet6.h#2 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.c#28 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.h#16 integrate .. //depot/projects/smpng/sys/netipsec/ipsec6.h#6 integrate .. //depot/projects/smpng/sys/netipsec/ipsec_input.c#18 integrate .. //depot/projects/smpng/sys/netipsec/ipsec_output.c#17 integrate .. //depot/projects/smpng/sys/netipsec/key.c#26 integrate .. //depot/projects/smpng/sys/netipsec/keysock.c#20 integrate .. //depot/projects/smpng/sys/netipsec/keysock.h#4 integrate .. //depot/projects/smpng/sys/netipsec/vipsec.h#2 integrate .. //depot/projects/smpng/sys/netipsec/xform_ah.c#15 integrate .. //depot/projects/smpng/sys/netipsec/xform_esp.c#16 integrate .. //depot/projects/smpng/sys/netipsec/xform_ipcomp.c#13 integrate .. //depot/projects/smpng/sys/netipsec/xform_ipip.c#17 integrate .. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#38 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#20 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#78 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#62 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#46 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#78 integrate .. //depot/projects/smpng/sys/pc98/conf/NOTES#65 integrate .. //depot/projects/smpng/sys/pci/if_rl.c#74 integrate .. //depot/projects/smpng/sys/pci/if_rlreg.h#45 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#52 integrate .. //depot/projects/smpng/sys/powerpc/include/atomic.h#21 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/elf_machdep.c#16 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm.c#13 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm_token.c#12 integrate .. //depot/projects/smpng/sys/security/audit/audit_syscalls.c#19 integrate .. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.c#31 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#87 integrate .. //depot/projects/smpng/sys/sparc64/include/atomic.h#18 integrate .. //depot/projects/smpng/sys/sparc64/include/intr_machdep.h#17 integrate .. //depot/projects/smpng/sys/sparc64/pci/schizo.c#3 integrate .. //depot/projects/smpng/sys/sparc64/pci/schizoreg.h#2 integrate .. //depot/projects/smpng/sys/sparc64/pci/schizovar.h#2 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/elf_machdep.c#22 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/intr_machdep.c#32 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/nexus.c#19 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#12 integrate .. //depot/projects/smpng/sys/sun4v/include/atomic.h#4 integrate .. //depot/projects/smpng/sys/sys/buf_ring.h#1 branch .. //depot/projects/smpng/sys/sys/cpuset.h#4 integrate .. //depot/projects/smpng/sys/sys/disklabel.h#33 integrate .. //depot/projects/smpng/sys/sys/jail.h#20 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#78 integrate .. //depot/projects/smpng/sys/sys/mount.h#69 integrate .. //depot/projects/smpng/sys/sys/param.h#131 integrate .. //depot/projects/smpng/sys/sys/pmc.h#13 integrate .. //depot/projects/smpng/sys/sys/pmclog.h#6 integrate .. //depot/projects/smpng/sys/sys/sysctl.h#51 integrate .. //depot/projects/smpng/sys/sys/sysent.h#32 integrate .. //depot/projects/smpng/sys/sys/termios.h#8 integrate .. //depot/projects/smpng/sys/sys/user.h#34 integrate .. //depot/projects/smpng/sys/sys/vimage.h#3 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#29 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#33 integrate .. //depot/projects/smpng/sys/xen/gnttab.c#3 integrate .. //depot/projects/smpng/sys/xen/gnttab.h#3 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_client.c#2 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_comms.c#2 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_comms.h#2 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_dev.c#2 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_if.m#1 branch .. //depot/projects/smpng/sys/xen/xenbus/xenbus_probe.c#2 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_probe_backend.c#2 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbus_xs.c#3 integrate .. //depot/projects/smpng/sys/xen/xenbus/xenbusvar.h#1 branch Differences ... ==== //depot/projects/smpng/sys/amd64/Makefile#2 (text+ko) ==== @@ -1,39 +1,38 @@ -# $FreeBSD: src/sys/amd64/Makefile,v 1.11 2002/06/21 06:18:02 mckusick Exp $ +# $FreeBSD: src/sys/amd64/Makefile,v 1.12 2008/12/01 14:15:10 kensmith Exp $ # @(#)Makefile 8.1 (Berkeley) 6/11/93 -# Makefile for i386 links, tags file +# Makefile for amd64 links, tags file # SYS is normally set in Make.tags.inc -# SYS=/sys -SYS=/nsys +SYS=/sys -TAGDIR= i386 +TAGDIR= amd64 .include "../kern/Make.tags.inc" all: @echo "make links or tags only" -# Directories in which to place i386 tags links -DI386= apm i386 ibcs2 include isa linux +# Directories in which to place amd64 tags links +DAMD64= acpica amd64 ia32 include isa linux32 pci links:: -for i in ${COMMDIR1}; do \ (cd $$i && { rm -f tags; ln -s ../${TAGDIR}/tags tags; }) done -for i in ${COMMDIR2}; do \ (cd $$i && { rm -f tags; ln -s ../../${TAGDIR}/tags tags; }) done - -for i in ${DI386}; do \ + -for i in ${DAMD64}; do \ (cd $$i && { rm -f tags; ln -s ../tags tags; }) done -SI386= ${SYS}/i386/apm/*.[ch] \ - ${SYS}/i386/i386/*.[ch] ${SYS}/i386/ibcs2/*.[ch] \ - ${SYS}/i386/include/*.[ch] ${SYS}/i386/isa/*.[ch] \ - ${SYS}/i386/linux/*.[ch] -AI386= ${SYS}/i386/i386/*.s +SAMD64= ${SYS}/amd64/acpica/*.[ch] \ + ${SYS}/amd64/amd64/*.[ch] ${SYS}/amd64/ia32/*.[ch] \ + ${SYS}/amd64/include/*.[ch] ${SYS}/amd64/isa/*.[ch] \ + ${SYS}/amd64/linux32/*.[ch] ${SYS}/amd64/pci/*.[ch] +AAMD64= ${SYS}/amd64/amd64/*.S tags:: - -ctags -wdt ${COMM} ${SI386} - egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AI386} | \ + -ctags -wdt ${COMM} ${SAMD64} + egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AAMD64} | \ sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \ >> tags sort -o tags tags ==== //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.29 2008/03/12 22:09:19 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.30 2008/11/26 19:25:13 jkim Exp $"); #include #include @@ -35,6 +35,7 @@ #include #include +#include #include #include @@ -677,8 +678,8 @@ return; if ((cpu_id & 0xf00) != 0x600 && (cpu_id & 0xf00) != 0xf00) return; - if ((strcmp(cpu_vendor, "GenuineIntel") != 0) && - (strcmp(cpu_vendor, "AuthenticAMD") != 0)) + if (cpu_vendor_id != CPU_VENDOR_INTEL && + cpu_vendor_id != CPU_VENDOR_AMD) return; mem_range_softc.mr_op = &amd64_mrops; } ==== //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#14 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.27 2008/09/24 10:14:37 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.28 2008/11/22 12:36:15 kib Exp $"); #include #include @@ -72,7 +72,8 @@ .sv_copyout_strings = exec_copyout_strings, .sv_setregs = exec_setregs, .sv_fixlimit = NULL, - .sv_maxssiz = NULL + .sv_maxssiz = NULL, + .sv_flags = SV_ABI_FREEBSD | SV_LP64 }; static Elf64_Brandinfo freebsd_brand_info = { ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#30 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.164 2008/10/22 17:30:37 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.167 2008/11/30 00:10:55 mav Exp $"); #include "opt_cpu.h" @@ -69,6 +69,7 @@ void earlysetcpuclass(void); void panicifcpuunsupported(void); +static u_int find_cpu_vendor_id(void); static void print_AMD_info(void); static void print_AMD_assoc(int i); @@ -95,6 +96,14 @@ { "Sledgehammer", CPUCLASS_K8 }, /* CPU_SLEDGEHAMMER */ }; +static struct { + char *vendor; + u_int vendor_id; +} cpu_vendors[] = { + { INTEL_VENDOR_ID, CPU_VENDOR_INTEL }, /* GenuineIntel */ + { AMD_VENDOR_ID, CPU_VENDOR_AMD }, /* AuthenticAMD */ +}; + int cpu_cores; int cpu_logical; @@ -122,10 +131,10 @@ } } - if (strcmp(cpu_vendor, "GenuineIntel") == 0) { + if (cpu_vendor_id == CPU_VENDOR_INTEL) { /* Please make up your mind folks! */ strcat(cpu_model, "EM64T"); - } else if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { + } else if (cpu_vendor_id == CPU_VENDOR_AMD) { /* * Values taken from AMD Processor Recognition * http://www.amd.com/K6/k6docs/pdf/20734g.pdf @@ -165,13 +174,13 @@ printf("Unknown"); /* will panic below... */ } printf("-class CPU)\n"); - if(*cpu_vendor) - printf(" Origin = \"%s\"",cpu_vendor); - if(cpu_id) + if (*cpu_vendor) + printf(" Origin = \"%s\"", cpu_vendor); + if (cpu_id) printf(" Id = 0x%x", cpu_id); - if (strcmp(cpu_vendor, "GenuineIntel") == 0 || - strcmp(cpu_vendor, "AuthenticAMD") == 0) { + if (cpu_vendor_id == CPU_VENDOR_INTEL || + cpu_vendor_id == CPU_VENDOR_AMD) { printf(" Stepping = %u", cpu_id & 0xf); if (cpu_high > 0) { u_int cmp = 1, htt = 1; @@ -343,22 +352,32 @@ ); >>> TRUNCATED FOR MAIL (1000 lines) <<< From sam at FreeBSD.org Thu Dec 4 14:45:31 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 14:45:42 2008 Subject: PERFORCE change 154079 for review Message-ID: <200812042245.mB4MjUDK046164@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154079 Change 154079 by sam@sam_ebb on 2008/12/04 22:44:49 don't calculate register offsets relative to each other; just use the absolute addresses in the manual Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425reg.h#6 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425reg.h#6 (text+ko) ==== @@ -662,23 +662,16 @@ /* * IXP435/Gateworks Cambria - * - * Octal status LED latch is in upper 256K of CS3 - * Optional RS485 Serial port is next lower 256K - * Optional GPS Serial port is next lower 256K - * next lower 768K is reserved - * Compact flash socket 1 is next lower 256K - * Compact flash socket 0 is next lower 256K */ -#define CAMBRIA_OCTAL_LED_HWBASE (IXP425_EXP_BUS_CS4_HWBASE - 0x40000) -#define CAMBRIA_OCTAL_LED_SIZE 0x40000 -#define CAMBRIA_RS485_HWBASE (CAMBRIA_OCTAL_LED_HWBASE - 0x40000) +#define CAMBRIA_GPS_HWBASE 0x53FC0000UL /* optional GPS Serial Port */ +#define CAMBRIA_GPS_SIZE 0x40000 +#define CAMBRIA_RS485_HWBASE 0x53F80000UL /* optional RS485 Serial Port */ #define CAMBRIA_RS485_SIZE 0x40000 -#define CAMBRIA_GPS_HWBASE (CAMBRIA_RS485_HWBASE - 0x40000) -#define CAMBRIA_GPS_SIZE 0x40000 -#define CAMBRIA_CFSEL1_HWBASE (CAMBRIA_GPS_HWBASE - 4*0x40000) +#define CAMBRIA_OCTAL_LED_HWBASE 0x53F40000UL /* Octal Status LED Latch */ +#define CAMBRIA_OCTAL_LED_SIZE 0x1000 +#define CAMBRIA_CFSEL1_HWBASE 0x53E40000UL /* Compact Flash Socket Sel 0 */ #define CAMBRIA_CFSEL1_SIZE 0x40000 -#define CAMBRIA_CFSEL0_HWBASE (CAMBRIA_CFSEL1_HWBASE - 0x40000) +#define CAMBRIA_CFSEL0_HWBASE 0x53E00000UL /* Compact Flash Socket Sel 1 */ #define CAMBRIA_CFSEL0_SIZE 0x40000 #define IXP435_USB1_HWBASE 0xcd000000UL /* USB host controller 1 */ From sam at FreeBSD.org Thu Dec 4 14:45:32 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 14:45:43 2008 Subject: PERFORCE change 154080 for review Message-ID: <200812042245.mB4MjVXF046169@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154080 Change 154080 by sam@sam_ebb on 2008/12/04 22:45:12 Cambria octal latch LED driver Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/cambria_led.c#1 add .. //depot/projects/vap/sys/arm/xscale/ixp425/files.avila#5 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/files.avila#5 (text+ko) ==== @@ -2,4 +2,5 @@ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional avila_ata arm/xscale/ixp425/avila_led.c optional avila_led +arm/xscale/ixp425/cambria_led.c optional cambria_led arm/xscale/ixp425/ixdp425_pci.c optional pci From sam at FreeBSD.org Thu Dec 4 15:26:13 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 15:26:20 2008 Subject: PERFORCE change 154083 for review Message-ID: <200812042326.mB4NQCcR050095@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154083 Change 154083 by sam@sam_ebb on 2008/12/04 23:26:09 give this a little TLC Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/avila_led.c#3 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/avila_led.c#3 (text+ko) ==== @@ -37,22 +37,19 @@ #include #define GPIO_LED_STATUS 3 -#define GPIO_LED_STATUS_BIT (1U << GPIO_LED_STATUS) +#define GPIO_LED_STATUS_BIT (1U << GPIO_LED_STATUS) -static struct cdev *gpioled; - struct led_avila_softc { device_t sc_dev; bus_space_tag_t sc_iot; bus_space_handle_t sc_gpio_ioh; + struct cdev *sc_led; }; -static struct led_avila_softc *led_avila_sc = NULL; - static void -led_func(void *unused, int onoff) +led_func(void *arg, int onoff) { - struct led_avila_softc *sc = led_avila_sc; + struct led_avila_softc *sc = arg; uint32_t reg; reg = GPIO_CONF_READ_4(sc, IXP425_GPIO_GPOUTR); @@ -66,7 +63,7 @@ static int led_avila_probe(device_t dev) { - device_set_desc(dev, "Gateworks Avila GPIO connected LED"); + device_set_desc(dev, "Gateworks Avila Front Panel LED"); return (0); } @@ -75,31 +72,35 @@ { struct led_avila_softc *sc = device_get_softc(dev); struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); - void *led = NULL; - uint32_t reg; - led_avila_sc = sc; - sc->sc_dev = dev; sc->sc_iot = sa->sc_iot; sc->sc_gpio_ioh = sa->sc_gpio_ioh; /* Configure LED GPIO pin as output */ - reg = GPIO_CONF_READ_4(sc, IXP425_GPIO_GPOER); - reg &= ~GPIO_LED_STATUS_BIT; - GPIO_CONF_WRITE_4(sc, IXP425_GPIO_GPOER, reg); + GPIO_CONF_WRITE_4(sc, IXP425_GPIO_GPOER, + GPIO_CONF_READ_4(sc, IXP425_GPIO_GPOER) &~ GPIO_LED_STATUS_BIT); - gpioled = led_create(led_func, led, "gpioled"); + sc->sc_led = led_create(led_func, sc, "gpioled"); - /* Turn on LED */ - led_func(led, 1); + led_func(sc, 1); /* Turn on LED */ return (0); } +static void +led_avila_detach(device_t dev) +{ + struct led_avila_softc *sc = device_get_softc(dev); + + if (sc->sc_led != NULL) + led_destroy(sc->sc_led); +} + static device_method_t led_avila_methods[] = { DEVMETHOD(device_probe, led_avila_probe), DEVMETHOD(device_attach, led_avila_attach), + DEVMETHOD(device_detach, led_avila_detach), {0, 0}, }; From sam at FreeBSD.org Thu Dec 4 15:27:14 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 15:27:20 2008 Subject: PERFORCE change 154084 for review Message-ID: <200812042327.mB4NRDOg050156@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154084 Change 154084 by sam@sam_ebb on 2008/12/04 23:26:48 fix comment, the LED may be connected by GPIO but the important info is where it's located Affected files ... .. //depot/projects/vap/sys/arm/conf/AVILA.hints#5 edit Differences ... ==== //depot/projects/vap/sys/arm/conf/AVILA.hints#5 (text+ko) ==== @@ -32,7 +32,7 @@ # CF IDE controller hint.ata_avila.0.at="ixp0" -# LED connected to gpio +# Front Panel LED hint.led_avila.0.at="ixp0" # Analog Devices AD7418 temperature sensor From sam at FreeBSD.org Thu Dec 4 15:29:16 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Thu Dec 4 15:29:23 2008 Subject: PERFORCE change 154085 for review Message-ID: <200812042329.mB4NTFfi050284@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154085 Change 154085 by sam@sam_ebb on 2008/12/04 23:28:42 add CAMBRIA configs; still need to fix usb and NPE-A but everything else seems to work Affected files ... .. //depot/projects/vap/sys/arm/conf/CAMBRIA#1 add .. //depot/projects/vap/sys/arm/conf/CAMBRIA.hints#1 add Differences ... From zec at FreeBSD.org Thu Dec 4 16:36:27 2008 From: zec at FreeBSD.org (Marko Zec) Date: Thu Dec 4 16:36:33 2008 Subject: PERFORCE change 154087 for review Message-ID: <200812050036.mB50aPEw058198@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154087 Change 154087 by zec@zec_tca51 on 2008/12/05 00:36:00 Unbreak GENERIC kernel build. Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/if_ethersubr.c#16 edit .. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw.h#13 edit .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_os_bsd.h#18 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/if_ethersubr.c#16 (text+ko) ==== @@ -71,6 +71,7 @@ #include #include #include +#include #endif #ifdef INET6 #include ==== //depot/projects/vimage-commit2/src/sys/netinet/ip_fw.h#13 (text+ko) ==== @@ -28,6 +28,8 @@ #ifndef _IPFW2_H #define _IPFW2_H +#include + /* * The default rule number. By the design of ip_fw, the default rule * is the last one, so its number can also serve as the highest number ==== //depot/projects/vimage-commit2/src/sys/netinet/sctp_os_bsd.h#18 (text+ko) ==== @@ -68,6 +68,7 @@ #include #include #include +#include #include #include @@ -96,6 +97,7 @@ #include #include #include +#include #endif /* INET6 */ From zec at FreeBSD.org Thu Dec 4 17:25:17 2008 From: zec at FreeBSD.org (Marko Zec) Date: Thu Dec 4 17:25:23 2008 Subject: PERFORCE change 154088 for review Message-ID: <200812050125.mB51PGEp072353@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154088 Change 154088 by zec@zec_tca51 on 2008/12/05 01:24:59 Unbreak GENERIC kernel build. Affected files ... .. //depot/projects/vimage/src/sys/netinet/ip_fw.h#21 edit .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#24 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/ip_fw.h#21 (text+ko) ==== @@ -28,6 +28,9 @@ #ifndef _IPFW2_H #define _IPFW2_H +#include +#include + /* * The default rule number. By the design of ip_fw, the default rule * is the last one, so its number can also serve as the highest number ==== //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#24 (text+ko) ==== @@ -68,6 +68,7 @@ #include #include #include +#include #include #include @@ -96,6 +97,7 @@ #include #include #include +#include #endif /* INET6 */ From zec at FreeBSD.org Thu Dec 4 17:57:50 2008 From: zec at FreeBSD.org (Marko Zec) Date: Thu Dec 4 17:57:56 2008 Subject: PERFORCE change 154089 for review Message-ID: <200812050157.mB51vnWH074773@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154089 Change 154089 by zec@zec_tca51 on 2008/12/05 01:57:43 Unbreak VIMAGE build. Affected files ... .. //depot/projects/vimage/src/sys/net/if_clone.c#13 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if_clone.c#13 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include static void if_clone_free(struct if_clone *ifc); static int if_clone_createif(struct if_clone *ifc, char *name, size_t len, From zec at FreeBSD.org Fri Dec 5 02:18:01 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 02:18:13 2008 Subject: PERFORCE change 154100 for review Message-ID: <200812051018.mB5AI0aI043766@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154100 Change 154100 by zec@zec_tca51 on 2008/12/05 10:17:49 De-virtualize TCP ISN code in PF because it wasn't done the right way, so leave this for the time when a complete PF virtualization will be implemented (if ever). The problem was in naming clash between TCP ISN state variables in pf code and in netinet/tcp_subr.c which occured as a result of blind / automated V_ prepending. Affected files ... .. //depot/projects/vimage-commit2/src/sys/contrib/pf/net/pf_subr.c#9 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/contrib/pf/net/pf_subr.c#9 (text+ko) ==== @@ -116,26 +116,22 @@ #define ISN_STATIC_INCREMENT 4096 #define ISN_RANDOM_INCREMENT (4096 - 1) -#ifdef VIMAGE_GLOBALS -/* XXX WARNING WARNING clash with netinet/tcp_subr.c - REVISIT !!! */ static u_char isn_secret[32]; static int isn_last_reseed; static u_int32_t isn_offset; static MD5_CTX isn_ctx; -#endif u_int32_t pf_new_isn(struct pf_state *s) { - INIT_VNET_INET(curvnet); u_int32_t md5_buffer[4]; u_int32_t new_isn; struct pf_state_host *src, *dst; /* Seed if this is the first use, reseed if requested. */ - if (V_isn_last_reseed == 0) { - read_random(&V_isn_secret, sizeof(V_isn_secret)); - V_isn_last_reseed = ticks; + if (isn_last_reseed == 0) { + read_random(&isn_secret, sizeof(isn_secret)); + isn_last_reseed = ticks; } if (s->direction == PF_IN) { @@ -147,28 +143,28 @@ } /* Compute the md5 hash and return the ISN. */ - MD5Init(&V_isn_ctx); - MD5Update(&V_isn_ctx, (u_char *) &dst->port, sizeof(u_short)); - MD5Update(&V_isn_ctx, (u_char *) &src->port, sizeof(u_short)); + MD5Init(&isn_ctx); + MD5Update(&isn_ctx, (u_char *) &dst->port, sizeof(u_short)); + MD5Update(&isn_ctx, (u_char *) &src->port, sizeof(u_short)); #ifdef INET6 if (s->af == AF_INET6) { - MD5Update(&V_isn_ctx, (u_char *) &dst->addr, + MD5Update(&isn_ctx, (u_char *) &dst->addr, sizeof(struct in6_addr)); - MD5Update(&V_isn_ctx, (u_char *) &src->addr, + MD5Update(&isn_ctx, (u_char *) &src->addr, sizeof(struct in6_addr)); } else #endif { - MD5Update(&V_isn_ctx, (u_char *) &dst->addr, + MD5Update(&isn_ctx, (u_char *) &dst->addr, sizeof(struct in_addr)); - MD5Update(&V_isn_ctx, (u_char *) &src->addr, + MD5Update(&isn_ctx, (u_char *) &src->addr, sizeof(struct in_addr)); } - MD5Update(&V_isn_ctx, (u_char *) &V_isn_secret, sizeof(V_isn_secret)); - MD5Final((u_char *) &md5_buffer, &V_isn_ctx); + MD5Update(&isn_ctx, (u_char *) &isn_secret, sizeof(isn_secret)); + MD5Final((u_char *) &md5_buffer, &isn_ctx); new_isn = (tcp_seq) md5_buffer[0]; - V_isn_offset += ISN_STATIC_INCREMENT + + isn_offset += ISN_STATIC_INCREMENT + (arc4random() & ISN_RANDOM_INCREMENT); - new_isn += V_isn_offset; + new_isn += isn_offset; return (new_isn); } From zec at FreeBSD.org Fri Dec 5 02:26:10 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 02:26:29 2008 Subject: PERFORCE change 154101 for review Message-ID: <200812051026.mB5AQ99q044456@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154101 Change 154101 by zec@zec_tca51 on 2008/12/05 10:25:56 Do not initialize V_ variables at instantiation. Affected files ... .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_base.c#18 edit .. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw2.c#28 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netgraph/ng_base.c#18 (text+ko) ==== @@ -357,7 +357,7 @@ #endif #ifdef VIMAGE_GLOBALS -static ng_ID_t nextID = 1; +static ng_ID_t nextID; #endif #ifdef INVARIANTS @@ -3073,6 +3073,7 @@ switch (event) { case MOD_LOAD: /* Initialize everything. */ + V_nextID = 1; NG_WORKLIST_LOCK_INIT(); mtx_init(&ng_typelist_mtx, "netgraph types mutex", NULL, MTX_DEF); ==== //depot/projects/vimage-commit2/src/sys/netinet/ip_fw2.c#28 (text+ko) ==== @@ -165,9 +165,8 @@ }; #ifdef VIMAGE_GLOBALS -/* XXX revisit init on instantiation !!! */ -static int fw_debug = 1; -static int autoinc_step = 100; /* bounded to 1..1000 in add_rule() */ +static int fw_debug; +static int autoinc_step; #endif extern int ipfw_chg_hook(SYSCTL_HANDLER_ARGS); @@ -231,10 +230,9 @@ * passes through the firewall. XXX check the latter!!! */ #ifdef VIMAGE_GLOBALS -/* XXX revisit init on instantiation !!! */ -static ipfw_dyn_rule **ipfw_dyn_v = NULL; -static u_int32_t dyn_buckets = 256; /* must be power of 2 */ -static u_int32_t curr_dyn_buckets = 256; /* must be power of 2 */ +static ipfw_dyn_rule **ipfw_dyn_v; +static u_int32_t dyn_buckets; +static u_int32_t curr_dyn_buckets; #endif static struct mtx ipfw_dyn_mtx; /* mutex guarding dynamic rules */ @@ -249,13 +247,12 @@ * Timeouts for various events in handing dynamic rules. */ #ifdef VIMAGE_GLOBALS -/* XXX revisit init on instantiation !!! */ -static u_int32_t dyn_ack_lifetime = 300; -static u_int32_t dyn_syn_lifetime = 20; -static u_int32_t dyn_fin_lifetime = 1; -static u_int32_t dyn_rst_lifetime = 1; -static u_int32_t dyn_udp_lifetime = 10; -static u_int32_t dyn_short_lifetime = 5; +static u_int32_t dyn_ack_lifetime; +static u_int32_t dyn_syn_lifetime; +static u_int32_t dyn_fin_lifetime; +static u_int32_t dyn_rst_lifetime; +static u_int32_t dyn_udp_lifetime; +static u_int32_t dyn_short_lifetime; /* * Keepalives are sent if dyn_keepalive is set. They are sent every @@ -265,14 +262,14 @@ * than dyn_keepalive_period. */ -static u_int32_t dyn_keepalive_interval = 20; -static u_int32_t dyn_keepalive_period = 5; -static u_int32_t dyn_keepalive = 1; /* do send keepalives */ +static u_int32_t dyn_keepalive_interval; +static u_int32_t dyn_keepalive_period; +static u_int32_t dyn_keepalive; static u_int32_t static_count; /* # of static rules */ static u_int32_t static_len; /* size in bytes of static rules */ -static u_int32_t dyn_count; /* # of dynamic rules */ -static u_int32_t dyn_max = 4096; /* max # of dynamic rules */ +static u_int32_t dyn_count; /* # of dynamic rules */ +static u_int32_t dyn_max; /* max # of dynamic rules */ #endif /* VIMAGE_GLOBALS */ SYSCTL_V_INT(V_NET, vnet_ipfw, _net_inet_ip_fw, OID_AUTO, dyn_buckets, @@ -314,8 +311,7 @@ #endif /* SYSCTL_NODE */ #ifdef VIMAGE_GLOBALS -/* XXX revisit init on instantiation !!! */ -static int fw_deny_unknown_exthdrs = 1; +static int fw_deny_unknown_exthdrs; #endif /* @@ -4528,6 +4524,28 @@ struct ip_fw default_rule; int error; + V_fw_debug = 1; + V_autoinc_step = 100; /* bounded to 1..1000 in add_rule() */ + + V_ipfw_dyn_v = NULL; + V_dyn_buckets = 256; /* must be power of 2 */ + V_curr_dyn_buckets = 256; /* must be power of 2 */ + + V_dyn_ack_lifetime = 300; + V_dyn_syn_lifetime = 20; + V_dyn_fin_lifetime = 1; + V_dyn_rst_lifetime = 1; + V_dyn_udp_lifetime = 10; + V_dyn_short_lifetime = 5; + + V_dyn_keepalive_interval = 20; + V_dyn_keepalive_period = 5; + V_dyn_keepalive = 1; /* do send keepalives */ + + V_dyn_max = 4096; /* max # of dynamic rules */ + + V_fw_deny_unknown_exthdrs = 1; + #ifdef INET6 /* Setup IPv6 fw sysctl tree. */ sysctl_ctx_init(&ip6_fw_sysctl_ctx); From zec at FreeBSD.org Fri Dec 5 02:35:19 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 02:35:25 2008 Subject: PERFORCE change 154102 for review Message-ID: <200812051035.mB5AZJSb045179@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154102 Change 154102 by zec@zec_tca51 on 2008/12/05 10:34:30 Use TUNABLE_INT_FETCH() instead of TUNABLE_INT() for V_ vars. Affected files ... .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_sack.c#16 edit .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_subr.c#35 edit .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_proto.c#16 edit .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#16 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_sack.c#16 (text+ko) ==== @@ -135,10 +135,6 @@ SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW, 0, "TCP SACK"); SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_tcp_sack, OID_AUTO, enable, CTLFLAG_RW, tcp_do_sack, 0, "Enable/Disable TCP SACK support"); -#ifdef VIMAGE_GLOBALS -/* XXX REVISIT THIS !!! */ -TUNABLE_INT("net.inet.tcp.sack.enable", &tcp_do_sack); -#endif SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_tcp_sack, OID_AUTO, maxholes, CTLFLAG_RW, tcp_sack_maxholes, 0, ==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_subr.c#35 (text+ko) ==== @@ -359,6 +359,8 @@ V_tcp_inflight_rttthresh = TCPTV_INFLIGHT_RTTTHRESH; tcp_finwait2_timeout = TCPTV_FINWAIT2_TIMEOUT; + TUNABLE_INT_FETCH("net.inet.tcp.sack.enable", &V_tcp_do_sack); + INP_INFO_LOCK_INIT(&V_tcbinfo, "tcp"); LIST_INIT(&V_tcb); V_tcbinfo.ipi_listhead = &V_tcb; ==== //depot/projects/vimage-commit2/src/sys/netinet6/in6_proto.c#16 (text+ko) ==== @@ -518,10 +518,6 @@ sysctl_ip6_tempvltime, "I", ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_V6ONLY, v6only, CTLFLAG_RW, ip6_v6only, 0, ""); -#ifdef VIMAGE_GLOBALS -/* XXX REVISIT THIS ! */ -TUNABLE_INT("net.inet6.ip6.auto_linklocal", &ip6_auto_linklocal); -#endif SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_AUTO_LINKLOCAL, auto_linklocal, CTLFLAG_RW, ip6_auto_linklocal, 0, ""); SYSCTL_V_STRUCT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RIP6STATS, ==== //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#16 (text+ko) ==== @@ -176,6 +176,7 @@ #else V_ip6_auto_linklocal = 1; /* enable by default */ #endif + TUNABLE_INT_FETCH("net.inet6.ip6.auto_linklocal", &ip6_auto_linklocal); #ifndef IPV6FORWARDING #ifdef GATEWAY6 From zec at FreeBSD.org Fri Dec 5 03:16:01 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 03:16:06 2008 Subject: PERFORCE change 154103 for review Message-ID: <200812051116.mB5BG0lu049057@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154103 Change 154103 by zec@zec_tca51 on 2008/12/05 11:15:53 Always remember to prepend a V_ ... Affected files ... .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#17 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#17 (text+ko) ==== @@ -176,7 +176,8 @@ #else V_ip6_auto_linklocal = 1; /* enable by default */ #endif - TUNABLE_INT_FETCH("net.inet6.ip6.auto_linklocal", &ip6_auto_linklocal); + TUNABLE_INT_FETCH("net.inet6.ip6.auto_linklocal", + &V_ip6_auto_linklocal); #ifndef IPV6FORWARDING #ifdef GATEWAY6 From zec at FreeBSD.org Fri Dec 5 03:24:09 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 03:24:16 2008 Subject: PERFORCE change 154104 for review Message-ID: <200812051124.mB5BO8Hd049637@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154104 Change 154104 by zec@zec_tca51 on 2008/12/05 11:23:23 Add an essentially empty kern_vimage.c file and connect it to kernel build. Affected files ... .. //depot/projects/vimage-commit2/src/sys/conf/files#18 edit .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#1 add Differences ... ==== //depot/projects/vimage-commit2/src/sys/conf/files#18 (text+ko) ==== @@ -1953,6 +1953,7 @@ kern/kern_umtx.c standard kern/kern_uuid.c standard kern/kern_xxx.c standard +kern/kern_vimage.c standard kern/link_elf.c standard kern/linker_if.m standard kern/md4c.c optional netsmb From zec at FreeBSD.org Fri Dec 5 05:55:45 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 05:55:51 2008 Subject: PERFORCE change 154110 for review Message-ID: <200812051355.mB5DtiBw080449@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154110 Change 154110 by zec@zec_tca51 on 2008/12/05 13:55:17 Extend kldsym(9) lookups to resolve queries for virtualized variables, but only for those that have been explicitly exported via VNET_SYMMAP constructs. Affected files ... .. //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#4 edit .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#2 edit .. //depot/projects/vimage-commit2/src/sys/net/if.c#28 edit .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#24 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#4 (text+ko) ==== @@ -51,6 +51,7 @@ #include #include #include +#include #include @@ -1278,8 +1279,24 @@ break; } } +#ifndef VIMAGE_GLOBALS + /* + * If the symbol is not found in global namespace, look up + * for it in the current vimage. + */ + if (lf == NULL) { + CURVNET_SET(TD_TO_VNET(td)); + error = vi_symlookup(&lookup, symstr); + CURVNET_RESTORE(); + if (error == 0) { + error = copyout(&lookup, uap->data, + sizeof(lookup)); + } + } +#else if (lf == NULL) error = ENOENT; +#endif } KLD_UNLOCK(); out: ==== //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#2 (text+ko) ==== @@ -28,3 +28,68 @@ * SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: $" +); + +#include +#include +#include +#include +#include +#include +#include + +#ifndef VIMAGE_GLOBALS + +MALLOC_DEFINE(M_VIMAGE, "vimage", "vimage resource container"); + +static TAILQ_HEAD(vnet_modlink_head, vnet_modlink) vnet_modlink_head; + +void +vnet_mod_register(const struct vnet_modinfo *vmi) +{ + struct vnet_modlink *vml, *vml_iter; + + /* Do not register the same module instance more than once */ + TAILQ_FOREACH(vml_iter, &vnet_modlink_head, vml_mod_le) + if (vml_iter->vml_modinfo == vmi) + break; + if (vml_iter != NULL) + panic("attempt to register an already registered vnet module"); + vml = malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); + + vml->vml_modinfo = vmi; +} + +/* + * vi_symlookup() attempts to resolve name to address queries for + * variables which have been moved from global namespace to virtualization + * container structures, but are still directly accessed from legacy + * userspace processes via kldsym(2) and kmem(4) interfaces. + */ +int +vi_symlookup(struct kld_sym_lookup *lookup, char *symstr) +{ + struct vnet_modlink *vml; + + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) { + struct vnet_symmap *mapentry; + + if (vml->vml_modinfo->vmi_symmap == NULL) + continue; + + for (mapentry = vml->vml_modinfo->vmi_symmap; + mapentry->name != NULL; mapentry++) { + if (strcmp(symstr, mapentry->name) == 0) { + lookup->symvalue = (u_long) mapentry->base; + lookup->symsize = mapentry->size; + return 0; + } + } + } + + return ENOENT; +} + +#endif /* !VIMAGE_GLOBALS */ ==== //depot/projects/vimage-commit2/src/sys/net/if.c#28 (text+ko) ==== @@ -159,6 +159,19 @@ static struct filterops netdev_filtops = { 1, NULL, filt_netdetach, filt_netdev }; +#ifndef VIMAGE_GLOBALS +static struct vnet_symmap vnet_net_symmap[] = { + VNET_SYMMAP(net, ifnet), + VNET_SYMMAP(net, rt_tables), + VNET_SYMMAP(net, rtstat), + VNET_SYMMAP(net, rttrash), + VNET_SYMMAP_END +}; + +VNET_MOD_DECLARE(NET, net, vnet_net_iattach, vnet_net_idetach, + NONE, vnet_net_symmap) +#endif + /* * System initialization */ @@ -359,6 +372,10 @@ { INIT_VNET_NET(curvnet); +#ifndef VIMAGE_GLOBALS + vnet_mod_register(&vnet_net_modinfo); +#endif + V_if_index = 0; V_ifindex_table = NULL; V_if_indexlim = 8; ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#24 (text+ko) ==== @@ -33,12 +33,49 @@ #ifndef _SYS_VIMAGE_H_ #define _SYS_VIMAGE_H_ +#include + +struct vnet_modinfo; +struct kld_sym_lookup; + +int vi_symlookup(struct kld_sym_lookup *, char *); +void vnet_mod_register(const struct vnet_modinfo *); + +struct vnet_symmap { + char *name; + void *base; + size_t size; +}; + +struct vnet_modinfo { + char *vmi_name; + struct vnet_symmap *vmi_symmap; +}; + +struct vnet_modlink { + TAILQ_ENTRY(vnet_modlink) vml_mod_le; + const struct vnet_modinfo *vml_modinfo; +}; + +#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_iattach, m_idetach, \ + m_dependson, m_symmap) \ + static const struct vnet_modinfo vnet_##m_name_lc##_modinfo = { \ + .vmi_name = #m_name_lc, \ + .vmi_symmap = m_symmap \ +}; + #ifdef VIMAGE_GLOBALS #define VSYM(base, sym) (sym) #else #define VSYM(base, sym) (base ## _0._ ## sym) #endif +#define VNET_SYMMAP(mod, name) \ + { #name, &(vnet_ ## mod ## _0._ ## name), \ + sizeof(vnet_ ## mod ## _0._ ## name) } + +#define VNET_SYMMAP_END { NULL, 0 } + /* Non-VIMAGE null-macros */ #define CURVNET_SET(arg) #define CURVNET_SET_QUIET(arg) From zec at FreeBSD.org Fri Dec 5 09:19:17 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 09:19:24 2008 Subject: PERFORCE change 154119 for review Message-ID: <200812051719.mB5HJGki014464@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154119 Change 154119 by zec@zec_tpx32 on 2008/12/05 17:18:36 Use if_initname() not sprintf() and own format when renaming ifnets landing back in their home vnet. Suggested by: brooks Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#69 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#69 (text+ko) ==== @@ -330,8 +330,7 @@ /* Rename the ifnet */ if (new_vnet == ifp->if_home_vnet) { /* always restore the original name on return to home vnet */ - snprintf(ifp->if_xname, IFNAMSIZ, "%s%d", ifp->if_dname, - ifp->if_dunit); + if_initname(ifp, ifp->if_dname, ifp->if_dunit); } else { int unit = 0; struct ifnet *iter; From zec at FreeBSD.org Fri Dec 5 09:35:34 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 09:35:40 2008 Subject: PERFORCE change 154121 for review Message-ID: <200812051735.mB5HZXso015742@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154121 Change 154121 by zec@zec_tca51 on 2008/12/05 17:35:06 Unbreak GENERIC + options VIMAGE_GLOBALS build. Affected files ... .. //depot/projects/vimage-commit2/src/sys/netinet/ip_var.h#11 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netinet/ip_var.h#11 (text+ko) ==== @@ -177,6 +177,7 @@ extern struct ipstat ipstat; extern u_short ip_id; /* ip packet ctr, for ids */ +extern int ip_do_randomid; extern int ip_defttl; /* default IP ttl */ extern int ipforwarding; /* ip forwarding */ #ifdef IPSTEALTH From nwhitehorn at FreeBSD.org Fri Dec 5 09:54:54 2008 From: nwhitehorn at FreeBSD.org (Nathan Whitehorn) Date: Fri Dec 5 09:55:00 2008 Subject: PERFORCE change 154123 for review Message-ID: <200812051754.mB5HsrKg017182@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154123 Change 154123 by nwhitehorn@nwhitehorn_trantor on 2008/12/05 17:54:14 Expand the OFW PCI probing routines to do a regular PCI probe in addtion to asking the firmware. There can be devices even in Apple hardware that are not listed in the devtree (grackle_hb, for instance) and this also sets the stage for FDT support. Also add some pretty-printing of name and compat properties to the devinfo output. This commit also, and more importantly, fixes X11 on my Blue & White G3. Apparently X barfs if the OS's list of PCI devices doesn't match the ones that it finds? Unclear. MFp4: RSN Affected files ... .. //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.c#4 edit .. //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.h#3 edit .. //depot/projects/ppc-g5/sys/powerpc/ofw/ofw_pcibus.c#5 edit .. //depot/projects/ppc-g5/sys/powerpc/powermac/macio.c#6 edit Differences ... ==== //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.c#4 (text+ko) ==== @@ -34,7 +34,9 @@ #include #include #include +#include +#include #include #include @@ -72,6 +74,18 @@ free(obd->obd_type, M_OFWPROP); } +int +ofw_bus_gen_child_location_str(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + strlcat(buf, "name=", buflen); + strlcat(buf, ofw_bus_get_name(child), buflen); + + strlcat(buf, " compat=", buflen); + strlcat(buf, ofw_bus_get_compat(child), buflen); + + return (0); +}; const char * ofw_bus_gen_get_compat(device_t bus, device_t dev) ==== //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.h#3 (text+ko) ==== @@ -50,6 +50,9 @@ int ofw_bus_gen_setup_devinfo(struct ofw_bus_devinfo *, phandle_t); void ofw_bus_gen_destroy_devinfo(struct ofw_bus_devinfo *); +/* Helper method to append interesting OF properties to devinfo location */ +int ofw_bus_gen_child_location_str(device_t, device_t, char *, size_t); + /* Routines for processing firmware interrupt maps */ void ofw_bus_setup_iinfo(phandle_t, struct ofw_bus_iinfo *, int); ==== //depot/projects/ppc-g5/sys/powerpc/ofw/ofw_pcibus.c#5 (text+ko) ==== @@ -54,22 +54,24 @@ typedef uint32_t ofw_pci_intr_t; -/* Helper functions */ -static void ofw_pcibus_setup_device(device_t bridge, phandle_t dev, - uint32_t clock, u_int busno, u_int slot, u_int func); - /* Methods */ static device_probe_t ofw_pcibus_probe; static device_attach_t ofw_pcibus_attach; static pci_assign_interrupt_t ofw_pcibus_assign_interrupt; static ofw_bus_get_devinfo_t ofw_pcibus_get_devinfo; +static int ofw_pcibus_child_location_str_method(device_t cbdev, device_t child, + char *buf, size_t buflen); +static void ofw_pcibus_enum_devtree(device_t dev, u_int domain, u_int busno); +static void ofw_pcibus_enum_bus(device_t dev, u_int domain, u_int busno); + static device_method_t ofw_pcibus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, ofw_pcibus_probe), DEVMETHOD(device_attach, ofw_pcibus_attach), /* Bus interface */ + DEVMETHOD(bus_child_location_str, ofw_pcibus_child_location_str_method), /* PCI interface */ DEVMETHOD(pci_assign_interrupt, ofw_pcibus_assign_interrupt), @@ -109,56 +111,75 @@ return (0); } -/* - * Perform miscellaneous setups the firmware usually does not do for us. - */ -static void -ofw_pcibus_setup_device(device_t bridge, phandle_t dev, uint32_t clock, - u_int busno, u_int slot, u_int func) +static int +ofw_pcibus_attach(device_t dev) { - int intline = PCI_INVALID_IRQ; + u_int busno, domain; + + domain = pcib_get_domain(dev); + busno = pcib_get_bus(dev); + if (bootverbose) + device_printf(dev, "domain=%d, physical bus=%d\n", + domain, busno); + + /* + * Attach those children represented in the device tree. + */ + + ofw_pcibus_enum_devtree(dev, domain, busno); /* - * The preset in the intline register is usually wrong. Reset - * it to 255, so that the PCI code will reroute the interrupt if - * needed. + * We now attach any laggard devices. FDT, for instance, allows + * the device tree to enumerate only some PCI devices. Apple's + * OF device tree on some Grackle-based hardware can also miss + * functions on multi-function cards. */ - if (OF_getproplen(dev, "interrupts") > 0) - intline = 0; - PCIB_WRITE_CONFIG(bridge, busno, slot, func, PCIR_INTLINE, - intline, 1); + + ofw_pcibus_enum_bus(dev, domain, busno); + + return (bus_generic_attach(dev)); } -static int -ofw_pcibus_attach(device_t dev) +static void +ofw_pcibus_enum_devtree(device_t dev, u_int domain, u_int busno) { device_t pcib; struct ofw_pci_register pcir; struct ofw_pcibus_devinfo *dinfo; phandle_t node, child; - uint32_t clock; - u_int busno, domain, func, slot; + u_int func, slot; + int intline; pcib = device_get_parent(dev); - domain = pcib_get_domain(dev); - busno = pcib_get_bus(dev); - if (bootverbose) - device_printf(dev, "domain=%d, physical bus=%d\n", - domain, busno); node = ofw_bus_get_node(dev); - if (OF_getprop(ofw_bus_get_node(pcib), "clock-frequency", &clock, - sizeof(clock)) == -1) - clock = 33000000; for (child = OF_child(node); child != 0; child = OF_peer(child)) { if (OF_getprop(child, "reg", &pcir, sizeof(pcir)) == -1) continue; slot = OFW_PCI_PHYS_HI_DEVICE(pcir.phys_hi); func = OFW_PCI_PHYS_HI_FUNCTION(pcir.phys_hi); + /* Some OFW device trees contain dupes. */ if (pci_find_dbsf(domain, busno, slot, func) != NULL) continue; - ofw_pcibus_setup_device(pcib, child, clock, busno, slot, func); + + /* + * The preset in the intline register is usually bogus. Reset + * it such that the PCI code will reroute the interrupt if + * needed. + */ + + intline = PCI_INVALID_IRQ; + if (OF_getproplen(child, "interrupts") > 0) + intline = 0; + PCIB_WRITE_CONFIG(pcib, busno, slot, func, PCIR_INTLINE, + intline, 1); + + /* + * Now set up the PCI and OFW bus layer devinfo and add it + * to the PCI bus. + */ + dinfo = (struct ofw_pcibus_devinfo *)pci_read_device(pcib, domain, busno, slot, func, sizeof(*dinfo)); if (dinfo == NULL) @@ -186,30 +207,118 @@ } } } +} + +/* + * The following is an almost exact clone of pci_add_children(), with the + * addition that it (a) will not add children that have already been added, + * and (b) will set up the OFW devinfo to point to invalid values. This is + * to handle non-enumerated PCI children as exist in FDT and on the second + * function of the Rage 128 in my Blue & White G3. + */ - return (bus_generic_attach(dev)); +static void +ofw_pcibus_enum_bus(device_t dev, u_int domain, u_int busno) +{ + device_t pcib; + struct ofw_pcibus_devinfo *dinfo; + int maxslots; + int s, f, pcifunchigh; + uint8_t hdrtype; + + KASSERT(dinfo_size >= sizeof(struct pci_devinfo), + ("dinfo_size too small")); + + pcib = device_get_parent(dev); + + maxslots = PCIB_MAXSLOTS(pcib); + for (s = 0; s <= maxslots; s++) { + pcifunchigh = 0; + f = 0; + DELAY(1); + hdrtype = PCIB_READ_CONFIG(pcib, busno, s, f, PCIR_HDRTYPE, 1); + if ((hdrtype & PCIM_HDRTYPE) > PCI_MAXHDRTYPE) + continue; + if (hdrtype & PCIM_MFDEV) + pcifunchigh = PCI_FUNCMAX; + for (f = 0; f <= pcifunchigh; f++) { + /* Filter devices we have already added */ + if (pci_find_dbsf(domain, busno, s, f) != NULL) + continue; + + dinfo = (struct ofw_pcibus_devinfo *)pci_read_device( + pcib, domain, busno, s, f, sizeof(*dinfo)); + if (dinfo != NULL) { + dinfo->opd_obdinfo.obd_node = -1; + + dinfo->opd_obdinfo.obd_name = NULL; + dinfo->opd_obdinfo.obd_compat = NULL; + dinfo->opd_obdinfo.obd_type = NULL; + dinfo->opd_obdinfo.obd_model = NULL; + pci_add_child(dev, (struct pci_devinfo *)dinfo); + } + } + } } static int +ofw_pcibus_child_location_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + pci_child_location_str_method(cbdev, child, buf, buflen); + + if (ofw_bus_get_node(child) != -1) { + strlcat(buf, " ", buflen); /* Separate info */ + ofw_bus_gen_child_location_str(cbdev, child, buf, buflen); + } + + return (0); +} + +static int ofw_pcibus_assign_interrupt(device_t dev, device_t child) { ofw_pci_intr_t intr; + phandle_t node; int isz; - /* Any AAPL,interrupts property gets priority and is fully spec'ed */ + node = ofw_bus_get_node(child); + + if (node == -1) { + /* Non-firmware enumerated child, use standard routing */ + + /* + * XXX: Right now we don't have anything sensible to do here, + * since the ofw_imap stuff relies on nodes have a reg + * property. There exists ways around this, so the ePAPR + * spec will need to be studied. + */ + + return (0); + +#ifdef NOTYET + intr = pci_get_intpin(child); + return (PCIB_ROUTE_INTERRUPT(device_get_parent(dev), child, + intr)); +#endif + } + + /* + * Any AAPL,interrupts property gets priority and is + * fully specified (i.e. does not need routing) + */ - isz = OF_getprop(ofw_bus_get_node(child), "AAPL,interrupts", &intr, - sizeof(intr)); + isz = OF_getprop(node, "AAPL,interrupts", &intr, sizeof(intr)); if (isz == sizeof(intr)) { return (intr); } - isz = OF_getprop(ofw_bus_get_node(child), "interrupts", &intr, - sizeof(intr)); + isz = OF_getprop(node, "interrupts", &intr, sizeof(intr)); if (isz != sizeof(intr)) { /* No property; our best guess is the intpin. */ intr = pci_get_intpin(child); } + /* * If we got intr from a property, it may or may not be an intpin. * For on-board devices, it frequently is not, and is completely out ==== //depot/projects/ppc-g5/sys/powerpc/powermac/macio.c#6 (text+ko) ==== @@ -107,6 +107,8 @@ DEVMETHOD(bus_deactivate_resource, macio_deactivate_resource), DEVMETHOD(bus_get_resource_list, macio_get_resource_list), + DEVMETHOD(bus_child_location_str, ofw_bus_gen_child_location_str), + /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_devinfo, macio_get_devinfo), DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), From ed at FreeBSD.org Fri Dec 5 10:06:05 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Fri Dec 5 10:06:11 2008 Subject: PERFORCE change 154124 for review Message-ID: <200812051806.mB5I64Wn019000@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154124 Change 154124 by ed@ed_dull on 2008/12/05 18:06:00 Commit this WIP piece of code, so I can test it at another location. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#8 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#8 (text+ko) ==== @@ -264,14 +264,18 @@ const teken_attr_t *a) { scr_stat *scp = arg; - u_char *map = scp->sc->scr_map; + u_char *map; u_char ch = c; vm_offset_t p; - int cursor; + int cursor, attr; + + attr = scteken_attr(a); + map = scp->sc->scr_map; cursor = tp->tp_row * scp->xsize + tp->tp_col; p = sc_vtb_pointer(&scp->vtb, cursor); - sc_vtb_putchar(&scp->vtb, p, map[ch], scteken_attr(a)); + sc_vtb_putchar(&scp->vtb, p, map[ch], attr); + mark_for_update(scp, cursor); /* XXX: why? */ mark_for_update(scp, imin(cursor + 1, scp->xsize * scp->ysize - 1)); @@ -281,14 +285,30 @@ scteken_fill(void *arg, const teken_rect_t *r, teken_char_t c, const teken_attr_t *a) { - teken_pos_t p; + scr_stat *scp = arg; + u_char *map; + int attr, row; + + attr = scteken_attr(a); + map = scp->sc->scr_map; + + if (r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize) { + /* Single contiguous region to fill. */ + vtb_erase(&scp->vtb, r->tr_begin.tp_row * scp->xsize, + (r->tr_end.tp_row - r->tr_begin.tp_row) * scp->xsize, + map[ch], attr); + } else { + /* Fill display line by line. */ + for (row = r->tr_begin.tp_row; row < r->tr_end.tp_row; row++) { + vtb_erase(&scp->vtb, + r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col, + r->tr_end.tp_col - r->tr_begin.tp_col, map[ch], attr); + } + } - /* Braindead implementation of fill() - just call putchar(). */ - for (p.tp_row = r->tr_begin.tp_row; - p.tp_row < r->tr_end.tp_row; p.tp_row++) - for (p.tp_col = r->tr_begin.tp_col; - p.tp_col < r->tr_end.tp_col; p.tp_col++) - scteken_putchar(arg, &p, c, a); + /* XXX: bad! */ + mark_for_update(scp, r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col); + mark_for_update(scp, (r->tr_end.tp_row - 1) * scp->xsize + (r->tr_end.tp_col - 1)); } static void From ed at FreeBSD.org Fri Dec 5 10:08:08 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Fri Dec 5 10:08:16 2008 Subject: PERFORCE change 154125 for review Message-ID: <200812051808.mB5I87NK019124@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154125 Change 154125 by ed@ed_mekker on 2008/12/05 18:07:54 IFC. Affected files ... .. //depot/projects/mpsafetty/lib/libc/string/strsep.3#2 integrate .. //depot/projects/mpsafetty/lib/libstand/bootp.c#2 integrate .. //depot/projects/mpsafetty/sbin/newfs_msdos/newfs_msdos.c#3 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/mpsafetty/sys/arm/mv/mv_pci.c#2 integrate .. //depot/projects/mpsafetty/sys/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/mpsafetty/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#4 integrate .. //depot/projects/mpsafetty/sys/conf/files#31 integrate .. //depot/projects/mpsafetty/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_ael1002.c#6 integrate .. //depot/projects/mpsafetty/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/mpsafetty/sys/dev/jme/if_jmereg.h#5 integrate .. //depot/projects/mpsafetty/sys/dev/jme/if_jmevar.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/pccbb/pccbb.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/pccbb/pccbb_pci.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/pccbb/pccbbvar.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/xen/blkfront/blkfront.c#6 integrate .. //depot/projects/mpsafetty/sys/dev/xen/blkfront/block.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/xen/netfront/netfront.c#7 integrate .. //depot/projects/mpsafetty/sys/i386/include/xen/xenbus.h#2 delete .. //depot/projects/mpsafetty/sys/i386/xen/xen_machdep.c#12 integrate .. //depot/projects/mpsafetty/sys/kern/kern_linker.c#4 integrate .. //depot/projects/mpsafetty/sys/kern/kern_module.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/ip_carp.c#7 integrate .. //depot/projects/mpsafetty/sys/sys/module.h#2 integrate .. //depot/projects/mpsafetty/sys/xen/gnttab.c#4 integrate .. //depot/projects/mpsafetty/sys/xen/gnttab.h#3 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_client.c#4 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_comms.c#4 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_comms.h#3 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_dev.c#4 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_if.m#1 branch .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_probe.c#5 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_probe_backend.c#4 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbus_xs.c#6 integrate .. //depot/projects/mpsafetty/sys/xen/xenbus/xenbusvar.h#1 branch Differences ... ==== //depot/projects/mpsafetty/lib/libc/string/strsep.3#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)strsep.3 8.1 (Berkeley) 6/9/93 -.\" $FreeBSD: src/lib/libc/string/strsep.3,v 1.15 2007/01/09 00:28:12 imp Exp $ +.\" $FreeBSD: src/lib/libc/string/strsep.3,v 1.16 2008/12/05 15:50:59 pjd Exp $ .\" -.Dd June 9, 1993 +.Dd December 5, 2008 .Dt STRSEP 3 .Os .Sh NAME @@ -81,6 +81,21 @@ .Sh EXAMPLES The following uses .Fn strsep +to parse a string, and prints each token in separate line: +.Bd -literal -offset indent +char *token, *string, *tofree; + +tofree = string = strdup("abc,def,ghi"); +assert(string != NULL); + +while ((token = strsep(&string, ",")) != NULL) + printf("%s\en", token); + +free(tofree); +.Ed +.Pp +The following uses +.Fn strsep to parse a string, containing tokens delimited by white space, into an argument vector: .Bd -literal -offset indent ==== //depot/projects/mpsafetty/lib/libstand/bootp.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libstand/bootp.c,v 1.6 2007/01/09 01:02:03 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libstand/bootp.c,v 1.7 2008/12/05 17:13:40 luigi Exp $"); #include #include @@ -47,6 +47,12 @@ #define BOOTP_DEBUGxx #define SUPPORT_DHCP +#define DHCP_ENV_NOVENDOR 1 /* do not parse vendor options */ +#define DHCP_ENV_PXE 10 /* assume pxe vendor options */ +#define DHCP_ENV_FREEBSD 11 /* assume freebsd vendor options +/* set DHCP_ENV to one of the values above to export dhcp options to kenv */ +#define DHCP_ENV DHCP_ENV_NO_VENDOR + #include "stand.h" #include "net.h" #include "netif.h" @@ -72,6 +78,13 @@ static void vend_cmu(u_char *); #endif +#ifdef DHCP_ENV /* export the dhcp response to kenv */ +struct dhcp_opt; +static void setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts); +#else +#define setenv_(a, b, c) +#endif + #ifdef SUPPORT_DHCP static char expected_dhcpmsgtype = -1, dhcp_ok; struct in_addr dhcp_serverip; @@ -351,6 +364,8 @@ /* Step over magic cookie */ cp += sizeof(int); + setenv_(cp, ep, NULL); + while (cp < ep) { tag = *cp++; size = *cp++; @@ -412,3 +427,316 @@ } } #endif + +#ifdef DHCP_ENV +/* + * Parse DHCP options and store them into kenv variables. + * Original code from Danny Braniss, modifications by Luigi Rizzo. + * + * The parser is driven by tables which specify the type and name of + * each dhcp option and how it appears in kenv. + * The first entry in the list contains the prefix used to set the kenv + * name (including the . if needed), the last entry must have a 0 tag. + * Entries do not need to be sorted though it helps for readability. + * + * Certain vendor-specific tables can be enabled according to DHCP_ENV. + * Set it to 0 if you don't want any. + */ +enum opt_fmt { __NONE = 0, + __8 = 1, __16 = 2, __32 = 4, /* Unsigned fields, value=size */ + __IP, /* IPv4 address */ + __TXT, /* C string */ + __BYTES, /* byte sequence, printed %02x */ + __INDIR, /* name=value */ + __ILIST, /* name=value;name=value ... */ + __VE, /* vendor specific, recurse */ +}; + +struct dhcp_opt { + uint8_t tag; + uint8_t fmt; + const char *desc; +}; + +static struct dhcp_opt vndr_opt[] = { /* Vendor Specific Options */ +#if DHCP_ENV == DHCP_ENV_FREEBSD /* FreeBSD table in the original code */ + {0, 0, "FreeBSD"}, /* prefix */ + {1, __TXT, "kernel"}, + {2, __TXT, "kernelname"}, + {3, __TXT, "kernel_options"}, + {4, __IP, "usr-ip"}, + {5, __TXT, "conf-path"}, + {6, __TXT, "rc.conf0"}, + {7, __TXT, "rc.conf1"}, + {8, __TXT, "rc.conf2"}, + {9, __TXT, "rc.conf3"}, + {10, __TXT, "rc.conf4"}, + {11, __TXT, "rc.conf5"}, + {12, __TXT, "rc.conf6"}, + {13, __TXT, "rc.conf7"}, + {14, __TXT, "rc.conf8"}, + {15, __TXT, "rc.conf9"}, + + {20, __TXT, "boot.nfsroot.options"}, + + {245, __INDIR, ""}, + {246, __INDIR, ""}, + {247, __INDIR, ""}, + {248, __INDIR, ""}, + {249, __INDIR, ""}, + {250, __INDIR, ""}, + {251, __INDIR, ""}, + {252, __INDIR, ""}, + {253, __INDIR, ""}, + {254, __INDIR, ""}, + +#elif DHCP_ENV == DHCP_ENV_PXE /* some pxe options, RFC4578 */ + {0, 0, "pxe"}, /* prefix */ + {93, __16, "system-architecture"}, + {94, __BYTES, "network-interface"}, + {97, __BYTES, "machine-identifier"}, +#else /* default (empty) table */ + {0, 0, ""}, /* prefix */ +#endif + {0, __TXT, "%soption-%d"} +}; + +static struct dhcp_opt dhcp_opt[] = { + /* DHCP Option names, formats and codes, from RFC2132. */ + {0, 0, "dhcp."}, // prefix + {1, __IP, "subnet-mask"}, + {2, __32, "time-offset"}, /* this is signed */ + {3, __IP, "routers"}, + {4, __IP, "time-servers"}, + {5, __IP, "ien116-name-servers"}, + {6, __IP, "domain-name-servers"}, + {7, __IP, "log-servers"}, + {8, __IP, "cookie-servers"}, + {9, __IP, "lpr-servers"}, + {10, __IP, "impress-servers"}, + {11, __IP, "resource-location-servers"}, + {12, __TXT, "host-name"}, + {13, __16, "boot-size"}, + {14, __TXT, "merit-dump"}, + {15, __TXT, "domain-name"}, + {16, __IP, "swap-server"}, + {17, __TXT, "root-path"}, + {18, __TXT, "extensions-path"}, + {19, __8, "ip-forwarding"}, + {20, __8, "non-local-source-routing"}, + {21, __IP, "policy-filter"}, + {22, __16, "max-dgram-reassembly"}, + {23, __8, "default-ip-ttl"}, + {24, __32, "path-mtu-aging-timeout"}, + {25, __16, "path-mtu-plateau-table"}, + {26, __16, "interface-mtu"}, + {27, __8, "all-subnets-local"}, + {28, __IP, "broadcast-address"}, + {29, __8, "perform-mask-discovery"}, + {30, __8, "mask-supplier"}, + {31, __8, "perform-router-discovery"}, + {32, __IP, "router-solicitation-address"}, + {33, __IP, "static-routes"}, + {34, __8, "trailer-encapsulation"}, + {35, __32, "arp-cache-timeout"}, + {36, __8, "ieee802-3-encapsulation"}, + {37, __8, "default-tcp-ttl"}, + {38, __32, "tcp-keepalive-interval"}, + {39, __8, "tcp-keepalive-garbage"}, + {40, __TXT, "nis-domain"}, + {41, __IP, "nis-servers"}, + {42, __IP, "ntp-servers"}, + {43, __VE, "vendor-encapsulated-options"}, + {44, __IP, "netbios-name-servers"}, + {45, __IP, "netbios-dd-server"}, + {46, __8, "netbios-node-type"}, + {47, __TXT, "netbios-scope"}, + {48, __IP, "x-font-servers"}, + {49, __IP, "x-display-managers"}, + {50, __IP, "dhcp-requested-address"}, + {51, __32, "dhcp-lease-time"}, + {52, __8, "dhcp-option-overload"}, + {53, __8, "dhcp-message-type"}, + {54, __IP, "dhcp-server-identifier"}, + {55, __8, "dhcp-parameter-request-list"}, + {56, __TXT, "dhcp-message"}, + {57, __16, "dhcp-max-message-size"}, + {58, __32, "dhcp-renewal-time"}, + {59, __32, "dhcp-rebinding-time"}, + {60, __TXT, "vendor-class-identifier"}, + {61, __TXT, "dhcp-client-identifier"}, + {64, __TXT, "nisplus-domain"}, + {65, __IP, "nisplus-servers"}, + {66, __TXT, "tftp-server-name"}, + {67, __TXT, "bootfile-name"}, + {68, __IP, "mobile-ip-home-agent"}, + {69, __IP, "smtp-server"}, + {70, __IP, "pop-server"}, + {71, __IP, "nntp-server"}, + {72, __IP, "www-server"}, + {73, __IP, "finger-server"}, + {74, __IP, "irc-server"}, + {75, __IP, "streettalk-server"}, + {76, __IP, "streettalk-directory-assistance-server"}, + {77, __TXT, "user-class"}, + {85, __IP, "nds-servers"}, + {86, __TXT, "nds-tree-name"}, + {87, __TXT, "nds-context"}, + {210, __TXT, "authenticate"}, + + /* use the following entries for arbitrary variables */ + {246, __ILIST, ""}, + {247, __ILIST, ""}, + {248, __ILIST, ""}, + {249, __ILIST, ""}, + {250, __INDIR, ""}, + {251, __INDIR, ""}, + {252, __INDIR, ""}, + {253, __INDIR, ""}, + {254, __INDIR, ""}, + {0, __TXT, "%soption-%d"} +}; + +/* + * parse a dhcp response, set environment variables translating options + * names and values according to the tables above. Also set dhcp.tags + * to the list of selected tags. + */ +static void +setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts) +{ + u_char *ncp; + u_char tag; + char tags[512], *tp; /* the list of tags */ + +#define FLD_SEP ',' /* separator in list of elements */ + ncp = cp; + tp = tags; + if (opts == NULL) + opts = dhcp_opt; + + while (ncp < ep) { + unsigned int size; /* option size */ + char *vp, *endv, buf[256]; /* the value buffer */ + struct dhcp_opt *op; + + tag = *ncp++; /* extract tag and size */ + size = *ncp++; + cp = ncp; /* current payload */ + ncp += size; /* point to the next option */ + + if (tag == TAG_END) + break; + if (tag == 0) + continue; + + for (op = opts+1; op->tag && op->tag != tag; op++) + ; + /* if not found we end up on the default entry */ + + /* + * Copy data into the buffer. libstand does not have snprintf so we + * need to be careful with sprintf(). With strings, the source is + * always <256 char so shorter than the buffer so we are safe; with + * other arguments, the longest string is inet_ntoa which is 16 bytes + * so we make sure to have always enough room in the string before + * trying an sprint. + */ + vp = buf; + *vp = '\0'; + endv = buf + sizeof(buf) - 1 - 16; /* last valid write position */ + + switch(op->fmt) { + case __NONE: + break; /* should not happen */ + + case __VE: /* recurse, vendor specific */ + setenv_(cp, cp+size, vndr_opt); + break; + + case __IP: /* ip address */ + for (; size > 0 && vp < endv; size -= 4, cp += 4) { + struct in_addr in_ip; /* ip addresses */ + if (vp != buf) + *vp++ = FLD_SEP; + bcopy(cp, &in_ip.s_addr, sizeof(in_ip.s_addr)); + sprintf(vp, "%s", inet_ntoa(in_ip)); + vp += strlen(vp); + } + break; + + case __BYTES: /* opaque byte string */ + for (; size > 0 && vp < endv; size -= 1, cp += 1) { + sprintf(vp, "%02x", *cp); + vp += strlen(vp); + } + break; + + case __TXT: + bcopy(cp, buf, size); /* cannot overflow */ + buf[size] = 0; + break; + + case __32: + case __16: + case __8: /* op->fmt is also the length of each field */ + for (; size > 0 && vp < endv; size -= op->fmt, cp += op->fmt) { + uint32_t v; + if (op->fmt == __32) + v = (cp[0]<<24) + (cp[1]<<16) + (cp[2]<<8) + cp[3]; + else if (op->fmt == __16) + v = (cp[0]<<8) + cp[1]; + else + v = cp[0]; + if (vp != buf) + *vp++ = FLD_SEP; + sprintf(vp, "%u", v); + vp += strlen(vp); + } + break; + + case __INDIR: /* name=value */ + case __ILIST: /* name=value;name=value... */ + bcopy(cp, buf, size); /* cannot overflow */ + buf[size] = '\0'; + for (endv = buf; endv; endv = vp) { + u_char *s = NULL; /* semicolon ? */ + + /* skip leading whitespace */ + while (*endv && index(" \t\n\r", *endv)) + endv++; + vp = index(endv, '='); /* find name=value separator */ + if (!vp) + break; + *vp++ = 0; + if (op->fmt == __ILIST && (s = index(vp, ';'))) + *s++ = '\0'; + setenv(endv, vp, 1); + vp = s; /* prepare for next round */ + } + buf[0] = '\0'; /* option already done */ + } + + if (tp - tags < sizeof(tags) - 5) { /* add tag to the list */ + if (tp != tags) + *tp++ = FLD_SEP; + sprintf(tp, "%d", tag); + tp += strlen(tp); + } + if (buf[0]) { + char env[128]; /* the string name */ + + if (op->tag == 0) + sprintf(env, op->desc, opts[0].desc, tag); + else + sprintf(env, "%s%s", opts[0].desc, op->desc); + setenv(env, buf, 1); + } + } + if (tp != tags) { + char env[128]; /* the string name */ + sprintf(env, "%stags", opts[0].desc); + setenv(env, tags, 1); + } +} +#endif /* additional dhcp */ ==== //depot/projects/mpsafetty/sbin/newfs_msdos/newfs_msdos.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/newfs_msdos/newfs_msdos.c,v 1.24 2008/12/03 18:22:36 luigi Exp $"; + "$FreeBSD: src/sbin/newfs_msdos/newfs_msdos.c,v 1.25 2008/12/03 23:00:57 mlaier Exp $"; #endif /* not lint */ #include @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -364,7 +365,7 @@ errx(1, "failed to create %s", fname); pos = lseek(fd, opt_create - 1, SEEK_SET); if (write(fd, "\0", 1) != 1) - errx(1, "failed to initialize %lld bytes", opt_create); + errx(1, "failed to initialize %jd bytes", (intmax_t)opt_create); pos = lseek(fd, 0, SEEK_SET); } else if ((fd = open(fname, opt_N ? O_RDONLY : O_RDWR)) == -1 || fstat(fd, &sb)) @@ -374,7 +375,7 @@ if (!S_ISCHR(sb.st_mode)) warnx("warning, %s is not a character device", fname); if (opt_ofs && opt_ofs != lseek(fd, opt_ofs, SEEK_SET)) - errx(1, "cannot seek to %lld", opt_ofs); + errx(1, "cannot seek to %jd", (intmax_t)opt_ofs); memset(&bpb, 0, sizeof(bpb)); if (opt_f) { getstdfmt(opt_f, &bpb); ==== //depot/projects/mpsafetty/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.82 2007/12/02 20:40:30 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.83 2008/12/05 11:34:36 kib Exp $"); + +#include "opt_compat.h" #include #include @@ -318,6 +320,10 @@ frame_type = INTERRUPT; else if (strcmp(name, "Xfast_syscall") == 0) frame_type = SYSCALL; +#ifdef COMPAT_IA32 + else if (strcmp(name, "Xint0x80_syscall") == 0) + frame_type = SYSCALL; +#endif /* XXX: These are interrupts with trap frames. */ else if (strcmp(name, "Xtimerint") == 0 || strcmp(name, "Xcpustop") == 0 || ==== //depot/projects/mpsafetty/sys/arm/mv/mv_pci.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.2 2008/11/19 17:07:01 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.3 2008/12/05 15:27:28 raj Exp $"); #include #include @@ -598,6 +598,10 @@ mem_limit = mem_base + sc->sc_info->op_mem_size - 1; /* Configure I/O decode registers */ + pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOBASEL_1, + io_base >> 8, 1); + pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOBASEH_1, + io_base >> 16, 2); pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOLIMITL_1, io_limit >> 8, 1); pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOLIMITH_1, ==== //depot/projects/mpsafetty/sys/arm/mv/orion/std.db88f5xxx#2 (text+ko) ==== @@ -1,13 +1,13 @@ -# $FreeBSD: src/sys/arm/mv/orion/std.db88f5xxx,v 1.1 2008/10/13 20:07:13 raj Exp $ +# $FreeBSD: src/sys/arm/mv/orion/std.db88f5xxx,v 1.2 2008/12/05 15:31:51 raj Exp $ include "../mv/std.mv" files "../mv/orion/files.db88f5xxx" -makeoptions KERNPHYSADDR=0x00400000 -makeoptions KERNVIRTADDR=0xc0400000 +makeoptions KERNPHYSADDR=0x00900000 +makeoptions KERNVIRTADDR=0xc0900000 -options KERNPHYSADDR=0x00400000 -options KERNVIRTADDR=0xc0400000 +options KERNPHYSADDR=0x00900000 +options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 options PHYSMEM_SIZE=0x08000000 options STARTUP_PAGETABLE_ADDR=0x00100000 ==== //depot/projects/mpsafetty/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#4 (text+ko) ==== @@ -387,6 +387,49 @@ #define _DONT_USE_1275_GENERIC_NAMES #define _HAVE_CPUID_INSN +#elif defined(__mips__) + +/* + * Define the appropriate "processor characteristics" + */ +#define _STACK_GROWS_DOWNWARD +#define _LONG_LONG_LTOH +#define _BIT_FIELDS_LTOH +#define _IEEE_754 +#define _CHAR_IS_SIGNED +#define _BOOL_ALIGNMENT 1 +#define _CHAR_ALIGNMENT 1 +#define _SHORT_ALIGNMENT 2 +#define _INT_ALIGNMENT 4 +#define _FLOAT_ALIGNMENT 4 +#define _FLOAT_COMPLEX_ALIGNMENT 4 +#define _LONG_ALIGNMENT 4 +#define _LONG_LONG_ALIGNMENT 4 +#define _DOUBLE_ALIGNMENT 4 +#define _DOUBLE_COMPLEX_ALIGNMENT 4 +#define _LONG_DOUBLE_ALIGNMENT 4 +#define _LONG_DOUBLE_COMPLEX_ALIGNMENT 4 +#define _POINTER_ALIGNMENT 4 +#define _MAX_ALIGNMENT 4 +#define _ALIGNMENT_REQUIRED 0 + +#define _LONG_LONG_ALIGNMENT_32 _LONG_LONG_ALIGNMENT + +/* + * Define the appropriate "implementation choices". + */ +#define _ILP32 +#if !defined(_I32LPx) && defined(_KERNEL) +#define _I32LPx +#endif +#define _SUNOS_VTOC_16 +#define _DMA_USES_PHYSADDR +#define _FIRMWARE_NEEDS_FDISK +#define _PSM_MODULES +#define _RTC_CONFIG +#define _DONT_USE_1275_GENERIC_NAMES +#define _HAVE_CPUID_INSN + #elif defined(__powerpc__) /* ==== //depot/projects/mpsafetty/sys/conf/files#31 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1353 2008/12/01 16:53:01 sam Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1354 2008/12/04 07:59:05 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2763,10 +2763,14 @@ xen/xenbus/xenbus_client.c optional xen xen/xenbus/xenbus_comms.c optional xen xen/xenbus/xenbus_dev.c optional xen +xen/xenbus/xenbus_if.m optional xen xen/xenbus/xenbus_probe.c optional xen -xen/xenbus/xenbus_probe_backend.c optional xen +#xen/xenbus/xenbus_probe_backend.c optional xen xen/xenbus/xenbus_xs.c optional xen dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/blkfront/blkfront.c optional xen dev/xen/netfront/netfront.c optional xen +#dev/xen/xenpci/xenpci.c optional xen +#xen/xenbus/xenbus_newbus.c optional xenhvm + ==== //depot/projects/mpsafetty/sys/dev/bce/if_bce.c#4 (text) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.44 2008/11/19 03:24:35 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.45 2008/12/03 23:00:00 delphij Exp $"); /* * The following controllers are supported by this driver: @@ -7030,13 +7030,14 @@ /* Was it a link change interrupt? */ if ((status_attn_bits & STATUS_ATTN_BITS_LINK_STATE) != - (sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) + (sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) { bce_phy_intr(sc); - /* Clear any transient status updates during link state change. */ - REG_WR(sc, BCE_HC_COMMAND, - sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT); - REG_RD(sc, BCE_HC_COMMAND); + /* Clear any transient status updates during link state change. */ + REG_WR(sc, BCE_HC_COMMAND, + sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT); + REG_RD(sc, BCE_HC_COMMAND); + } /* If any other attention is asserted then the chip is toast. */ if (((status_attn_bits & ~STATUS_ATTN_BITS_LINK_STATE) != ==== //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_ael1002.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.9 2008/11/21 19:22:25 gnn Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.10 2008/12/04 20:32:53 gnn Exp $"); #include @@ -205,6 +205,16 @@ t3_write_reg(phy->adapter, A_T3DBG_GPIO_EN, gpio_out); msleep(125); t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); + + /* Phy loopback work around for ael1006 */ + /* Soft reset phy by toggling loopback */ + msleep(125); + /* Put phy into local loopback */ + t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 0, 1); + msleep(125); + /* Take phy out of local loopback */ + t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 0); + return 0; } ==== //depot/projects/mpsafetty/sys/dev/jme/if_jme.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.8 2008/10/14 00:54:15 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.10 2008/12/04 02:16:53 yongari Exp $"); #include #include @@ -150,6 +150,9 @@ static int jme_newbuf(struct jme_softc *, struct jme_rxdesc *); static void jme_set_vlan(struct jme_softc *); static void jme_set_filter(struct jme_softc *); +static void jme_stats_clear(struct jme_softc *); +static void jme_stats_save(struct jme_softc *); +static void jme_stats_update(struct jme_softc *); static int sysctl_int_range(SYSCTL_HANDLER_ARGS, int, int); static int sysctl_hw_jme_tx_coal_to(SYSCTL_HANDLER_ARGS); static int sysctl_hw_jme_tx_coal_pkt(SYSCTL_HANDLER_ARGS); @@ -651,6 +654,14 @@ goto fail; } + if (CHIPMODE_REVFM(sc->jme_chip_rev) >= 2) { + if ((sc->jme_rev & DEVICEID_JMC2XX_MASK) == DEVICEID_JMC260 && + CHIPMODE_REVFM(sc->jme_chip_rev) == 2) + sc->jme_flags |= JME_FLAG_DMA32BIT; + sc->jme_flags |= JME_FLAG_TXCLK; + sc->jme_flags |= JME_FLAG_HWMIB; + } + /* Reset the ethernet controller. */ jme_reset(sc); @@ -880,35 +891,41 @@ return (0); } +#define JME_SYSCTL_STAT_ADD32(c, h, n, p, d) \ + SYSCTL_ADD_UINT(c, h, OID_AUTO, n, CTLFLAG_RD, p, 0, d) + static void jme_sysctl_node(struct jme_softc *sc) { + struct sysctl_ctx_list *ctx; + struct sysctl_oid_list *child, *parent; + struct sysctl_oid *tree; + struct jme_hw_stats *stats; int error; - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "tx_coal_to", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_to, - 0, sysctl_hw_jme_tx_coal_to, "I", "jme tx coalescing timeout"); + stats = &sc->jme_stats; + ctx = device_get_sysctl_ctx(sc->jme_dev); + child = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)); + + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_coal_to", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_to, 0, + sysctl_hw_jme_tx_coal_to, "I", "jme tx coalescing timeout"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "tx_coal_pkt", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_pkt, - 0, sysctl_hw_jme_tx_coal_pkt, "I", "jme tx coalescing packet"); + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_coal_pkt", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_pkt, 0, + sysctl_hw_jme_tx_coal_pkt, "I", "jme tx coalescing packet"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "rx_coal_to", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_to, - 0, sysctl_hw_jme_rx_coal_to, "I", "jme rx coalescing timeout"); + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_coal_to", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_to, 0, + sysctl_hw_jme_rx_coal_to, "I", "jme rx coalescing timeout"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "rx_coal_pkt", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_pkt, - 0, sysctl_hw_jme_rx_coal_pkt, "I", "jme rx coalescing packet"); + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_coal_pkt", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_pkt, 0, + sysctl_hw_jme_rx_coal_pkt, "I", "jme rx coalescing packet"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "process_limit", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_process_limit, - 0, sysctl_hw_jme_proc_limit, "I", + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "process_limit", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_process_limit, 0, + sysctl_hw_jme_proc_limit, "I", "max number of Rx events to process"); /* Pull in device tunables. */ @@ -977,8 +994,43 @@ sc->jme_rx_coal_pkt = PCCRX_COAL_PKT_DEFAULT; } } + + if ((sc->jme_flags & JME_FLAG_HWMIB) == 0) + return; + + tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "stats", CTLFLAG_RD, + NULL, "JME statistics"); + parent = SYSCTL_CHILDREN(tree); + + /* Rx statistics. */ + tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "rx", CTLFLAG_RD, + NULL, "Rx MAC statistics"); + child = SYSCTL_CHILDREN(tree); + JME_SYSCTL_STAT_ADD32(ctx, child, "good_frames", + &stats->rx_good_frames, "Good frames"); + JME_SYSCTL_STAT_ADD32(ctx, child, "crc_errs", + &stats->rx_crc_errs, "CRC errors"); + JME_SYSCTL_STAT_ADD32(ctx, child, "mii_errs", + &stats->rx_mii_errs, "MII errors"); + JME_SYSCTL_STAT_ADD32(ctx, child, "fifo_oflows", + &stats->rx_fifo_oflows, "FIFO overflows"); + JME_SYSCTL_STAT_ADD32(ctx, child, "desc_empty", + &stats->rx_desc_empty, "Descriptor empty"); + JME_SYSCTL_STAT_ADD32(ctx, child, "bad_frames", + &stats->rx_bad_frames, "Bad frames"); + + /* Tx statistics. */ + tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "tx", CTLFLAG_RD, + NULL, "Tx MAC statistics"); + child = SYSCTL_CHILDREN(tree); + JME_SYSCTL_STAT_ADD32(ctx, child, "good_frames", + &stats->tx_good_frames, "Good frames"); + JME_SYSCTL_STAT_ADD32(ctx, child, "bad_frames", + &stats->tx_bad_frames, "Bad frames"); } +#undef JME_SYSCTL_STAT_ADD32 + struct jme_dmamap_arg { bus_addr_t jme_busaddr; }; @@ -1007,6 +1059,8 @@ int error, i; lowaddr = BUS_SPACE_MAXADDR; + if ((sc->jme_flags & JME_FLAG_DMA32BIT) != 0) + lowaddr = BUS_SPACE_MAXADDR_32BIT; again: /* Create parent ring tag. */ @@ -1106,25 +1160,32 @@ } sc->jme_rdata.jme_rx_ring_paddr = ctx.jme_busaddr; - /* Tx/Rx descriptor queue should reside within 4GB boundary. */ - tx_ring_end = sc->jme_rdata.jme_tx_ring_paddr + JME_TX_RING_SIZE; - rx_ring_end = sc->jme_rdata.jme_rx_ring_paddr + JME_RX_RING_SIZE; - if ((JME_ADDR_HI(tx_ring_end) != - JME_ADDR_HI(sc->jme_rdata.jme_tx_ring_paddr)) || - (JME_ADDR_HI(rx_ring_end) != - JME_ADDR_HI(sc->jme_rdata.jme_rx_ring_paddr))) { - device_printf(sc->jme_dev, "4GB boundary crossed, " - "switching to 32bit DMA address mode.\n"); - jme_dma_free(sc); - /* Limit DMA address space to 32bit and try again. */ - lowaddr = BUS_SPACE_MAXADDR_32BIT; - goto again; + if (lowaddr != BUS_SPACE_MAXADDR_32BIT) { + /* Tx/Rx descriptor queue should reside within 4GB boundary. */ + tx_ring_end = sc->jme_rdata.jme_tx_ring_paddr + + JME_TX_RING_SIZE; + rx_ring_end = sc->jme_rdata.jme_rx_ring_paddr + + JME_RX_RING_SIZE; + if ((JME_ADDR_HI(tx_ring_end) != + JME_ADDR_HI(sc->jme_rdata.jme_tx_ring_paddr)) || + (JME_ADDR_HI(rx_ring_end) != + JME_ADDR_HI(sc->jme_rdata.jme_rx_ring_paddr))) { + device_printf(sc->jme_dev, "4GB boundary crossed, " + "switching to 32bit DMA address mode.\n"); + jme_dma_free(sc); + /* Limit DMA address space to 32bit and try again. */ + lowaddr = BUS_SPACE_MAXADDR_32BIT; + goto again; + } } + lowaddr = BUS_SPACE_MAXADDR; + if ((sc->jme_flags & JME_FLAG_DMA32BIT) != 0) + lowaddr = BUS_SPACE_MAXADDR_32BIT; /* Create parent buffer tag. */ error = bus_dma_tag_create(bus_get_dma_tag(sc->jme_dev),/* parent */ 1, 0, /* algnmnt, boundary */ - BUS_SPACE_MAXADDR, /* lowaddr */ + lowaddr, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ BUS_SPACE_MAXSIZE_32BIT, /* maxsize */ @@ -1445,6 +1506,11 @@ JME_LOCK_ASSERT(sc); if (pci_find_extcap(sc->jme_dev, PCIY_PMG, &pmc) != 0) { + /* Remove Tx MAC/offload clock to save more power. */ + if ((sc->jme_flags & JME_FLAG_TXCLK) != 0) + CSR_WRITE_4(sc, JME_GHC, CSR_READ_4(sc, JME_GHC) & + ~(GHC_TX_OFFLD_CLK_100 | GHC_TX_MAC_CLK_100 | + GHC_TX_OFFLD_CLK_1000 | GHC_TX_MAC_CLK_1000)); /* No PME capability, PHY power down. */ jme_miibus_writereg(sc->jme_dev, sc->jme_phyaddr, MII_BMCR, BMCR_PDOWN); @@ -1466,7 +1532,11 @@ CSR_WRITE_4(sc, JME_PMCS, pmcs); CSR_WRITE_4(sc, JME_GPREG0, gpr); - + /* Remove Tx MAC/offload clock to save more power. */ + if ((sc->jme_flags & JME_FLAG_TXCLK) != 0) + CSR_WRITE_4(sc, JME_GHC, CSR_READ_4(sc, JME_GHC) & + ~(GHC_TX_OFFLD_CLK_100 | GHC_TX_MAC_CLK_100 | + GHC_TX_OFFLD_CLK_1000 | GHC_TX_MAC_CLK_1000)); /* Request PME. */ pmstat = pci_read_config(sc->jme_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); @@ -1941,6 +2011,7 @@ { struct mii_data *mii; uint32_t ghc, gpreg, rxmac, txmac, txpause; + uint32_t txclk; JME_LOCK_ASSERT(sc); @@ -1950,6 +2021,7 @@ DELAY(10); CSR_WRITE_4(sc, JME_GHC, 0); ghc = 0; + txclk = 0; rxmac = CSR_READ_4(sc, JME_RXMAC); rxmac &= ~RXMAC_FC_ENB; txmac = CSR_READ_4(sc, JME_TXMAC); @@ -1982,14 +2054,17 @@ switch (IFM_SUBTYPE(mii->mii_media_active)) { case IFM_10_T: ghc |= GHC_SPEED_10; + txclk |= GHC_TX_OFFLD_CLK_100 | GHC_TX_MAC_CLK_100; break; case IFM_100_TX: ghc |= GHC_SPEED_100; + txclk |= GHC_TX_OFFLD_CLK_100 | GHC_TX_MAC_CLK_100; break; case IFM_1000_T: if ((sc->jme_flags & JME_FLAG_FASTETH) != 0) break; ghc |= GHC_SPEED_1000; + txclk |= GHC_TX_OFFLD_CLK_1000 | GHC_TX_MAC_CLK_1000; if ((IFM_OPTIONS(mii->mii_media_active) & IFM_FDX) == 0) txmac |= TXMAC_CARRIER_EXT | TXMAC_FRAME_BURST; break; @@ -2019,6 +2094,8 @@ 0x1B, 0x0004); } } + if ((sc->jme_flags & JME_FLAG_TXCLK) != 0) + ghc |= txclk; CSR_WRITE_4(sc, JME_GHC, ghc); CSR_WRITE_4(sc, JME_RXMAC, rxmac); CSR_WRITE_4(sc, JME_TXMAC, txmac); @@ -2132,6 +2209,7 @@ /* Program MAC with resolved speed/duplex/flow-control. */ if ((sc->jme_flags & JME_FLAG_LINK) != 0) { jme_mac_config(sc); + jme_stats_clear(sc); CSR_WRITE_4(sc, JME_RXCSR, sc->jme_rxcsr); CSR_WRITE_4(sc, JME_TXCSR, sc->jme_txcsr); @@ -2521,6 +2599,7 @@ * faster and limit the maximum delay to a hz. */ jme_txeof(sc); + jme_stats_update(sc); jme_watchdog(sc); callout_reset(&sc->jme_tick_ch, hz, jme_tick, sc); } @@ -2637,13 +2716,19 @@ * decrease FIFO threshold to reduce the FIFO overruns for * frames larger than 4000 bytes. * For best performance of standard MTU sized frames use - * maximum allowable FIFO threshold, 128QW. + * maximum allowable FIFO threshold, 128QW. Note these do + * not hold on chip full mask verion >=2. For these + * controllers 64QW and 128QW are not valid value. */ - if ((ifp->if_mtu + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + - ETHER_CRC_LEN) > JME_RX_FIFO_SIZE) + if (CHIPMODE_REVFM(sc->jme_chip_rev) >= 2) sc->jme_rxcsr |= RXCSR_FIFO_THRESH_16QW; - else - sc->jme_rxcsr |= RXCSR_FIFO_THRESH_128QW; + else { + if ((ifp->if_mtu + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + + ETHER_CRC_LEN) > JME_RX_FIFO_SIZE) + sc->jme_rxcsr |= RXCSR_FIFO_THRESH_16QW; + else + sc->jme_rxcsr |= RXCSR_FIFO_THRESH_128QW; + } sc->jme_rxcsr |= sc->jme_rx_dma_size | RXCSR_RXQ_N_SEL(RXCSR_RXQ0); sc->jme_rxcsr |= RXCSR_DESC_RT_CNT(RXCSR_DESC_RT_CNT_DEFAULT); >>> TRUNCATED FOR MAIL (1000 lines) <<< From sam at FreeBSD.org Fri Dec 5 10:35:35 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 10:35:47 2008 Subject: PERFORCE change 154126 for review Message-ID: <200812051835.mB5IZZTu021286@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154126 Change 154126 by sam@sam_ebb on 2008/12/05 18:34:45 hack NIRQ issue for now; fixing this right requires more time than I've got right now Affected files ... .. //depot/projects/vap/sys/arm/include/intr.h#10 edit Differences ... ==== //depot/projects/vap/sys/arm/include/intr.h#10 (text+ko) ==== @@ -39,6 +39,7 @@ #ifndef _MACHINE_INTR_H_ #define _MACHINE_INTR_H_ +/* XXX move to std.* files? */ #ifdef CPU_XSCALE_81342 #define NIRQ 128 #elif defined(CPU_XSCALE_PXA2X0) @@ -46,7 +47,8 @@ #define NIRQ IRQ_GPIO_MAX #elif defined(SOC_MV_DISCOVERY) #define NIRQ 96 -#elif defined(CPU_ARM9) || defined(SOC_MV_KIRKWOOD) +#elif defined(CPU_ARM9) || defined(SOC_MV_KIRKWOOD) || \ + defined(CPU_XSCALE_IXP435) #define NIRQ 64 #else #define NIRQ 32 From sam at FreeBSD.org Fri Dec 5 10:35:36 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 10:35:47 2008 Subject: PERFORCE change 154127 for review Message-ID: <200812051835.mB5IZZpM021291@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154127 Change 154127 by sam@sam_ebb on 2008/12/05 18:35:11 add CPU_XSCALE_IXP435 so we can hack NIRQ Affected files ... .. //depot/projects/vap/sys/conf/options.arm#11 edit Differences ... ==== //depot/projects/vap/sys/conf/options.arm#11 (text+ko) ==== @@ -15,6 +15,7 @@ CPU_XSCALE_80321 opt_global.h CPU_XSCALE_81342 opt_global.h CPU_XSCALE_IXP425 opt_global.h +CPU_XSCALE_IXP435 opt_global.h CPU_XSCALE_PXA2X0 opt_global.h FLASHADDR opt_global.h KERNPHYSADDR opt_global.h From sam at FreeBSD.org Fri Dec 5 10:36:37 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 10:36:43 2008 Subject: PERFORCE change 154128 for review Message-ID: <200812051836.mB5Iaaxe021354@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154128 Change 154128 by sam@sam_ebb on 2008/12/05 18:36:04 handle attach failure properly; kill some old dead code Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/if_npe.c#9 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/if_npe.c#9 (text+ko) ==== @@ -389,9 +389,12 @@ ether_ifattach(ifp, eaddr); return 0; out: - npe_deactivate(dev); if (ifp != NULL) if_free(ifp); + NPE_LOCK_DESTROY(sc); + npe_deactivate(dev); + if (sc->sc_npe != NULL) + ixpnpe_detach(sc->sc_npe); return error; } @@ -877,13 +880,6 @@ bus_generic_detach(sc->sc_dev); if (sc->sc_mii != NULL) device_delete_child(sc->sc_dev, sc->sc_mii); -#if 0 - /* XXX sc_ioh and sc_miih */ - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; -#endif } /* From sam at FreeBSD.org Fri Dec 5 10:37:38 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 10:37:44 2008 Subject: PERFORCE change 154129 for review Message-ID: <200812051837.mB5Ibbll021436@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154129 Change 154129 by sam@sam_ebb on 2008/12/05 18:36:57 remove duplicates Affected files ... .. //depot/projects/vap/sys/arm/conf/CAMBRIA#2 edit Differences ... ==== //depot/projects/vap/sys/arm/conf/CAMBRIA#2 (text+ko) ==== @@ -143,14 +143,6 @@ #device ath_rf9280 #device ath_ar9285 -device usb -options USB_DEBUG -device ehci -device ugen -device umass -device scbus # SCSI bus (required for SCSI) -device da # Direct Access (disks) - device ural device zyd device wlan_amrr From sam at FreeBSD.org Fri Dec 5 10:39:40 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 10:39:46 2008 Subject: PERFORCE change 154131 for review Message-ID: <200812051839.mB5IdeOm021568@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154131 Change 154131 by sam@sam_ebb on 2008/12/05 18:39:09 o add std.ixp435 that defines CPU_XSCALE_IXP435 so we can get NIRQ defined correctly o remove std.ixp425 include from std.avila so it can be used by both AVILA and CAMBRIA o add std.ixp4xx include to AVILA and CAMBRIA config files May want to rethink this all for multi-board support. Affected files ... .. //depot/projects/vap/sys/arm/conf/AVILA#19 edit .. //depot/projects/vap/sys/arm/conf/CAMBRIA#3 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/std.avila#4 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/std.ixp435#1 add Differences ... ==== //depot/projects/vap/sys/arm/conf/AVILA#19 (text+ko) ==== @@ -20,6 +20,7 @@ ident AVILA +include "../xscale/ixp425/std.ixp425" # NB: memory mapping is defined in std.avila include "../xscale/ixp425/std.avila" options XSCALE_CACHE_READ_WRITE_ALLOCATE ==== //depot/projects/vap/sys/arm/conf/CAMBRIA#3 (text+ko) ==== @@ -21,6 +21,7 @@ machine arm ident CAMBRIA +include "../xscale/ixp425/std.ixp435" # NB: memory mapping is defined in std.avila include "../xscale/ixp425/std.avila" options XSCALE_CACHE_READ_WRITE_ALLOCATE ==== //depot/projects/vap/sys/arm/xscale/ixp425/std.avila#4 (text+ko) ==== @@ -3,7 +3,6 @@ # # Gateworks GW23XX board configuration # -include "../xscale/ixp425/std.ixp425" files "../xscale/ixp425/files.avila" # # Physical memory starts at 0. We assume images are loaded at From ed at FreeBSD.org Fri Dec 5 11:10:12 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Fri Dec 5 11:10:18 2008 Subject: PERFORCE change 154133 for review Message-ID: <200812051910.mB5JABaH024993@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154133 Change 154133 by ed@ed_mekker on 2008/12/05 19:09:55 Properly implement fill() and copy(). People can now test this code without completely messing up their system... ;-) Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#9 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#9 (text+ko) ==== @@ -287,6 +287,7 @@ { scr_stat *scp = arg; u_char *map; + u_char ch = c; int attr, row; attr = scteken_attr(a); @@ -294,39 +295,81 @@ if (r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize) { /* Single contiguous region to fill. */ - vtb_erase(&scp->vtb, r->tr_begin.tp_row * scp->xsize, + sc_vtb_erase(&scp->vtb, r->tr_begin.tp_row * scp->xsize, (r->tr_end.tp_row - r->tr_begin.tp_row) * scp->xsize, map[ch], attr); } else { /* Fill display line by line. */ for (row = r->tr_begin.tp_row; row < r->tr_end.tp_row; row++) { - vtb_erase(&scp->vtb, - r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col, - r->tr_end.tp_col - r->tr_begin.tp_col, map[ch], attr); + sc_vtb_erase(&scp->vtb, r->tr_begin.tp_row * + scp->xsize + r->tr_begin.tp_col, + r->tr_end.tp_col - r->tr_begin.tp_col, + map[ch], attr); } } - /* XXX: bad! */ - mark_for_update(scp, r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col); - mark_for_update(scp, (r->tr_end.tp_row - 1) * scp->xsize + (r->tr_end.tp_col - 1)); + /* Mark begin and end positions to be refreshed. */ + mark_for_update(scp, + r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col); + mark_for_update(scp, + (r->tr_end.tp_row - 1) * scp->xsize + (r->tr_end.tp_col - 1)); } static void scteken_copy(void *arg, const teken_rect_t *r, const teken_pos_t *p) { scr_stat *scp = arg; - int from, to, count; + unsigned int stride; + int src, dst, end; + + if (r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize) { + /* Single contiguous region to copy. */ + sc_vtb_move(&scp->vtb, r->tr_begin.tp_row * scp->xsize, + p->tp_row * scp->xsize, + (r->tr_end.tp_row - r->tr_begin.tp_row) * scp->xsize); + } else { + /* Copy line by line. */ + stride = r->tr_end.tp_col - r->tr_begin.tp_col; + + if (p->tp_row < r->tr_begin.tp_row) { + /* Copy from top to bottom. */ + src = r->tr_begin.tp_row * scp->xsize + + r->tr_begin.tp_col; + end = r->tr_end.tp_row * scp->xsize + + r->tr_end.tp_col; + dst = p->tp_row * scp->xsize + p->tp_col; - /* XXX: only copy whole lines for now! */ - from = r->tr_begin.tp_row * scp->xsize; - to = p->tp_row * scp->xsize; - count = (r->tr_end.tp_row - r->tr_begin.tp_row + 1) * scp->xsize - 1; + while (src < end) { + sc_vtb_move(&scp->vtb, src, dst, stride); + + src += stride; + dst += stride; + } + } else { + /* Copy from bottom to top. */ + src = (r->tr_end.tp_row - 1) * scp->xsize + + r->tr_begin.tp_col; + end = r->tr_begin.tp_row * scp->xsize + + r->tr_begin.tp_col; + dst = (p->tp_row + r->tr_end.tp_row - + r->tr_begin.tp_row - 1) * scp->xsize + p->tp_col; - if (count <= 0 || from == to) - return; + while (src >= end) { + sc_vtb_move(&scp->vtb, src, dst, stride); + + src -= stride; + dst -= stride; + } + } + } - sc_vtb_move(&scp->vtb, from, to, count); - mark_all(scp); + /* Mark begin and end positions to be refreshed. */ + mark_for_update(scp, + p->tp_row * scp->xsize + p->tp_col); + mark_for_update(scp, + (p->tp_row + r->tr_end.tp_row - r->tr_begin.tp_row - 1) * + scp->xsize + + (p->tp_col + r->tr_end.tp_col - r->tr_begin.tp_col - 1)); } static void From sam at FreeBSD.org Fri Dec 5 11:42:45 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 11:42:52 2008 Subject: PERFORCE change 154134 for review Message-ID: <200812051942.mB5Jgieg027418@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154134 Change 154134 by sam@sam_ebb on 2008/12/05 19:41:50 fix indentation/style; gotta do some work in here so deal with this so I don't go blind staring at the code Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#6 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#6 (text+ko) ==== @@ -103,23 +103,23 @@ #include struct ixpnpe_softc { - device_t sc_dev; - bus_space_tag_t sc_iot; - bus_space_handle_t sc_ioh; - bus_size_t sc_size; /* size of mapped register window */ - struct resource *sc_irq; /* IRQ resource */ - void *sc_ih; /* interrupt handler */ - struct mtx sc_mtx; /* mailbox lock */ - uint32_t sc_msg[2]; /* reply msg collected in ixpnpe_intr */ - int sc_msgwaiting; /* sc_msg holds valid data */ + device_t sc_dev; + bus_space_tag_t sc_iot; + bus_space_handle_t sc_ioh; + bus_size_t sc_size; /* size of mapped register window */ + struct resource *sc_irq; /* IRQ resource */ + void *sc_ih; /* interrupt handler */ + struct mtx sc_mtx; /* mailbox lock */ + uint32_t sc_msg[2]; /* reply msg collected in ixpnpe_intr */ + int sc_msgwaiting; /* sc_msg holds valid data */ - int validImage; /* valid ucode image loaded */ - int started; /* NPE is started */ - uint8_t functionalityId;/* ucode functionality ID */ - int insMemSize; /* size of instruction memory */ - int dataMemSize; /* size of data memory */ - uint32_t savedExecCount; - uint32_t savedEcsDbgCtxtReg2; + int validImage; /* valid ucode image loaded */ + int started; /* NPE is started */ + uint8_t functionalityId;/* ucode functionality ID */ + int insMemSize; /* size of instruction memory */ + int dataMemSize; /* size of data memory */ + uint32_t savedExecCount; + uint32_t savedEcsDbgCtxtReg2; }; #define IX_NPEDL_NPEIMAGE_FIELD_MASK 0xff @@ -144,37 +144,37 @@ #define IX_NPEDL_STATE_INFO_ENTRY_SIZE 2 typedef struct { - uint32_t type; - uint32_t offset; + uint32_t type; + uint32_t offset; } IxNpeDlNpeMgrDownloadMapBlockEntry; typedef union { - IxNpeDlNpeMgrDownloadMapBlockEntry block; - uint32_t eodmMarker; + IxNpeDlNpeMgrDownloadMapBlockEntry block; + uint32_t eodmMarker; } IxNpeDlNpeMgrDownloadMapEntry; typedef struct { - /* 1st entry in the download map (there may be more than one) */ - IxNpeDlNpeMgrDownloadMapEntry entry[1]; + /* 1st entry in the download map (there may be more than one) */ + IxNpeDlNpeMgrDownloadMapEntry entry[1]; } IxNpeDlNpeMgrDownloadMap; /* used to access an instruction or data block in a microcode image */ typedef struct { - uint32_t npeMemAddress; - uint32_t size; - uint32_t data[1]; + uint32_t npeMemAddress; + uint32_t size; + uint32_t data[1]; } IxNpeDlNpeMgrCodeBlock; /* used to access each Context Reg entry state-information block */ typedef struct { - uint32_t addressInfo; - uint32_t value; + uint32_t addressInfo; + uint32_t value; } IxNpeDlNpeMgrStateInfoCtxtRegEntry; /* used to access a state-information block in a microcode image */ typedef struct { - uint32_t size; - IxNpeDlNpeMgrStateInfoCtxtRegEntry ctxtRegEntry[1]; + uint32_t size; + IxNpeDlNpeMgrStateInfoCtxtRegEntry ctxtRegEntry[1]; } IxNpeDlNpeMgrStateInfoBlock; static int npe_debug = 0; @@ -233,137 +233,140 @@ static uint32_t npe_reg_read(struct ixpnpe_softc *sc, bus_size_t off) { - uint32_t v = bus_space_read_4(sc->sc_iot, sc->sc_ioh, off); - DPRINTFn(9, sc->sc_dev, "%s(0x%lx) => 0x%x\n", __func__, off, v); - return v; + uint32_t v = bus_space_read_4(sc->sc_iot, sc->sc_ioh, off); + DPRINTFn(9, sc->sc_dev, "%s(0x%lx) => 0x%x\n", __func__, off, v); + return v; } static void npe_reg_write(struct ixpnpe_softc *sc, bus_size_t off, uint32_t val) { - DPRINTFn(9, sc->sc_dev, "%s(0x%lx, 0x%x)\n", __func__, off, val); - bus_space_write_4(sc->sc_iot, sc->sc_ioh, off, val); + DPRINTFn(9, sc->sc_dev, "%s(0x%lx, 0x%x)\n", __func__, off, val); + bus_space_write_4(sc->sc_iot, sc->sc_ioh, off, val); } struct ixpnpe_softc * ixpnpe_attach(device_t dev, int npeid) { - struct npeconfig { - uint32_t base; - uint32_t size; - int irq; - uint32_t ins_memsize; - uint32_t data_memsize; - }; - static const struct npeconfig npeconfigs[NPE_MAX] = { - [NPE_A] = { - .base = IXP425_NPE_A_HWBASE, - .size = IXP425_NPE_A_SIZE, - .irq = IXP425_INT_NPE_A, - .ins_memsize = IX_NPEDL_INS_MEMSIZE_WORDS_NPEA, - .data_memsize = IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA - }, - [NPE_B] = { - .base = IXP425_NPE_B_HWBASE, - .size = IXP425_NPE_B_SIZE, - .irq = IXP425_INT_NPE_B, - .ins_memsize = IX_NPEDL_INS_MEMSIZE_WORDS_NPEB, - .data_memsize = IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB - }, - [NPE_C] = { - .base = IXP425_NPE_C_HWBASE, - .size = IXP425_NPE_C_SIZE, - .irq = IXP425_INT_NPE_C, - .ins_memsize = IX_NPEDL_INS_MEMSIZE_WORDS_NPEC, - .data_memsize = IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC - }, - }; - struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); - struct ixpnpe_softc *sc; - const struct npeconfig *config; - int rid; + struct npeconfig { + uint32_t base; + uint32_t size; + int irq; + uint32_t ins_memsize; + uint32_t data_memsize; + }; + static const struct npeconfig npeconfigs[NPE_MAX] = { + [NPE_A] = { + .base = IXP425_NPE_A_HWBASE, + .size = IXP425_NPE_A_SIZE, + .irq = IXP425_INT_NPE_A, + .ins_memsize = IX_NPEDL_INS_MEMSIZE_WORDS_NPEA, + .data_memsize = IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA + }, + [NPE_B] = { + .base = IXP425_NPE_B_HWBASE, + .size = IXP425_NPE_B_SIZE, + .irq = IXP425_INT_NPE_B, + .ins_memsize = IX_NPEDL_INS_MEMSIZE_WORDS_NPEB, + .data_memsize = IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB + }, + [NPE_C] = { + .base = IXP425_NPE_C_HWBASE, + .size = IXP425_NPE_C_SIZE, + .irq = IXP425_INT_NPE_C, + .ins_memsize = IX_NPEDL_INS_MEMSIZE_WORDS_NPEC, + .data_memsize = IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC + }, + }; + struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); + struct ixpnpe_softc *sc; + const struct npeconfig *config; + int rid; - if (npeid >= NPE_MAX) { - device_printf(dev, "bad npeid %d passed to %s\n", npeid, __func__); - return NULL; - } - config = &npeconfigs[npeid]; + if (npeid >= NPE_MAX) { + device_printf(dev, "%s: bad npeid %d\n", __func__, npeid); + return NULL; + } + config = &npeconfigs[npeid]; - /* XXX M_BUS */ - sc = malloc(sizeof(struct ixpnpe_softc), M_TEMP, M_WAITOK | M_ZERO); - sc->sc_dev = dev; - sc->sc_iot = sa->sc_iot; - mtx_init(&sc->sc_mtx, device_get_nameunit(dev), "npe driver", MTX_DEF); + /* XXX M_BUS */ + sc = malloc(sizeof(struct ixpnpe_softc), M_TEMP, M_WAITOK | M_ZERO); + sc->sc_dev = dev; + sc->sc_iot = sa->sc_iot; + mtx_init(&sc->sc_mtx, device_get_nameunit(dev), "npe driver", MTX_DEF); - sc->sc_size = config->size; - sc->insMemSize = config->ins_memsize; /* size of instruction memory */ - sc->dataMemSize = config->data_memsize; /* size of data memory */ + sc->sc_size = config->size; + sc->insMemSize = config->ins_memsize; /* size of instruction memory */ + sc->dataMemSize = config->data_memsize; /* size of data memory */ - if (bus_space_map(sc->sc_iot, config->base, sc->sc_size, 0, &sc->sc_ioh)) - panic("%s: Cannot map registers", device_get_name(dev)); + if (bus_space_map(sc->sc_iot, config->base, sc->sc_size, 0, &sc->sc_ioh)) + panic("%s: Cannot map registers", device_get_name(dev)); - /* - * Setup IRQ and handler for NPE message support. - */ - rid = 0; - sc->sc_irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, - config->irq, config->irq, 1, RF_ACTIVE); - if (!sc->sc_irq) - panic("%s: Unable to allocate irq %u", device_get_name(dev), config->irq); - /* XXX could be a source of entropy */ - bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_NET | INTR_MPSAFE, - NULL, ixpnpe_intr, sc, &sc->sc_ih); - /* enable output fifo interrupts (NB: must also set OFIFO Write Enable) */ - npe_reg_write(sc, IX_NPECTL, - npe_reg_read(sc, IX_NPECTL) | (IX_NPECTL_OFE | IX_NPECTL_OFWE)); + /* + * Setup IRQ and handler for NPE message support. + */ + rid = 0; + sc->sc_irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, + config->irq, config->irq, 1, RF_ACTIVE); + if (sc->sc_irq == NULL) + panic("%s: Unable to allocate irq %u", device_get_name(dev), + config->irq); + /* XXX could be a source of entropy */ + bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_NET | INTR_MPSAFE, + NULL, ixpnpe_intr, sc, &sc->sc_ih); + /* + * Enable output fifo interrupts (NB: must also set OFIFO Write Enable) + */ + npe_reg_write(sc, IX_NPECTL, + npe_reg_read(sc, IX_NPECTL) | (IX_NPECTL_OFE | IX_NPECTL_OFWE)); - return sc; + return sc; } void ixpnpe_detach(struct ixpnpe_softc *sc) { - /* disable output fifo interrupts */ - npe_reg_write(sc, IX_NPECTL, - npe_reg_read(sc, IX_NPECTL) &~ (IX_NPECTL_OFE | IX_NPECTL_OFWE)); + /* disable output fifo interrupts */ + npe_reg_write(sc, IX_NPECTL, + npe_reg_read(sc, IX_NPECTL) &~ (IX_NPECTL_OFE | IX_NPECTL_OFWE)); - bus_teardown_intr(sc->sc_dev, sc->sc_irq, sc->sc_ih); - bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_size); - mtx_destroy(&sc->sc_mtx); - free(sc, M_TEMP); + bus_teardown_intr(sc->sc_dev, sc->sc_irq, sc->sc_ih); + bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_size); + mtx_destroy(&sc->sc_mtx); + free(sc, M_TEMP); } int ixpnpe_stopandreset(struct ixpnpe_softc *sc) { - int error; + int error; - mtx_lock(&sc->sc_mtx); - error = npe_cpu_stop(sc); /* stop NPE */ - if (error == 0) - error = npe_cpu_reset(sc); /* reset it */ - if (error == 0) - sc->started = 0; /* mark stopped */ - mtx_unlock(&sc->sc_mtx); + mtx_lock(&sc->sc_mtx); + error = npe_cpu_stop(sc); /* stop NPE */ + if (error == 0) + error = npe_cpu_reset(sc); /* reset it */ + if (error == 0) + sc->started = 0; /* mark stopped */ + mtx_unlock(&sc->sc_mtx); - DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); - return error; + DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); + return error; } static int ixpnpe_start_locked(struct ixpnpe_softc *sc) { - int error; + int error; - if (!sc->started) { - error = npe_cpu_start(sc); - if (error == 0) - sc->started = 1; - } else - error = 0; + if (!sc->started) { + error = npe_cpu_start(sc); + if (error == 0) + sc->started = 1; + } else + error = 0; - DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); - return error; + DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); + return error; } int @@ -380,16 +383,16 @@ int ixpnpe_stop(struct ixpnpe_softc *sc) { - int error; + int error; - mtx_lock(&sc->sc_mtx); - error = npe_cpu_stop(sc); - if (error == 0) - sc->started = 0; - mtx_unlock(&sc->sc_mtx); + mtx_lock(&sc->sc_mtx); + error = npe_cpu_stop(sc); + if (error == 0) + sc->started = 0; + mtx_unlock(&sc->sc_mtx); - DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); - return error; + DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); + return error; } /* @@ -402,9 +405,9 @@ * NPE Image Header definition, used in new NPE Image Library format */ typedef struct { - uint32_t marker; - uint32_t id; - uint32_t size; + uint32_t marker; + uint32_t id; + uint32_t size; } IxNpeDlImageMgrImageHeader; static int @@ -412,210 +415,219 @@ const uint32_t *imageLibrary, uint32_t imageId, const uint32_t **imagePtr, uint32_t *imageSize) { - const IxNpeDlImageMgrImageHeader *image; - uint32_t offset = 0; + const IxNpeDlImageMgrImageHeader *image; + uint32_t offset = 0; - while (imageLibrary[offset] == NPE_IMAGE_MARKER) { - image = (const IxNpeDlImageMgrImageHeader *)&imageLibrary[offset]; - offset += sizeof(IxNpeDlImageMgrImageHeader)/sizeof(uint32_t); - - DPRINTF(sc->sc_dev, "%s: off %u mark 0x%x id 0x%x size %u\n", - __func__, offset, image->marker, image->id, image->size); - if (image->id == imageId) { - *imagePtr = imageLibrary + offset; - *imageSize = image->size; - return 0; - } - /* 2 consecutive NPE_IMAGE_MARKER's indicates end of library */ - if (image->id == NPE_IMAGE_MARKER) { - DPRINTF(sc->sc_dev, - "imageId 0x%08x not found in image library header\n", imageId); - /* reached end of library, image not found */ - return ESRCH; - } - offset += image->size; - } - return ESRCH; + while (imageLibrary[offset] == NPE_IMAGE_MARKER) { + image = (const IxNpeDlImageMgrImageHeader *) + &imageLibrary[offset]; + offset += sizeof(IxNpeDlImageMgrImageHeader)/sizeof(uint32_t); + + DPRINTF(sc->sc_dev, "%s: off %u mark 0x%x id 0x%x size %u\n", + __func__, offset, image->marker, image->id, image->size); + if (image->id == imageId) { + *imagePtr = imageLibrary + offset; + *imageSize = image->size; + return 0; + } + /* 2 consecutive NPE_IMAGE_MARKER's indicates end of library */ + if (image->id == NPE_IMAGE_MARKER) { + DPRINTF(sc->sc_dev, + "imageId 0x%08x not found in image library header\n", + imageId); + /* reached end of library, image not found */ + return ESRCH; + } + offset += image->size; + } + return ESRCH; } int ixpnpe_init(struct ixpnpe_softc *sc, const char *imageName, uint32_t imageId) { - static const char *devname[4] = - { "IXP425", "IXP465", "DeviceID#2", "DeviceID#3" }; - uint32_t imageSize; - const uint32_t *imageCodePtr; - const struct firmware *fw; - int error; + static const char *devname[4] = + { "IXP425", "IXP465", "DeviceID#2", "DeviceID#3" }; + uint32_t imageSize; + const uint32_t *imageCodePtr; + const struct firmware *fw; + int error; - DPRINTF(sc->sc_dev, "load %s, imageId 0x%08x\n", imageName, imageId); + DPRINTF(sc->sc_dev, "load %s, imageId 0x%08x\n", imageName, imageId); #if 0 - IxFeatureCtrlDeviceId devid = IX_NPEDL_DEVICEID_FROM_IMAGEID_GET(imageId); - /* - * Checking if image being loaded is meant for device that is running. - * Image is forward compatible. i.e Image built for IXP42X should run - * on IXP46X but not vice versa. - */ - if (devid > (ixFeatureCtrlDeviceRead() & IX_FEATURE_CTRL_DEVICE_TYPE_MASK)) - return EINVAL; + IxFeatureCtrlDeviceId devid = IX_NPEDL_DEVICEID_FROM_IMAGEID_GET(imageId); + /* + * Checking if image being loaded is meant for device that is running. + * Image is forward compatible. i.e Image built for IXP42X should run + * on IXP46X but not vice versa. + */ + if (devid > (ixFeatureCtrlDeviceRead() & IX_FEATURE_CTRL_DEVICE_TYPE_MASK)) + return EINVAL; #endif - error = ixpnpe_stopandreset(sc); /* stop and reset the NPE */ - if (error != 0) - return error; + error = ixpnpe_stopandreset(sc); /* stop and reset the NPE */ + if (error != 0) + return error; - fw = firmware_get(imageName); - if (fw == NULL) - return ENOENT; + fw = firmware_get(imageName); + if (fw == NULL) + return ENOENT; - /* Locate desired image in files w/ combined images */ - error = npe_findimage(sc, fw->data, imageId, &imageCodePtr, &imageSize); - if (error != 0) - goto done; + /* Locate desired image in files w/ combined images */ + error = npe_findimage(sc, fw->data, imageId, &imageCodePtr, &imageSize); + if (error != 0) + goto done; - device_printf(sc->sc_dev, - "load fw image %s.NPE-%c Func 0x%x Rev %u.%u\n", - devname[NPEIMAGE_DEVID(imageId)], 'A' + NPEIMAGE_NPEID(imageId), - NPEIMAGE_FUNCID(imageId), NPEIMAGE_MAJOR(imageId), - NPEIMAGE_MINOR(imageId)); + device_printf(sc->sc_dev, + "load fw image %s.NPE-%c Func 0x%x Rev %u.%u\n", + devname[NPEIMAGE_DEVID(imageId)], 'A' + NPEIMAGE_NPEID(imageId), + NPEIMAGE_FUNCID(imageId), NPEIMAGE_MAJOR(imageId), + NPEIMAGE_MINOR(imageId)); - /* - * If download was successful, store image Id in list of - * currently loaded images. If a critical error occured - * during download, record that the NPE has an invalid image - */ - mtx_lock(&sc->sc_mtx); - error = npe_load_image(sc, imageCodePtr, 1 /*VERIFY*/); - if (error == 0) { - sc->validImage = 1; - error = ixpnpe_start_locked(sc); - } else { - sc->validImage = 0; - } - sc->functionalityId = IX_NPEDL_FUNCTIONID_FROM_IMAGEID_GET(imageId); - mtx_unlock(&sc->sc_mtx); + /* + * If download was successful, store image Id in list of + * currently loaded images. If a critical error occured + * during download, record that the NPE has an invalid image + */ + mtx_lock(&sc->sc_mtx); + error = npe_load_image(sc, imageCodePtr, 1 /*VERIFY*/); + if (error == 0) { + sc->validImage = 1; + error = ixpnpe_start_locked(sc); + } else { + sc->validImage = 0; + } + sc->functionalityId = IX_NPEDL_FUNCTIONID_FROM_IMAGEID_GET(imageId); + mtx_unlock(&sc->sc_mtx); done: - firmware_put(fw, FIRMWARE_UNLOAD); - DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); - return error; + firmware_put(fw, FIRMWARE_UNLOAD); + DPRINTF(sc->sc_dev, "%s: error %d\n", __func__, error); + return error; } int ixpnpe_getfunctionality(struct ixpnpe_softc *sc) { - return (sc->validImage ? sc->functionalityId : 0); + return (sc->validImage ? sc->functionalityId : 0); } static int npe_checkbits(struct ixpnpe_softc *sc, uint32_t reg, uint32_t expectedBitsSet) { - uint32_t val; + uint32_t val; - val = npe_reg_read(sc, reg); - DPRINTFn(5, sc->sc_dev, "%s(0x%x, 0x%x) => 0x%x (%u)\n", - __func__, reg, expectedBitsSet, val, - (val & expectedBitsSet) == expectedBitsSet); - return ((val & expectedBitsSet) == expectedBitsSet); + val = npe_reg_read(sc, reg); + DPRINTFn(5, sc->sc_dev, "%s(0x%x, 0x%x) => 0x%x (%u)\n", + __func__, reg, expectedBitsSet, val, + (val & expectedBitsSet) == expectedBitsSet); + return ((val & expectedBitsSet) == expectedBitsSet); } static int npe_isstopped(struct ixpnpe_softc *sc) { - return npe_checkbits(sc, - IX_NPEDL_REG_OFFSET_EXCTL, IX_NPEDL_EXCTL_STATUS_STOP); + return npe_checkbits(sc, + IX_NPEDL_REG_OFFSET_EXCTL, IX_NPEDL_EXCTL_STATUS_STOP); } static int npe_load_ins(struct ixpnpe_softc *sc, const IxNpeDlNpeMgrCodeBlock *bp, int verify) { - uint32_t npeMemAddress; - int i, blockSize; + uint32_t npeMemAddress; + int i, blockSize; - npeMemAddress = bp->npeMemAddress; - blockSize = bp->size; /* NB: instruction/data count */ - if (npeMemAddress + blockSize > sc->insMemSize) { - device_printf(sc->sc_dev, "Block size too big for NPE memory\n"); - return EINVAL; /* XXX */ - } - for (i = 0; i < blockSize; i++, npeMemAddress++) { - if (npe_ins_write(sc, npeMemAddress, bp->data[i], verify) != 0) { - device_printf(sc->sc_dev, "NPE instruction write failed"); - return EIO; + npeMemAddress = bp->npeMemAddress; + blockSize = bp->size; /* NB: instruction/data count */ + if (npeMemAddress + blockSize > sc->insMemSize) { + device_printf(sc->sc_dev, + "Block size %u too big for NPE memory\n", blockSize); + return EINVAL; /* XXX */ + } + for (i = 0; i < blockSize; i++, npeMemAddress++) { + if (npe_ins_write(sc, npeMemAddress, bp->data[i], verify) != 0) { + device_printf(sc->sc_dev, + "NPE instruction write failed"); + return EIO; + } } - } - return 0; + return 0; } static int npe_load_data(struct ixpnpe_softc *sc, const IxNpeDlNpeMgrCodeBlock *bp, int verify) { - uint32_t npeMemAddress; - int i, blockSize; + uint32_t npeMemAddress; + int i, blockSize; - npeMemAddress = bp->npeMemAddress; - blockSize = bp->size; /* NB: instruction/data count */ - if (npeMemAddress + blockSize > sc->dataMemSize) { - device_printf(sc->sc_dev, "Block size too big for NPE memory\n"); - return EINVAL; - } - for (i = 0; i < blockSize; i++, npeMemAddress++) { - if (npe_data_write(sc, npeMemAddress, bp->data[i], verify) != 0) { - device_printf(sc->sc_dev, "NPE data write failed\n"); - return EIO; + npeMemAddress = bp->npeMemAddress; + blockSize = bp->size; /* NB: instruction/data count */ + if (npeMemAddress + blockSize > sc->dataMemSize) { + device_printf(sc->sc_dev, + "Block size %u too big for NPE memory\n", blockSize); + return EINVAL; + } + for (i = 0; i < blockSize; i++, npeMemAddress++) { + if (npe_data_write(sc, npeMemAddress, bp->data[i], verify) != 0) { + device_printf(sc->sc_dev, "NPE data write failed\n"); + return EIO; + } } - } - return 0; + return 0; } static int npe_load_stateinfo(struct ixpnpe_softc *sc, const IxNpeDlNpeMgrStateInfoBlock *bp, int verify) { - int i, nentries, error; - - npe_cpu_step_save(sc); + int i, nentries, error; + + npe_cpu_step_save(sc); - /* for each state-info context register entry in block */ - nentries = bp->size / IX_NPEDL_STATE_INFO_ENTRY_SIZE; - error = 0; - for (i = 0; i < nentries; i++) { - /* each state-info entry is 2 words (address, value) in length */ - uint32_t regVal = bp->ctxtRegEntry[i].value; - uint32_t addrInfo = bp->ctxtRegEntry[i].addressInfo; + /* for each state-info context register entry in block */ + nentries = bp->size / IX_NPEDL_STATE_INFO_ENTRY_SIZE; + error = 0; + for (i = 0; i < nentries; i++) { + /* each state-info entry is 2 words (address, value) */ + uint32_t regVal = bp->ctxtRegEntry[i].value; + uint32_t addrInfo = bp->ctxtRegEntry[i].addressInfo; - uint32_t reg = (addrInfo & IX_NPEDL_MASK_STATE_ADDR_CTXT_REG); - uint32_t cNum = (addrInfo & IX_NPEDL_MASK_STATE_ADDR_CTXT_NUM) >> - IX_NPEDL_OFFSET_STATE_ADDR_CTXT_NUM; - - /* error-check Context Register No. and Context Number values */ - if (!(0 <= reg && reg < IX_NPEDL_CTXT_REG_MAX)) { - device_printf(sc->sc_dev, "invalid Context Register %u\n", reg); - error = EINVAL; - break; - } - if (!(0 <= cNum && cNum < IX_NPEDL_CTXT_NUM_MAX)) { - device_printf(sc->sc_dev, "invalid Context Number %u\n", cNum); - error = EINVAL; - break; - } - /* NOTE that there is no STEVT register for Context 0 */ - if (cNum == 0 && reg == IX_NPEDL_CTXT_REG_STEVT) { - device_printf(sc->sc_dev, "no STEVT for Context 0\n"); - error = EINVAL; - break; - } + uint32_t reg = (addrInfo & IX_NPEDL_MASK_STATE_ADDR_CTXT_REG); + uint32_t cNum = (addrInfo & IX_NPEDL_MASK_STATE_ADDR_CTXT_NUM) >> + IX_NPEDL_OFFSET_STATE_ADDR_CTXT_NUM; + + /* error-check Context Register No. and Context Number values */ + if (!(0 <= reg && reg < IX_NPEDL_CTXT_REG_MAX)) { + device_printf(sc->sc_dev, + "invalid Context Register %u\n", reg); + error = EINVAL; + break; + } + if (!(0 <= cNum && cNum < IX_NPEDL_CTXT_NUM_MAX)) { + device_printf(sc->sc_dev, + "invalid Context Number %u\n", cNum); + error = EINVAL; + break; + } + /* NOTE that there is no STEVT register for Context 0 */ + if (cNum == 0 && reg == IX_NPEDL_CTXT_REG_STEVT) { + device_printf(sc->sc_dev, + "no STEVT for Context 0\n"); + error = EINVAL; + break; + } - if (npe_ctx_reg_write(sc, cNum, reg, regVal, verify) != 0) { - device_printf(sc->sc_dev, "write of state-info to NPE failed\n"); - error = EIO; - break; + if (npe_ctx_reg_write(sc, cNum, reg, regVal, verify) != 0) { + device_printf(sc->sc_dev, + "write of state-info to NPE failed\n"); + error = EIO; + break; + } } - } - npe_cpu_step_restore(sc); - return error; + npe_cpu_step_restore(sc); + return error; } static int @@ -623,79 +635,84 @@ const uint32_t *imageCodePtr, int verify) { #define EOM(marker) ((marker) == IX_NPEDL_END_OF_DOWNLOAD_MAP) - const IxNpeDlNpeMgrDownloadMap *downloadMap; - int i, error; + const IxNpeDlNpeMgrDownloadMap *downloadMap; + int i, error; - if (!npe_isstopped(sc)) { /* verify NPE is stopped */ - device_printf(sc->sc_dev, "cannot load image, NPE not stopped\n"); - return EIO; - } + if (!npe_isstopped(sc)) { /* verify NPE is stopped */ + device_printf(sc->sc_dev, + "cannot load image, NPE not stopped\n"); + return EIO; + } - /* - * Read Download Map, checking each block type and calling - * appropriate function to perform download - */ - error = 0; - downloadMap = (const IxNpeDlNpeMgrDownloadMap *) imageCodePtr; - for (i = 0; !EOM(downloadMap->entry[i].eodmMarker); i++) { - /* calculate pointer to block to be downloaded */ - const uint32_t *bp = imageCodePtr + downloadMap->entry[i].block.offset; - switch (downloadMap->entry[i].block.type) { - case IX_NPEDL_BLOCK_TYPE_INSTRUCTION: - error = npe_load_ins(sc, - (const IxNpeDlNpeMgrCodeBlock *) bp, verify); - DPRINTF(sc->sc_dev, "%s: inst, error %d\n", __func__, error); - break; - case IX_NPEDL_BLOCK_TYPE_DATA: - error = npe_load_data(sc, - (const IxNpeDlNpeMgrCodeBlock *) bp, verify); - DPRINTF(sc->sc_dev, "%s: data, error %d\n", __func__, error); - break; - case IX_NPEDL_BLOCK_TYPE_STATE: - error = npe_load_stateinfo(sc, - (const IxNpeDlNpeMgrStateInfoBlock *) bp, verify); - DPRINTF(sc->sc_dev, "%s: state, error %d\n", __func__, error); - break; - default: - device_printf(sc->sc_dev, - "unknown block type 0x%x in download map\n", - downloadMap->entry[i].block.type); - error = EIO; /* XXX */ - break; + /* + * Read Download Map, checking each block type and calling + * appropriate function to perform download + */ + error = 0; + downloadMap = (const IxNpeDlNpeMgrDownloadMap *) imageCodePtr; + for (i = 0; !EOM(downloadMap->entry[i].eodmMarker); i++) { + /* calculate pointer to block to be downloaded */ + const uint32_t *bp = imageCodePtr + + downloadMap->entry[i].block.offset; + switch (downloadMap->entry[i].block.type) { + case IX_NPEDL_BLOCK_TYPE_INSTRUCTION: + error = npe_load_ins(sc, + (const IxNpeDlNpeMgrCodeBlock *) bp, verify); + DPRINTF(sc->sc_dev, "%s: inst, error %d\n", + __func__, error); + break; + case IX_NPEDL_BLOCK_TYPE_DATA: + error = npe_load_data(sc, + (const IxNpeDlNpeMgrCodeBlock *) bp, verify); + DPRINTF(sc->sc_dev, "%s: data, error %d\n", + __func__, error); + break; + case IX_NPEDL_BLOCK_TYPE_STATE: + error = npe_load_stateinfo(sc, + (const IxNpeDlNpeMgrStateInfoBlock *) bp, verify); + DPRINTF(sc->sc_dev, "%s: state, error %d\n", + __func__, error); + break; + default: + device_printf(sc->sc_dev, + "unknown block type 0x%x in download map\n", + downloadMap->entry[i].block.type); + error = EIO; /* XXX */ + break; + } + if (error != 0) + break; } - if (error != 0) - break; - } - return error; + return error; #undef EOM } /* contains Reset values for Context Store Registers */ static const struct { - uint32_t regAddr; - uint32_t regResetVal; + uint32_t regAddr; + uint32_t regResetVal; } ixNpeDlEcsRegResetValues[] = { - { IX_NPEDL_ECS_BG_CTXT_REG_0, IX_NPEDL_ECS_BG_CTXT_REG_0_RESET }, - { IX_NPEDL_ECS_BG_CTXT_REG_1, IX_NPEDL_ECS_BG_CTXT_REG_1_RESET }, - { IX_NPEDL_ECS_BG_CTXT_REG_2, IX_NPEDL_ECS_BG_CTXT_REG_2_RESET }, - { IX_NPEDL_ECS_PRI_1_CTXT_REG_0, IX_NPEDL_ECS_PRI_1_CTXT_REG_0_RESET }, - { IX_NPEDL_ECS_PRI_1_CTXT_REG_1, IX_NPEDL_ECS_PRI_1_CTXT_REG_1_RESET }, - { IX_NPEDL_ECS_PRI_1_CTXT_REG_2, IX_NPEDL_ECS_PRI_1_CTXT_REG_2_RESET }, - { IX_NPEDL_ECS_PRI_2_CTXT_REG_0, IX_NPEDL_ECS_PRI_2_CTXT_REG_0_RESET }, - { IX_NPEDL_ECS_PRI_2_CTXT_REG_1, IX_NPEDL_ECS_PRI_2_CTXT_REG_1_RESET }, - { IX_NPEDL_ECS_PRI_2_CTXT_REG_2, IX_NPEDL_ECS_PRI_2_CTXT_REG_2_RESET }, - { IX_NPEDL_ECS_DBG_CTXT_REG_0, IX_NPEDL_ECS_DBG_CTXT_REG_0_RESET }, - { IX_NPEDL_ECS_DBG_CTXT_REG_1, IX_NPEDL_ECS_DBG_CTXT_REG_1_RESET }, - { IX_NPEDL_ECS_DBG_CTXT_REG_2, IX_NPEDL_ECS_DBG_CTXT_REG_2_RESET }, - { IX_NPEDL_ECS_INSTRUCT_REG, IX_NPEDL_ECS_INSTRUCT_REG_RESET } + { IX_NPEDL_ECS_BG_CTXT_REG_0, IX_NPEDL_ECS_BG_CTXT_REG_0_RESET }, + { IX_NPEDL_ECS_BG_CTXT_REG_1, IX_NPEDL_ECS_BG_CTXT_REG_1_RESET }, + { IX_NPEDL_ECS_BG_CTXT_REG_2, IX_NPEDL_ECS_BG_CTXT_REG_2_RESET }, + { IX_NPEDL_ECS_PRI_1_CTXT_REG_0, IX_NPEDL_ECS_PRI_1_CTXT_REG_0_RESET }, + { IX_NPEDL_ECS_PRI_1_CTXT_REG_1, IX_NPEDL_ECS_PRI_1_CTXT_REG_1_RESET }, + { IX_NPEDL_ECS_PRI_1_CTXT_REG_2, IX_NPEDL_ECS_PRI_1_CTXT_REG_2_RESET }, + { IX_NPEDL_ECS_PRI_2_CTXT_REG_0, IX_NPEDL_ECS_PRI_2_CTXT_REG_0_RESET }, + { IX_NPEDL_ECS_PRI_2_CTXT_REG_1, IX_NPEDL_ECS_PRI_2_CTXT_REG_1_RESET }, + { IX_NPEDL_ECS_PRI_2_CTXT_REG_2, IX_NPEDL_ECS_PRI_2_CTXT_REG_2_RESET }, + { IX_NPEDL_ECS_DBG_CTXT_REG_0, IX_NPEDL_ECS_DBG_CTXT_REG_0_RESET }, + { IX_NPEDL_ECS_DBG_CTXT_REG_1, IX_NPEDL_ECS_DBG_CTXT_REG_1_RESET }, + { IX_NPEDL_ECS_DBG_CTXT_REG_2, IX_NPEDL_ECS_DBG_CTXT_REG_2_RESET }, + { IX_NPEDL_ECS_INSTRUCT_REG, IX_NPEDL_ECS_INSTRUCT_REG_RESET } }; /* contains Reset values for Context Store Registers */ static const uint32_t ixNpeDlCtxtRegResetValues[] = { - IX_NPEDL_CTXT_REG_RESET_STEVT, - IX_NPEDL_CTXT_REG_RESET_STARTPC, - IX_NPEDL_CTXT_REG_RESET_REGMAP, - IX_NPEDL_CTXT_REG_RESET_CINDEX, + IX_NPEDL_CTXT_REG_RESET_STEVT, + IX_NPEDL_CTXT_REG_RESET_STARTPC, + IX_NPEDL_CTXT_REG_RESET_REGMAP, + IX_NPEDL_CTXT_REG_RESET_CINDEX, }; #define IX_NPEDL_RESET_NPE_PARITY 0x0800 @@ -706,212 +723,217 @@ npe_cpu_reset(struct ixpnpe_softc *sc) { #define N(a) (sizeof(a) / sizeof(a[0])) - struct ixp425_softc *sa = device_get_softc(device_get_parent(sc->sc_dev)); - uint32_t ctxtReg; /* identifies Context Store reg (0-3) */ - uint32_t regAddr; - uint32_t regVal; - uint32_t resetNpeParity; - uint32_t ixNpeConfigCtrlRegVal; - int i, error = 0; - - /* pre-store the NPE Config Control Register Value */ - ixNpeConfigCtrlRegVal = npe_reg_read(sc, IX_NPEDL_REG_OFFSET_CTL); - ixNpeConfigCtrlRegVal |= 0x3F000000; + struct ixp425_softc *sa = + device_get_softc(device_get_parent(sc->sc_dev)); + uint32_t ctxtReg; /* identifies Context Store reg (0-3) */ + uint32_t regAddr; + uint32_t regVal; + uint32_t resetNpeParity; + uint32_t ixNpeConfigCtrlRegVal; + int i, error = 0; + + /* pre-store the NPE Config Control Register Value */ + ixNpeConfigCtrlRegVal = npe_reg_read(sc, IX_NPEDL_REG_OFFSET_CTL); + ixNpeConfigCtrlRegVal |= 0x3F000000; - /* disable the parity interrupt */ - npe_reg_write(sc, IX_NPEDL_REG_OFFSET_CTL, - (ixNpeConfigCtrlRegVal & IX_NPEDL_PARITY_BIT_MASK)); - DPRINTFn(2, sc->sc_dev, "%s: dis parity int, CTL => 0x%x\n", - __func__, ixNpeConfigCtrlRegVal & IX_NPEDL_PARITY_BIT_MASK); - - npe_cpu_step_save(sc); + /* disable the parity interrupt */ + npe_reg_write(sc, IX_NPEDL_REG_OFFSET_CTL, + (ixNpeConfigCtrlRegVal & IX_NPEDL_PARITY_BIT_MASK)); + DPRINTFn(2, sc->sc_dev, "%s: dis parity int, CTL => 0x%x\n", + __func__, ixNpeConfigCtrlRegVal & IX_NPEDL_PARITY_BIT_MASK); + + npe_cpu_step_save(sc); - /* - * Clear the FIFOs. - */ - while (npe_checkbits(sc, - IX_NPEDL_REG_OFFSET_WFIFO, IX_NPEDL_MASK_WFIFO_VALID)) { - /* read from the Watch-point FIFO until empty */ - (void) npe_reg_read(sc, IX_NPEDL_REG_OFFSET_WFIFO); - } + /* + * Clear the FIFOs. + */ + while (npe_checkbits(sc, + IX_NPEDL_REG_OFFSET_WFIFO, IX_NPEDL_MASK_WFIFO_VALID)) { + /* read from the Watch-point FIFO until empty */ + (void) npe_reg_read(sc, IX_NPEDL_REG_OFFSET_WFIFO); + } - while (npe_checkbits(sc, - IX_NPEDL_REG_OFFSET_STAT, IX_NPEDL_MASK_STAT_OFNE)) { - /* read from the outFIFO until empty */ - (void) npe_reg_read(sc, IX_NPEDL_REG_OFFSET_FIFO); - } - - while (npe_checkbits(sc, - IX_NPEDL_REG_OFFSET_STAT, IX_NPEDL_MASK_STAT_IFNE)) { + while (npe_checkbits(sc, + IX_NPEDL_REG_OFFSET_STAT, IX_NPEDL_MASK_STAT_OFNE)) { + /* read from the outFIFO until empty */ + (void) npe_reg_read(sc, IX_NPEDL_REG_OFFSET_FIFO); + } + + while (npe_checkbits(sc, + IX_NPEDL_REG_OFFSET_STAT, IX_NPEDL_MASK_STAT_IFNE)) { + /* + * Step execution of the NPE intruction to read inFIFO using + * the Debug Executing Context stack. + */ + error = npe_cpu_step(sc, IX_NPEDL_INSTR_RD_FIFO, 0, 0); + if (error != 0) { + DPRINTF(sc->sc_dev, "%s: cannot step (1), error %u\n", + __func__, error); + npe_cpu_step_restore(sc); + return error; + } + } + /* - * Step execution of the NPE intruction to read inFIFO using - * the Debug Executing Context stack. + * Reset the mailbox reg */ - error = npe_cpu_step(sc, IX_NPEDL_INSTR_RD_FIFO, 0, 0); + /* ...from XScale side */ + npe_reg_write(sc, IX_NPEDL_REG_OFFSET_MBST, IX_NPEDL_REG_RESET_MBST); + /* ...from NPE side */ + error = npe_cpu_step(sc, IX_NPEDL_INSTR_RESET_MBOX, 0, 0); if (error != 0) { - DPRINTF(sc->sc_dev, "%s: cannot step (1), error %u\n", - __func__, error); - npe_cpu_step_restore(sc); - return error; + DPRINTF(sc->sc_dev, "%s: cannot step (2), error %u\n", + __func__, error); + npe_cpu_step_restore(sc); + return error; } - } - >>> TRUNCATED FOR MAIL (1000 lines) <<< From sam at FreeBSD.org Fri Dec 5 11:49:52 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 11:49:58 2008 Subject: PERFORCE change 154135 for review Message-ID: <200812051949.mB5JnpxV027904@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154135 Change 154135 by sam@sam_ebb on 2008/12/05 19:49:32 style stragglers, reduce indentation to stop 80-col overflow, update copyright date Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#7 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#7 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Sam Leffler, Errno Consulting + * Copyright (c) 2006-2008 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -432,11 +432,10 @@ } /* 2 consecutive NPE_IMAGE_MARKER's indicates end of library */ if (image->id == NPE_IMAGE_MARKER) { - DPRINTF(sc->sc_dev, - "imageId 0x%08x not found in image library header\n", - imageId); - /* reached end of library, image not found */ - return ESRCH; + DPRINTF(sc->sc_dev, "imageId 0x%08x not found in " + "image library header\n", imageId); + /* reached end of library, image not found */ + return ESRCH; } offset += image->size; } @@ -799,9 +798,8 @@ /* for each physical register in the NPE reg file, write 0 : */ error = npe_physical_reg_write(sc, regAddr, 0, TRUE); if (error != 0) { - DPRINTF(sc->sc_dev, - "%s: cannot write phy reg, error %u\n", - __func__, error); + DPRINTF(sc->sc_dev, "%s: cannot write phy reg," + "error %u\n", __func__, error); npe_cpu_step_restore(sc); return error; /* abort reset */ } @@ -814,17 +812,16 @@ /* set each context's Context Store registers to reset values */ for (ctxtReg = 0; ctxtReg < IX_NPEDL_CTXT_REG_MAX; ctxtReg++) { /* NOTE that there is no STEVT register for Context 0 */ - if (!(i == 0 && ctxtReg == IX_NPEDL_CTXT_REG_STEVT)) { - regVal = ixNpeDlCtxtRegResetValues[ctxtReg]; - error = npe_ctx_reg_write(sc, i, ctxtReg, - regVal, TRUE); - if (error != 0) { - DPRINTF(sc->sc_dev, - "%s: cannot write ctx reg, error %u\n", - __func__, error); - npe_cpu_step_restore(sc); - return error; /* abort reset */ - } + if (i == 0 && ctxtReg == IX_NPEDL_CTXT_REG_STEVT) + continue; + regVal = ixNpeDlCtxtRegResetValues[ctxtReg]; + error = npe_ctx_reg_write(sc, i, ctxtReg, + regVal, TRUE); + if (error != 0) { + DPRINTF(sc->sc_dev, "%s: cannot write ctx reg," + "error %u\n", __func__, error); + npe_cpu_step_restore(sc); + return error; /* abort reset */ } } } @@ -1156,8 +1153,9 @@ npeInstruction |= (regAddr << IX_NPEDL_OFFSET_INSTR_SRC) | (regAddr << IX_NPEDL_OFFSET_INSTR_DEST); - /* step execution of NPE intruction using Debug Executing Context stack */ - error = npe_cpu_step(sc, npeInstruction, ctxtNum, IX_NPEDL_RD_INSTR_LDUR); + /* step execution of NPE inst using Debug Executing Context stack */ + error = npe_cpu_step(sc, npeInstruction, ctxtNum, + IX_NPEDL_RD_INSTR_LDUR); if (error != 0) { DPRINTF(sc->sc_dev, "%s(0x%x, %u, %u), cannot step, error %d\n", __func__, regAddr, regSize, ctxtNum, error); @@ -1181,8 +1179,10 @@ DPRINTFn(4, sc->sc_dev, "%s(0x%x, 0x%x, %u, %u)\n", __func__, regAddr, regVal, regSize, ctxtNum); if (regSize == IX_NPEDL_REG_SIZE_WORD) { - /* NPE register addressing is left-to-right: e.g. |d0|d1|d2|d3| */ - /* Write upper half-word (short) to |d0|d1| */ + /* + * NPE register addressing is left-to-right: e.g. |d0|d1|d2|d3| + * Write upper half-word (short) to |d0|d1| + */ error = npe_logical_reg_write(sc, regAddr, regVal >> IX_NPEDL_REG_SIZE_SHORT, IX_NPEDL_REG_SIZE_SHORT, ctxtNum, verify); @@ -1199,40 +1199,44 @@ switch (regSize) { case IX_NPEDL_REG_SIZE_BYTE: - npeInstruction = IX_NPEDL_INSTR_WR_REG_BYTE; - regVal &= 0xff; - break; + npeInstruction = IX_NPEDL_INSTR_WR_REG_BYTE; + regVal &= 0xff; + break; case IX_NPEDL_REG_SIZE_SHORT: - npeInstruction = IX_NPEDL_INSTR_WR_REG_SHORT; - regVal &= 0xffff; - break; + npeInstruction = IX_NPEDL_INSTR_WR_REG_SHORT; + regVal &= 0xffff; + break; default: - return EINVAL; + return EINVAL; } - /* fill dest operand field of instruction with destination reg addr */ + /* fill dest operand field of inst with dest reg addr */ npeInstruction |= (regAddr << IX_NPEDL_OFFSET_INSTR_DEST); - /* fill src operand field of instruction with least-sig 5 bits of val*/ - npeInstruction |= ((regVal & IX_NPEDL_MASK_IMMED_INSTR_SRC_DATA) << - IX_NPEDL_OFFSET_INSTR_SRC); + /* fill src operand field of inst with least-sig 5 bits of val*/ + npeInstruction |= + ((regVal & IX_NPEDL_MASK_IMMED_INSTR_SRC_DATA) << + IX_NPEDL_OFFSET_INSTR_SRC); - /* fill coprocessor field of instruction with most-sig 11 bits of val*/ - npeInstruction |= ((regVal & IX_NPEDL_MASK_IMMED_INSTR_COPROC_DATA) << - IX_NPEDL_DISPLACE_IMMED_INSTR_COPROC_DATA); + /* fill coprocessor field of inst with most-sig 11 bits of val*/ + npeInstruction |= + ((regVal & IX_NPEDL_MASK_IMMED_INSTR_COPROC_DATA) << + IX_NPEDL_DISPLACE_IMMED_INSTR_COPROC_DATA); /* step execution of NPE intruction using Debug ECS */ error = npe_cpu_step(sc, npeInstruction, - ctxtNum, IX_NPEDL_WR_INSTR_LDUR); + ctxtNum, IX_NPEDL_WR_INSTR_LDUR); } if (error != 0) { - DPRINTF(sc->sc_dev, "%s(0x%x, 0x%x, %u, %u), error %u writing reg\n", - __func__, regAddr, regVal, regSize, ctxtNum, error); + DPRINTF(sc->sc_dev, "%s(0x%x, 0x%x, %u, %u), error %u " + "writing reg\n", __func__, regAddr, regVal, regSize, + ctxtNum, error); return error; } if (verify) { uint32_t retRegVal; - error = npe_logical_reg_read(sc, regAddr, regSize, ctxtNum, &retRegVal); + error = npe_logical_reg_read(sc, regAddr, regSize, ctxtNum, + &retRegVal); if (error == 0 && regVal != retRegVal) error = EIO; /* XXX ambiguous */ } From rwatson at FreeBSD.org Fri Dec 5 14:39:50 2008 From: rwatson at FreeBSD.org (Robert Watson) Date: Fri Dec 5 14:39:56 2008 Subject: PERFORCE change 154149 for review Message-ID: <200812052239.mB5Mdo9f053745@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154149 Change 154149 by rwatson@rwatson_cinnamon on 2008/12/05 22:38:59 Annotate, and in some cases tweak, BSM encodings. In particular, Mac OS X now uses a 32-bit uid/gid in struct ipc_perm, so do encode the entire value, not just 16 bits of it. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#83 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#83 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#82 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#83 $ */ #include @@ -179,7 +179,11 @@ /* * BSD defines the size for the file mode as 2 bytes; BSM defines 4 - * so pad with 0. XXXRW: Possibly should be conditionally compiled. + * so pad with 0. + * + * XXXRW: Possibly should be conditionally compiled. + * + * XXXRW: Should any conversions take place on the mode? */ ADD_U_INT16(dptr, pad0_16); ADD_U_INT16(dptr, vni->vn_mode); @@ -225,6 +229,10 @@ /* * BSD defines the size for the file mode as 2 bytes; BSM defines 4 * so pad with 0. + * + * XXXRW: Possibly should be conditionally compiled. + * + * XXXRW: Should any conversions take place on the mode? */ ADD_U_INT16(dptr, pad0_16); ADD_U_INT16(dptr, vni->vn_mode); @@ -305,6 +313,10 @@ if (t == NULL) return (NULL); + /* + * XXXRW: We should be byte-swapping each data item for multi-byte + * types. + */ ADD_U_CHAR(dptr, AUT_DATA); ADD_U_CHAR(dptr, unit_print); ADD_U_CHAR(dptr, unit_type); @@ -482,21 +494,30 @@ ADD_U_CHAR(dptr, AUT_IPC_PERM); /* - * BSD defines the sizes for ipc_perm members as 2 bytes; BSM defines - * 4 so pad with 0. XXXRW: Possibly shoulid be conditionally - * compiled. + * Systems vary significantly in what types they use in struct + * ipc_perm; at least a few still use 16-bit uid's and gid's, so + * allow for that, as BSM define 32-bit values here. + * Some systems define the sizes for ipc_perm members as 2 bytes; + * BSM defines 4 so pad with 0. + * + * XXXRW: Possibly shoulid be conditionally compiled, and more cases + * need to be handled. */ - ADD_U_INT16(dptr, pad0); - ADD_U_INT16(dptr, perm->uid); - - ADD_U_INT16(dptr, pad0); - ADD_U_INT16(dptr, perm->gid); - - ADD_U_INT16(dptr, pad0); - ADD_U_INT16(dptr, perm->cuid); - - ADD_U_INT16(dptr, pad0); - ADD_U_INT16(dptr, perm->cgid); + if (sizeof(perm->uid) != sizeof(u_int32_t)) { + ADD_U_INT16(dptr, pad0); + ADD_U_INT16(dptr, perm->uid); + ADD_U_INT16(dptr, pad0); + ADD_U_INT16(dptr, perm->gid); + ADD_U_INT16(dptr, pad0); + ADD_U_INT16(dptr, perm->cuid); + ADD_U_INT16(dptr, pad0); + ADD_U_INT16(dptr, perm->cgid); + } else { + ADD_U_INT32(dptr, perm->uid); + ADD_U_INT32(dptr, perm->gid); + ADD_U_INT32(dptr, perm->cuid); + ADD_U_INT32(dptr, perm->cgid); + } ADD_U_INT16(dptr, pad0); ADD_U_INT16(dptr, perm->mode); @@ -617,6 +638,8 @@ textlen = strlen(text); textlen += 1; + /* XXXRW: Should validate length against token size limit. */ + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + textlen); if (t == NULL) return (NULL); @@ -687,6 +710,13 @@ ADD_U_INT32(dptr, pid); ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->port); + + /* + * Note: Solaris will write out IPv6 addresses here as a 32-bit + * address type and 16 bytes of address, but for IPv4 addresses it + * simply writes the 4-byte address directly. We support only IPv4 + * addresses for process32 tokens. + */ ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); return (t); @@ -713,6 +743,13 @@ ADD_U_INT32(dptr, pid); ADD_U_INT32(dptr, sid); ADD_U_INT64(dptr, tid->port); + + /* + * Note: Solaris will write out IPv6 addresses here as a 32-bit + * address type and 16 bytes of address, but for IPv4 addresses it + * simply writes the 4-byte address directly. We support only IPv4 + * addresses for process64 tokens. + */ ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); return (t); From sam at FreeBSD.org Fri Dec 5 14:59:15 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Fri Dec 5 14:59:22 2008 Subject: PERFORCE change 154150 for review Message-ID: <200812052259.mB5MxEQP055156@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154150 Change 154150 by sam@sam_ebb on 2008/12/05 22:58:20 Fix bogosity in npe mailbox handling: o make ixpnpe_sendandrecvmsg synchronous and rename to ixpnpe_sendandrecvmsg_sync o rename ixpnpe_sendmsg and ixpnpe_recvmsg to ixpnpe_sendmsg_async and ixpnpe_recvmsg_async respectively to be clear they operate asynchronously o add a synchronos receive api, ixpnpe_recvmsg_sync o eliminate the sleep/wakeup dance receiving mailbox msgs; consumers that require a synchronous api must now spin/poll for a result o change if_npe to: - use synchronous receive during startup as interrupts are not working so msg from the NPE are received - listen for an initial ACK msg sent immediately after the ucode is loaded and set running - setup all 8 traffic classification bindings to the rx queue now that we have working mailbox operation: we only setup 4 before because the 5th failed with no response from the NPE; this was apparently because the CPU-NPE mailbox FIFO is 5 deep and the initial ACK+QoS setup msgs filled the queue until interrupts started working properly and we drained everything - while here disable any firewall processing (should not be needed but still looking for why NPE-A on Cambria board isn't coming up) Affected files ... .. //depot/projects/vap/sys/arm/xscale/ixp425/if_npe.c#10 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#8 edit .. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npevar.h#5 edit Differences ... ==== //depot/projects/vap/sys/arm/xscale/ixp425/if_npe.c#10 (text+ko) ==== @@ -250,6 +250,7 @@ static int npe_setrxqosentry(struct npe_softc *, int classix, int trafclass, int qid); +static int npe_setfirewallmode(struct npe_softc *, int onoff); static int npe_updatestats(struct npe_softc *); #if 0 static int npe_getstats(struct npe_softc *); @@ -715,7 +716,7 @@ { struct npe_softc * sc = device_get_softc(dev); int error, i, macbase, macsize, miibase, miisize; - uint32_t imageid; + uint32_t imageid, msg[2]; /* * Load NPE firmware and start it running. We assume @@ -743,6 +744,10 @@ } imageid++; } + if (ixpnpe_recvmsg_sync(sc->sc_npe, msg) != 0) { + device_printf(dev, "firmware did not respond as expected\n"); + return EIO; + } if (!override_addr(dev, "mac", &macbase, &macsize)) { macbase = npeconfig[sc->sc_npeid].macbase; @@ -832,9 +837,12 @@ * When QoS is enabled in the firmware there are * 8 traffic classes; otherwise just 4. */ - for (i = 0; i < (imageid & 0xf0000 ? 8 : 4); i++) + for (i = 0; i < 8; i++) npe_setrxqosentry(sc, i, 0, sc->rx_qid); + /* disable firewall mode just in case (should be off by default) */ + npe_setfirewallmode(sc, 0); + sc->tx_qid = npeconfig[sc->sc_npeid].tx_qid; sc->tx_doneqid = npeconfig[sc->sc_npeid].tx_doneqid; ixpqmgr_qconfig(sc->tx_qid, npe_txbuf, 0, npe_txbuf, 0, NULL, sc); @@ -976,7 +984,7 @@ * code that talks via the mailbox's (except at setup). * This likely can be handled better. */ - if (ixpnpe_recvmsg(sc->sc_npe, msg) == 0 && msg[0] == ACK) { + if (ixpnpe_recvmsg_async(sc->sc_npe, msg) == 0 && msg[0] == ACK) { bus_dmamap_sync(sc->sc_stats_tag, sc->sc_stats_map, BUS_DMASYNC_POSTREAD); npe_addstats(sc); @@ -1583,7 +1591,18 @@ msg[0] = (NPE_SETRXQOSENTRY << 24) | (sc->sc_npeid << 20) | classix; msg[1] = (trafclass << 24) | (1 << 23) | (qid << 16) | (qid << 4); - return ixpnpe_sendandrecvmsg(sc->sc_npe, msg, msg); + return ixpnpe_sendandrecvmsg_sync(sc->sc_npe, msg, msg); +} + +static int +npe_setfirewallmode(struct npe_softc *sc, int onoff) +{ + uint32_t msg[2]; + + /* XXX honor onoff */ + msg[0] = (NPE_SETFIREWALLMODE << 24) | (sc->sc_npeid << 20); + msg[1] = 0; + return ixpnpe_sendandrecvmsg_sync(sc->sc_npe, msg, msg); } /* @@ -1596,7 +1615,7 @@ msg[0] = NPE_RESETSTATS << NPE_MAC_MSGID_SHL; msg[1] = sc->sc_stats_phys; /* physical address of stat block */ - return ixpnpe_sendmsg(sc->sc_npe, msg); /* NB: no recv */ + return ixpnpe_sendmsg_async(sc->sc_npe, msg); } #if 0 @@ -1623,7 +1642,7 @@ msg[0] = NPE_GETSTATUS << NPE_MAC_MSGID_SHL; msg[1] = 0; - return ixpnpe_sendandrecvmsg(sc->sc_npe, msg, msg) == 0 ? msg[1] : 0; + return ixpnpe_sendandrecvmsg_sync(sc->sc_npe, msg, msg) == 0 ? msg[1] : 0; } /* @@ -1636,7 +1655,7 @@ msg[0] = (NPE_SETLOOPBACK << NPE_MAC_MSGID_SHL) | (ena != 0); msg[1] = 0; - return ixpnpe_sendandrecvmsg(sc->sc_npe, msg, msg); + return ixpnpe_sendandrecvmsg_sync(sc->sc_npe, msg, msg); } #endif ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npe.c#8 (text+ko) ==== @@ -1317,7 +1317,7 @@ #define IX_NPEMH_MAXTRIES 100000 static int -ixpnpe_ofifo_wait(struct ixpnpe_softc *sc) +ofifo_wait(struct ixpnpe_softc *sc) { int i; @@ -1331,38 +1331,50 @@ return 0; } +static int +getmsg(struct ixpnpe_softc *sc, uint32_t msg[2]) +{ + mtx_assert(&sc->sc_mtx, MA_OWNED); + + if (!ofifo_wait(sc)) + return EAGAIN; + msg[0] = npe_reg_read(sc, IX_NPEFIFO); + DPRINTF(sc->sc_dev, "%s: msg0 0x%x\n", __func__, msg[0]); + if (!ofifo_wait(sc)) + return EAGAIN; + msg[1] = npe_reg_read(sc, IX_NPEFIFO); + DPRINTF(sc->sc_dev, "%s: msg1 0x%x\n", __func__, msg[1]); + return 0; +} + static void ixpnpe_intr(void *arg) { struct ixpnpe_softc *sc = arg; uint32_t status; + mtx_lock(&sc->sc_mtx); status = npe_reg_read(sc, IX_NPESTAT); + DPRINTF(sc->sc_dev, "%s: status 0x%x\n", __func__, status); if ((status & IX_NPESTAT_OFINT) == 0) { /* NB: should not happen */ device_printf(sc->sc_dev, "%s: status 0x%x\n", __func__, status); /* XXX must silence interrupt? */ + mtx_unlock(&sc->sc_mtx); return; } /* * A message is waiting in the output FIFO, copy it so - * the interrupt will be silenced; then signal anyone - * waiting to collect the result. + * the interrupt will be silenced. */ - sc->sc_msgwaiting = -1; /* NB: error indicator */ - if (ixpnpe_ofifo_wait(sc)) { - sc->sc_msg[0] = npe_reg_read(sc, IX_NPEFIFO); - if (ixpnpe_ofifo_wait(sc)) { - sc->sc_msg[1] = npe_reg_read(sc, IX_NPEFIFO); - sc->sc_msgwaiting = 1; /* successful fetch */ - } - } - wakeup_one(sc); + if (getmsg(sc, sc->sc_msg) == 0) + sc->sc_msgwaiting = 1; + mtx_unlock(&sc->sc_mtx); } static int -ixpnpe_ififo_wait(struct ixpnpe_softc *sc) +ififo_wait(struct ixpnpe_softc *sc) { int i; @@ -1371,91 +1383,106 @@ return 1; DELAY(10); } + device_printf(sc->sc_dev, "%s: timeout, last status 0x%x\n", + __func__, npe_reg_read(sc, IX_NPESTAT)); return 0; } static int -ixpnpe_sendmsg_locked(struct ixpnpe_softc *sc, const uint32_t msg[2]) +putmsg(struct ixpnpe_softc *sc, const uint32_t msg[2]) { - int error = 0; - mtx_assert(&sc->sc_mtx, MA_OWNED); - sc->sc_msgwaiting = 0; - if (ixpnpe_ififo_wait(sc)) { - npe_reg_write(sc, IX_NPEFIFO, msg[0]); - if (ixpnpe_ififo_wait(sc)) - npe_reg_write(sc, IX_NPEFIFO, msg[1]); - else - error = EIO; - } else - error = EIO; + DPRINTF(sc->sc_dev, "%s: msg 0x%x:0x%x\n", __func__, msg[0], msg[1]); + if (!ififo_wait(sc)) + return EIO; + npe_reg_write(sc, IX_NPEFIFO, msg[0]); + if (!ififo_wait(sc)) + return EIO; + npe_reg_write(sc, IX_NPEFIFO, msg[1]); - if (error) - device_printf(sc->sc_dev, "input FIFO timeout, " - "msg [0x%08x,0x%08x]\n", msg[0], msg[1]); - return error; + return 0; } -static int -ixpnpe_recvmsg_locked(struct ixpnpe_softc *sc, uint32_t msg[2]) +/* + * Send a msg to the NPE and wait for a reply. We spin as + * we may be called early with interrupts not properly setup. + */ +int +ixpnpe_sendandrecvmsg_sync(struct ixpnpe_softc *sc, + const uint32_t send[2], uint32_t recv[2]) { - mtx_assert(&sc->sc_mtx, MA_OWNED); + int error; + + mtx_lock(&sc->sc_mtx); + error = putmsg(sc, send); + if (error == 0) + error = getmsg(sc, recv); + mtx_unlock(&sc->sc_mtx); - if (!sc->sc_msgwaiting) - msleep(sc, &sc->sc_mtx, 0, "npemh", 0); - bcopy(sc->sc_msg, msg, sizeof(sc->sc_msg)); - /* NB: sc_msgwaiting != 1 means the ack fetch failed */ - return sc->sc_msgwaiting != 1 ? EIO : 0; + return error; } /* - * Send a msg to the NPE and wait for a reply. We use the - * private mutex and sleep until an interrupt is received - * signalling the availability of data in the output FIFO - * so the caller cannot be holding a mutex. May be better - * piggyback on the caller's mutex instead but that would - * make other locking confusing. + * Send a msg to the NPE w/o waiting for a reply. */ int -ixpnpe_sendandrecvmsg(struct ixpnpe_softc *sc, - const uint32_t send[2], uint32_t recv[2]) +ixpnpe_sendmsg_async(struct ixpnpe_softc *sc, const uint32_t msg[2]) { int error; mtx_lock(&sc->sc_mtx); - error = ixpnpe_sendmsg_locked(sc, send); - if (error == 0) - error = ixpnpe_recvmsg_locked(sc, recv); + error = putmsg(sc, msg); mtx_unlock(&sc->sc_mtx); return error; } -/* XXX temporary, not reliable */ +static int +recvmsg_locked(struct ixpnpe_softc *sc, uint32_t msg[2]) +{ + mtx_assert(&sc->sc_mtx, MA_OWNED); + + DPRINTF(sc->sc_dev, "%s: msgwaiting %d\n", __func__, sc->sc_msgwaiting); + if (sc->sc_msgwaiting) { + msg[0] = sc->sc_msg[0]; + msg[1] = sc->sc_msg[1]; + sc->sc_msgwaiting = 0; + return 0; + } + return EAGAIN; +} +/* + * Receive any msg previously received from the NPE. If nothing + * is available we return EAGAIN and the caller is required to + * do a synchronous receive or try again later. + */ int -ixpnpe_sendmsg(struct ixpnpe_softc *sc, const uint32_t msg[2]) +ixpnpe_recvmsg_async(struct ixpnpe_softc *sc, uint32_t msg[2]) { int error; mtx_lock(&sc->sc_mtx); - error = ixpnpe_sendmsg_locked(sc, msg); + error = recvmsg_locked(sc, msg); mtx_unlock(&sc->sc_mtx); return error; } +/* + * Receive a msg from the NPE. If one was received asynchronously + * then it's returned; otherwise we poll synchronously. + */ int -ixpnpe_recvmsg(struct ixpnpe_softc *sc, uint32_t msg[2]) +ixpnpe_recvmsg_sync(struct ixpnpe_softc *sc, uint32_t msg[2]) { int error; mtx_lock(&sc->sc_mtx); - if (sc->sc_msgwaiting) - bcopy(sc->sc_msg, msg, sizeof(sc->sc_msg)); - /* NB: sc_msgwaiting != 1 means the ack fetch failed */ - error = sc->sc_msgwaiting != 1 ? EIO : 0; + error = recvmsg_locked(sc, msg); + if (error == EAGAIN) + error = getmsg(sc, msg); mtx_unlock(&sc->sc_mtx); return error; ==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_npevar.h#5 (text+ko) ==== @@ -115,8 +115,9 @@ const char *imageName, uint32_t imageId); int ixpnpe_getfunctionality(struct ixpnpe_softc *sc); -int ixpnpe_sendmsg(struct ixpnpe_softc *, const uint32_t msg[2]); -int ixpnpe_recvmsg(struct ixpnpe_softc *, uint32_t msg[2]); -int ixpnpe_sendandrecvmsg(struct ixpnpe_softc *, const uint32_t send[2], - uint32_t recv[2]); +int ixpnpe_sendmsg_async(struct ixpnpe_softc *, const uint32_t msg[2]); +int ixpnpe_recvmsg_async(struct ixpnpe_softc *, uint32_t msg[2]); +int ixpnpe_sendandrecvmsg_sync(struct ixpnpe_softc *, + const uint32_t send[2], uint32_t recv[2]); +int ixpnpe_recvmsg_sync(struct ixpnpe_softc *, uint32_t msg[2]); #endif /* _IXP425_NPEVAR_H_ */ From zec at FreeBSD.org Fri Dec 5 16:03:20 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 16:03:32 2008 Subject: PERFORCE change 154152 for review Message-ID: <200812060003.mB603JEc061893@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154152 Change 154152 by zec@zec_tca51 on 2008/12/06 00:03:03 Make kldsym() lookups for selected V_ variables really work. Affected files ... .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#3 edit .. //depot/projects/vimage-commit2/src/sys/sys/kernel.h#5 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#3 (text+ko) ==== @@ -54,12 +54,10 @@ /* Do not register the same module instance more than once */ TAILQ_FOREACH(vml_iter, &vnet_modlink_head, vml_mod_le) if (vml_iter->vml_modinfo == vmi) - break; - if (vml_iter != NULL) - panic("attempt to register an already registered vnet module"); + panic("vnet_mod_register: %s", vmi->vmi_name); vml = malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); - vml->vml_modinfo = vmi; + TAILQ_INSERT_TAIL(&vnet_modlink_head, vml, vml_mod_le); } /* @@ -92,4 +90,13 @@ return ENOENT; } +static void +vi_init(void *unused) +{ + + TAILQ_INIT(&vnet_modlink_head); +} + +SYSINIT(vimage, SI_SUB_VIMAGE, SI_ORDER_FIRST, vi_init, NULL); + #endif /* !VIMAGE_GLOBALS */ ==== //depot/projects/vimage-commit2/src/sys/sys/kernel.h#5 (text+ko) ==== @@ -117,6 +117,7 @@ SI_SUB_MAC = 0x2180000, /* TrustedBSD MAC subsystem */ SI_SUB_MAC_POLICY = 0x21C0000, /* TrustedBSD MAC policies */ SI_SUB_MAC_LATE = 0x21D0000, /* TrustedBSD MAC subsystem */ + SI_SUB_VIMAGE = 0x21E0000, /* vimage infrastructure */ SI_SUB_INTRINSIC = 0x2200000, /* proc 0*/ SI_SUB_VM_CONF = 0x2300000, /* config VM, set limits*/ SI_SUB_DDB_SERVICES = 0x2380000, /* capture, scripting, etc. */ From zec at FreeBSD.org Fri Dec 5 16:07:25 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 16:08:01 2008 Subject: PERFORCE change 154153 for review Message-ID: <200812060007.mB607OcB062269@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154153 Change 154153 by zec@zec_tca51 on 2008/12/06 00:06:53 IFC @ 154151 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/mv_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/vimage-commit2/src/sys/boot/i386/boot0/Makefile#3 integrate .. //depot/projects/vimage-commit2/src/sys/boot/i386/boot0/boot0.S#4 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit_record.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#19 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_ael1002.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_core.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_intel.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/pmc_events.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jmereg.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jmevar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mfi/mfi_pci.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pccbb/pccbb_pci.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pccbb/pccbbvar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/blkfront/blkfront.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/blkfront/block.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/netfront/netfront.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/atomic.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/xen/xenbus.h#2 delete .. //depot/projects/vimage-commit2/src/sys/i386/xen/xen_machdep.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_exec.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_exit.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_fork.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_module.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_proc.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/iconv.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_carp.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_serv.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/pci/if_rl.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/sys/module.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/proc.h#10 integrate .. //depot/projects/vimage-commit2/src/sys/xen/gnttab.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/xen/gnttab.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_client.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_comms.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_comms.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_dev.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_if.m#1 branch .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_probe.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_probe_backend.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbus_xs.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/xen/xenbus/xenbusvar.h#1 branch Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.82 2007/12/02 20:40:30 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.83 2008/12/05 11:34:36 kib Exp $"); + +#include "opt_compat.h" #include #include @@ -318,6 +320,10 @@ frame_type = INTERRUPT; else if (strcmp(name, "Xfast_syscall") == 0) frame_type = SYSCALL; +#ifdef COMPAT_IA32 + else if (strcmp(name, "Xint0x80_syscall") == 0) + frame_type = SYSCALL; +#endif /* XXX: These are interrupts with trap frames. */ else if (strcmp(name, "Xtimerint") == 0 || strcmp(name, "Xcpustop") == 0 || ==== //depot/projects/vimage-commit2/src/sys/arm/mv/mv_pci.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.2 2008/11/19 17:07:01 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.3 2008/12/05 15:27:28 raj Exp $"); #include #include @@ -598,6 +598,10 @@ mem_limit = mem_base + sc->sc_info->op_mem_size - 1; /* Configure I/O decode registers */ + pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOBASEL_1, + io_base >> 8, 1); + pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOBASEH_1, + io_base >> 16, 2); pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOLIMITL_1, io_limit >> 8, 1); pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOLIMITH_1, ==== //depot/projects/vimage-commit2/src/sys/arm/mv/orion/std.db88f5xxx#2 (text+ko) ==== @@ -1,13 +1,13 @@ -# $FreeBSD: src/sys/arm/mv/orion/std.db88f5xxx,v 1.1 2008/10/13 20:07:13 raj Exp $ +# $FreeBSD: src/sys/arm/mv/orion/std.db88f5xxx,v 1.2 2008/12/05 15:31:51 raj Exp $ include "../mv/std.mv" files "../mv/orion/files.db88f5xxx" -makeoptions KERNPHYSADDR=0x00400000 -makeoptions KERNVIRTADDR=0xc0400000 +makeoptions KERNPHYSADDR=0x00900000 +makeoptions KERNVIRTADDR=0xc0900000 -options KERNPHYSADDR=0x00400000 -options KERNVIRTADDR=0xc0400000 +options KERNPHYSADDR=0x00900000 +options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 options PHYSMEM_SIZE=0x08000000 options STARTUP_PAGETABLE_ADDR=0x00100000 ==== //depot/projects/vimage-commit2/src/sys/boot/i386/boot0/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.33 2008/12/02 14:57:48 luigi Exp $ +# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.34 2008/12/03 14:53:59 luigi Exp $ PROG?= boot0 STRIP= @@ -9,12 +9,14 @@ # Additional options that you can specify with make OPTS="..." # (these only apply to boot0.S) # +# -DVOLUME_SERIAL support volume serial number (NT, XP, Vista) # -DSIO do I/O using COM1: # -DPXE fallback to INT18/PXE with F6 # -DCHECK_DRIVE enable checking drive number # -DONLY_F_KEYS accept only Fx keys in console # -DTEST print drive number on entry # +OPTS ?= -DVOLUME_SERIAL -DPXE CFLAGS += ${OPTS} # Flags used in the boot0.S code: ==== //depot/projects/vimage-commit2/src/sys/boot/i386/boot0/boot0.S#4 (text+ko) ==== @@ -14,7 +14,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.19 2008/12/02 14:57:48 luigi Exp $ + * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.20 2008/12/03 14:53:59 luigi Exp $ */ /* build options: */ @@ -30,11 +30,17 @@ #ifdef ONLY_F_KEYS /* Only F1..F6, no digits on console */ #endif +#ifdef VOLUME_SERIAL /* support Volume serial number */ +#define B0_BASE 0x1ae /* move the internal data area */ +#define SAVE_MEMORY +#else +#define B0_BASE 0x1b2 +#endif + #ifdef TEST /* enable some test code */ -#ifndef ONLY_F_KEYS -#define ONLY_F_KEYS /* make room for the test code */ +#define SAVE_MEMORY +#define SAVE_MORE_MEMORY #endif -#endif /* * Note - this code uses many tricks to save space and fit in one sector. @@ -118,7 +124,7 @@ * to change the value passed to the linker in the Makefile * PRT_OFF is the location of the partition table (from the MBR standard). * B0_OFF is the location of the data area, known to boot0cfg so - * it cannot be changed. + * it cannot be changed. Computed as a negative offset from 0x200 * MAGIC is the signature of a boot block. */ @@ -127,7 +133,7 @@ .set LOAD,0x7c00 # Load address .set PRT_OFF,0x1be # Partition table - .set B0_OFF,0x1b2 # Offset of boot0 data + .set B0_OFF,(B0_BASE-0x200) # Offset of boot0 data .set MAGIC,0xaa55 # Magic: bootable @@ -144,15 +150,16 @@ * We need to define them as constant as the assembler cannot * compute them in its single pass. */ - .set _NXTDRV, -0x48 # Next drive - .set _OPT, -0x47 # Default option - .set _SETDRV, -0x46 # Drive to force - .set _FLAGS, -0x45 # Flags + .set _NXTDRV, B0_OFF+6 # Next drive + .set _OPT, B0_OFF+7 # Default option + .set _SETDRV, B0_OFF+8 # Drive to force + .set _FLAGS, B0_OFF+9 # Flags .set SETDRV, 0x20 # the 'setdrv' flag .set NOUPDATE, 0x40 # the 'noupdate' flag .set USEPACKET, 0x80 # the 'packet' flag - .set _TICKS, -0x44 # Timeout ticks - .set _FAKE,0x0 # Fake partition table + + /* ticks is at a fixed position */ + .set _TICKS, (PRT_OFF - 0x200 - 2) # Timeout ticks .set _MNUOPT, 0x10 # Saved menu entries .set TLEN, (desc_ofs - bootable_ids) # size of bootable ids @@ -260,26 +267,16 @@ read_entry: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) btw %dx,_FLAGS(%bp) # Entry enabled? jnc next_entry # No - /* - * Lookup type in the 'non_bootable_ids' table, skip matching entries. - * This is implemented is by setting %di to the start of the - * exclude table, and %cl to the length of the table itself. After the - * 'repne scasb' the zero flag is set if we found a match. - * If not, %di points to the beginning of the 'valid' types, - * which is what we need for the next check. - */ movb (%bx),%al # Load type - movw $non_bootable_ids,%di # Lookup tables - movb $(bootable_ids-non_bootable_ids),%cl # length - repne # Exclude - scasb # partition? - je next_entry # Yes, ignore it + test %al, %al # skip empty partition + jz next_entry /* - * Now scan the table of bootable ids, which starts at %di and has + * Scan the table of bootable ids, which starts at %di and has * length TLEN. On a match, %di points to the element following the * match; the corresponding offset to the description is $(TLEN-1) * bytes ahead. If we don't find a match, we hit the 'unknown' entry. */ + movw $bootable_ids,%di # Lookup tables movb $(TLEN),%cl # Number of entries repne # Locate scasb # type @@ -500,19 +497,10 @@ * the string at %si * putx: print the option in %dl followed by the string at %di * also record the drive as valid. - * puts: print the string at %si followed by a crlf * putn: print a crlf * putstr: print the string at %si * putchr: print the char in al */ -putkey: -#ifndef SIO - movb $'F',%al # Display - callw putchr # 'F' -#endif - movb $'1',%al # Prepare - addb %dl,%al # digit - jmp putstr.1 # Display the rest /* * Display the option and record the drive as valid in the options. @@ -523,17 +511,24 @@ movw $item,%si # Display callw putkey # key movw %di,%si # Display the rest + callw putstr # Display string -puts: callw putstr # Display string +putn: movw $crlf,%si # To next line + jmp putstr -putn: movw $crlf,%si # To next line +putkey: +#ifndef SIO + movb $'F',%al # Display + callw putchr # 'F' +#endif + movb $'1',%al # Prepare + addb %dl,%al # digit +putstr.1: callw putchr # Display char putstr: lodsb # Get byte testb $0x80,%al # End of string? - jnz putstr.2 # Yes -putstr.1: callw putchr # Display char - jmp putstr # Continue -putstr.2: andb $~0x80,%al # Clear MSB + jz putstr.1 # No + andb $~0x80,%al # Clear MSB then print last putchr: #ifndef SIO @@ -601,38 +596,45 @@ /* Partition type tables */ -non_bootable_ids: - /* - * These entries identify invalid or NON BOOT types and partitions. - * 0: empty, 5: DOS3 ext. partition, 0xf: WIN95 ext partition - */ - .byte 0x0, 0x5, 0xf bootable_ids: /* - * These values indicate bootable types we know the names of. - * 1: FAT12, 4: FAT16 <32M, 6: FAT16 > 32M, 7: NTFS - * 0xb: FAT32, 0xc: FAT32-LBA, 0xe: FAT16-LBA, - * 0x83: linux, 0xa5: FreeBSD, 0xa6: netbsd, 0xa9:openbsd + * These values indicate bootable types we know about. + * Corresponding descriptions are at desc_ofs: + * Entries don't need to be sorted. */ - .byte 0x1, 0x6, 0x7, 0xb, 0xc, 0xe, 0x83 - .byte 0xa5, 0xa6, 0xa9, 0x4 + .byte 0x1, 0x6, 0x7, 0xb, 0xc +#ifndef SAVE_MEMORY + .byte 0xe +#endif + .byte 0x83, 0xa5, 0xa6, 0xa9, 0x4 +#ifndef SAVE_MORE_MEMORY + .byte 0x5, 0xf +#endif + desc_ofs: /* * Offsets that match the known types above, used to point to the * actual partition name. The last entry must point to os_misc, * which is used for non-matching names. */ - .byte os_dos-. # 1, DOS - .byte os_dos-. # 6, DOS/WIN - .byte os_win-. # 7, Windows - .byte os_win-. # 11, Windows - .byte os_win-. # 12, Windows - .byte os_win-. # 14, Windows + .byte os_dos-. # 1, FAT12 DOS + .byte os_dos-. # 6, FAT16 <32M, DOS/WIN + .byte os_win-. # 7, FAT16 >=32M Windows + .byte os_win-. # 11, FAT32 + .byte os_win-. # 12, FAT32-LBA +#ifndef SAVE_MEMORY + .byte os_win-. # 14, FAT16-LBA +#endif .byte os_linux-. # 131, Linux .byte os_freebsd-. # 165, FreeBSD .byte os_bsd-. # 166, OpenBSD .byte os_bsd-. # 169, NetBSD - .byte os_dos-. # 4, DOS + .byte os_dos-. # 4, FAT16 < 32M +#ifndef SAVE_MORE_MEMORY + .byte os_ext-. # 5, DOS Ext + .byte os_ext-. # 15, DOS Ext-LBA +#endif + .byte os_misc-. # Unknown /* @@ -641,15 +643,18 @@ */ os_misc: .byte '?'|0x80 os_dos: -#if !defined(TEST) /* DOS string only if room */ +#ifndef SAVE_MEMORY /* DOS string only if room */ .ascii "DO"; .byte 'S'|0x80 #endif os_win: .ascii "WI"; .byte 'N'|0x80 os_linux: .ascii "Linu"; .byte 'x'|0x80 os_freebsd: .ascii "Free" os_bsd: .ascii "BS"; .byte 'D'|0x80 +#ifndef SAVE_MORE_MEMORY +os_ext: .ascii "EX"; .byte 'T'|0x80 +#endif - .org B0_OFF,0x90 + .org (0x200 + B0_OFF),0x90 /* * The boot0 version 1.0 parameter table. * Do not move it nor change the "Drive " string, boot0cfg @@ -663,6 +668,9 @@ opt: .byte 0x0 # Option setdrv_num: .byte 0x80 # Drive to force flags: .byte FLAGS # Flags +#ifdef VOLUME_SERIAL + .byte 0xa8,0xa8,0xa8,0xa8 # Volume Serial Number +#endif ticks: .word TICKS # Delay .org PRT_OFF ==== //depot/projects/vimage-commit2/src/sys/bsm/audit.h#3 (text) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2005 Apple Inc. * All rights reserved. * @@ -26,8 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#40 - * $FreeBSD: src/sys/bsm/audit.h,v 1.11 2008/07/31 09:54:35 rwatson Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#1 + * $FreeBSD: src/sys/bsm/audit.h,v 1.12 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _BSM_AUDIT_H ==== //depot/projects/vimage-commit2/src/sys/bsm/audit_internal.h#4 (text) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2005 Apple Inc. * Copyright (c) 2005 SPARTA, Inc. * All rights reserved. @@ -30,8 +30,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#18 - * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.10 2008/11/11 21:57:03 csjp Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_internal.h#2 + * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.11 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _AUDIT_INTERNAL_H ==== //depot/projects/vimage-commit2/src/sys/bsm/audit_kevents.h#4 (text) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2005 Apple Inc. * All rights reserved. * @@ -26,8 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#34 - * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.15 2008/08/24 21:20:35 rwatson Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#3 + * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.16 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -308,6 +308,7 @@ #define AUE_PF_POLICY_FLIP 298 /* Solaris-specific. */ #define AUE_PF_POLICY_FLUSH 299 /* Solaris-specific. */ #define AUE_PF_POLICY_ALGS 300 /* Solaris-specific. */ +#define AUE_PORTFS 301 /* Solaris-specific. */ /* * Events added for Apple Darwin that potentially collide with future Solaris @@ -516,17 +517,17 @@ #define AUE_READDIR 43118 /* Linux. */ #define AUE_IOPL 43119 /* Linux. */ #define AUE_VM86 43120 /* Linux. */ -#define AUE_MAC_GET_PROC 43121 /* FreeBSD. */ -#define AUE_MAC_SET_PROC 43122 /* FreeBSD. */ -#define AUE_MAC_GET_FD 43123 /* FreeBSD. */ -#define AUE_MAC_GET_FILE 43124 /* FreeBSD. */ -#define AUE_MAC_SET_FD 43125 /* FreeBSD. */ -#define AUE_MAC_SET_FILE 43126 /* FreeBSD. */ +#define AUE_MAC_GET_PROC 43121 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_PROC 43122 /* FreeBSD/Darwin. */ +#define AUE_MAC_GET_FD 43123 /* FreeBSD/Darwin. */ +#define AUE_MAC_GET_FILE 43124 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_FD 43125 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_FILE 43126 /* FreeBSD/Darwin. */ #define AUE_MAC_SYSCALL 43127 /* FreeBSD. */ -#define AUE_MAC_GET_PID 43128 /* FreeBSD. */ -#define AUE_MAC_GET_LINK 43129 /* FreeBSD. */ -#define AUE_MAC_SET_LINK 43130 /* FreeBSD. */ -#define AUE_MAC_EXECVE 43131 /* FreeBSD. */ +#define AUE_MAC_GET_PID 43128 /* FreeBSD/Darwin. */ +#define AUE_MAC_GET_LINK 43129 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_LINK 43130 /* FreeBSD/Darwin. */ +#define AUE_MAC_EXECVE 43131 /* FreeBSD/Darwin. */ #define AUE_GETPATH_FROMFD 43132 /* FreeBSD. */ #define AUE_GETPATH_FROMADDR 43133 /* FreeBSD. */ #define AUE_MQ_OPEN 43134 /* FreeBSD. */ @@ -548,7 +549,43 @@ #define AUE_MKNODAT 43150 /* FreeBSD. */ #define AUE_READLINKAT 43151 /* FreeBSD. */ #define AUE_SYMLINKAT 43152 /* FreeBSD. */ +#define AUE_MAC_GETFSSTAT 43153 /* Darwin. */ +#define AUE_MAC_GET_MOUNT 43154 /* Darwin. */ +#define AUE_MAC_GET_LCID 43155 /* Darwin. */ +#define AUE_MAC_GET_LCTX 43156 /* Darwin. */ +#define AUE_MAC_SET_LCTX 43157 /* Darwin. */ +#define AUE_MAC_MOUNT 43158 /* Darwin. */ +#define AUE_GETLCID 43159 /* Darwin. */ +#define AUE_SETLCID 43160 /* Darwin. */ +#define AUE_TASKNAMEFORPID 43161 /* Darwin. */ +#define AUE_ACCESS_EXTENDED 43162 /* Darwin. */ +#define AUE_CHMOD_EXTENDED 43163 /* Darwin. */ +#define AUE_FCHMOD_EXTENDED 43164 /* Darwin. */ +#define AUE_FSTAT_EXTENDED 43165 /* Dariwn. */ +#define AUE_LSTAT_EXTENDED 43166 /* Darwin. */ +#define AUE_MKDIR_EXTENDED 43167 /* Darwin. */ +#define AUE_MKFIFO_EXTENDED 43168 /* Darwin. */ +#define AUE_OPEN_EXTENDED 43169 /* Darwin. */ +#define AUE_OPEN_EXTENDED_R 43170 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RC 43171 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RT 43172 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RTC 43173 /* Darwin. */ +#define AUE_OPEN_EXTENDED_W 43174 /* Darwin. */ +#define AUE_OPEN_EXTENDED_WC 43175 /* Darwin. */ +#define AUE_OPEN_EXTENDED_WT 43176 /* Darwin. */ +#define AUE_OPEN_EXTENDED_WTC 43177 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RW 43178 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RWC 43179 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RWT 43180 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RWTC 43181 /* Darwin. */ +#define AUE_STAT_EXTENDED 43182 /* Darwin. */ +#define AUE_UMASK_EXTENDED 43183 /* Darwin. */ +#define AUE_OPENAT 43184 /* FreeBSD. */ #define AUE_POSIX_OPENPT 43185 /* FreeBSD. */ +#define AUE_CAP_NEW 43186 /* TrustedBSD. */ +#define AUE_CAP_GETRIGHTS 43187 /* TrustedBSD. */ +#define AUE_CAP_ENTER 43188 /* TrustedBSD. */ +#define AUE_CAP_GETMODE 43189 /* TrustedBSD. */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the ==== //depot/projects/vimage-commit2/src/sys/bsm/audit_record.h#4 (text) ==== @@ -1,5 +1,5 @@ -/* - * Copyright (c) 2005 Apple Inc. +/*- + * Copyright (c) 2005-2008 Apple Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,8 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#26 - * $FreeBSD: src/sys/bsm/audit_record.h,v 1.12 2008/11/11 21:57:03 csjp Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_record.h#3 + * $FreeBSD: src/sys/bsm/audit_record.h,v 1.13 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -48,7 +48,7 @@ #define AUT_IPC 0x22 #define AUT_PATH 0x23 #define AUT_SUBJECT32 0x24 -#define AUT_SERVER32 0x25 +#define AUT_XATPATH 0x25 #define AUT_PROCESS32 0x26 #define AUT_RETURN32 0x27 #define AUT_TEXT 0x28 @@ -64,9 +64,7 @@ #define AUT_IPC_PERM 0x32 #define AUT_LABEL 0x33 #define AUT_GROUPS 0x34 -#define AUT_ILABEL 0x35 -#define AUT_SLABEL 0x36 -#define AUT_CLEAR 0x37 +#define AUT_ACE 0x35 #define AUT_PRIV 0x38 #define AUT_UPRIV 0x39 #define AUT_LIAISON 0x3a @@ -74,22 +72,28 @@ #define AUT_EXEC_ARGS 0x3c #define AUT_EXEC_ENV 0x3d #define AUT_ATTR32 0x3e -/* #define AUT_???? 0x3f */ +#define AUT_UNAUTH 0x3f #define AUT_XATOM 0x40 #define AUT_XOBJ 0x41 #define AUT_XPROTO 0x42 #define AUT_XSELECT 0x43 -/* XXXRW: Additional X11 tokens not defined? */ +#define AUT_XCOLORMAP 0x44 +#define AUT_XCURSOR 0x45 +#define AUT_XFONT 0x46 +#define AUT_XGC 0x47 +#define AUT_XPIXMAP 0x48 +#define AUT_XPROPERTY 0x49 +#define AUT_XWINDOW 0x4a +#define AUT_XCLIENT 0x4b #define AUT_CMD 0x51 #define AUT_EXIT 0x52 #define AUT_ZONENAME 0x60 -/* XXXRW: OpenBSM AUT_HOST 0x70? */ +#define AUT_HOST 0x70 #define AUT_ARG64 0x71 #define AUT_RETURN64 0x72 #define AUT_ATTR64 0x73 #define AUT_HEADER64 0x74 #define AUT_SUBJECT64 0x75 -#define AUT_SERVER64 0x76 #define AUT_PROCESS64 0x77 #define AUT_OTHER_FILE64 0x78 #define AUT_HEADER64_EX 0x79 @@ -108,55 +112,10 @@ #define AUT_ARG AUT_ARG32 #define AUT_RETURN AUT_RETURN32 #define AUT_SUBJECT AUT_SUBJECT32 -#define AUT_SERVER AUT_SERVER32 #define AUT_PROCESS AUT_PROCESS32 #define AUT_OTHER_FILE AUT_OTHER_FILE32 /* - * Darwin's bsm distribution uses the following non-BSM token name defines. - * We provide them for a single OpenBSM release for compatibility reasons. - */ -#define AU_FILE_TOKEN AUT_OTHER_FILE32 -#define AU_TRAILER_TOKEN AUT_TRAILER -#define AU_HEADER_32_TOKEN AUT_HEADER32 -#define AU_DATA_TOKEN AUT_DATA -#define AU_ARB_TOKEN AUT_DATA -#define AU_IPC_TOKEN AUT_IPC -#define AU_PATH_TOKEN AUT_PATH -#define AU_SUBJECT_32_TOKEN AUT_SUBJECT32 -#define AU_PROCESS_32_TOKEN AUT_PROCESS32 -#define AU_RETURN_32_TOKEN AUT_RETURN32 -#define AU_TEXT_TOKEN AUT_TEXT -#define AU_OPAQUE_TOKEN AUT_OPAQUE -#define AU_IN_ADDR_TOKEN AUT_IN_ADDR -#define AU_IP_TOKEN AUT_IP -#define AU_IPORT_TOKEN AUT_IPORT -#define AU_ARG32_TOKEN AUT_ARG32 -#define AU_SOCK_TOKEN AUT_SOCKET -#define AU_SEQ_TOKEN AUT_SEQ -#define AU_ATTR_TOKEN AUT_ATTR -#define AU_IPCPERM_TOKEN AUT_IPC_PERM -#define AU_NEWGROUPS_TOKEN AUT_NEWGROUPS -#define AU_EXEC_ARG_TOKEN AUT_EXEC_ARGS -#define AU_EXEC_ENV_TOKEN AUT_EXEC_ENV -#define AU_ATTR32_TOKEN AUT_ATTR32 -#define AU_CMD_TOKEN AUT_CMD -#define AU_EXIT_TOKEN AUT_EXIT -#define AU_ARG64_TOKEN AUT_ARG64 -#define AU_RETURN_64_TOKEN AUT_RETURN64 -#define AU_ATTR64_TOKEN AUT_ATTR64 -#define AU_HEADER_64_TOKEN AUT_HEADER64 -#define AU_SUBJECT_64_TOKEN AUT_SUBJECT64 -#define AU_PROCESS_64_TOKEN AUT_PROCESS64 -#define AU_HEADER_64_EX_TOKEN AUT_HEADER64_EX -#define AU_SUBJECT_32_EX_TOKEN AUT_SUBJECT32_EX -#define AU_PROCESS_32_EX_TOKEN AUT_PROCESS32_EX -#define AU_SUBJECT_64_EX_TOKEN AUT_SUBJECT64_EX -#define AU_PROCESS_64_EX_TOKEN AUT_PROCESS64_EX -#define AU_IN_ADDR_EX_TOKEN AUT_IN_ADDR_EX -#define AU_SOCK_32_EX_TOKEN AUT_SOCKET_EX - -/* * The values for the following token ids are not defined by BSM. * * XXXRW: Not sure how to handle these in OpenBSM yet, but I'll give them @@ -166,9 +125,6 @@ #define AUT_SOCKINET32 0x80 /* XXX */ #define AUT_SOCKINET128 0x81 /* XXX */ #define AUT_SOCKUNIX 0x82 /* XXX */ -#define AU_SOCK_INET_32_TOKEN AUT_SOCKINET32 -#define AU_SOCK_INET_128_TOKEN AUT_SOCKINET128 -#define AU_SOCK_UNIX_TOKEN AUT_SOCKUNIX /* print values for the arbitrary token */ #define AUP_BINARY 0 @@ -240,7 +196,7 @@ int au_close_buffer(int d, short event, u_char *buffer, size_t *buflen); int au_close_token(token_t *tok, u_char *buffer, size_t *buflen); -token_t *au_to_file(char *file, struct timeval tm); +token_t *au_to_file(const char *file, struct timeval tm); token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); @@ -256,9 +212,9 @@ #endif token_t *au_to_me(void); -token_t *au_to_arg(char n, char *text, uint32_t v); -token_t *au_to_arg32(char n, char *text, uint32_t v); -token_t *au_to_arg64(char n, char *text, uint64_t v); +token_t *au_to_arg(char n, const char *text, uint32_t v); +token_t *au_to_arg32(char n, const char *text, uint32_t v); +token_t *au_to_arg64(char n, const char *text, uint64_t v); #if defined(_KERNEL) || defined(KERNEL) token_t *au_to_attr(struct vnode_au_info *vni); @@ -267,7 +223,7 @@ #endif token_t *au_to_data(char unit_print, char unit_type, char unit_count, - char *p); + const char *p); token_t *au_to_exit(int retval, int err); token_t *au_to_groups(int *groups); token_t *au_to_newgroups(uint16_t n, gid_t *groups); @@ -277,8 +233,8 @@ token_t *au_to_ipc(char type, int id); token_t *au_to_ipc_perm(struct ipc_perm *perm); token_t *au_to_iport(uint16_t iport); -token_t *au_to_opaque(char *data, uint16_t bytes); -token_t *au_to_path(char *path); +token_t *au_to_opaque(const char *data, uint16_t bytes); +token_t *au_to_path(const char *path); token_t *au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); token_t *au_to_process32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, @@ -328,10 +284,10 @@ token_t *au_to_exec_args(char **argv); token_t *au_to_exec_env(char **envp); #endif -token_t *au_to_text(char *text); +token_t *au_to_text(const char *text); token_t *au_to_kevent(struct kevent *kev); token_t *au_to_trailer(int rec_size); -token_t *au_to_zonename(char *zonename); +token_t *au_to_zonename(const char *zonename); __END_DECLS ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#4 (text+ko) ==== @@ -387,6 +387,49 @@ #define _DONT_USE_1275_GENERIC_NAMES #define _HAVE_CPUID_INSN +#elif defined(__mips__) + +/* + * Define the appropriate "processor characteristics" + */ +#define _STACK_GROWS_DOWNWARD +#define _LONG_LONG_LTOH +#define _BIT_FIELDS_LTOH +#define _IEEE_754 +#define _CHAR_IS_SIGNED +#define _BOOL_ALIGNMENT 1 +#define _CHAR_ALIGNMENT 1 +#define _SHORT_ALIGNMENT 2 +#define _INT_ALIGNMENT 4 +#define _FLOAT_ALIGNMENT 4 +#define _FLOAT_COMPLEX_ALIGNMENT 4 +#define _LONG_ALIGNMENT 4 +#define _LONG_LONG_ALIGNMENT 4 +#define _DOUBLE_ALIGNMENT 4 +#define _DOUBLE_COMPLEX_ALIGNMENT 4 +#define _LONG_DOUBLE_ALIGNMENT 4 +#define _LONG_DOUBLE_COMPLEX_ALIGNMENT 4 +#define _POINTER_ALIGNMENT 4 +#define _MAX_ALIGNMENT 4 +#define _ALIGNMENT_REQUIRED 0 + +#define _LONG_LONG_ALIGNMENT_32 _LONG_LONG_ALIGNMENT + +/* + * Define the appropriate "implementation choices". + */ +#define _ILP32 +#if !defined(_I32LPx) && defined(_KERNEL) +#define _I32LPx +#endif +#define _SUNOS_VTOC_16 +#define _DMA_USES_PHYSADDR +#define _FIRMWARE_NEEDS_FDISK +#define _PSM_MODULES +#define _RTC_CONFIG +#define _DONT_USE_1275_GENERIC_NAMES +#define _HAVE_CPUID_INSN + #elif defined(__powerpc__) /* ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.84 2008/11/29 14:32:14 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.85 2008/12/03 18:45:38 jhb Exp $"); #include "opt_compat.h" @@ -2774,7 +2774,7 @@ if (error) return (error); } - error = syscall_deregister(data->offset, &data->old_sysent); + error = syscall32_deregister(data->offset, &data->old_sysent); return (error); default: error = EOPNOTSUPP; ==== //depot/projects/vimage-commit2/src/sys/conf/files#19 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1353 2008/12/01 16:53:01 sam Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1354 2008/12/04 07:59:05 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2764,10 +2764,14 @@ xen/xenbus/xenbus_client.c optional xen xen/xenbus/xenbus_comms.c optional xen xen/xenbus/xenbus_dev.c optional xen +xen/xenbus/xenbus_if.m optional xen xen/xenbus/xenbus_probe.c optional xen -xen/xenbus/xenbus_probe_backend.c optional xen +#xen/xenbus/xenbus_probe_backend.c optional xen xen/xenbus/xenbus_xs.c optional xen dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/blkfront/blkfront.c optional xen dev/xen/netfront/netfront.c optional xen +#dev/xen/xenpci/xenpci.c optional xen +#xen/xenbus/xenbus_newbus.c optional xenhvm + ==== //depot/projects/vimage-commit2/src/sys/dev/ale/if_ale.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Atheros AR8121/AR8113/AR8114 PCIe Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.1 2008/11/12 09:52:06 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.3 2008/12/03 09:01:12 yongari Exp $"); #include #include @@ -385,6 +385,39 @@ GPHY_CTRL_EXT_RESET | GPHY_CTRL_HIB_EN | GPHY_CTRL_HIB_PULSE | GPHY_CTRL_SEL_ANA_RESET | GPHY_CTRL_PHY_PLL_ON); DELAY(1000); + +#define ATPHY_DBG_ADDR 0x1D +#define ATPHY_DBG_DATA 0x1E + + /* Enable hibernation mode. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x0B); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_DATA, 0xBC00); + /* Set Class A/B for all modes. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x00); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_DATA, 0x02EF); + /* Enable 10BT power saving. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x12); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_DATA, 0x4C04); + /* Adjust 1000T power. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x04); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x8BBB); + /* 10BT center tap voltage. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x05); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x2C46); + +#undef ATPHY_DBG_ADDR +#undef ATPHY_DBG_DATA + DELAY(1000); } static int @@ -2753,10 +2786,8 @@ TX_JUMBO_THRESH_UNIT_SHIFT); } /* Configure TxQ. */ - reg = 0; - if ((sc->ale_flags & ALE_FLAG_JUMBO) != 0) - reg = (128 << (sc->ale_dma_rd_burst >> DMA_CFG_RD_BURST_SHIFT)) - << TXQ_CFG_TX_FIFO_BURST_SHIFT; + reg = (128 << (sc->ale_dma_rd_burst >> DMA_CFG_RD_BURST_SHIFT)) + << TXQ_CFG_TX_FIFO_BURST_SHIFT; reg |= (TXQ_CFG_TPD_BURST_DEFAULT << TXQ_CFG_TPD_BURST_SHIFT) & TXQ_CFG_TPD_BURST_MASK; CSR_WRITE_4(sc, ALE_TXQ_CFG, reg | TXQ_CFG_ENHANCED_MODE | TXQ_CFG_ENB); ==== //depot/projects/vimage-commit2/src/sys/dev/bce/if_bce.c#5 (text) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.44 2008/11/19 03:24:35 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.45 2008/12/03 23:00:00 delphij Exp $"); /* * The following controllers are supported by this driver: @@ -7030,13 +7030,14 @@ /* Was it a link change interrupt? */ if ((status_attn_bits & STATUS_ATTN_BITS_LINK_STATE) != - (sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) + (sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) { bce_phy_intr(sc); - /* Clear any transient status updates during link state change. */ - REG_WR(sc, BCE_HC_COMMAND, - sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT); - REG_RD(sc, BCE_HC_COMMAND); + /* Clear any transient status updates during link state change. */ + REG_WR(sc, BCE_HC_COMMAND, + sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT); + REG_RD(sc, BCE_HC_COMMAND); + } /* If any other attention is asserted then the chip is toast. */ if (((status_attn_bits & ~STATUS_ATTN_BITS_LINK_STATE) != ==== //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_ael1002.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.9 2008/11/21 19:22:25 gnn Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.10 2008/12/04 20:32:53 gnn Exp $"); #include @@ -205,6 +205,16 @@ t3_write_reg(phy->adapter, A_T3DBG_GPIO_EN, gpio_out); msleep(125); t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); + + /* Phy loopback work around for ael1006 */ + /* Soft reset phy by toggling loopback */ + msleep(125); + /* Put phy into local loopback */ + t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 0, 1); + msleep(125); + /* Take phy out of local loopback */ + t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 0); + return 0; } ==== //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#11 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.75 2008/12/01 05:43:30 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.76 2008/12/05 21:40:11 gnn Exp $"); #include #include @@ -402,6 +402,8 @@ int msi_needed, reg; #endif int must_load = 0; + char buf[80]; + sc = device_get_softc(dev); sc->dev = dev; sc->msi_count = 0; @@ -614,6 +616,11 @@ G_FW_VERSION_MAJOR(vers), G_FW_VERSION_MINOR(vers), G_FW_VERSION_MICRO(vers)); + snprintf(buf, sizeof(buf), "%s\t E/C: %s S/N: %s", + ai->desc, + sc->params.vpd.ec, sc->params.vpd.sn); >>> TRUNCATED FOR MAIL (1000 lines) <<< From zec at FreeBSD.org Fri Dec 5 16:10:28 2008 From: zec at FreeBSD.org (Marko Zec) Date: Fri Dec 5 16:10:39 2008 Subject: PERFORCE change 154154 for review Message-ID: <200812060010.mB60AR35062661@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154154 Change 154154 by zec@zec_tca51 on 2008/12/06 00:10:26 IFC @ 154151 Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/db_trace.c#4 integrate .. //depot/projects/vimage/src/sys/arm/mv/mv_pci.c#2 integrate .. //depot/projects/vimage/src/sys/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#5 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ael1002.c#9 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#21 integrate .. //depot/projects/vimage/src/sys/dev/pccbb/pccbb.c#8 integrate .. //depot/projects/vimage/src/sys/dev/pccbb/pccbb_pci.c#7 integrate .. //depot/projects/vimage/src/sys/dev/pccbb/pccbbvar.h#5 integrate .. //depot/projects/vimage/src/sys/i386/include/atomic.h#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#19 integrate .. //depot/projects/vimage/src/sys/kern/kern_exit.c#27 integrate .. //depot/projects/vimage/src/sys/kern/kern_fork.c#23 integrate .. //depot/projects/vimage/src/sys/kern/kern_linker.c#21 integrate .. //depot/projects/vimage/src/sys/kern/kern_module.c#6 integrate .. //depot/projects/vimage/src/sys/kern/kern_proc.c#18 integrate .. //depot/projects/vimage/src/sys/libkern/iconv.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ip_carp.c#18 integrate .. //depot/projects/vimage/src/sys/sys/module.h#4 integrate .. //depot/projects/vimage/src/sys/sys/proc.h#27 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/db_trace.c#4 (text+ko) ==== @@ -25,7 +25,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.82 2007/12/02 20:40:30 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.83 2008/12/05 11:34:36 kib Exp $"); + +#include "opt_compat.h" #include #include @@ -318,6 +320,10 @@ frame_type = INTERRUPT; else if (strcmp(name, "Xfast_syscall") == 0) frame_type = SYSCALL; +#ifdef COMPAT_IA32 + else if (strcmp(name, "Xint0x80_syscall") == 0) + frame_type = SYSCALL; +#endif /* XXX: These are interrupts with trap frames. */ else if (strcmp(name, "Xtimerint") == 0 || strcmp(name, "Xcpustop") == 0 || ==== //depot/projects/vimage/src/sys/arm/mv/mv_pci.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.2 2008/11/19 17:07:01 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.3 2008/12/05 15:27:28 raj Exp $"); #include #include @@ -598,6 +598,10 @@ mem_limit = mem_base + sc->sc_info->op_mem_size - 1; /* Configure I/O decode registers */ + pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOBASEL_1, + io_base >> 8, 1); + pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOBASEH_1, + io_base >> 16, 2); pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOLIMITL_1, io_limit >> 8, 1); pcib_mbus_write_config(sc->sc_dev, bus, slot, func, PCIR_IOLIMITH_1, ==== //depot/projects/vimage/src/sys/arm/mv/orion/std.db88f5xxx#2 (text+ko) ==== @@ -1,13 +1,13 @@ -# $FreeBSD: src/sys/arm/mv/orion/std.db88f5xxx,v 1.1 2008/10/13 20:07:13 raj Exp $ +# $FreeBSD: src/sys/arm/mv/orion/std.db88f5xxx,v 1.2 2008/12/05 15:31:51 raj Exp $ include "../mv/std.mv" files "../mv/orion/files.db88f5xxx" -makeoptions KERNPHYSADDR=0x00400000 -makeoptions KERNVIRTADDR=0xc0400000 +makeoptions KERNPHYSADDR=0x00900000 +makeoptions KERNVIRTADDR=0xc0900000 -options KERNPHYSADDR=0x00400000 -options KERNVIRTADDR=0xc0400000 +options KERNPHYSADDR=0x00900000 +options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 options PHYSMEM_SIZE=0x08000000 options STARTUP_PAGETABLE_ADDR=0x00100000 ==== //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#5 (text+ko) ==== @@ -387,6 +387,49 @@ #define _DONT_USE_1275_GENERIC_NAMES #define _HAVE_CPUID_INSN +#elif defined(__mips__) + +/* + * Define the appropriate "processor characteristics" + */ +#define _STACK_GROWS_DOWNWARD +#define _LONG_LONG_LTOH +#define _BIT_FIELDS_LTOH +#define _IEEE_754 +#define _CHAR_IS_SIGNED +#define _BOOL_ALIGNMENT 1 +#define _CHAR_ALIGNMENT 1 +#define _SHORT_ALIGNMENT 2 +#define _INT_ALIGNMENT 4 +#define _FLOAT_ALIGNMENT 4 +#define _FLOAT_COMPLEX_ALIGNMENT 4 +#define _LONG_ALIGNMENT 4 +#define _LONG_LONG_ALIGNMENT 4 +#define _DOUBLE_ALIGNMENT 4 +#define _DOUBLE_COMPLEX_ALIGNMENT 4 +#define _LONG_DOUBLE_ALIGNMENT 4 +#define _LONG_DOUBLE_COMPLEX_ALIGNMENT 4 +#define _POINTER_ALIGNMENT 4 +#define _MAX_ALIGNMENT 4 +#define _ALIGNMENT_REQUIRED 0 + +#define _LONG_LONG_ALIGNMENT_32 _LONG_LONG_ALIGNMENT + +/* + * Define the appropriate "implementation choices". + */ +#define _ILP32 +#if !defined(_I32LPx) && defined(_KERNEL) +#define _I32LPx +#endif +#define _SUNOS_VTOC_16 +#define _DMA_USES_PHYSADDR +#define _FIRMWARE_NEEDS_FDISK +#define _PSM_MODULES +#define _RTC_CONFIG +#define _DONT_USE_1275_GENERIC_NAMES +#define _HAVE_CPUID_INSN + #elif defined(__powerpc__) /* ==== //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ael1002.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.9 2008/11/21 19:22:25 gnn Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.10 2008/12/04 20:32:53 gnn Exp $"); #include @@ -205,6 +205,16 @@ t3_write_reg(phy->adapter, A_T3DBG_GPIO_EN, gpio_out); msleep(125); t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); + + /* Phy loopback work around for ael1006 */ + /* Soft reset phy by toggling loopback */ + msleep(125); + /* Put phy into local loopback */ + t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 0, 1); + msleep(125); + /* Take phy out of local loopback */ + t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 0); + return 0; } ==== //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#21 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.75 2008/12/01 05:43:30 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.76 2008/12/05 21:40:11 gnn Exp $"); #include #include @@ -402,6 +402,8 @@ int msi_needed, reg; #endif int must_load = 0; + char buf[80]; + sc = device_get_softc(dev); sc->dev = dev; sc->msi_count = 0; @@ -614,6 +616,11 @@ G_FW_VERSION_MAJOR(vers), G_FW_VERSION_MINOR(vers), G_FW_VERSION_MICRO(vers)); + snprintf(buf, sizeof(buf), "%s\t E/C: %s S/N: %s", + ai->desc, + sc->params.vpd.ec, sc->params.vpd.sn); + device_set_desc_copy(dev, buf); + device_printf(sc->dev, "Firmware Version %s\n", &sc->fw_version[0]); callout_reset(&sc->cxgb_tick_ch, CXGB_TICKS(sc), cxgb_tick, sc); t3_add_attach_sysctls(sc); ==== //depot/projects/vimage/src/sys/dev/pccbb/pccbb.c#8 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.172 2008/08/10 09:55:14 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.176 2008/12/05 05:20:08 imp Exp $"); #include #include @@ -344,7 +344,7 @@ sc->flags |= CBB_KTHREAD_DONE; while (sc->flags & CBB_KTHREAD_RUNNING) { DEVPRINTF((sc->dev, "Waiting for thread to die\n")); - cv_broadcast(&sc->cv); + wakeup(&sc->intrhand); msleep(sc->event_thread, &sc->mtx, PWAIT, "cbbun", 0); } mtx_unlock(&sc->mtx); @@ -353,8 +353,6 @@ bus_release_resource(brdev, SYS_RES_MEMORY, CBBR_SOCKBASE, sc->base_res); mtx_destroy(&sc->mtx); - cv_destroy(&sc->cv); - cv_destroy(&sc->powercv); return (0); } @@ -435,11 +433,8 @@ } free(devlist, M_TEMP); - if (wake > 0) { - mtx_lock(&sc->mtx); - cv_signal(&sc->cv); - mtx_unlock(&sc->mtx); - } + if (wake > 0) + wakeup(&sc->intrhand); } void @@ -519,12 +514,12 @@ * a chance to run. */ mtx_lock(&sc->mtx); - cbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD); - cv_wait(&sc->cv, &sc->mtx); + cbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD | CBB_SOCKET_MASK_CSTS); + msleep(&sc->intrhand, &sc->mtx, PZERO, "-", 0); err = 0; while (err != EWOULDBLOCK && (sc->flags & CBB_KTHREAD_DONE) == 0) - err = cv_timedwait(&sc->cv, &sc->mtx, hz / 4); + err = msleep(&sc->intrhand, &sc->mtx, PZERO, "-", hz / 5); } DEVPRINTF((sc->dev, "Thread terminating\n")); sc->flags &= ~CBB_KTHREAD_RUNNING; @@ -800,7 +795,7 @@ sane = 10; while (!(cbb_get(sc, CBB_SOCKET_STATE) & CBB_STATE_POWER_CYCLE) && cnt == sc->powerintr && sane-- > 0) - cv_timedwait(&sc->powercv, &sc->mtx, hz / 20); + msleep(&sc->powerintr, &sc->mtx, PZERO, "-", hz / 20); mtx_unlock(&sc->mtx); /* * The TOPIC95B requires a little bit extra time to get @@ -837,7 +832,18 @@ } if (status & CBB_STATE_BAD_VCC_REQ) { device_printf(sc->dev, "Bad Vcc requested\n"); - /* XXX Do we want to do something to mitigate things here? */ + /* + * Turn off the power, and try again. Retrigger other + * active interrupts via force register. From NetBSD + * PR 36652, coded by me to description there. + */ + sock_ctrl &= ~CBB_SOCKET_CTRL_VCCMASK; + sock_ctrl &= ~CBB_SOCKET_CTRL_VPPMASK; + cbb_set(sc, CBB_SOCKET_CONTROL, sock_ctrl); + status &= ~CBB_STATE_BAD_VCC_REQ; + status &= ~CBB_STATE_DATA_LOST; + status |= CBB_FORCE_CV_TEST; + cbb_set(sc, CBB_SOCKET_FORCE, status); goto done; } if (sc->chipset == CB_TOPIC97) { @@ -935,32 +941,32 @@ /* * Asserting reset for 20ms is necessary for most bridges. For some - * reason, the Ricoh RF5C47x bridges need it asserted for 400ms. + * reason, the Ricoh RF5C47x bridges need it asserted for 400ms. The + * root cause of this is unknown, and NetBSD does the same thing. */ delay = sc->chipset == CB_RF5C47X ? 400 : 20; PCI_MASK_CONFIG(brdev, CBBR_BRIDGECTRL, |CBBM_BRIDGECTRL_RESET, 2); pause("cbbP3", hz * delay / 1000); /* - * If a card exists and we're turning it on, take it out of reset. + * If a card exists and we're turning it on, take it out of reset. + * After clearing reset, wait up to 1.1s for the first configuration + * register (vendor/product) configuration register of device 0.0 to + * become != 0xffffffff. The PCMCIA PC Card Host System Specification + * says that when powering up the card, the PCI Spec v2.1 must be + * followed. In PCI spec v2.2 Table 4-6, Trhfa (Reset High to first + * Config Access) is at most 2^25 clocks, or just over 1s. Section + * 2.2.1 states any card not ready to participate in bus transactions + * must tristate its outputs. Therefore, any access to its + * configuration registers must be ignored. In that state, the config + * reg will read 0xffffffff. Section 6.2.1 states a vendor id of + * 0xffff is invalid, so this can never match a real card. Print a + * warning if it never returns a real id. The PCMCIA PC Card + * Electrical Spec Section 5.2.7.1 implies only device 0 is present on + * a cardbus bus, so that's the only register we check here. */ if (on && CBB_CARD_PRESENT(cbb_get(sc, CBB_SOCKET_STATE))) { /* - * After clearing reset, wait up to 1.1s for the first - * configuration register (vendor/product) configuration - * register of device 0.0 to become != 0xffffffff. The PCMCIA - * PC Card Host System Specification says that when powering - * up the card, the PCI Spec v2.1 must be followed. In PCI - * spec v2.2 Table 4-6, Trhfa (Reset High to first Config - * Access) is at most 2^25 clocks, or just over 1s. Section - * 2.2.1 states any card not ready to participate in bus - * transactions must tristate its outputs. Therefore, any - * access to its configuration registers must be ignored. In - * that state, the config reg will read 0xffffffff. Section - * 6.2.1 states a vendor id of 0xffff is invalid, so this can - * never match a real card. Print a warning if it never - * returns a real id. The PCMCIA PC Card Electrical Spec - * Section 5.2.7.1 implies only device 0. */ PCI_MASK_CONFIG(brdev, CBBR_BRIDGECTRL, &~CBBM_BRIDGECTRL_RESET, 2); @@ -1034,8 +1040,8 @@ return (EINVAL); } - basereg = win*8 + CBBR_MEMBASE0; - limitreg = win*8 + CBBR_MEMLIMIT0; + basereg = win * 8 + CBBR_MEMBASE0; + limitreg = win * 8 + CBBR_MEMLIMIT0; pci_write_config(brdev, basereg, start, 4); pci_write_config(brdev, limitreg, end, 4); @@ -1564,9 +1570,7 @@ cbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD); /* Signal the thread to wakeup. */ - mtx_lock(&sc->mtx); - cv_signal(&sc->cv); - mtx_unlock(&sc->mtx); + wakeup(&sc->intrhand); error = bus_generic_resume(self); ==== //depot/projects/vimage/src/sys/dev/pccbb/pccbb_pci.c#7 (text+ko) ==== @@ -72,7 +72,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb_pci.c,v 1.29 2008/10/02 22:50:11 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb_pci.c,v 1.30 2008/12/05 05:20:08 imp Exp $"); #include #include @@ -117,7 +117,7 @@ pci_read_config(DEV, REG, SIZE) MASK1) MASK2, SIZE) static void cbb_chipinit(struct cbb_softc *sc); -static void cbb_pci_intr(void *arg); +static int cbb_pci_filt(void *arg); static struct yenta_chipinfo { uint32_t yc_id; @@ -313,8 +313,6 @@ parent = device_get_parent(brdev); mtx_init(&sc->mtx, device_get_nameunit(brdev), "cbb", MTX_DEF); - cv_init(&sc->cv, "cbb cv"); - cv_init(&sc->powercv, "cbb cv"); sc->chipset = cbb_chipset(pci_get_devid(brdev), NULL); sc->dev = brdev; sc->cbdev = NULL; @@ -332,7 +330,6 @@ if (!sc->base_res) { device_printf(brdev, "Could not map register memory\n"); mtx_destroy(&sc->mtx); - cv_destroy(&sc->cv); return (ENOMEM); } else { DEVPRINTF((brdev, "Found memory at %08lx\n", @@ -416,7 +413,7 @@ } if (bus_setup_intr(brdev, sc->irq_res, INTR_TYPE_AV | INTR_MPSAFE, - NULL, cbb_pci_intr, sc, &sc->intrhand)) { + cbb_pci_filt, NULL, sc, &sc->intrhand)) { device_printf(brdev, "couldn't establish interrupt\n"); goto err; } @@ -451,7 +448,6 @@ sc->base_res); } mtx_destroy(&sc->mtx); - cv_destroy(&sc->cv); return (ENOMEM); } @@ -686,11 +682,13 @@ return (0); } -static void -cbb_pci_intr(void *arg) +#define DELTA (CBB_SOCKET_MASK_CD) +static int +cbb_pci_filt(void *arg) { struct cbb_softc *sc = arg; uint32_t sockevent; + int retval = FILTER_STRAY; /* * Read the socket event. Sometimes, the theory goes, the PCI @@ -705,9 +703,6 @@ */ sockevent = cbb_get(sc, CBB_SOCKET_EVENT); if (sockevent != 0 && (sockevent & ~CBB_SOCKET_EVENT_VALID_MASK) == 0) { - /* ack the interrupt */ - cbb_set(sc, CBB_SOCKET_EVENT, sockevent); - /* * If anything has happened to the socket, we assume that * the card is no longer OK, and we shouldn't call its @@ -721,24 +716,24 @@ * of the pccard software used a similar trick and achieved * excellent results. */ - if (sockevent & CBB_SOCKET_EVENT_CD) { - mtx_lock(&sc->mtx); - cbb_clrb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD); + if (sockevent & DELTA) { + cbb_clrb(sc, CBB_SOCKET_MASK, DELTA); + cbb_set(sc, CBB_SOCKET_EVENT, DELTA); sc->cardok = 0; cbb_disable_func_intr(sc); - cv_signal(&sc->cv); - mtx_unlock(&sc->mtx); + wakeup(&sc->intrhand); } /* * If we get a power interrupt, wakeup anybody that might * be waiting for one. */ if (sockevent & CBB_SOCKET_EVENT_POWER) { - mtx_lock(&sc->mtx); + cbb_clrb(sc, CBB_SOCKET_MASK, CBB_SOCKET_EVENT_POWER); + cbb_set(sc, CBB_SOCKET_EVENT, CBB_SOCKET_EVENT_POWER); sc->powerintr++; - cv_signal(&sc->powercv); - mtx_unlock(&sc->mtx); + wakeup((void *)&sc->powerintr); } + retval = FILTER_HANDLED; } /* * Some chips also require us to read the old ExCA registe for @@ -753,6 +748,7 @@ * the event independent of the CBB_SOCKET_EVENT_CD above. */ exca_getb(&sc->exca[0], EXCA_CSC); + return retval; } /************************************************************************/ ==== //depot/projects/vimage/src/sys/dev/pccbb/pccbbvar.h#5 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pccbb/pccbbvar.h,v 1.32 2007/09/30 11:05:15 marius Exp $ + * $FreeBSD: src/sys/dev/pccbb/pccbbvar.h,v 1.33 2008/12/05 05:20:08 imp Exp $ */ /* @@ -67,8 +67,6 @@ unsigned int secbus; unsigned int subbus; struct mtx mtx; - struct cv cv; - struct cv powercv; int cardok; u_int32_t flags; #define CBB_16BIT_CARD 0x20000000 @@ -89,7 +87,7 @@ device_t cbdev; struct proc *event_thread; void (*chipinit)(struct cbb_softc *); - volatile int powerintr; + int powerintr; }; /* result of detect_card */ ==== //depot/projects/vimage/src/sys/i386/include/atomic.h#5 (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/atomic.h,v 1.49 2008/11/22 05:55:56 kmacy Exp $ + * $FreeBSD: src/sys/i386/include/atomic.h,v 1.50 2008/12/05 21:17:54 kib Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -32,20 +32,9 @@ #error this file needs sys/cdefs.h as a prerequisite #endif - -#if defined(I686_CPU) -#define mb() __asm__ __volatile__ ("mfence;": : :"memory") -#define wmb() __asm__ __volatile__ ("sfence;": : :"memory") -#define rmb() __asm__ __volatile__ ("lfence;": : :"memory") -#else -/* - * do we need a serializing instruction? - */ -#define mb() -#define wmb() -#define rmb() -#endif - +#define mb() __asm __volatile("lock;addl $0,(%esp)") +#define wmb() __asm __volatile("lock;addl $0,(%esp)") +#define rmb() __asm __volatile("lock;addl $0,(%esp)") /* * Various simple operations on memory, each of which is atomic in the ==== //depot/projects/vimage/src/sys/kern/kern_exec.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.326 2008/11/05 19:40:36 rodrigc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.327 2008/12/05 20:50:24 kib Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -609,7 +609,7 @@ p->p_flag |= P_EXEC; if (p->p_pptr && (p->p_flag & P_PPWAIT)) { p->p_flag &= ~P_PPWAIT; - wakeup(p->p_pptr); + cv_broadcast(&p->p_pwait); } /* ==== //depot/projects/vimage/src/sys/kern/kern_exit.c#27 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.316 2008/11/29 14:32:14 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.317 2008/12/05 20:50:24 kib Exp $"); #include "opt_compat.h" #include "opt_kdtrace.h" @@ -544,6 +544,7 @@ * proc lock. */ wakeup(p->p_pptr); + cv_broadcast(&p->p_pwait); sched_exit(p->p_pptr, td); PROC_SLOCK(p); p->p_state = PRS_ZOMBIE; @@ -776,6 +777,7 @@ PROC_UNLOCK(p); tdsignal(t, NULL, SIGCHLD, p->p_ksi); wakeup(t); + cv_broadcast(&p->p_pwait); PROC_UNLOCK(t); sx_xunlock(&proctree_lock); return (0); ==== //depot/projects/vimage/src/sys/kern/kern_fork.c#23 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.297 2008/11/29 14:32:14 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.298 2008/12/05 20:50:24 kib Exp $"); #include "opt_kdtrace.h" #include "opt_ktrace.h" @@ -763,7 +763,7 @@ */ PROC_LOCK(p2); while (p2->p_flag & P_PPWAIT) - msleep(p1, &p2->p_mtx, PWAIT, "ppwait", 0); + cv_wait(&p2->p_pwait, &p2->p_mtx); PROC_UNLOCK(p2); /* ==== //depot/projects/vimage/src/sys/kern/kern_linker.c#21 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.161 2008/10/23 20:26:15 des Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.162 2008/12/05 13:40:25 jhb Exp $"); #include "opt_ddb.h" #include "opt_hwpmc_hooks.h" @@ -588,7 +588,30 @@ " informing modules\n")); /* - * Inform any modules associated with this file. + * Quiesce all the modules to give them a chance to veto the unload. + */ + MOD_SLOCK; + for (mod = TAILQ_FIRST(&file->modules); mod; + mod = module_getfnext(mod)) { + + error = module_quiesce(mod); + if (error != 0 && flags != LINKER_UNLOAD_FORCE) { + KLD_DPF(FILE, ("linker_file_unload: module %s" + " vetoed unload\n", module_getname(mod))); + /* + * XXX: Do we need to tell all the quiesced modules + * that they can resume work now via a new module + * event? + */ + MOD_SUNLOCK; + return (error); + } + } + MOD_SUNLOCK; + + /* + * Inform any modules associated with this file that they are + * being be unloaded. */ MOD_XLOCK; for (mod = TAILQ_FIRST(&file->modules); mod; mod = next) { @@ -598,9 +621,9 @@ /* * Give the module a chance to veto the unload. */ - if ((error = module_unload(mod, flags)) != 0) { - KLD_DPF(FILE, ("linker_file_unload: module %p" - " vetoes unload\n", mod)); + if ((error = module_unload(mod)) != 0) { + KLD_DPF(FILE, ("linker_file_unload: module %s" + " failed unload\n", mod)); return (error); } MOD_XLOCK; ==== //depot/projects/vimage/src/sys/kern/kern_module.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/kern/kern_module.c,v 1.55 2008/03/16 10:58:05 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_module.c,v 1.57 2008/12/05 16:47:30 jhb Exp $"); #include #include @@ -130,6 +130,21 @@ printf("module_register_init: MOD_LOAD (%s, %p, %p) error" " %d\n", data->name, (void *)data->evhand, data->priv, error); + } else { + MOD_XLOCK; + if (mod->file) { + /* + * Once a module is succesfully loaded, move + * it to the head of the module list for this + * linker file. This resorts the list so that + * when the kernel linker iterates over the + * modules to unload them, it will unload them + * in the reverse order they were loaded. + */ + TAILQ_REMOVE(&mod->file->modules, mod, flink); + TAILQ_INSERT_HEAD(&mod->file->modules, mod, flink); + } + MOD_XUNLOCK; } mtx_unlock(&Giant); } @@ -196,9 +211,7 @@ TAILQ_REMOVE(&modules, mod, link); if (mod->file) TAILQ_REMOVE(&mod->file->modules, mod, flink); - MOD_XUNLOCK; free(mod, M_MODULE); - MOD_XLOCK; } } @@ -232,16 +245,25 @@ } int -module_unload(module_t mod, int flags) +module_quiesce(module_t mod) { int error; mtx_lock(&Giant); error = MOD_EVENT(mod, MOD_QUIESCE); + mtx_unlock(&Giant); if (error == EOPNOTSUPP || error == EINVAL) error = 0; - if (error == 0 || flags == LINKER_UNLOAD_FORCE) - error = MOD_EVENT(mod, MOD_UNLOAD); + return (error); +} + +int +module_unload(module_t mod) +{ + int error; + + mtx_lock(&Giant); + error = MOD_EVENT(mod, MOD_UNLOAD); mtx_unlock(&Giant); return (error); } @@ -262,6 +284,14 @@ return (TAILQ_NEXT(mod, flink)); } +const char * +module_getname(module_t mod) +{ + + MOD_LOCK_ASSERT; + return (mod->name); +} + void module_setspecific(module_t mod, modspecific_t *datap) { ==== //depot/projects/vimage/src/sys/kern/kern_proc.c#18 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.273 2008/12/02 06:50:26 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.274 2008/12/05 20:50:24 kib Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -231,6 +231,7 @@ bzero(&p->p_mtx, sizeof(struct mtx)); mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN | MTX_RECURSE); + cv_init(&p->p_pwait, "ppwait"); TAILQ_INIT(&p->p_threads); /* all threads in proc */ EVENTHANDLER_INVOKE(process_init, p); p->p_stats = pstats_alloc(); ==== //depot/projects/vimage/src/sys/libkern/iconv.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/iconv.c,v 1.12 2005/10/31 15:41:26 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/iconv.c,v 1.13 2008/12/05 21:19:24 jhb Exp $"); #include #include @@ -39,6 +39,7 @@ #include #include #include +#include #include #include "iconv_converter_if.h" @@ -52,6 +53,8 @@ MODULE_VERSION(libiconv, 2); +static struct sx iconv_lock; + #ifdef notnow /* * iconv converter instance @@ -86,11 +89,16 @@ { struct iconv_cspair *csp; + sx_xlock(&iconv_lock); while ((csp = TAILQ_FIRST(&iconv_cslist)) != NULL) { if (csp->cp_refcount) return EBUSY; + } + + while ((csp = TAILQ_FIRST(&iconv_cslist)) != NULL) iconv_unregister_cspair(csp); - } + sx_xunlock(&iconv_lock); + sx_destroy(&iconv_lock); return 0; } @@ -102,6 +110,7 @@ switch (type) { case MOD_LOAD: error = 0; + sx_init(&iconv_lock, "iconv"); break; case MOD_UNLOAD: error = iconv_mod_unload(); @@ -311,7 +320,7 @@ int error; error = 0; - + sx_slock(&iconv_lock); TAILQ_FOREACH(dcp, &iconv_converters, cc_link) { name = ICONV_CONVERTER_NAME(dcp); if (name == NULL) @@ -320,6 +329,7 @@ if (error) break; } + sx_sunlock(&iconv_lock); if (error) return error; spc = 0; @@ -343,7 +353,7 @@ error = 0; bzero(&csi, sizeof(csi)); csi.cs_version = ICONV_CSPAIR_INFO_VER; - + sx_slock(&iconv_lock); TAILQ_FOREACH(csp, &iconv_cslist, cp_link) { csi.cs_id = csp->cp_id; csi.cs_refcount = csp->cp_refcount; @@ -354,6 +364,7 @@ if (error) break; } + sx_sunlock(&iconv_lock); return error; } @@ -387,9 +398,12 @@ return EINVAL; if (iconv_lookupconv(din.ia_converter, &dcp) != 0) return EINVAL; + sx_xlock(&iconv_lock); error = iconv_register_cspair(din.ia_to, din.ia_from, dcp, NULL, &csp); - if (error) + if (error) { + sx_xunlock(&iconv_lock); return error; + } if (din.ia_datalen) { csp->cp_data = malloc(din.ia_datalen, M_ICONVDATA, M_WAITOK); error = copyin(din.ia_data, csp->cp_data, din.ia_datalen); @@ -400,10 +414,12 @@ error = SYSCTL_OUT(req, &dout, sizeof(dout)); if (error) goto bad; + sx_xunlock(&iconv_lock); ICDEBUG("%s => %s, %d bytes\n",din.ia_from, din.ia_to, din.ia_datalen); return 0; bad: iconv_unregister_cspair(csp); + sx_xunlock(&iconv_lock); return error; } @@ -433,16 +449,22 @@ switch (type) { case MOD_LOAD: + sx_xlock(&iconv_lock); error = iconv_register_converter(dcp); - if (error) + if (error) { + sx_xunlock(&iconv_lock); break; + } error = ICONV_CONVERTER_INIT(dcp); if (error) iconv_unregister_converter(dcp); + sx_xunlock(&iconv_lock); break; case MOD_UNLOAD: + sx_xlock(&iconv_lock); ICONV_CONVERTER_DONE(dcp); error = iconv_unregister_converter(dcp); + sx_xunlock(&iconv_lock); break; default: error = EINVAL; ==== //depot/projects/vimage/src/sys/netinet/ip_carp.c#18 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_carp.c,v 1.59 2008/12/02 21:37:28 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_carp.c,v 1.60 2008/12/05 14:37:14 glebius Exp $"); #include "opt_carp.h" #include "opt_bpf.h" @@ -2148,6 +2148,7 @@ static void carp_set_state(struct carp_softc *sc, int state) { + int link_state; if (sc->sc_carpdev) CARP_SCLOCK_ASSERT(sc); @@ -2158,16 +2159,16 @@ sc->sc_state = state; switch (state) { case BACKUP: - SC2IFP(sc)->if_link_state = LINK_STATE_DOWN; + link_state = LINK_STATE_DOWN; break; case MASTER: - SC2IFP(sc)->if_link_state = LINK_STATE_UP; + link_state = LINK_STATE_UP; break; default: - SC2IFP(sc)->if_link_state = LINK_STATE_UNKNOWN; + link_state = LINK_STATE_UNKNOWN; break; } - rt_ifmsg(SC2IFP(sc)); + if_link_state_change(SC2IFP(sc), link_state); } void ==== //depot/projects/vimage/src/sys/sys/module.h#4 (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/sys/module.h,v 1.24 2008/03/16 10:58:01 rwatson Exp $ + * $FreeBSD: src/sys/sys/module.h,v 1.25 2008/12/05 13:40:25 jhb Exp $ */ #ifndef _SYS_MODULE_H_ @@ -154,11 +154,13 @@ int module_register(const struct moduledata *, struct linker_file *); module_t module_lookupbyname(const char *); module_t module_lookupbyid(int); +int module_quiesce(module_t); void module_reference(module_t); void module_release(module_t); -int module_unload(module_t, int flags); +int module_unload(module_t); int module_getid(module_t); >>> TRUNCATED FOR MAIL (1000 lines) <<< From marius at alchemy.franken.de Fri Dec 5 18:23:31 2008 From: marius at alchemy.franken.de (Marius Strobl) Date: Fri Dec 5 18:23:55 2008 Subject: PERFORCE change 154123 for review In-Reply-To: <200812051754.mB5HsrKg017182@repoman.freebsd.org> References: <200812051754.mB5HsrKg017182@repoman.freebsd.org> Message-ID: <20081206014540.GA59675@alchemy.franken.de> On Fri, Dec 05, 2008 at 05:54:53PM +0000, Nathan Whitehorn wrote: > http://perforce.freebsd.org/chv.cgi?CH=154123 > > Change 154123 by nwhitehorn@nwhitehorn_trantor on 2008/12/05 17:54:14 > > Expand the OFW PCI probing routines to do a regular PCI probe in > addtion to asking the firmware. There can be devices even in Apple > hardware that are not listed in the devtree (grackle_hb, for instance) > and this also sets the stage for FDT support. Also add some > pretty-printing of name and compat properties to the devinfo output. > > This commit also, and more importantly, fixes X11 on my Blue & White > G3. Apparently X barfs if the OS's list of PCI devices doesn't match > the ones that it finds? Unclear. > > MFp4: RSN > > Affected files ... > > .. //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.c#4 edit > .. //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.h#3 edit > .. //depot/projects/ppc-g5/sys/powerpc/ofw/ofw_pcibus.c#5 edit > .. //depot/projects/ppc-g5/sys/powerpc/powermac/macio.c#6 edit > > Differences ... > > ==== //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.c#4 (text+ko) ==== > > @@ -34,7 +34,9 @@ > #include > #include > #include > +#include > > +#include > #include > #include > > @@ -72,6 +74,18 @@ > free(obd->obd_type, M_OFWPROP); > } > > +int > +ofw_bus_gen_child_location_str(device_t cbdev, device_t child, char *buf, > + size_t buflen) > +{ > + strlcat(buf, "name=", buflen); > + strlcat(buf, ofw_bus_get_name(child), buflen); > + > + strlcat(buf, " compat=", buflen); > + strlcat(buf, ofw_bus_get_compat(child), buflen); > + > + return (0); > +}; > IMO a bus_child_pnpinfo_str method would be way more appropriate for this kind of information as it doesn't refer to an address, physical location, etc. Marius From ed at FreeBSD.org Sat Dec 6 01:50:24 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 01:50:31 2008 Subject: PERFORCE change 154170 for review Message-ID: <200812060950.mB69oOBt050961@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154170 Change 154170 by ed@ed_dull on 2008/12/06 09:49:43 Fix to copy(): When copying non-contiguous lines of text, we should progress line by line, not the width of our copying region per line. Also keep fill() a little more in sync with copy(). Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#10 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#10 (text+ko) ==== @@ -288,6 +288,7 @@ scr_stat *scp = arg; u_char *map; u_char ch = c; + unsigned int width; int attr, row; attr = scteken_attr(a); @@ -300,11 +301,12 @@ map[ch], attr); } else { /* Fill display line by line. */ + width = r->tr_end.tp_col - r->tr_begin.tp_col; + for (row = r->tr_begin.tp_row; row < r->tr_end.tp_row; row++) { sc_vtb_erase(&scp->vtb, r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col, - r->tr_end.tp_col - r->tr_begin.tp_col, - map[ch], attr); + width, map[ch], attr); } } @@ -319,7 +321,7 @@ scteken_copy(void *arg, const teken_rect_t *r, const teken_pos_t *p) { scr_stat *scp = arg; - unsigned int stride; + unsigned int width; int src, dst, end; if (r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize) { @@ -329,7 +331,7 @@ (r->tr_end.tp_row - r->tr_begin.tp_row) * scp->xsize); } else { /* Copy line by line. */ - stride = r->tr_end.tp_col - r->tr_begin.tp_col; + width = r->tr_end.tp_col - r->tr_begin.tp_col; if (p->tp_row < r->tr_begin.tp_row) { /* Copy from top to bottom. */ @@ -340,10 +342,10 @@ dst = p->tp_row * scp->xsize + p->tp_col; while (src < end) { - sc_vtb_move(&scp->vtb, src, dst, stride); + sc_vtb_move(&scp->vtb, src, dst, width); - src += stride; - dst += stride; + src += scp->xsize; + dst += scp->xsize; } } else { /* Copy from bottom to top. */ @@ -355,10 +357,10 @@ r->tr_begin.tp_row - 1) * scp->xsize + p->tp_col; while (src >= end) { - sc_vtb_move(&scp->vtb, src, dst, stride); + sc_vtb_move(&scp->vtb, src, dst, width); - src -= stride; - dst -= stride; + src -= scp->xsize; + dst -= scp->xsize; } } } From hselasky at FreeBSD.org Sat Dec 6 02:00:35 2008 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Sat Dec 6 02:00:42 2008 Subject: PERFORCE change 154172 for review Message-ID: <200812061000.mB6A0YwA051708@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154172 Change 154172 by hselasky@hselasky_laptop001 on 2008/12/06 10:00:00 Patch from "Trematerra Giovanni" to support another USB mass storage device. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usbdevs#27 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devid.h#13 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devtable.h#13 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/umass2.c#17 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usbdevs#27 (text+ko) ==== @@ -811,6 +811,7 @@ product ALCOR UMCR_9361 0x9361 USB Multimedia Card Reader product ALCOR SM_KBD 0x9410 MicroConnectors/StrongMan Keyboard product ALCOR NEC_KBD_HUB 0x9472 NEC Kbd Hub +product ALCOR TRANSCEND 0x6387 Transcend JetFlash Drive /* Altec Lansing products */ product ALTEC ADA70 0x0070 ADA70 Speakers ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_devid.h#13 (text+ko) ==== @@ -818,6 +818,7 @@ #define USB_PRODUCT_ALCOR_UMCR_9361 0x9361 /* USB Multimedia Card Reader */ #define USB_PRODUCT_ALCOR_SM_KBD 0x9410 /* MicroConnectors/StrongMan Keyboard */ #define USB_PRODUCT_ALCOR_NEC_KBD_HUB 0x9472 /* NEC Kbd Hub */ +#define USB_PRODUCT_ALCOR_TRANSCEND 0x6387 /* Transcend JetFlash Drive */ /* Altec Lansing products */ #define USB_PRODUCT_ALTEC_ADA70 0x0070 /* ADA70 Speakers */ ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_devtable.h#13 (text+ko) ==== @@ -653,6 +653,12 @@ "NEC Kbd Hub", }, { + USB_VENDOR_ALCOR, USB_PRODUCT_ALCOR_TRANSCEND, + 0, + "Alcor Micro", + "Transcend JetFlash Drive", + }, + { USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ADA70, 0, "Altec Lansing", ==== //depot/projects/usb/src/sys/dev/usb2/storage/umass2.c#17 (text+ko) ==== @@ -400,6 +400,10 @@ UMASS_PROTO_SCSI | UMASS_PROTO_BBB, NO_GETMAXLUN }, + {USB_VENDOR_ALCOR, USB_PRODUCT_ALCOR_TRANSCEND, RID_WILDCARD, + UMASS_PROTO_SCSI | UMASS_PROTO_BBB, + NO_GETMAXLUN + }, {USB_VENDOR_ASAHIOPTICAL, USB_PRODUCT_ASAHIOPTICAL_OPTIO230, RID_WILDCARD, UMASS_PROTO_SCSI | UMASS_PROTO_BBB, NO_INQUIRY @@ -636,10 +640,10 @@ UMASS_PROTO_SCSI, NO_GETMAXLUN }, - { USB_VENDOR_ONSPEC, USB_PRODUCT_ONSPEC_SDS_HOTFIND_D, RID_WILDCARD, - UMASS_PROTO_SCSI | UMASS_PROTO_BBB, - NO_GETMAXLUN | NO_SYNCHRONIZE_CACHE - }, + {USB_VENDOR_ONSPEC, USB_PRODUCT_ONSPEC_SDS_HOTFIND_D, RID_WILDCARD, + UMASS_PROTO_SCSI | UMASS_PROTO_BBB, + NO_GETMAXLUN | NO_SYNCHRONIZE_CACHE + }, {USB_VENDOR_ONSPEC, USB_PRODUCT_ONSPEC_CFMS_RW, RID_WILDCARD, UMASS_PROTO_SCSI, NO_QUIRKS From hselasky at FreeBSD.org Sat Dec 6 02:16:52 2008 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Sat Dec 6 02:16:58 2008 Subject: PERFORCE change 154173 for review Message-ID: <200812061016.mB6AGpgA053888@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154173 Change 154173 by hselasky@hselasky_laptop001 on 2008/12/06 10:15:56 Add USB device ID's from Michael. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usbdevs#28 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#13 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devid.h#14 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devtable.h#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usbdevs#28 (text+ko) ==== @@ -1430,6 +1430,7 @@ product HP OJ4215 0x3d11 OfficeJet 4215 product HP HN210E 0x811c Ethernet HN210E product HP2 C500 0x6002 PhotoSmart C500 +product HP HS2300 0x1e1d MC8775 /* HTC products */ product HTC WINMOBILE 0x00ce HTC USB Sync ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#13 (text+ko) ==== @@ -649,6 +649,7 @@ {USB_VPI(USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC8775_2, U3GINFO(U3GSP_UMTS, U3GFL_NONE))}, /* XXX */ {USB_VPI(USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC8780, U3GINFO(U3GSP_UMTS, U3GFL_NONE))}, /* XXX */ {USB_VPI(USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC8781, U3GINFO(U3GSP_UMTS, U3GFL_NONE))}, /* XXX */ + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_HS2300, U3GINFO(U3GSP_HSPA, U3GFL_NONE))}, /* XXX */ /* Sierra TruInstaller device ID */ {USB_VPI(USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_TRUINSTALL, U3GINFO(U3GSP_UMTS, U3GFL_SIERRA_INIT))}, }; ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_devid.h#14 (text+ko) ==== @@ -1437,6 +1437,7 @@ #define USB_PRODUCT_HP_OJ4215 0x3d11 /* OfficeJet 4215 */ #define USB_PRODUCT_HP_HN210E 0x811c /* Ethernet HN210E */ #define USB_PRODUCT_HP2_C500 0x6002 /* PhotoSmart C500 */ +#define USB_PRODUCT_HP_HS2300 0x1e1d /* MC8775 */ /* HTC products */ #define USB_PRODUCT_HTC_WINMOBILE 0x00ce /* HTC USB Sync */ ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_devtable.h#14 (text+ko) ==== @@ -3131,6 +3131,12 @@ "PhotoSmart C500", }, { + USB_VENDOR_HP, USB_PRODUCT_HP_HS2300, + 0, + "Hewlett Packard", + "MC8775", + }, + { USB_VENDOR_HTC, USB_PRODUCT_HTC_WINMOBILE, 0, "HTC", From ed at FreeBSD.org Sat Dec 6 02:35:10 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 02:35:17 2008 Subject: PERFORCE change 154174 for review Message-ID: <200812061035.mB6AZ9Ub055282@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154174 Change 154174 by ed@ed_flippo on 2008/12/06 10:34:19 Restore support for ^[[z. ^[[z seems to be a FreeBSD-specific sequence to switch virtual terminals. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#11 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/sequences#2 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#5 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr_cons25.h#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#11 (text+ko) ==== @@ -377,6 +377,13 @@ static void scteken_param(void *arg, int cmd, int value) { + scr_stat *scp = arg; + + switch (cmd) { + case TP_SWITCHVT: + sc_switch_scr(scp->sc, value); + break; + } } static void ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/sequences#2 (text+ko) ==== @@ -88,4 +88,5 @@ VPA Vertical Position Absolute ^[ [ d 1 # Cons25 compatibility sequences -SCOCURS Cons25 set cursor type ^[ [ = S 0 +C25CURS Cons25 set cursor type ^[ [ = S 0 +C25VTSW Cons25 switch virtual terminal ^[ [ z 0 ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#5 (text+ko) ==== @@ -92,6 +92,7 @@ #define TP_CURSORKEYS 1 #define TP_KEYPADAPP 2 #define TP_AUTOREPEAT 3 +#define TP_SWITCHVT 4 typedef void tf_respond_t(void *, const void *, size_t); typedef struct { ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr_cons25.h#2 (text+ko) ==== @@ -30,3 +30,10 @@ teken_funcs_param(t, TP_SHOWCURSOR, type != 1); } + +static void +teken_subr_cons25_switch_virtual_terminal(teken_t *t, unsigned int vt) +{ + + teken_funcs_param(t, TP_SWITCHVT, vt); +} From ed at FreeBSD.org Sat Dec 6 02:42:18 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 02:42:24 2008 Subject: PERFORCE change 154176 for review Message-ID: <200812061042.mB6AgH80055842@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154176 Change 154176 by ed@ed_flippo on 2008/12/06 10:41:20 Fix backspace handling on first column. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#3 (text+ko) ==== @@ -197,10 +197,8 @@ if (t->t_nextchar.tp_row > 0 && (t->t_nextchar.tp_col % t->t_winsize.tp_col) == 0) { t->t_nextchar.tp_row--; - t->t_nextchar.tp_col -= 2; - } else { - t->t_nextchar.tp_col--; } + t->t_nextchar.tp_col--; /* Sync cursor position again. */ t->t_cursor.tp_row = t->t_nextchar.tp_row; From ed at FreeBSD.org Sat Dec 6 02:47:23 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 02:47:29 2008 Subject: PERFORCE change 154177 for review Message-ID: <200812061047.mB6AlMIv056236@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154177 Change 154177 by ed@ed_flippo on 2008/12/06 10:47:08 Show/hide cursor. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#12 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#12 (text+ko) ==== @@ -380,6 +380,15 @@ scr_stat *scp = arg; switch (cmd) { + case TP_SHOWCURSOR: + if (value) { + sc_change_cursor_shape(scp, + CONS_RESET_CURSOR|CONS_LOCAL_CURSOR, -1, -1); + } else { + sc_change_cursor_shape(scp, + CONS_HIDDEN_CURSOR|CONS_LOCAL_CURSOR, -1, -1); + } + break; case TP_SWITCHVT: sc_switch_scr(scp->sc, value); break; From hselasky at FreeBSD.org Sat Dec 6 04:07:45 2008 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Sat Dec 6 04:07:51 2008 Subject: PERFORCE change 154181 for review Message-ID: <200812061207.mB6C7iS1064198@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154181 Change 154181 by hselasky@hselasky_laptop001 on 2008/12/06 12:07:36 Fix problem with busdma, bounce pages and USB. Needs review. Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/busdma_machdep.c#9 edit .. //depot/projects/usb/src/sys/arm/arm/busdma_machdep.c#10 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_busdma.c#14 edit .. //depot/projects/usb/src/sys/i386/i386/busdma_machdep.c#12 edit .. //depot/projects/usb/src/sys/ia64/ia64/busdma_machdep.c#8 edit .. //depot/projects/usb/src/sys/sys/bus_dma.h#6 edit Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/busdma_machdep.c#9 (text+ko) ==== @@ -1128,6 +1128,17 @@ bz->active_bpages++; mtx_unlock(&bounce_lock); + /* reset page offset */ + bpage->vaddr &= ~PAGE_MASK; + bpage->busaddr &= ~PAGE_MASK; + + if (BUS_DMA_NO_REALIGN(dmat->alignment, dmat->boundary, + dmat->maxsegsz)) { + /* preserve page offset */ + bpage->vaddr |= vaddr & PAGE_MASK; + bpage->busaddr |= vaddr & PAGE_MASK; + } + bpage->datavaddr = vaddr; bpage->datacount = size; STAILQ_INSERT_TAIL(&(map->bpages), bpage, links); ==== //depot/projects/usb/src/sys/arm/arm/busdma_machdep.c#10 (text+ko) ==== @@ -1416,6 +1416,17 @@ bz->active_bpages++; mtx_unlock(&bounce_lock); + /* reset page offset */ + bpage->vaddr &= ~PAGE_MASK; + bpage->busaddr &= ~PAGE_MASK; + + if (BUS_DMA_NO_REALIGN(dmat->alignment, dmat->boundary, + dmat->maxsegsz)) { + /* preserve page offset */ + bpage->vaddr |= vaddr & PAGE_MASK; + bpage->busaddr |= vaddr & PAGE_MASK; + } + bpage->datavaddr = vaddr; bpage->datacount = size; STAILQ_INSERT_TAIL(&(map->bpages), bpage, links); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_busdma.c#14 (text+ko) ==== @@ -29,12 +29,15 @@ #include #include +#define USB_DEBUG_VAR usb2_debug + #include #include #include #include #include #include +#include #include #include @@ -428,7 +431,16 @@ pc->page_offset_buf = rem; pc->page_offset_end += rem; nseg--; - +#if (USB_DEBUG != 0) + if (rem != (USB_P2U(pc->buffer) & (USB_PAGE_SIZE - 1))) { + /* + * This check verifies that the physical address is correct: + */ + DPRINTFN(0, "Page offset was not preserved!\n"); + error = 1; + goto done; + } +#endif while (nseg > 0) { nseg--; segs++; @@ -805,7 +817,16 @@ ext_seg = 0; } nseg--; - +#if (USB_DEBUG != 0) + if (rem != (USB_P2U(pc->buffer) & (USB_PAGE_SIZE - 1))) { + /* + * This check verifies that the physical address is correct: + */ + DPRINTFN(0, "Page offset was not preserved!\n"); + error = 1; + goto done; + } +#endif while (nseg > 0) { nseg--; segs++; ==== //depot/projects/usb/src/sys/i386/i386/busdma_machdep.c#12 (text+ko) ==== @@ -1146,6 +1146,17 @@ bz->active_bpages++; mtx_unlock(&bounce_lock); + /* reset page offset */ + bpage->vaddr &= ~PAGE_MASK; + bpage->busaddr &= ~PAGE_MASK; + + if (BUS_DMA_NO_REALIGN(dmat->alignment, dmat->boundary, + dmat->maxsegsz)) { + /* preserve page offset */ + bpage->vaddr |= vaddr & PAGE_MASK; + bpage->busaddr |= vaddr & PAGE_MASK; + } + bpage->datavaddr = vaddr; bpage->datacount = size; STAILQ_INSERT_TAIL(&(map->bpages), bpage, links); ==== //depot/projects/usb/src/sys/ia64/ia64/busdma_machdep.c#8 (text+ko) ==== @@ -936,6 +936,17 @@ active_bpages++; mtx_unlock(&bounce_lock); + /* reset page offset */ + bpage->vaddr &= ~PAGE_MASK; + bpage->busaddr &= ~PAGE_MASK; + + if (BUS_DMA_NO_REALIGN(dmat->alignment, dmat->boundary, + dmat->maxsegsz)) { + /* preserve page offset */ + bpage->vaddr |= vaddr & PAGE_MASK; + bpage->busaddr |= vaddr & PAGE_MASK; + } + bpage->datavaddr = vaddr; bpage->datacount = size; STAILQ_INSERT_TAIL(&(map->bpages), bpage, links); ==== //depot/projects/usb/src/sys/sys/bus_dma.h#6 (text+ko) ==== @@ -133,6 +133,23 @@ #define BUS_DMASYNC_POSTWRITE 8 /* + * Background: Some kinds of DMA hardware only store the full + * physical address of the first memory page when multiple memory + * pages are loaded into DMA. For consecutive memory pages, only the + * non-offset part of the physical address is updated. The hardware + * computes the amount of data that should be stored in the first + * memory page from the minimum of the total transfer length and + * PAGE_SIZE, minus the initial page offset. When the initial page + * offset is not preserved, the hardware ends up transferring an + * invalid number of bytes to or from the initial memory page. + * + * The following macro returns true when the initial page offset must + * be preserved: + */ +#define BUS_DMA_NO_REALIGN(align,boundary,maxsegsz) \ + (((align) == 1) && ((boundary) == PAGE_SIZE) && ((maxsegsz) == PAGE_SIZE)) + +/* * bus_dma_segment_t * * Describes a single contiguous DMA transaction. Values From trasz at FreeBSD.org Sat Dec 6 05:26:07 2008 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sat Dec 6 05:26:15 2008 Subject: PERFORCE change 154185 for review Message-ID: <200812061326.mB6DQ4b4088909@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154185 Change 154185 by trasz@trasz_victim7 on 2008/12/06 13:25:55 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/COPYRIGHT#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/Makefile#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/exec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/CREDITS#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/HISTORY#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/INSTALL#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/LICENSE#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/NEWS#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/README#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/TODO#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/VERSION#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/audit/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/audit/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/audit/audit.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/audit/audit.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/audit_triggers.defs#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/audit_warn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/auditd.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/auditd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/auditd.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditd/auditd_control.defs#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditfilterd/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditfilterd/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditfilterd/auditfilterd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditreduce/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditreduce/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditreduce/auditreduce.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditreduce/auditreduce.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/auditreduce/auditreduce.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/praudit/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/praudit/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/praudit/praudit.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bin/praudit/praudit.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bsm/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bsm/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bsm/audit_uevents.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/bsm/libbsm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/compat/clock_gettime.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/compat/strlcat.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/compat/strlcpy.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/config/config.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/config/config.h.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/configure#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/configure.ac#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/etc/audit_event#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/au_class.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/au_free_token.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/au_token.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/audit_submit.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_audit.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_class.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_control.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_event.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_flags.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_io.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_mask.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_notify.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_token.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_user.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/libbsm/bsm_wrappers.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit.log.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit_class.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit_control.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit_event.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit_user.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/audit_warn.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/auditctl.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/auditon.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/getaudit.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/getauid.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/setaudit.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/man/setauid.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/modules/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/modules/auditfilter_noop/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/modules/auditfilter_noop/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/Makefile.am#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/Makefile.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/bsm/Makefile.am#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/bsm/Makefile.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/bsm/audit.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/bsm/audit_internal.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/sys/bsm/audit_record.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/test/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/test/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/test/bsm/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/test/bsm/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/tools/Makefile.am#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/openbsm/tools/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/newsyslog.conf#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/syslog.conf#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_check_magic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_endian.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_entry.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_platform.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_private.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_private.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_compression_all.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_compression_bzip2.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_compression_compress.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_compression_gzip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_compression_none.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_compression_program.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_ar.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_cpio.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_empty.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_iso9660.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_mtree.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_tar.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_zip.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_string.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_string.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_write_disk.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/Makefile#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_bzip2.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_bzip2_1.tbz.uu#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_bzip2_2.tbz.uu#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_gzip.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_gzip_1.tgz.uu#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_gzip_2.tgz.uu#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_fuzz.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_fuzz_1.iso.uu#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_cpio_bin_bz2.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_pax_truncated.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_write_disk_perms.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_write_format_cpio.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Symbol.map#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/dlfcn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/times.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/fread.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/malloc.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/string/Makefile.inc#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/string/Symbol.map#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/string/strdup.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/string/strndup.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/string/strsep.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/cpuset_getaffinity.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/jail.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/recv.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkvm/kvm_proc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libmd/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/libpmc.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/libpmcinternal.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/pmc.atom.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/pmclog.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libstand/bootp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthr/thread/thr_fork.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthr/thread/thr_rtld.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/Makefile#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/kinfo_getfile.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/kinfo_getvmmap.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/libutil.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/Symbol.map#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld_lock.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld_lock.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/hardware/article.sgml#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/part/geom_part.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/mount_msdosfs/mount_msdosfs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs/mkfs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs/newfs.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs/newfs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs/newfs.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs_msdos/newfs_msdos.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs_msdos/newfs_msdos.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/secure/usr.sbin/sshd/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/Makefile#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ale.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ath_hal.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/bce.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ddb.4#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.arm/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.arm/mge.4#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/upgt.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man7/ports.7#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/ktr.9#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/style.9#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/bsd-family-tree#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/amd64_mem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/initcpu.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/mp_machdep.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/NOTES#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/cputypes.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/md_var.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/pmc_mdep.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/specialreg.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux32_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux32_proto.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux32_syscall.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux32_sysent.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/syscalls.master#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_pmc.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/AVILA#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/BWCT#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/CRB#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/GUMSTIX#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/KB920X#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/NSLU#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/SIMICS#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/SKYEYE#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/mv/mv_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/i80321/iq31244_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/uboot/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/common/loader.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/boot0/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/bsm/audit.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/bsm/audit_record.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/sys/vnode.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_misc.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_proto.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_syscall.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_syscalls.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_sysent.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/syscalls.master#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linprocfs/linprocfs.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_ioctl.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_socket.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_socket.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/svr4/svr4_sockio.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/Makefile.arm#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.amd64#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.arm#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.i386#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.mips#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.pc98#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.powerpc#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.sparc64#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/options#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/options.arm#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/altq/altq/altq_subr.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/COPYRIGHT#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/README#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/ah_desc.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/ah_devid.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/ah_soc.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/alpha-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/alpha-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap30.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap30.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap30.opt_ah.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap43.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap43.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap43.opt_ah.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap51.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap51.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap51.opt_ah.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap61.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap61.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/ap61.opt_ah.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/arm9-le-thumb-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/arm9-le-thumb-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/armv4-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/armv4-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/armv4-le-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/armv4-le-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/i386-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/i386-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/i386-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips-le-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips-le-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips-le-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips1-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips1-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips1-le-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mips1-le-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#6 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mipsisa32-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mipsisa32-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mipsisa32-le-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/mipsisa32-le-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-be-eabi.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-be-eabi.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-le-eabi.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/powerpc-le-eabi.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sh4-le-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sh4-le-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sparc-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sparc-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sparc64-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/sparc64-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/wackelf.c#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/wisoc.hal.o.uu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/wisoc.inc#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/wisoc.opt_ah.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/x86_64-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/x86_64-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/x86_64-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/xscale-be-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/xscale-be-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/xscale-le-elf.inc#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/public/xscale-le-elf.opt_ah.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/ath/version.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf_ioctl.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf_subr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/rdma/rdma_cma.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/aac/aac_pci.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/asmc/asmc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-queue.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ah_osdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ah_osdep.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_debug.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_decode.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_desc.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_devid.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v1.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v1.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v14.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v14.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v3.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v3.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_internal.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_regdomain.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_soc.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_keycache.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_phy.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_power.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_reset.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210desc.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210phy.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210reg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5k_0007.ini#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_keycache.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_phy.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_power.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_recv.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211desc.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211phy.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211reg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/boss.ini#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar2316.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar2317.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar2413.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar2425.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5111.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5112.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212.ini#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_eeprom.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_gpio.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_phy.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_power.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_reset.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_rfgain.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212desc.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212phy.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212reg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5311reg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5413.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_eeprom.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_gpio.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_interrupts.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_misc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_power.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312_reset.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312phy.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5312reg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5312/ar5315_gpio.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar2133.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416.ini#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_cal.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_cal_iq.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_eeprom.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_keycache.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_phy.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_power.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416desc.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416phy.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416reg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar9160.ini#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar9160_attach.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_rate/amrr/amrr.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_rate/onoe/onoe.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_rate/sample/sample.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_rate/sample/sample.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_athvar.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cardbus/cardbus_device.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cardbus/cardbusvar.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/common/cxgb_ael1002.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/common/cxgb_t3_hw.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/common/cxgb_xgmac.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_main.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_multiq.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_80003es2lan.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82543.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_api.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_mac.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_manage.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_nvm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_osdep.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_em.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_igb.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fb/s3_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fxp/if_fxpreg.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fxp/if_fxpvar.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_amd.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_core.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_core.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_intel.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_logging.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_mod.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_piv.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_ppro.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_x86.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/pmc_events.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_82598.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_api.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_api.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_common.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_common.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_osdep.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_phy.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_phy.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe_type.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/jme/if_jmereg.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/jme/if_jmevar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/k8temp/k8temp.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mfi/mfi_pci.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/truephy.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/patm/if_patm_intr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccbb/pccbb_pci.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccbb/pccbbvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sdhci/sdhci.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/if_upgt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/u3g.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdevs#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/xen/blkfront/blkfront.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/xen/blkfront/block.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/xen/netfront/netfront.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_node.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_rrip.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nullfs/null_vnops.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_bsd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/journal/g_journal.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/journal/g_journal.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_gpt.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_mbr.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_pc98.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/NOTES#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/PAE#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/XEN#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/cpufreq/est.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/cpufreq/p4tcc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/cpufreq/powernow.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/i686_mem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/identcpu.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/initcpu.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/k6_mem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/local_apic.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/longrun.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/mp_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/msi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/atomic.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/cputypes.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/md_var.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/pmc_mdep.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/specialreg.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/xen/xenbus.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/linux/linux.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/xen/xen_machdep.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ia64/conf/GENERIC#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/Make.tags.inc#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_conf.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_cpuset.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_descrip.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exec.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exit.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_fork.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_jail.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_linker.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_module.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_poll.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_proc.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_uuid.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_sleepqueue.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_mqueue.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_shm.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_socket.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_cache.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_mount.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_syscalls.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/libkern/iconv.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/conf/IDT#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/conf/SENTRY5#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/include/atomic.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ae/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ath/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ath_hal/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ath_rate_amrr/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ath_rate_onoe/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ath_rate_sample/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/bridgestp/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/cxgb/iw_cxgb/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/hwpmc/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/if_ef/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/if_vlan/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ip_mroute_mod/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ipfw/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/linux/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/atm/atm/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/ether/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/gif/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/nfsclient/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/pf/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/wlan/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/bpf.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/bridgestp.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_bridge.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_ef.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_ethersubr.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_faith.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_gre.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_loop.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_mib.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_spppsubr.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_stf.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_var.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_vlan.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/raw_cb.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/raw_usrreq.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/route.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/rtsock.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/vnet.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_ddb.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/netgraph.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_base.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_eiface.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_ether.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_gif.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/if_ether.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/igmp.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_gif.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_mcast.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_pcb.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_rmx.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip6.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_carp.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_divert.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fastfwd.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fw2.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fw_pfil.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_icmp.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_id.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_input.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_ipsec.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_mroute.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_options.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_output.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_var.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/raw_ip.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_os_bsd.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_pcb.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_usrreq.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_hostcache.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_hostcache.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_input.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_offload.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_output.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_reass.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_sack.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_subr.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_timer.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_timewait.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_usrreq.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/udp_usrreq.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/vinet.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/dest6.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/frag6.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_gif.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_ifattach.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_pcb.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_proto.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_rmx.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_src.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_forward.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_input.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_ipsec.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_mroute.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_output.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/mld6.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/nd6.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/nd6_nbr.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/nd6_rtr.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/raw_ip6.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/route6.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/scope6.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/udp6_usrreq.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/vinet6.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec6.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec_input.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec_output.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/keysock.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/keysock.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/vipsec.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/xform_ipip.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_diskless.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_serv.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvsubs.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/NOTES#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rl.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rlreg.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/conf/GENERIC#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac_bsdextended/mac_bsdextended.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/conf/GENERIC#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/conf/GENERIC#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/buf_ring.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/cpuset.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/jail.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/module.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/mount.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/pmc.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/pmclog.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/proc.h#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sysctl.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/user.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_lookup.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/gnttab.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/gnttab.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_client.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_comms.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_comms.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_dev.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_if.m#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_probe.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_probe_backend.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbus_xs.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/xenbus/xenbusvar.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/bin/sh/builtins/type1.0.stderr#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/bin/sh/builtins/type1.0.stdout#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cmdline.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/config_freebsd.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio_platform.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/test/test_option_tv.stdout.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpuset/cpuset.1#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpuset/cpuset.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/netstat/inet.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/procstat/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/procstat/procstat_files.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/procstat/procstat_vm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/Makefile#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar.1#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar_platform.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/config_freebsd.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/tree.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/tree.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/util.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/write.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/Makefile#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/audit/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/auditd/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/boot0cfg/boot0cfg.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/boot0cfg/boot0cfg.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cron/crontab/crontab.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jail/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jail/jail.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jail/jail.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jexec/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jexec/jexec.8#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jexec/jexec.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jls/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jls/jls.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jls/jls.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/kldxref/kldxref.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcannotate/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcannotate/pmcannotate.8#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcannotate/pmcannotate.c#1 branch Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/COPYRIGHT#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/COPYRIGHT,v 1.9 2007/12/31 22:09:19 delphij Exp $ +# $FreeBSD: src/COPYRIGHT,v 1.10 2008/11/28 19:21:10 imp Exp $ # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 The compilation of software known as FreeBSD is distributed under the @@ -15,10 +15,10 @@ notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ==== //depot/projects/soc2008/trasz_nfs4acl/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.354 2008/11/24 11:23:14 des Exp $ +# $FreeBSD: src/Makefile,v 1.355 2008/12/01 00:45:51 alfred Exp $ # # The user-driven targets are: # @@ -267,6 +267,10 @@ ${MMAKE} all && \ ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR= +tinderbox: + cd ${.CURDIR} && \ + DOING_TINDERBOX=YES ${MAKE} ${JFLAG} universe + # # universe # @@ -274,14 +278,24 @@ # with a reasonable chance of success, regardless of how old your # existing system is. # -.if make(universe) +.if make(universe) || make(tinderbox) TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v +.if defined(DOING_TINDERBOX) +FAILFILE=tinderbox.failed +MAKEFAIL=tee -a ${FAILFILE} +.else +MAKEFAIL=cat +.endif + universe: universe_prologue universe_prologue: @echo "--------------------------------------------------------------" @echo ">>> make universe started on ${STARTTIME}" @echo "--------------------------------------------------------------" +.if defined(DOING_TINDERBOX) + rm -f ${FAILFILE} +.endif .for target in ${TARGETS} KERNCONFS!= cd ${.CURDIR}/sys/${target}/conf && \ find [A-Z]*[A-Z] -type f -maxdepth 0 \ @@ -296,15 +310,15 @@ ${MAKE} ${JFLAG} buildworld \ TARGET=${target} \ > _.${target}.buildworld 2>&1 || \ - echo "${target} world failed," \ - "check _.${target}.buildworld for details") + (echo "${target} world failed," \ + "check _.${target}.buildworld for details" | ${MAKEFAIL})) @echo ">> ${target} buildworld completed on `LC_ALL=C date`" .endif .if exists(${.CURDIR}/sys/${target}/conf/NOTES) @(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \ ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \ - echo "${target} 'make LINT' failed," \ - "check _.${target}.makeLINT for details") + (echo "${target} 'make LINT' failed," \ + "check _.${target}.makeLINT for details"| ${MAKEFAIL})) .endif .for kernel in ${KERNCONFS} @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ @@ -312,8 +326,8 @@ TARGET=${target} \ KERNCONF=${kernel} \ > _.${target}.${kernel} 2>&1 || \ - echo "${target} ${kernel} kernel failed," \ - "check _.${target}.${kernel} for details") + (echo "${target} ${kernel} kernel failed," \ + "check _.${target}.${kernel} for details"| ${MAKEFAIL})) .endfor @echo ">> ${target} completed on `LC_ALL=C date`" .endfor @@ -323,4 +337,11 @@ @echo ">>> make universe completed on `LC_ALL=C date`" @echo " (started ${STARTTIME})" @echo "--------------------------------------------------------------" +.if defined(DOING_TINDERBOX) + @if [ -e ${FAILFILE} ] ; then \ + echo "Tinderbox failed:" ;\ + cat ${FAILFILE} ;\ + exit 1 ;\ + fi +.endif .endif ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.163 2008/09/28 20:15:45 ed Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.164 2008/11/30 11:03:16 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,11 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20081123: vfs_mountedon.9 removed +OLD_FILES+=usr/share/man/man9/vfs_mountedon.9.gz +# 20081023: FREE.9 and MALLOC.9 removed +OLD_FILES+=usr/share/man/man9/FREE.9.gz +OLD_FILES+=usr/share/man/man9/MALLOC.9.gz # 20080928: removal of inaccurate device_ids(9) manual page OLD_FILES+=usr/share/man/man9/device_ids.9.gz OLD_FILES+=usr/share/man/man9/major.9.gz ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#12 (text+ko) ==== @@ -22,6 +22,21 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20081130: + __FreeBSD_version 800057 marks the switchover from the + binary ath hal to source code. Users must add the line: + + options AH_SUPPORT_AR5416 + + to their kernel config files when specifying: + + device ath_hal + + The ath_hal module no longer exists; the code is now compiled >>> TRUNCATED FOR MAIL (1000 lines) <<< From ed at FreeBSD.org Sat Dec 6 07:40:25 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 07:40:32 2008 Subject: PERFORCE change 154193 for review Message-ID: <200812061540.mB6FeOMP012976@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154193 Change 154193 by ed@ed_flippo on 2008/12/06 15:39:26 Many cleanups/improvements to libteken + syscons: - Remove t_nextchar and replace its usage by a state flag TS_WRAPPED. - Implement CHT. - More xterm mimic fixes. - Best of all: enable UTF-8! Syscons now accepts UTF-8, but it isn't properly converted to its font map yet. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/teken/sequences#3 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.c#3 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#6 edit .. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#4 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/sequences#3 (text+ko) ==== @@ -68,6 +68,7 @@ IND Index ^[ D NEL Next line ^[ E RI Reverse index ^[ M +RIS Reset to Initial State ^[ c RM Reset Mode ^[ [ l 0 SCS SCS ^[ ( 0 SCS SCS ^[ ( 1 ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.c#3 (text+ko) ==== @@ -57,6 +57,7 @@ #define TS_INSERT 0x02 /* Insert mode. */ #define TS_AUTOWRAP 0x04 /* Autowrap. */ #define TS_ORIGIN 0x08 /* Origin mode. */ +#define TS_WRAPPED 0x10 /* Next character should be printed on col 0. */ static teken_state_t teken_state_init; @@ -179,13 +180,8 @@ t->t_softc = softc; t->t_nextstate = teken_state_init; - t->t_cursor.tp_row = t->t_cursor.tp_col = 0; - t->t_saved_cursor = t->t_nextchar = t->t_cursor; - t->t_stateflags = TS_AUTOWRAP; - t->t_curattr = t->t_saved_curattr = teken_defattr; - - teken_tab_default(t); + teken_subr_do_reset(t); #ifdef TEKEN_UTF8 t->t_utf8_left = 0; @@ -209,16 +205,14 @@ teken_subr_backspace(t); break; case '\n': + case '\x0B': teken_subr_newline(t); break; case '\r': teken_subr_carriage_return(t); break; case '\t': - teken_subr_horizontal_tab(t); - break; - case '\x0B': - teken_subr_vertical_tab(t); + teken_subr_cursor_forward_tabulation(t, 1); break; default: t->t_nextstate(t, c); @@ -232,7 +226,6 @@ teken_assert(t->t_cursor.tp_col < t->t_winsize.tp_col); teken_assert(t->t_saved_cursor.tp_row < t->t_winsize.tp_row); teken_assert(t->t_saved_cursor.tp_col < t->t_winsize.tp_col); - teken_assert(t->t_nextchar.tp_row <= t->t_winsize.tp_row); teken_assert(t->t_scrollreg.ts_end <= t->t_winsize.tp_row); teken_assert(t->t_scrollreg.ts_begin < t->t_scrollreg.ts_end); teken_assert(t->t_originreg.ts_end <= t->t_winsize.tp_row); @@ -270,7 +263,7 @@ t->t_utf8_partial = (t->t_utf8_partial << 6) | (c & 0x3f); if (t->t_utf8_left == 0) { teken_printf("Got UTF-8 char %u\n", t->t_utf8_partial); - teken_input_char(t, t->utf8_partial); + teken_input_char(t, t->t_utf8_partial); } } #else /* !TEKEN_UTF8 */ ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.h#6 (text+ko) ==== @@ -34,12 +34,14 @@ * commands. It implements commands similar to xterm-color. */ +#define TEKEN_UTF8 + #ifdef TEKEN_UTF8 typedef uint32_t teken_char_t; #else /* !TEKEN_UTF8 */ typedef unsigned char teken_char_t; #endif /* TEKEN_UTF8 */ -typedef unsigned int teken_unit_t; +typedef unsigned short teken_unit_t; typedef unsigned char teken_format_t; #define TF_BOLD 0x01 #define TF_UNDERLINE 0x02 @@ -124,7 +126,6 @@ teken_pos_t t_saved_cursor; teken_attr_t t_saved_curattr; - teken_pos_t t_nextchar; teken_pos_t t_winsize; /* For DECSTBM. */ ==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#4 (text+ko) ==== @@ -176,7 +176,7 @@ t->t_scrollreg.ts_end = t->t_winsize.tp_row; t->t_cursor.tp_row = t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); tr.tr_begin.tp_row = 0; @@ -189,20 +189,11 @@ teken_subr_backspace(teken_t *t) { - /* We're already stuck at column 0. */ - if (t->t_nextchar.tp_col == 0) + if (t->t_cursor.tp_col == 0) return; - /* We may need to scroll one row back. */ - if (t->t_nextchar.tp_row > 0 && - (t->t_nextchar.tp_col % t->t_winsize.tp_col) == 0) { - t->t_nextchar.tp_row--; - } - t->t_nextchar.tp_col--; - - /* Sync cursor position again. */ - t->t_cursor.tp_row = t->t_nextchar.tp_row; - t->t_cursor.tp_col = t->t_nextchar.tp_col % t->t_winsize.tp_col; + t->t_cursor.tp_col--; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -219,7 +210,7 @@ { t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -233,7 +224,7 @@ t->t_cursor.tp_col = 0; else t->t_cursor.tp_col -= ncols; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -256,7 +247,7 @@ t->t_cursor.tp_row = t->t_scrollreg.ts_end - 1; else t->t_cursor.tp_row += nrows; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -270,7 +261,7 @@ t->t_cursor.tp_col = t->t_winsize.tp_col - 1; else t->t_cursor.tp_col += ncols; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -278,7 +269,22 @@ teken_subr_cursor_forward_tabulation(teken_t *t, unsigned int ntabs) { - teken_printf("CHT???\n"); + if (ntabs == 0) + ntabs = 1; + + do { + /* Stop when we've reached the end of the line. */ + if ((t->t_stateflags & TS_AUTOWRAP) == 0 && + t->t_cursor.tp_col == t->t_winsize.tp_col - 1) + break; + + teken_subr_regular_character(t, ' '); + + /* Tab marker set. */ + if (t->t_stateflags & TS_WRAPPED || + teken_tab_isset(t, t->t_cursor.tp_col)) + ntabs--; + } while (ntabs > 0); } static void @@ -296,7 +302,7 @@ t->t_cursor.tp_row = teken_clamp(row + t->t_originreg.ts_begin, 1, t->t_originreg.ts_end) - 1; t->t_cursor.tp_col = teken_clamp(col, 1, t->t_winsize.tp_col) - 1; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -334,7 +340,7 @@ t->t_cursor.tp_row = t->t_scrollreg.ts_begin; else t->t_cursor.tp_row -= nrows; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -513,28 +519,11 @@ { t->t_cursor.tp_col = teken_clamp(col, 1, t->t_winsize.tp_col) - 1; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } static void -teken_subr_horizontal_tab(teken_t *t) -{ - - for (;;) { - /* Stop when we've reached the end of the line. */ - if (t->t_cursor.tp_col == t->t_winsize.tp_col - 1) - break; - - teken_subr_regular_character(t, ' '); - - /* Tab marker set. */ - if (teken_tab_isset(t, t->t_cursor.tp_col)) - break; - } -} - -static void teken_subr_horizontal_tab_set(teken_t *t) { @@ -547,7 +536,7 @@ if (t->t_cursor.tp_row < t->t_scrollreg.ts_end - 1) { t->t_cursor.tp_row++; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } else { teken_subr_do_scroll(t, 1); @@ -641,7 +630,7 @@ t->t_cursor.tp_row = t->t_scrollreg.ts_end - 1; } - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -695,7 +684,10 @@ static void teken_subr_regular_character(teken_t *t, teken_char_t c) { - teken_pos_t tp; + + /* Unprintable characters. */ + if (c <= 0x1B) + return; if (t->t_stateflags & TS_INSERT) { /* @@ -704,6 +696,7 @@ */ if (t->t_cursor.tp_col < t->t_winsize.tp_col - 1) { teken_rect_t tr; + teken_pos_t tp; tr.tr_begin = t->t_cursor; tr.tr_end.tp_row = t->t_cursor.tp_row + 1; @@ -717,32 +710,42 @@ return; } - if (t->t_nextchar.tp_row >= t->t_winsize.tp_row || - (t->t_nextchar.tp_row >= t->t_scrollreg.ts_end && - t->t_cursor.tp_row < t->t_scrollreg.ts_end)) { - /* - * Only scroll if we're going to print past the - * scrolling region. If the user explicitly set the - * cursor beyond the scrolling region, don't scroll. - */ - teken_subr_do_scroll(t, 1); - t->t_nextchar.tp_row = t->t_scrollreg.ts_end - 1; - } + if (t->t_cursor.tp_col == t->t_winsize.tp_col - 1 && + (t->t_stateflags & (TS_WRAPPED|TS_AUTOWRAP)) == + (TS_WRAPPED|TS_AUTOWRAP)) { + teken_pos_t tp; + + if (t->t_cursor.tp_row == t->t_scrollreg.ts_end - 1) { + /* Perform scrolling. */ + teken_subr_do_scroll(t, 1); + tp.tp_row = t->t_scrollreg.ts_end - 1; + } else { + /* No scrolling needed. */ + tp.tp_row = t->t_cursor.tp_row + 1; + if (tp.tp_row == t->t_winsize.tp_row) { + teken_funcs_putchar(t, &t->t_cursor, c, + &t->t_curattr); + return; + } + } - tp.tp_row = t->t_nextchar.tp_row; - tp.tp_col = t->t_nextchar.tp_col % t->t_winsize.tp_col; - teken_funcs_putchar(t, &tp, c, &t->t_curattr); + tp.tp_col = 0; + teken_funcs_putchar(t, &tp, c, &t->t_curattr); - if ((++t->t_nextchar.tp_col % t->t_winsize.tp_col) == 0) { - if (t->t_stateflags & TS_AUTOWRAP) { - t->t_cursor.tp_row = t->t_nextchar.tp_row; - t->t_cursor.tp_col = t->t_winsize.tp_col - 1; - t->t_nextchar.tp_row++; + t->t_cursor.tp_row = tp.tp_row; + t->t_cursor.tp_col = 1; + t->t_stateflags &= ~TS_WRAPPED; + } else { + /* No scrolling needed. */ + teken_funcs_putchar(t, &t->t_cursor, c, &t->t_curattr); + if (t->t_cursor.tp_col == t->t_winsize.tp_col - 1) { + t->t_stateflags |= TS_WRAPPED; + } else { + t->t_cursor.tp_col++; + t->t_stateflags &= ~TS_WRAPPED; } - } else { - t->t_cursor.tp_row = t->t_nextchar.tp_row; - t->t_cursor.tp_col = t->t_nextchar.tp_col % t->t_winsize.tp_col; } + teken_funcs_cursor(t); } @@ -760,7 +763,7 @@ teken_subr_erase_display(t, 2); t->t_cursor.tp_row = 0; t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); break; case 5: /* Inverse video. */ @@ -772,7 +775,7 @@ t->t_originreg.ts_begin = 0; t->t_originreg.ts_end = t->t_winsize.tp_row; t->t_cursor.tp_row = t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); break; case 7: /* Autowrap mode. */ @@ -808,12 +811,33 @@ } static void +teken_subr_do_reset(teken_t *t) +{ + + t->t_curattr = t->t_saved_curattr = teken_defattr; + t->t_cursor.tp_row = t->t_cursor.tp_col = 0; + t->t_saved_cursor = t->t_cursor; + t->t_stateflags = TS_AUTOWRAP; + + teken_tab_default(t); +} + +static void +teken_subr_reset_to_initial_state(teken_t *t) +{ + + teken_subr_do_reset(t); + teken_subr_erase_display(t, 2); + teken_funcs_cursor(t); +} + +static void teken_subr_restore_cursor(teken_t *t) { t->t_cursor = t->t_saved_cursor; t->t_curattr = t->t_saved_curattr; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } @@ -825,7 +849,7 @@ teken_assert(t->t_cursor.tp_row >= t->t_scrollreg.ts_begin); if (t->t_cursor.tp_row > t->t_scrollreg.ts_begin) { t->t_cursor.tp_row--; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } else { teken_subr_do_scroll(t, -1); @@ -873,7 +897,7 @@ teken_subr_erase_display(t, 2); t->t_cursor.tp_row = 0; t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); break; case 5: /* Inverse video. */ @@ -885,7 +909,7 @@ t->t_originreg = t->t_scrollreg; t->t_cursor.tp_row = t->t_scrollreg.ts_begin; t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); break; case 7: /* Autowrap mode. */ @@ -1020,7 +1044,7 @@ t->t_originreg = t->t_scrollreg; t->t_cursor.tp_row = t->t_originreg.ts_begin; t->t_cursor.tp_col = 0; - t->t_nextchar = t->t_cursor; + t->t_stateflags &= ~TS_WRAPPED; teken_funcs_cursor(t); } } @@ -1064,15 +1088,8 @@ teken_subr_vertical_position_absolute(teken_t *t, unsigned int row) { - t->t_cursor.tp_row = teken_clamp(row + t->t_originreg.ts_begin, - 1, t->t_originreg.ts_end) - 1; - t->t_nextchar = t->t_cursor; - teken_funcs_cursor(t); -} - -static void -teken_subr_vertical_tab(teken_t *t) -{ - - teken_subr_newline(t); + t->t_curattr = t->t_saved_curattr = teken_defattr; + t->t_cursor.tp_row = t->t_cursor.tp_col = 0; + t->t_saved_cursor = t->t_cursor; + t->t_stateflags = TS_AUTOWRAP; } From ed at FreeBSD.org Sat Dec 6 07:42:27 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 07:42:39 2008 Subject: PERFORCE change 154194 for review Message-ID: <200812061542.mB6FgR1G013167@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154194 Change 154194 by ed@ed_flippo on 2008/12/06 15:41:58 Switch /etc/ttys from cons25 to xterm. Affected files ... .. //depot/projects/mpsafetty/etc/etc.amd64/ttys#4 edit .. //depot/projects/mpsafetty/etc/etc.arm/ttys#3 edit .. //depot/projects/mpsafetty/etc/etc.i386/ttys#4 edit .. //depot/projects/mpsafetty/etc/etc.ia64/ttys#3 edit .. //depot/projects/mpsafetty/etc/etc.mips/ttys#4 edit .. //depot/projects/mpsafetty/etc/etc.powerpc/ttys#3 edit .. //depot/projects/mpsafetty/etc/etc.sparc64/ttys#3 edit Differences ... ==== //depot/projects/mpsafetty/etc/etc.amd64/ttys#4 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on @@ -32,15 +32,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. ==== //depot/projects/mpsafetty/etc/etc.arm/ttys#3 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on @@ -32,15 +32,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure #ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. ==== //depot/projects/mpsafetty/etc/etc.i386/ttys#4 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on @@ -32,15 +32,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. ==== //depot/projects/mpsafetty/etc/etc.ia64/ttys#3 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on @@ -32,15 +32,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 off secure +ttyv0 "/usr/libexec/getty Pc" xterm off secure # Virtual terminals. -ttyv1 "/usr/libexec/getty Pc" cons25 off secure -ttyv2 "/usr/libexec/getty Pc" cons25 off secure -ttyv3 "/usr/libexec/getty Pc" cons25 off secure -ttyv4 "/usr/libexec/getty Pc" cons25 off secure -ttyv5 "/usr/libexec/getty Pc" cons25 off secure -ttyv6 "/usr/libexec/getty Pc" cons25 off secure -ttyv7 "/usr/libexec/getty Pc" cons25 off secure +ttyv1 "/usr/libexec/getty Pc" xterm off secure +ttyv2 "/usr/libexec/getty Pc" xterm off secure +ttyv3 "/usr/libexec/getty Pc" xterm off secure +ttyv4 "/usr/libexec/getty Pc" xterm off secure +ttyv5 "/usr/libexec/getty Pc" xterm off secure +ttyv6 "/usr/libexec/getty Pc" xterm off secure +ttyv7 "/usr/libexec/getty Pc" xterm off secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals. The 'dialup' keyword identifies dialin lines to login, # fingerd etc. ==== //depot/projects/mpsafetty/etc/etc.mips/ttys#4 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on ==== //depot/projects/mpsafetty/etc/etc.powerpc/ttys#3 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on @@ -32,15 +32,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure #ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. ==== //depot/projects/mpsafetty/etc/etc.sparc64/ttys#3 (text+ko) ==== @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25, but +# For virtual consoles, the correct type is typically xterm, but # vt220 will work better if you need interoperability with other # systems like Solaris or GNU/Linux. # Other common values include network for network connections on @@ -36,15 +36,15 @@ ttya "/usr/libexec/getty 3wire.9600" vt100 off secure ttyb "/usr/libexec/getty 3wire.9600" vt100 off secure # syscons(4) -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. From nwhitehorn at FreeBSD.org Sat Dec 6 08:01:48 2008 From: nwhitehorn at FreeBSD.org (Nathan Whitehorn) Date: Sat Dec 6 08:01:54 2008 Subject: PERFORCE change 154197 for review Message-ID: <200812061601.mB6G1lSo014831@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154197 Change 154197 by nwhitehorn@nwhitehorn_trantor on 2008/12/06 16:00:55 As pointed out by Marius, the name= and compat= are infinitely more appropriate as part of the pnpinfo instead of in the location string. I had attempted to draw an analogy with ACPI's added information, but the ACPI handles are full pathnames. Since OFW pathnames have a tendency to be quite long, I don't have any interest in adding those. Obvious change due to: marius Affected files ... .. //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.c#5 edit .. //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.h#4 edit .. //depot/projects/ppc-g5/sys/powerpc/ofw/ofw_pcibus.c#6 edit .. //depot/projects/ppc-g5/sys/powerpc/powermac/macio.c#7 edit Differences ... ==== //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.c#5 (text+ko) ==== @@ -75,7 +75,7 @@ } int -ofw_bus_gen_child_location_str(device_t cbdev, device_t child, char *buf, +ofw_bus_gen_child_pnpinfo_str(device_t cbdev, device_t child, char *buf, size_t buflen) { strlcat(buf, "name=", buflen); ==== //depot/projects/ppc-g5/sys/dev/ofw/ofw_bus_subr.h#4 (text+ko) ==== @@ -50,8 +50,8 @@ int ofw_bus_gen_setup_devinfo(struct ofw_bus_devinfo *, phandle_t); void ofw_bus_gen_destroy_devinfo(struct ofw_bus_devinfo *); -/* Helper method to append interesting OF properties to devinfo location */ -int ofw_bus_gen_child_location_str(device_t, device_t, char *, size_t); +/* Helper method to report interesting OF properties in pnpinfo */ +int ofw_bus_gen_child_pnpinfo_str(device_t, device_t, char *, size_t); /* Routines for processing firmware interrupt maps */ ==== //depot/projects/ppc-g5/sys/powerpc/ofw/ofw_pcibus.c#6 (text+ko) ==== @@ -59,7 +59,7 @@ static device_attach_t ofw_pcibus_attach; static pci_assign_interrupt_t ofw_pcibus_assign_interrupt; static ofw_bus_get_devinfo_t ofw_pcibus_get_devinfo; -static int ofw_pcibus_child_location_str_method(device_t cbdev, device_t child, +static int ofw_pcibus_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, size_t buflen); static void ofw_pcibus_enum_devtree(device_t dev, u_int domain, u_int busno); @@ -71,7 +71,7 @@ DEVMETHOD(device_attach, ofw_pcibus_attach), /* Bus interface */ - DEVMETHOD(bus_child_location_str, ofw_pcibus_child_location_str_method), + DEVMETHOD(bus_child_pnpinfo_str, ofw_pcibus_child_pnpinfo_str_method), /* PCI interface */ DEVMETHOD(pci_assign_interrupt, ofw_pcibus_assign_interrupt), @@ -262,14 +262,14 @@ } static int -ofw_pcibus_child_location_str_method(device_t cbdev, device_t child, char *buf, +ofw_pcibus_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, size_t buflen) { - pci_child_location_str_method(cbdev, child, buf, buflen); + pci_child_pnpinfo_str_method(cbdev, child, buf, buflen); if (ofw_bus_get_node(child) != -1) { strlcat(buf, " ", buflen); /* Separate info */ - ofw_bus_gen_child_location_str(cbdev, child, buf, buflen); + ofw_bus_gen_child_pnpinfo_str(cbdev, child, buf, buflen); } return (0); ==== //depot/projects/ppc-g5/sys/powerpc/powermac/macio.c#7 (text+ko) ==== @@ -107,7 +107,7 @@ DEVMETHOD(bus_deactivate_resource, macio_deactivate_resource), DEVMETHOD(bus_get_resource_list, macio_get_resource_list), - DEVMETHOD(bus_child_location_str, ofw_bus_gen_child_location_str), + DEVMETHOD(bus_child_pnpinfo_str, ofw_bus_gen_child_pnpinfo_str), /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_devinfo, macio_get_devinfo), From zec at FreeBSD.org Sat Dec 6 09:32:19 2008 From: zec at FreeBSD.org (Marko Zec) Date: Sat Dec 6 09:32:26 2008 Subject: PERFORCE change 154200 for review Message-ID: <200812061732.mB6HWJB6040347@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154200 Change 154200 by zec@zec_tpx32 on 2008/12/06 17:31:48 Make options VIMAGE builds actually work by unbreaking handlers for virtualized sysctls. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#15 edit .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#45 edit .. //depot/projects/vimage/src/sys/sys/sysctl.h#29 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_sysctl.c#15 (text+ko) ==== @@ -881,7 +881,9 @@ { int error, s, tt; - tt = *(int *)oidp->oid_arg1; + SYSCTL_RESOLVE_V_ARG1(); + + tt = *(int *)arg1; s = (int)((int64_t)tt * 1000 / hz); error = sysctl_handle_int(oidp, &s, 0, req); @@ -892,7 +894,7 @@ if (tt < 1) return (EINVAL); - *(int *)oidp->oid_arg1 = tt; + *(int *)arg1 = tt; return (0); } ==== //depot/projects/vimage/src/sys/netinet/in_pcb.c#45 (text+ko) ==== @@ -125,7 +125,9 @@ INIT_VNET_INET(curvnet); int error; - error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); + SYSCTL_RESOLVE_V_ARG1(); + + error = sysctl_handle_int(oidp, arg1, arg2, req); if (error == 0) { RANGECHK(V_ipport_lowfirstauto, 1, IPPORT_RESERVED - 1); RANGECHK(V_ipport_lowlastauto, 1, IPPORT_RESERVED - 1); ==== //depot/projects/vimage/src/sys/sys/sysctl.h#29 (text+ko) ==== @@ -415,21 +415,28 @@ #define SYSCTL_RESOLVE_V_ARG1() do { \ char *cp; \ switch (oidp->oid_v_subs) { \ + case V_GLOBAL: \ + /* do nothing - this is NOT a virtualized variable! */ \ + break; \ case V_NET: \ cp = (char *) \ TD_TO_VNET(curthread)->mod_data[oidp->oid_v_mod]; \ + arg1 = cp + (size_t) arg1; \ break; \ case V_PROCG: \ cp = (char *) TD_TO_VPROCG(curthread); \ + arg1 = cp + (size_t) arg1; \ break; \ case V_CPU: \ cp = (char *) TD_TO_VCPU(curthread); \ + arg1 = cp + (size_t) arg1; \ break; \ default: \ panic("unsupported module id %d", oidp->oid_v_subs); \ } \ - arg1 = cp + (size_t) arg1; \ } while (0) +#else +#define SYSCTL_RESOLVE_V_ARG1() #endif #endif /* _KERNEL */ From ed at FreeBSD.org Sat Dec 6 10:12:00 2008 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Dec 6 10:12:07 2008 Subject: PERFORCE change 154201 for review Message-ID: <200812061811.mB6IBxeF076981@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154201 Change 154201 by ed@ed_flippo on 2008/12/06 18:10:59 Somewhat make device status reports work. Affected files ... .. //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#13 edit .. //depot/projects/mpsafetty/sys/dev/syscons/syscons.c#8 edit .. //depot/projects/mpsafetty/sys/dev/syscons/syscons.h#4 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/syscons/scterm-teken.c#13 (text+ko) ==== @@ -398,4 +398,7 @@ static void scteken_respond(void *arg, const void *buf, size_t len) { + scr_stat *scp = arg; + + sc_respond(scp, buf, len); } ==== //depot/projects/mpsafetty/sys/dev/syscons/syscons.c#8 (text+ko) ==== @@ -3569,7 +3569,7 @@ #endif /* !SC_NO_FONT_LOADING */ void -sc_paste(scr_stat *scp, u_char *p, int count) +sc_paste(scr_stat *scp, const u_char *p, int count) { struct tty *tp; u_char *rmap; @@ -3584,6 +3584,22 @@ } void +sc_respond(scr_stat *scp, const u_char *p, int count) +{ + struct tty *tp; + + tp = SC_DEV(scp->sc, scp->sc->cur_scp->index); + if (!tty_opened(tp)) + return; + for (; count > 0; --count) + ttydisc_rint(tp, *p++, 0); +#if 0 + /* XXX: we can't call ttydisc_rint_done() here! */ + ttydisc_rint_done(tp); +#endif +} + +void sc_bell(scr_stat *scp, int pitch, int duration) { if (cold || shutdown_in_progress || !enable_bell) ==== //depot/projects/mpsafetty/sys/dev/syscons/syscons.h#4 (text+ko) ==== @@ -563,7 +563,8 @@ int sc_switch_scr(sc_softc_t *sc, u_int next_scr); void sc_alloc_scr_buffer(scr_stat *scp, int wait, int discard); int sc_init_emulator(scr_stat *scp, char *name); -void sc_paste(scr_stat *scp, u_char *p, int count); +void sc_paste(scr_stat *scp, const u_char *p, int count); +void sc_respond(scr_stat *scp, const u_char *p, int count); void sc_bell(scr_stat *scp, int pitch, int duration); /* schistory.c */ From sam at FreeBSD.org Sat Dec 6 15:39:40 2008 From: sam at FreeBSD.org (Sam Leffler) Date: Sat Dec 6 15:39:48 2008 Subject: PERFORCE change 154223 for review Message-ID: <200812062339.mB6Ndb5e031593@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154223 Change 154223 by sam@sam_ebb on 2008/12/06 23:39:00 IFC @ 154222 Affected files ... .. //depot/projects/vap/UPDATING#24 integrate .. //depot/projects/vap/contrib/openbsm/CREDITS#1 branch .. //depot/projects/vap/contrib/openbsm/HISTORY#3 delete .. //depot/projects/vap/contrib/openbsm/INSTALL#1 branch .. //depot/projects/vap/contrib/openbsm/LICENSE#3 integrate .. //depot/projects/vap/contrib/openbsm/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/NEWS#1 branch .. //depot/projects/vap/contrib/openbsm/README#3 integrate .. //depot/projects/vap/contrib/openbsm/TODO#3 integrate .. //depot/projects/vap/contrib/openbsm/VERSION#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/audit/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/audit/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/audit/audit.8#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/audit/audit.c#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/audit_triggers.defs#1 branch .. //depot/projects/vap/contrib/openbsm/bin/auditd/audit_warn.c#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/auditd.8#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/auditd.c#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/auditd.h#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditd/auditd_control.defs#1 branch .. //depot/projects/vap/contrib/openbsm/bin/auditfilterd/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditfilterd/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditfilterd/auditfilterd.c#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditreduce/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditreduce/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditreduce/auditreduce.1#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditreduce/auditreduce.c#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/auditreduce/auditreduce.h#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/praudit/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/praudit/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/praudit/praudit.1#3 integrate .. //depot/projects/vap/contrib/openbsm/bin/praudit/praudit.c#3 integrate .. //depot/projects/vap/contrib/openbsm/bsm/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/bsm/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/bsm/audit_uevents.h#3 integrate .. //depot/projects/vap/contrib/openbsm/bsm/libbsm.h#3 integrate .. //depot/projects/vap/contrib/openbsm/compat/clock_gettime.h#3 integrate .. //depot/projects/vap/contrib/openbsm/compat/strlcat.h#3 integrate .. //depot/projects/vap/contrib/openbsm/compat/strlcpy.h#1 branch .. //depot/projects/vap/contrib/openbsm/config/config.h#3 integrate .. //depot/projects/vap/contrib/openbsm/config/config.h.in#3 integrate .. //depot/projects/vap/contrib/openbsm/configure#3 integrate .. //depot/projects/vap/contrib/openbsm/configure.ac#3 integrate .. //depot/projects/vap/contrib/openbsm/etc/audit_event#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/au_class.3#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/au_free_token.3#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/au_token.3#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/audit_submit.3#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_audit.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_class.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_control.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_event.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_flags.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_io.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_mask.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_notify.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_token.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_user.c#3 integrate .. //depot/projects/vap/contrib/openbsm/libbsm/bsm_wrappers.c#3 integrate .. //depot/projects/vap/contrib/openbsm/man/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit.2#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit.log.5#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit_class.5#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit_control.5#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit_event.5#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit_user.5#3 integrate .. //depot/projects/vap/contrib/openbsm/man/audit_warn.5#3 integrate .. //depot/projects/vap/contrib/openbsm/man/auditctl.2#3 integrate .. //depot/projects/vap/contrib/openbsm/man/auditon.2#3 integrate .. //depot/projects/vap/contrib/openbsm/man/getaudit.2#3 integrate .. //depot/projects/vap/contrib/openbsm/man/getauid.2#3 integrate .. //depot/projects/vap/contrib/openbsm/man/setaudit.2#3 integrate .. //depot/projects/vap/contrib/openbsm/man/setauid.2#3 integrate .. //depot/projects/vap/contrib/openbsm/modules/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/modules/auditfilter_noop/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/modules/auditfilter_noop/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#3 integrate .. //depot/projects/vap/contrib/openbsm/sys/Makefile.am#1 branch .. //depot/projects/vap/contrib/openbsm/sys/Makefile.in#1 branch .. //depot/projects/vap/contrib/openbsm/sys/bsm/Makefile.am#1 branch .. //depot/projects/vap/contrib/openbsm/sys/bsm/Makefile.in#1 branch .. //depot/projects/vap/contrib/openbsm/sys/bsm/audit.h#1 branch .. //depot/projects/vap/contrib/openbsm/sys/bsm/audit_internal.h#1 branch .. //depot/projects/vap/contrib/openbsm/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/vap/contrib/openbsm/sys/bsm/audit_record.h#1 branch .. //depot/projects/vap/contrib/openbsm/test/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/test/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/test/bsm/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/test/bsm/Makefile.in#3 integrate .. //depot/projects/vap/contrib/openbsm/tools/Makefile.am#3 integrate .. //depot/projects/vap/contrib/openbsm/tools/Makefile.in#3 integrate .. //depot/projects/vap/etc/newsyslog.conf#4 integrate .. //depot/projects/vap/etc/syslog.conf#3 integrate .. //depot/projects/vap/lib/libarchive/archive.h#5 integrate .. //depot/projects/vap/lib/libarchive/archive_check_magic.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_endian.h#4 integrate .. //depot/projects/vap/lib/libarchive/archive_entry.h#9 integrate .. //depot/projects/vap/lib/libarchive/archive_platform.h#7 integrate .. //depot/projects/vap/lib/libarchive/archive_private.h#4 integrate .. //depot/projects/vap/lib/libarchive/archive_read.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_read_private.h#6 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_compression_all.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_compression_bzip2.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_compression_compress.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_compression_gzip.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_compression_none.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_compression_program.c#6 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_ar.c#7 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_cpio.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_empty.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_iso9660.c#6 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_mtree.c#8 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_tar.c#9 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_zip.c#9 integrate .. //depot/projects/vap/lib/libarchive/archive_string.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_string.h#6 integrate .. //depot/projects/vap/lib/libarchive/archive_write_disk.c#18 integrate .. //depot/projects/vap/lib/libarchive/test/Makefile#15 integrate .. //depot/projects/vap/lib/libarchive/test/test_compat_bzip2.c#1 branch .. //depot/projects/vap/lib/libarchive/test/test_compat_bzip2_1.tbz.uu#1 branch .. //depot/projects/vap/lib/libarchive/test/test_compat_bzip2_2.tbz.uu#1 branch .. //depot/projects/vap/lib/libarchive/test/test_compat_gzip.c#1 branch .. //depot/projects/vap/lib/libarchive/test/test_compat_gzip_1.tgz.uu#1 branch .. //depot/projects/vap/lib/libarchive/test/test_compat_gzip_2.tgz.uu#1 branch .. //depot/projects/vap/lib/libarchive/test/test_fuzz.c#1 branch .. //depot/projects/vap/lib/libarchive/test/test_fuzz_1.iso.uu#1 branch .. //depot/projects/vap/lib/libarchive/test/test_read_format_cpio_bin_bz2.c#4 integrate .. //depot/projects/vap/lib/libarchive/test/test_read_format_gtar_sparse.c#7 integrate .. //depot/projects/vap/lib/libarchive/test/test_read_pax_truncated.c#5 integrate .. //depot/projects/vap/lib/libarchive/test/test_write_disk_perms.c#6 integrate .. //depot/projects/vap/lib/libarchive/test/test_write_format_cpio.c#5 integrate .. //depot/projects/vap/lib/libc/string/Makefile.inc#5 integrate .. //depot/projects/vap/lib/libc/string/Symbol.map#5 integrate .. //depot/projects/vap/lib/libc/string/strdup.3#3 integrate .. //depot/projects/vap/lib/libc/string/strndup.c#1 branch .. //depot/projects/vap/lib/libc/string/strsep.3#3 integrate .. //depot/projects/vap/lib/libmd/Makefile#3 integrate .. //depot/projects/vap/lib/libpmc/libpmc.c#8 integrate .. //depot/projects/vap/lib/libstand/bootp.c#3 integrate .. //depot/projects/vap/lib/libthr/thread/thr_fork.c#5 integrate .. //depot/projects/vap/lib/libthr/thread/thr_rtld.c#6 integrate .. //depot/projects/vap/lib/libutil/Makefile#7 integrate .. //depot/projects/vap/lib/libutil/kinfo_getfile.c#1 branch .. //depot/projects/vap/lib/libutil/kinfo_getvmmap.c#1 branch .. //depot/projects/vap/lib/libutil/libutil.h#5 integrate .. //depot/projects/vap/libexec/rtld-elf/rtld_lock.h#5 integrate .. //depot/projects/vap/release/doc/en_US.ISO8859-1/hardware/article.sgml#10 integrate .. //depot/projects/vap/sbin/newfs/Makefile#3 integrate .. //depot/projects/vap/sbin/newfs/mkfs.c#5 integrate .. //depot/projects/vap/sbin/newfs/newfs.8#5 integrate .. //depot/projects/vap/sbin/newfs/newfs.c#4 integrate .. //depot/projects/vap/sbin/newfs/newfs.h#4 integrate .. //depot/projects/vap/sbin/newfs_msdos/newfs_msdos.8#4 integrate .. //depot/projects/vap/sbin/newfs_msdos/newfs_msdos.c#4 integrate .. //depot/projects/vap/share/man/man4/bce.4#4 integrate .. //depot/projects/vap/share/man/man4/upgt.4#5 integrate .. //depot/projects/vap/share/man/man7/ports.7#5 integrate .. //depot/projects/vap/sys/amd64/amd64/db_trace.c#7 integrate .. //depot/projects/vap/sys/amd64/amd64/intr_machdep.c#9 integrate .. //depot/projects/vap/sys/amd64/amd64/pmap.c#26 integrate .. //depot/projects/vap/sys/amd64/conf/GENERIC#25 integrate .. //depot/projects/vap/sys/arm/mv/mv_pci.c#2 integrate .. //depot/projects/vap/sys/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/vap/sys/boot/common/loader.8#6 integrate .. //depot/projects/vap/sys/boot/i386/boot0/Makefile#4 integrate .. //depot/projects/vap/sys/boot/i386/boot0/boot0.S#7 integrate .. //depot/projects/vap/sys/boot/zfs/Makefile#2 integrate .. //depot/projects/vap/sys/bsm/audit.h#4 integrate .. //depot/projects/vap/sys/bsm/audit_internal.h#5 integrate .. //depot/projects/vap/sys/bsm/audit_kevents.h#7 integrate .. //depot/projects/vap/sys/bsm/audit_record.h#5 integrate .. //depot/projects/vap/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#5 integrate .. //depot/projects/vap/sys/compat/freebsd32/freebsd32_misc.c#13 integrate .. //depot/projects/vap/sys/compat/linprocfs/linprocfs.c#14 integrate .. //depot/projects/vap/sys/compat/linux/linux_ioctl.c#10 integrate .. //depot/projects/vap/sys/compat/linux/linux_socket.c#11 integrate .. //depot/projects/vap/sys/compat/svr4/svr4_sockio.c#7 integrate .. //depot/projects/vap/sys/conf/files#60 integrate .. //depot/projects/vap/sys/contrib/altq/altq/altq_subr.c#9 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#8 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/mlfk_ipl.c#7 integrate .. //depot/projects/vap/sys/contrib/pf/net/pf.c#13 integrate .. //depot/projects/vap/sys/contrib/pf/net/pf_if.c#9 integrate .. //depot/projects/vap/sys/contrib/pf/net/pf_ioctl.c#13 integrate .. //depot/projects/vap/sys/contrib/pf/net/pf_subr.c#7 integrate .. //depot/projects/vap/sys/contrib/rdma/rdma_cma.c#4 integrate .. //depot/projects/vap/sys/dev/adb/adb.h#2 integrate .. //depot/projects/vap/sys/dev/adb/adb_bus.c#4 integrate .. //depot/projects/vap/sys/dev/adb/adb_kbd.c#2 integrate .. //depot/projects/vap/sys/dev/adb/adb_mouse.c#3 integrate .. //depot/projects/vap/sys/dev/adb/adbvar.h#3 integrate .. //depot/projects/vap/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/vap/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/vap/sys/dev/bce/if_bce.c#11 integrate .. //depot/projects/vap/sys/dev/cardbus/cardbus_device.c#4 integrate .. //depot/projects/vap/sys/dev/cardbus/cardbusvar.h#7 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_ael1002.c#9 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_t3_hw.c#8 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_xgmac.c#7 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_main.c#19 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_multiq.c#5 integrate .. //depot/projects/vap/sys/dev/cxgb/sys/uipc_mvec.c#8 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#14 integrate .. //depot/projects/vap/sys/dev/fxp/if_fxp.c#8 integrate .. //depot/projects/vap/sys/dev/fxp/if_fxpreg.h#5 integrate .. //depot/projects/vap/sys/dev/hwpmc/hwpmc_amd.c#11 integrate .. //depot/projects/vap/sys/dev/hwpmc/hwpmc_core.c#2 integrate .. //depot/projects/vap/sys/dev/hwpmc/hwpmc_intel.c#4 integrate .. //depot/projects/vap/sys/dev/hwpmc/hwpmc_ppro.c#11 integrate .. //depot/projects/vap/sys/dev/hwpmc/pmc_events.h#7 integrate .. //depot/projects/vap/sys/dev/jme/if_jme.c#6 integrate .. //depot/projects/vap/sys/dev/jme/if_jmereg.h#5 integrate .. //depot/projects/vap/sys/dev/jme/if_jmevar.h#2 integrate .. //depot/projects/vap/sys/dev/mfi/mfi_pci.c#5 integrate .. //depot/projects/vap/sys/dev/mmc/mmc.c#6 integrate .. //depot/projects/vap/sys/dev/mmc/mmcsd.c#7 integrate .. //depot/projects/vap/sys/dev/pccbb/pccbb.c#7 integrate .. //depot/projects/vap/sys/dev/pccbb/pccbb_pci.c#7 integrate .. //depot/projects/vap/sys/dev/pccbb/pccbbvar.h#5 integrate .. //depot/projects/vap/sys/dev/re/if_re.c#17 integrate .. //depot/projects/vap/sys/dev/sdhci/sdhci.c#4 integrate .. //depot/projects/vap/sys/dev/usb/if_ural.c#26 integrate .. //depot/projects/vap/sys/dev/xen/blkfront/blkfront.c#4 integrate .. //depot/projects/vap/sys/dev/xen/blkfront/block.h#2 integrate .. //depot/projects/vap/sys/dev/xen/netfront/netfront.c#5 integrate .. //depot/projects/vap/sys/geom/journal/g_journal.c#6 integrate .. //depot/projects/vap/sys/geom/journal/g_journal.h#3 integrate .. //depot/projects/vap/sys/i386/conf/GENERIC#28 integrate .. //depot/projects/vap/sys/i386/conf/XEN#6 integrate .. //depot/projects/vap/sys/i386/include/atomic.h#8 integrate .. //depot/projects/vap/sys/i386/include/xen/xenbus.h#2 delete .. //depot/projects/vap/sys/i386/xen/xen_machdep.c#9 integrate .. //depot/projects/vap/sys/ia64/conf/GENERIC#12 integrate .. //depot/projects/vap/sys/kern/kern_descrip.c#22 integrate .. //depot/projects/vap/sys/kern/kern_exec.c#17 integrate .. //depot/projects/vap/sys/kern/kern_exit.c#15 integrate .. //depot/projects/vap/sys/kern/kern_fork.c#13 integrate .. //depot/projects/vap/sys/kern/kern_ktrace.c#8 integrate .. //depot/projects/vap/sys/kern/kern_linker.c#13 integrate .. //depot/projects/vap/sys/kern/kern_module.c#9 integrate .. //depot/projects/vap/sys/kern/kern_poll.c#10 integrate .. //depot/projects/vap/sys/kern/kern_proc.c#17 integrate .. //depot/projects/vap/sys/kern/kern_uuid.c#7 integrate .. //depot/projects/vap/sys/kern/uipc_shm.c#7 integrate .. //depot/projects/vap/sys/kern/vfs_cache.c#15 integrate .. //depot/projects/vap/sys/libkern/iconv.c#5 integrate .. //depot/projects/vap/sys/modules/ae/Makefile#2 integrate .. //depot/projects/vap/sys/modules/ath/Makefile#8 integrate .. //depot/projects/vap/sys/modules/ath_rate_amrr/Makefile#12 integrate .. //depot/projects/vap/sys/modules/ath_rate_onoe/Makefile#12 integrate .. //depot/projects/vap/sys/modules/ath_rate_sample/Makefile#13 integrate .. //depot/projects/vap/sys/modules/bridgestp/Makefile#3 integrate .. //depot/projects/vap/sys/modules/cxgb/iw_cxgb/Makefile#4 integrate .. //depot/projects/vap/sys/modules/if_ef/Makefile#5 integrate .. //depot/projects/vap/sys/modules/if_vlan/Makefile#5 integrate .. //depot/projects/vap/sys/modules/ip_mroute_mod/Makefile#5 integrate .. //depot/projects/vap/sys/modules/ipfw/Makefile#5 integrate .. //depot/projects/vap/sys/modules/linprocfs/Makefile#5 integrate .. //depot/projects/vap/sys/modules/linux/Makefile#6 integrate .. //depot/projects/vap/sys/modules/netgraph/atm/atm/Makefile#3 integrate .. //depot/projects/vap/sys/modules/netgraph/ether/Makefile#4 integrate .. //depot/projects/vap/sys/modules/netgraph/gif/Makefile#5 integrate .. //depot/projects/vap/sys/modules/nfsclient/Makefile#6 integrate .. //depot/projects/vap/sys/modules/pf/Makefile#6 integrate .. //depot/projects/vap/sys/modules/wlan/Makefile#13 integrate .. //depot/projects/vap/sys/net/bridgestp.c#6 integrate .. //depot/projects/vap/sys/net/if.c#21 integrate .. //depot/projects/vap/sys/net/if_bridge.c#10 integrate .. //depot/projects/vap/sys/net/if_ef.c#9 integrate .. //depot/projects/vap/sys/net/if_ethersubr.c#15 integrate .. //depot/projects/vap/sys/net/if_faith.c#11 integrate .. //depot/projects/vap/sys/net/if_gre.c#14 integrate .. //depot/projects/vap/sys/net/if_loop.c#16 integrate .. //depot/projects/vap/sys/net/if_mib.c#8 integrate .. //depot/projects/vap/sys/net/if_spppsubr.c#8 integrate .. //depot/projects/vap/sys/net/if_stf.c#13 integrate .. //depot/projects/vap/sys/net/if_var.h#14 integrate .. //depot/projects/vap/sys/net/if_vlan.c#14 integrate .. //depot/projects/vap/sys/net/raw_cb.c#12 integrate .. //depot/projects/vap/sys/net/raw_usrreq.c#9 integrate .. //depot/projects/vap/sys/net/route.c#16 integrate .. //depot/projects/vap/sys/net/rtsock.c#15 integrate .. //depot/projects/vap/sys/net80211/ieee80211_ddb.c#32 integrate .. //depot/projects/vap/sys/netgraph/atm/ng_atm.c#8 integrate .. //depot/projects/vap/sys/netgraph/ng_eiface.c#10 integrate .. //depot/projects/vap/sys/netgraph/ng_ether.c#8 integrate .. //depot/projects/vap/sys/netgraph/ng_gif.c#9 integrate .. //depot/projects/vap/sys/netgraph/ng_mppc.c#6 integrate .. //depot/projects/vap/sys/netinet/if_ether.c#16 integrate .. //depot/projects/vap/sys/netinet/igmp.c#10 integrate .. //depot/projects/vap/sys/netinet/in.c#12 integrate .. //depot/projects/vap/sys/netinet/in.h#9 integrate .. //depot/projects/vap/sys/netinet/in_gif.c#9 integrate .. //depot/projects/vap/sys/netinet/in_mcast.c#9 integrate .. //depot/projects/vap/sys/netinet/in_pcb.c#24 integrate .. //depot/projects/vap/sys/netinet/in_rmx.c#11 integrate .. //depot/projects/vap/sys/netinet/ip6.h#7 integrate .. //depot/projects/vap/sys/netinet/ip_carp.c#12 integrate .. //depot/projects/vap/sys/netinet/ip_divert.c#12 integrate .. //depot/projects/vap/sys/netinet/ip_fastfwd.c#10 integrate .. //depot/projects/vap/sys/netinet/ip_fw2.c#22 integrate .. //depot/projects/vap/sys/netinet/ip_icmp.c#12 integrate .. //depot/projects/vap/sys/netinet/ip_id.c#7 integrate .. //depot/projects/vap/sys/netinet/ip_input.c#14 integrate .. //depot/projects/vap/sys/netinet/ip_ipsec.c#7 integrate .. //depot/projects/vap/sys/netinet/ip_mroute.c#9 integrate .. //depot/projects/vap/sys/netinet/ip_options.c#9 integrate .. //depot/projects/vap/sys/netinet/ip_output.c#14 integrate .. //depot/projects/vap/sys/netinet/raw_ip.c#16 integrate .. //depot/projects/vap/sys/netinet/sctp.h#7 integrate .. //depot/projects/vap/sys/netinet/sctp_asconf.c#8 integrate .. //depot/projects/vap/sys/netinet/sctp_asconf.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_auth.c#5 integrate .. //depot/projects/vap/sys/netinet/sctp_auth.h#3 integrate .. //depot/projects/vap/sys/netinet/sctp_constants.h#8 integrate .. //depot/projects/vap/sys/netinet/sctp_header.h#4 integrate .. //depot/projects/vap/sys/netinet/sctp_indata.c#10 integrate .. //depot/projects/vap/sys/netinet/sctp_indata.h#4 integrate .. //depot/projects/vap/sys/netinet/sctp_input.c#11 integrate .. //depot/projects/vap/sys/netinet/sctp_os_bsd.h#10 integrate .. //depot/projects/vap/sys/netinet/sctp_output.c#15 integrate .. //depot/projects/vap/sys/netinet/sctp_output.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_pcb.c#13 integrate .. //depot/projects/vap/sys/netinet/sctp_pcb.h#9 integrate .. //depot/projects/vap/sys/netinet/sctp_structs.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_sysctl.c#7 integrate .. //depot/projects/vap/sys/netinet/sctp_sysctl.h#7 integrate .. //depot/projects/vap/sys/netinet/sctp_timer.c#9 integrate .. //depot/projects/vap/sys/netinet/sctp_uio.h#7 integrate .. //depot/projects/vap/sys/netinet/sctp_usrreq.c#12 integrate .. //depot/projects/vap/sys/netinet/sctp_var.h#10 integrate .. //depot/projects/vap/sys/netinet/sctputil.c#14 integrate .. //depot/projects/vap/sys/netinet/sctputil.h#6 integrate .. //depot/projects/vap/sys/netinet/tcp_hostcache.c#9 integrate .. //depot/projects/vap/sys/netinet/tcp_input.c#19 integrate .. //depot/projects/vap/sys/netinet/tcp_offload.c#6 integrate .. //depot/projects/vap/sys/netinet/tcp_output.c#17 integrate .. //depot/projects/vap/sys/netinet/tcp_reass.c#7 integrate .. //depot/projects/vap/sys/netinet/tcp_sack.c#11 integrate .. //depot/projects/vap/sys/netinet/tcp_subr.c#18 integrate .. //depot/projects/vap/sys/netinet/tcp_syncache.c#19 integrate .. //depot/projects/vap/sys/netinet/tcp_timer.c#10 integrate .. //depot/projects/vap/sys/netinet/tcp_timewait.c#8 integrate .. //depot/projects/vap/sys/netinet/tcp_usrreq.c#14 integrate .. //depot/projects/vap/sys/netinet/udp_usrreq.c#17 integrate .. //depot/projects/vap/sys/netinet/vinet.h#3 integrate .. //depot/projects/vap/sys/netinet6/dest6.c#8 integrate .. //depot/projects/vap/sys/netinet6/frag6.c#11 integrate .. //depot/projects/vap/sys/netinet6/icmp6.c#16 integrate .. //depot/projects/vap/sys/netinet6/in6.c#13 integrate .. //depot/projects/vap/sys/netinet6/in6_gif.c#8 integrate .. //depot/projects/vap/sys/netinet6/in6_ifattach.c#12 integrate .. //depot/projects/vap/sys/netinet6/in6_pcb.c#15 integrate .. //depot/projects/vap/sys/netinet6/in6_proto.c#11 integrate .. //depot/projects/vap/sys/netinet6/in6_rmx.c#11 integrate .. //depot/projects/vap/sys/netinet6/in6_src.c#15 integrate .. //depot/projects/vap/sys/netinet6/ip6_forward.c#10 integrate .. //depot/projects/vap/sys/netinet6/ip6_input.c#13 integrate .. //depot/projects/vap/sys/netinet6/ip6_ipsec.c#8 integrate .. //depot/projects/vap/sys/netinet6/ip6_mroute.c#9 integrate .. //depot/projects/vap/sys/netinet6/ip6_output.c#15 integrate .. //depot/projects/vap/sys/netinet6/mld6.c#12 integrate .. //depot/projects/vap/sys/netinet6/nd6.c#10 integrate .. //depot/projects/vap/sys/netinet6/nd6_nbr.c#11 integrate .. //depot/projects/vap/sys/netinet6/nd6_rtr.c#10 integrate .. //depot/projects/vap/sys/netinet6/raw_ip6.c#18 integrate .. //depot/projects/vap/sys/netinet6/route6.c#8 integrate .. //depot/projects/vap/sys/netinet6/scope6.c#9 integrate .. //depot/projects/vap/sys/netinet6/sctp6_usrreq.c#8 integrate .. //depot/projects/vap/sys/netinet6/udp6_usrreq.c#18 integrate .. //depot/projects/vap/sys/netinet6/vinet6.h#3 integrate .. //depot/projects/vap/sys/netipsec/ipsec_input.c#9 integrate .. //depot/projects/vap/sys/netipsec/ipsec_output.c#10 integrate .. //depot/projects/vap/sys/netipsec/key.c#13 integrate .. //depot/projects/vap/sys/netipsec/keysock.c#10 integrate .. //depot/projects/vap/sys/netipsec/vipsec.h#3 integrate .. //depot/projects/vap/sys/netipsec/xform_ipip.c#9 integrate .. //depot/projects/vap/sys/nfsclient/bootp_subr.c#10 integrate .. //depot/projects/vap/sys/nfsclient/nfs_diskless.c#10 integrate .. //depot/projects/vap/sys/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/vap/sys/nfsserver/nfs_serv.c#16 integrate .. //depot/projects/vap/sys/pc98/conf/GENERIC#19 integrate .. //depot/projects/vap/sys/pci/if_rl.c#11 integrate .. //depot/projects/vap/sys/pci/if_rlreg.h#16 integrate .. //depot/projects/vap/sys/powerpc/conf/GENERIC#15 integrate .. //depot/projects/vap/sys/powerpc/powermac/cuda.c#3 integrate .. //depot/projects/vap/sys/powerpc/powermac/cudavar.h#2 integrate .. //depot/projects/vap/sys/security/audit/audit_bsm_token.c#7 integrate .. //depot/projects/vap/sys/sparc64/conf/GENERIC#22 integrate .. //depot/projects/vap/sys/sun4v/conf/GENERIC#9 integrate .. //depot/projects/vap/sys/sys/buf_ring.h#2 integrate .. //depot/projects/vap/sys/sys/module.h#7 integrate .. //depot/projects/vap/sys/sys/proc.h#27 integrate .. //depot/projects/vap/sys/sys/sysctl.h#12 integrate .. //depot/projects/vap/sys/sys/user.h#13 integrate .. //depot/projects/vap/sys/ufs/ufs/ufs_lookup.c#13 integrate .. //depot/projects/vap/sys/xen/gnttab.c#4 integrate .. //depot/projects/vap/sys/xen/gnttab.h#3 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_client.c#4 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_comms.c#4 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_comms.h#3 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_dev.c#4 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_if.m#1 branch .. //depot/projects/vap/sys/xen/xenbus/xenbus_probe.c#4 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_probe_backend.c#4 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbus_xs.c#5 integrate .. //depot/projects/vap/sys/xen/xenbus/xenbusvar.h#1 branch .. //depot/projects/vap/tools/test/pthread_vfork/pthread_vfork_test.c#1 branch .. //depot/projects/vap/usr.bin/cpio/Makefile#4 integrate .. //depot/projects/vap/usr.bin/cpio/cmdline.c#4 integrate .. //depot/projects/vap/usr.bin/cpio/config_freebsd.h#3 integrate .. //depot/projects/vap/usr.bin/cpio/cpio.c#9 integrate .. //depot/projects/vap/usr.bin/cpio/cpio.h#6 integrate .. //depot/projects/vap/usr.bin/cpio/cpio_platform.h#2 integrate .. //depot/projects/vap/usr.bin/procstat/Makefile#2 integrate .. //depot/projects/vap/usr.bin/procstat/procstat_files.c#6 integrate .. //depot/projects/vap/usr.bin/procstat/procstat_vm.c#3 integrate .. //depot/projects/vap/usr.bin/tar/Makefile#10 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar.1#11 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar.h#10 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar_platform.h#4 integrate .. //depot/projects/vap/usr.bin/wc/wc.1#3 integrate .. //depot/projects/vap/usr.bin/wc/wc.c#3 integrate .. //depot/projects/vap/usr.sbin/audit/Makefile#3 integrate .. //depot/projects/vap/usr.sbin/auditd/Makefile#3 integrate .. //depot/projects/vap/usr.sbin/boot0cfg/boot0cfg.8#3 integrate .. //depot/projects/vap/usr.sbin/boot0cfg/boot0cfg.c#5 integrate Differences ... ==== //depot/projects/vap/UPDATING#24 (text+ko) ==== @@ -26,7 +26,7 @@ __FreeBSD_version 800057 marks the switchover from the binary ath hal to source code. Users must add the line: - options ATH_SUPPORT_AR5416 + options AH_SUPPORT_AR5416 to their kernel config files when specifying: @@ -1178,4 +1178,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.550 2008/12/01 16:53:01 sam Exp $ +$FreeBSD: src/UPDATING,v 1.551 2008/12/01 23:09:58 sam Exp $ ==== //depot/projects/vap/contrib/openbsm/LICENSE#3 (text) ==== @@ -1,3 +1,5 @@ +OpenBSM Copyrights and Licensing + OpenBSM is covered by a number of copyrights, with licenses being either two or three clause BSD licenses. Individual file headers should be consulted for specific copyrights on specific components. The TrustedBSD Project would @@ -30,4 +32,4 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. -$P4: //depot/projects/trustedbsd/openbsm/LICENSE#4 $ +$P4: //depot/projects/trustedbsd/openbsm/LICENSE#5 $ ==== //depot/projects/vap/contrib/openbsm/Makefile.am#3 (text) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/Makefile.am#3 $ # SUBDIRS = \ @@ -7,7 +7,8 @@ libbsm \ bin \ man \ - modules + modules \ + sys EXTRA_DIST = \ CHANGELOG \ ==== //depot/projects/vap/contrib/openbsm/Makefile.in#3 (text) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/Makefile.in#8 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ @@ -38,7 +38,7 @@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/config/config.h.in \ - $(top_srcdir)/configure TODO config/config.guess \ + $(top_srcdir)/configure INSTALL NEWS TODO config/config.guess \ config/config.sub config/depcomp config/install-sh \ config/ltmain.sh config/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -116,6 +116,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -187,7 +188,8 @@ libbsm \ bin \ man \ - modules + modules \ + sys EXTRA_DIST = \ CHANGELOG \ ==== //depot/projects/vap/contrib/openbsm/README#3 (text) ==== @@ -1,4 +1,4 @@ -OpenBSM 1.0 +OpenBSM 1.1 alpha 1 Introduction @@ -16,12 +16,13 @@ OpenBSM consists of several directories: bin/ Audit-related command line tools - bsm/ System include files for BSM + bsm/ Library include files for BSM compat/ Compatibility code to build on various OS's etc/ Sample /etc/security configuration files libbsm/ Implementation of BSM library interfaces and man pages man/ System call and configuration file man pages modules/ Directory for auditfilterd module source + sys/ System include files for BSM test/ Test token sets and geneneration program tools/ Tool directory, including audump to dump databases @@ -34,66 +35,9 @@ audump Debugging tool to parse and print audit databases praudit Tool to print audit trails - Building + Build and Installation -OpenBSM is currently built using autoconf and automake, which should allow -for building on a range of operating systems, including FreeBSD, Mac OS X, -and Linux. Depending on the availability of audit facilities in the -underlying operating system, some components that depend on kernel audit -support are built conditionally. Typically, build will be performed using: - - ./configure - make - -To install, use: - - make install - -You may wish to specify that the OpenBSM components not be installed in the -base system, rather in a specific directory. This may be done using the ---prefix argument to configure. If installing to a specific directory, -remember to update your library path so that running tools from that -directory the correct libbsm is used: - - ./configure --prefix=/home/rwatson/openbsm - make - make install - LD_LIBRARY_PATH=/home/rwatson/openbsm/libbsm ; export LD_LIBRARY_PATH - -You will need to manually propagate openbsm/etc/* into /etc on your system; -this is not done automatically so as to avoid disrupting the current -configuration. Currently, the locations of these files is not configurable. - - Credits - -The following organizations and individuals have contributed substantially to -the development of OpenBSM: - - Apple Computer, Inc. - McAfee Research, McAfee, Inc. - SPARTA, Inc. - Robert Watson - Wayne Salamon - Suresh Krishnaswamy - Kevin Van Vechten - Tom Rhodes - Wojciech Koszek - Chunyang Yuan - Poul-Henning Kamp - Christian Brueffer - Olivier Houchard - Christian Peron - Martin Fong - Pawel Worach - Martin Englund - Ruslan Ermilov - Martin Voros - Diego Giagio - Alex Samorukov - -In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel -Software's FlexeLint tool were used to identify a number of bugs in the -OpenBSM implementation. +Please see the file INSTALL for build and installation instructions. Contributions @@ -111,4 +55,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#24 $ +$P4: //depot/projects/trustedbsd/openbsm/README#32 $ ==== //depot/projects/vap/contrib/openbsm/TODO#3 (text) ==== @@ -1,5 +1,5 @@ -- Teach libbsm about any additional 64-bit token types that are present - in more recent Solaris versions. +OpenBSM TODO + - Build a regression test suite for libbsm that generates each token type and then compares the results with known good data. Make sure to test that things work properly with respect to endianness of the local @@ -18,5 +18,7 @@ trailer context. - Put hostname in trail file name. - Document audit_warn event arguments. +- Allow the path /etc/security to be configured at configure-time so that + alternative locations can be used. -$P4: //depot/projects/trustedbsd/openbsm/TODO#9 $ +$P4: //depot/projects/trustedbsd/openbsm/TODO#11 $ ==== //depot/projects/vap/contrib/openbsm/VERSION#3 (text) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_0 +OPENBSM_1_1_ALPHA_2 ==== //depot/projects/vap/contrib/openbsm/bin/Makefile.in#3 (text) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/Makefile.in#8 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ @@ -104,6 +104,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ ==== //depot/projects/vap/contrib/openbsm/bin/audit/Makefile.am#3 (text) ==== @@ -1,10 +1,23 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#4 $ # -INCLUDES = -I$(top_srcdir) +if USE_NATIVE_INCLUDES +INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = audit -audit_SOURCES = audit.c audit_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = audit.8 + +if USE_MACH_IPC +audit_SOURCES = auditd_control_user.c audit.c +CLEANFILES = auditd_control_user.c auditd_control_user.h + +auditd_control_user.c: $(top_srcdir)/bin/auditd/auditd_control.defs + $(MIG) -user auditd_control_user.c -header auditd_control_user.h -server /dev/null -sheader /dev/null $(top_srcdir)/bin/auditd/auditd_control.defs +else +audit_SOURCES = audit.c +endif ==== //depot/projects/vap/contrib/openbsm/bin/audit/Makefile.in#3 (text) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#9 $ # VPATH = @srcdir@ @@ -49,7 +49,10 @@ am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(sbin_PROGRAMS) -am_audit_OBJECTS = audit.$(OBJEXT) +am__audit_SOURCES_DIST = audit.c auditd_control_user.c +@USE_MACH_IPC_FALSE@am_audit_OBJECTS = audit.$(OBJEXT) +@USE_MACH_IPC_TRUE@am_audit_OBJECTS = auditd_control_user.$(OBJEXT) \ +@USE_MACH_IPC_TRUE@ audit.$(OBJEXT) audit_OBJECTS = $(am_audit_OBJECTS) audit_DEPENDENCIES = $(top_builddir)/libbsm/libbsm.la DEFAULT_INCLUDES = -I. -I$(top_builddir)/config@am__isrc@ @@ -65,7 +68,7 @@ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(audit_SOURCES) -DIST_SOURCES = $(audit_SOURCES) +DIST_SOURCES = $(am__audit_SOURCES_DIST) man8dir = $(mandir)/man8 NROFF = nroff MANS = $(man8_MANS) @@ -113,6 +116,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -179,10 +183,13 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) -audit_SOURCES = audit.c +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) audit_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = audit.8 +@USE_MACH_IPC_FALSE@audit_SOURCES = audit.c +@USE_MACH_IPC_TRUE@audit_SOURCES = auditd_control_user.c audit.c +@USE_MACH_IPC_TRUE@CLEANFILES = auditd_control_user.c auditd_control_user.h all: all-am .SUFFIXES: @@ -255,6 +262,7 @@ -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auditd_control_user.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -426,6 +434,7 @@ mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -511,6 +520,9 @@ tags uninstall uninstall-am uninstall-man uninstall-man8 \ uninstall-sbinPROGRAMS + +@USE_MACH_IPC_TRUE@auditd_control_user.c: $(top_srcdir)/bin/auditd/auditd_control.defs +@USE_MACH_IPC_TRUE@ $(MIG) -user auditd_control_user.c -header auditd_control_user.h -server /dev/null -sheader /dev/null $(top_srcdir)/bin/auditd/auditd_control.defs # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ==== //depot/projects/vap/contrib/openbsm/bin/audit/audit.8#3 (text) ==== @@ -1,4 +1,4 @@ -.\" Copyright (c) 2004 Apple Computer, Inc. +.\" Copyright (c) 2004 Apple Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -10,7 +10,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of +.\" 3. Neither the name of Apple Inc. ("Apple") nor the names of .\" its contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" @@ -25,7 +25,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. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#10 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#11 $ .\" .Dd October 2, 2006 .Dt AUDIT 8 ==== //depot/projects/vap/contrib/openbsm/bin/audit/audit.c#3 (text) ==== @@ -1,5 +1,5 @@ -/* - * Copyright (c) 2005 Apple Computer, Inc. +/*- + * Copyright (c) 2005-2008 Apple Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -11,7 +11,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * 3. Neither the name of Apple Inc. ("Apple") nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * @@ -26,7 +26,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. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#8 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#11 $ */ /* * Program to trigger the audit daemon with a message that is either: @@ -37,7 +37,12 @@ */ #include +#include +#ifdef HAVE_FULL_QUEUE_H #include +#else /* !HAVE_FULL_QUEUE_H */ +#include +#endif /* !HAVE_FULL_QUEUE_H */ #include #include @@ -47,6 +52,58 @@ #include #include + +static int send_trigger(unsigned int); + +#ifdef USE_MACH_IPC +#include +#include +#include +#include +#include +#include +#include + +#include "auditd_control_user.h" + +static int +send_trigger(unsigned int trigger) +{ + mach_port_t serverPort; + kern_return_t error; + + error = host_get_audit_control_port(mach_host_self(), &serverPort); + if (error != KERN_SUCCESS) { + mach_error("Cannot get auditd_control Mach port: ", error); + return (-1); + } + + error = auditd_control(serverPort, trigger); + if (error != KERN_SUCCESS) { + mach_error("Error sending trigger: ", error); + return (-1); + } + + return (0); +} + +#else /* ! USE_MACH_IPC */ + +static int +send_trigger(unsigned int trigger) +{ + int error; + + error = auditon(A_SENDTRIGGER, &trigger, sizeof(trigger)); + if (error != 0) { + perror("Error sending trigger"); + return (-1); + } + + return (0); +} +#endif /* ! USE_MACH_IPC */ + static void usage(void) { @@ -88,11 +145,9 @@ break; } } - if (auditon(A_SENDTRIGGER, &trigger, sizeof(trigger)) < 0) { - perror("Error sending trigger"); + if (send_trigger(trigger) < 0) exit(-1); - } else { - printf("Trigger sent.\n"); - exit (0); - } + + printf("Trigger sent.\n"); + exit (0); } ==== //depot/projects/vap/contrib/openbsm/bin/auditd/Makefile.am#3 (text) ==== @@ -1,10 +1,26 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#4 $ # -INCLUDES = -I$(top_srcdir) +if USE_NATIVE_INCLUDES +INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = auditd -auditd_SOURCES = audit_warn.c auditd.c auditd_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = auditd.8 + +if USE_MACH_IPC +auditd_SOURCES = auditd_control_server.c audit_triggers_server.c audit_warn.c auditd.c +CLEANFILES = auditd_control_server.c auditd_control_server.h audit_triggers_server.c audit_triggers_server.h + +auditd_control_server.c: auditd_control.defs + $(MIG) -user /dev/null -header /dev/null -server auditd_control_server.c -sheader auditd_control_server.h $(top_srcdir)/bin/auditd/auditd_control.defs + +audit_triggers_server.c: audit_triggers.defs + $(MIG) -user /dev/null -header /dev/null -server audit_triggers_server.c -sheader audit_triggers_server.h $(top_srcdir)/bin/auditd/audit_triggers.defs +else +auditd_SOURCES = audit_warn.c auditd.c +endif ==== //depot/projects/vap/contrib/openbsm/bin/auditd/Makefile.in#3 (text) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#9 $ # VPATH = @srcdir@ @@ -49,7 +49,14 @@ am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(sbin_PROGRAMS) -am_auditd_OBJECTS = audit_warn.$(OBJEXT) auditd.$(OBJEXT) +am__auditd_SOURCES_DIST = audit_warn.c auditd.c \ + auditd_control_server.c audit_triggers_server.c +@USE_MACH_IPC_FALSE@am_auditd_OBJECTS = audit_warn.$(OBJEXT) \ +@USE_MACH_IPC_FALSE@ auditd.$(OBJEXT) +@USE_MACH_IPC_TRUE@am_auditd_OBJECTS = \ +@USE_MACH_IPC_TRUE@ auditd_control_server.$(OBJEXT) \ +@USE_MACH_IPC_TRUE@ audit_triggers_server.$(OBJEXT) \ +@USE_MACH_IPC_TRUE@ audit_warn.$(OBJEXT) auditd.$(OBJEXT) auditd_OBJECTS = $(am_auditd_OBJECTS) auditd_DEPENDENCIES = $(top_builddir)/libbsm/libbsm.la DEFAULT_INCLUDES = -I. -I$(top_builddir)/config@am__isrc@ @@ -65,7 +72,7 @@ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From pgj at FreeBSD.org Sat Dec 6 15:40:47 2008 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Dec 6 15:40:53 2008 Subject: PERFORCE change 154224 for review Message-ID: <200812062340.mB6NeePP031725@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=154224 Change 154224 by pgj@kolbasz on 2008/12/06 23:40:10 Add Hungarian translation of chapter "Stylesheets" from FDP Primer Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/fdp-primer/stylesheets/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/fdp-primer/stylesheets/chapter.sgml#2 (text+ko) ==== @@ -31,57 +31,83 @@ --> - * Stylesheets - - SGML says nothing about how a document should be displayed to the - user, or rendered on paper. To do that, various languages have been - developed to describe stylesheets, including DynaText, Panorama, SPICE, - JSSS, FOSI, CSS, and DSSSL. - - For DocBook, we are using stylesheets written in DSSSL. For HTML we - are using CSS. + * Stíluslapok + + Az SGML szabvány nem rendelkezik arról, hogy a + dokumentumokat milyen módon kell megjeleníteni a + felhasználónak vagy miként kell papírra + vetni. Ennek megvalósításához több + különbözõ nyelvet hoztak létre + stílusleírások + készítéséhez, ilyen + például a DynaText, a Panorama, a SPICE, a JSSS, a + FOSI, a CSS és a DSSSL. + + A stíluslapok DocBook esetében a DSSSL, míg + a HTML esetén a CSS szabályai szerint + készülnek. * DSSSL - - The Documentation Project uses a slightly customized version of - Norm Walsh's modular DocBook stylesheets. - - These can be found in - textproc/dsssl-docbook-modular. + + A Dokumentációs Projekt Norm Walsh eredeti + moduláris DocBook stíluslapjainak némileg + módosított változatát + használja. + + A moduláris stíluslapok a text