PERFORCE change 164951 for review

Marko Zec zec at FreeBSD.org
Tue Jun 23 11:01:07 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=164951

Change 164951 by zec at zec_amdx4 on 2009/06/23 11:00:18

	IFC @ 164949

Affected files ...

.. //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA.hints#4 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#5 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/files.avila#3 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425reg.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425var.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#16 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#16 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#16 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#17 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#16 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/ndis/kern_ndis.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_ndis.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_usbd.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/NOTES#32 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files#45 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files.powerpc#16 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/options#35 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-usb.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#20 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/firewire/fwdev.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#17 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_pccard.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_pci.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_usb.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/pci/pci.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/sound/usb/uaudio.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci_atmelarm.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci_atmelarm.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/avr32dci.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci.c#13 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_ixp4xx.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_mbus.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_pci.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg_atmelarm.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci_atmelarm.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci_pci.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci_pci.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/usb_controller.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci_atmelarm.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/input/uhid.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/input/ukbd.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/input/ums.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/misc/udbp.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/misc/ufm.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_aue.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_axe.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cdce.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cue.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_kue.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_rue.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_udav.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/net/usb_ethernet.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/quirk/usb_quirk.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/u3g.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uark.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ubsa.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ubser.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uchcom.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ucycom.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ufoma.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uftdi.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ugensa.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uipaq.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ulpt.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umct.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umodem.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umoscom.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uplcom.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/usb_serial.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uslcom.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uvisor.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uvscom.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/urio.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/ustorage_fs.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_cdce.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_msc.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_mtp.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb.h#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_busdma.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_busdma.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_compat_linux.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_compat_linux.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_controller.h#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_core.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_core.h#14 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_debug.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_debug.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_defs.h#4 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dev.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dev.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.h#14 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_error.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_error.h#3 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_freebsd.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_generic.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.h#3 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hid.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hid.h#8 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hub.c#14 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_ioctl.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_lookup.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_lookup.h#6 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mbuf.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mbuf.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mfunc.h#3 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_msctest.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_parse.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_parse.h#5 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_process.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_process.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_revision.h#6 delete
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_util.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_util.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usbhid.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rum.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uath.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_upgt.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_ural.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_urtw.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zyd.c#13 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/init_sysent.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/makesyscalls.sh#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/syscalls.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/syscalls.master#8 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_mbuf.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_sockbuf.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#25 integrate
.. //depot/projects/vimage-commit2/src/sys/libkern/iconv_converter_if.m#3 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/netgraph/Makefile#5 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/netgraph/pipe/Makefile#1 branch
.. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/net/flowtable.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#46 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#33 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_usrreq.c#21 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#36 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/conf/GENERIC#12 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/conf/NOTES#6 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/cpufreq/pcr.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/powerpc/include/spr.h#9 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/powermac/smu.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/sys/cpuset.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/mbuf.h#13 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/param.h#47 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/socketvar.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/syscall.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/syscall.mk#8 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/sysproto.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#77 integrate

Differences ...

==== //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA.hints#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.7 2009/04/21 22:48:12 stas Exp $
+# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.8 2009/06/22 22:46:37 sam Exp $
 
 #
 # Device wiring for the Gateworks Avila 2384.
@@ -9,10 +9,12 @@
 hint.uart.0.addr=0xc8000000
 hint.uart.0.irq=15
 hint.uart.0.flags=0x10
+hint.uart.0.ier_rxbits=0x5d	# NB: need UUE+RTOIE
 # USART0 is unit 1
 hint.uart.1.at="ixp0"
 hint.uart.1.addr=0xc8001000
 hint.uart.1.irq=13
+hint.uart.1.ier_rxbits=0x5d	# NB: need UUE+RTOIE
 
 # NPE Hardware Queue Manager
 hint.ixpqmgr.0.at="ixp0"

==== //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $
+# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.9 2009/06/22 23:22:38 sam Exp $
 
 #
 # Device wiring for the Gateworks Cambria 2358.
@@ -9,8 +9,21 @@
 hint.uart.0.addr=0xc8000000
 hint.uart.0.irq=15
 hint.uart.0.flags=0x10
+hint.uart.0.ier_rxbits=0x5d	# NB: need UUE+RTOIE
+
+# NB: no UART1 on ixp435
 
-# NB: no UART1 on ixp436
+# optional GPS serial port
+hint.uart.1.at="ixp0"
+hint.uart.1.addr=0x53fc0000
+hint.uart.1.irq=20
+hint.uart.1.ier_rxbits=0x1
+hint.uart.1.rclk=1843200
+# optional RS485 serial port
+hint.uart.2.at="ixp0"
+hint.uart.2.addr=0x53f80000
+hint.uart.2.irq=21
+hint.uart.2.rclk=1843200
 
 # NPE Hardware Queue Manager
 hint.ixpqmgr.0.at="ixp0"

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#4 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.7 2009/06/12 00:07:09 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.8 2009/06/22 20:38:55 sam Exp $");
 
 /*
  * Compact Flash Support for the Avila Gateworks XScale boards.
@@ -218,16 +218,7 @@
 	rman_set_bustag(&sc->sc_alt_ata, &sc->sc_expbus_tag);
 	rman_set_bushandle(&sc->sc_alt_ata, sc->sc_alt_ioh);
 
-	GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPOER, 
-	    GPIO_CONF_READ_4(sa, IXP425_GPIO_GPOER) | (1<<config->gpin));
-	/* set interrupt type */
-	GPIO_CONF_WRITE_4(sa, GPIO_TYPE_REG(config->gpin),
-	    (GPIO_CONF_READ_4(sa, GPIO_TYPE_REG(config->gpin)) &~
-	     GPIO_TYPE(config->gpin, GPIO_TYPE_MASK)) |
-	     GPIO_TYPE(config->gpin, GPIO_TYPE_EDG_RISING));
-
-	/* clear ISR */
-	GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPISR, (1<<config->gpin));
+	ixp425_set_gpio(sa, config->gpin, GPIO_TYPE_EDG_RISING);
 
 	/* configure CS1/3 window, leaving timing unchanged */
 	EXP_BUS_WRITE_4(sc, sc->sc_16bit_off,

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#7 (text+ko) ====

@@ -48,7 +48,7 @@
 #include "opt_msgbuf.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.18 2009/03/10 21:47:17 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.19 2009/06/22 20:41:02 sam Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -183,14 +183,9 @@
     { IXP425_IO_VBASE, IXP425_IO_HWBASE, IXP425_IO_SIZE,
       VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
 
-	/* Expansion Bus */
     { IXP425_EXP_VBASE, IXP425_EXP_HWBASE, IXP425_EXP_SIZE,
       VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
 
-	/* CFI Flash on the Expansion Bus */
-    { IXP425_EXP_BUS_CS0_VBASE, IXP425_EXP_BUS_CS0_HWBASE,
-      IXP425_EXP_BUS_CS0_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
-
 	/* IXP425 PCI Configuration */
     { IXP425_PCI_VBASE, IXP425_PCI_HWBASE, IXP425_PCI_SIZE,
       VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
@@ -207,6 +202,10 @@
     { IXP425_QMGR_VBASE, IXP425_QMGR_HWBASE, IXP425_QMGR_SIZE,
       VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
 
+	/* CFI Flash on the Expansion Bus */
+    { IXP425_EXP_BUS_CS0_VBASE, IXP425_EXP_BUS_CS0_HWBASE,
+      IXP425_EXP_BUS_CS0_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, },
@@ -214,6 +213,14 @@
     { IXP435_USB2_VBASE, IXP435_USB2_HWBASE, IXP435_USB2_SIZE,
       VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
 
+	/* GPS Memory Space */
+    { CAMBRIA_GPS_VBASE, CAMBRIA_GPS_HWBASE, CAMBRIA_GPS_SIZE,
+      VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
+
+	/* RS485 Memory Space */
+    { CAMBRIA_RS485_VBASE, CAMBRIA_RS485_HWBASE, CAMBRIA_RS485_SIZE,
+      VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, },
+
     { 0 }
 };
 
@@ -456,8 +463,8 @@
 	phys_avail[i++] = PHYSADDR;
 	phys_avail[i++] = PHYSADDR + PAGE_SIZE; 	/*
 					 *XXX: Gross hack to get our
-					 * pages in the vm_page_array
-					 . */
+					 * pages in the vm_page_array.
+					 */
 #endif
 	phys_avail[i++] = round_page(virtual_avail - KERNBASE + PHYSADDR);
 	phys_avail[i++] = trunc_page(PHYSADDR + memsize - 1);

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/files.avila#3 (text+ko) ====

@@ -1,7 +1,8 @@
-#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.5 2008/12/20 03:26:09 sam Exp $
+#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.6 2009/06/22 22:54:13 sam Exp $
 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_exp_space.c	standard
+arm/xscale/ixp425/cambria_fled.c	optional cambria_fled
 arm/xscale/ixp425/cambria_led.c		optional cambria_led
-arm/xscale/ixp425/cambria_fled.c	optional cambria_fled
 arm/xscale/ixp425/ixdp425_pci.c		optional pci

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#8 (text+ko) ====

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.20 2009/06/17 02:51:16 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.29 2009/06/22 22:54:13 sam Exp $");
 
 #include "opt_ddb.h"
 
@@ -113,7 +113,7 @@
 	0xff, 0xff				/* INT#30 -> INT#31 */
 };
 
-static __inline u_int32_t
+static __inline uint32_t
 ixp425_irq2gpio_bit(int irq)
 {
 	return (1U << int2gpio[irq]);
@@ -139,8 +139,8 @@
 	uint32_t gpit2r = GPIO_CONF_READ_4(ixp425_softc, IXP425_GPIO_GPIT2R);
 	int i, j;
 
-	db_printf("GPOUTR %08x GPOER  %08x GPINR  %08x GPISR %08x\n",
-	   gpoutr, gpoer, gpinr,
+	db_printf("GPOUTR %08x GPINR  %08x GPOER  %08x GPISR %08x\n",
+	   gpoutr, gpinr, gpoer,
 	   GPIO_CONF_READ_4(ixp425_softc, IXP425_GPIO_GPISR));
 	db_printf("GPIT1R %08x GPIT2R %08x GPCLKR %08x\n",
 	   gpit1r, gpit2r, GPIO_CONF_READ_4(ixp425_softc, IXP425_GPIO_GPCLKR));
@@ -160,10 +160,44 @@
 #endif
 
 void
+ixp425_set_gpio(struct ixp425_softc *sc, int pin, int type)
+{
+	uint32_t gpiotr = GPIO_CONF_READ_4(sc, GPIO_TYPE_REG(pin));
+
+	/* clear interrupt type */
+	GPIO_CONF_WRITE_4(sc, GPIO_TYPE_REG(pin),
+	    gpiotr &~ GPIO_TYPE(pin, GPIO_TYPE_MASK));
+	/* clear any pending interrupt */
+	GPIO_CONF_WRITE_4(sc, IXP425_GPIO_GPISR, (1<<pin));
+	/* set new interrupt type */
+	GPIO_CONF_WRITE_4(sc, GPIO_TYPE_REG(pin),
+	    gpiotr | GPIO_TYPE(pin, type));
+
+	/* configure gpio line as an input */
+	GPIO_CONF_WRITE_4(sc, IXP425_GPIO_GPOER, 
+	    GPIO_CONF_READ_4(sc, IXP425_GPIO_GPOER) | (1<<pin));
+}
+
+static __inline void
+ixp425_gpio_ack(int irq)
+{
+	if (irq < 32 && ((1 << irq) & IXP425_INT_GPIOMASK))
+		IXPREG(IXP425_GPIO_VBASE + IXP425_GPIO_GPISR) =
+		    ixp425_irq2gpio_bit(irq);
+}
+
+static void
+ixp425_post_filter(void *arg)
+{
+	uintptr_t irq = (uintptr_t) arg;
+	ixp425_gpio_ack(irq);
+}
+
+void
 arm_mask_irq(uintptr_t nb)
 {
 	int i;
-	
+
 	i = disable_interrupts(I32_bit);
 	if (nb < 32) {
 		intr_enabled &= ~(1 << nb);
@@ -174,16 +208,14 @@
 	}
 	restore_interrupts(i);
 	/*XXX; If it's a GPIO interrupt, ACK it know. Can it be a problem ?*/
-	if (nb < 32 && ((1 << nb) & IXP425_INT_GPIOMASK))
-		IXPREG(IXP425_GPIO_VBASE + IXP425_GPIO_GPISR) =
-		    ixp425_irq2gpio_bit(nb);
+	ixp425_gpio_ack(nb);
 }
 
 void
 arm_unmask_irq(uintptr_t nb)
 {
 	int i;
-	
+
 	i = disable_interrupts(I32_bit);
 	if (nb < 32) {
 		intr_enabled |= (1 << nb);
@@ -208,15 +240,27 @@
 }
 
 int
-arm_get_next_irq(int last __unused)
+arm_get_next_irq(int last)
 {
-	uint32_t irq;
+	uint32_t mask;
 
-	if ((irq = ixp425_irq_read()))
-		return (ffs(irq) - 1);
-	if (cpu_is_ixp43x() && (irq = ixp435_irq_read()))
-		return (32 + ffs(irq) - 1);
-	return (-1);
+	last += 1;		/* always advance fwd, NB: handles -1 */
+	if (last < 32) {
+		mask = ixp425_irq_read() >> last;
+		for (; mask != 0; mask >>= 1, last += 1) {
+			if (mask & 1)
+				return last;
+		}
+		last = 32;
+	}
+	if (cpu_is_ixp43x()) {
+		mask = ixp435_irq_read() >> (32-last);
+		for (; mask != 0; mask >>= 1, last++) {
+			if (mask & 1)
+				return last;
+		}
+	}
+	return -1;
 }
 
 void
@@ -267,7 +311,19 @@
 		ixp435_set_intrmask();
 		ixp435_set_intrsteer();
 	}
+	arm_post_filter = ixp425_post_filter;
+
+	if (bus_space_map(sc->sc_iot, IXP425_GPIO_HWBASE, IXP425_GPIO_SIZE,
+	    0, &sc->sc_gpio_ioh))
+		panic("%s: unable to map GPIO registers", __func__);
+	if (bus_space_map(sc->sc_iot, IXP425_EXP_HWBASE, IXP425_EXP_SIZE,
+	    0, &sc->sc_exp_ioh))
+		panic("%s: unable to map Expansion Bus registers", __func__);
 
+	/* XXX belongs in platform init */
+	if (cpu_is_ixp43x())
+		cambria_exp_bus_init(sc);
+
 	if (bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
 	    BUS_SPACE_MAXADDR, NULL, NULL,  0xffffffff, 0xff, 0xffffffff, 0, 
 	    NULL, NULL, &sc->sc_dmat))
@@ -294,13 +350,6 @@
 	/* attach wired devices via hints */
 	bus_enumerate_hinted_children(dev);
 
-	if (bus_space_map(sc->sc_iot, IXP425_GPIO_HWBASE, IXP425_GPIO_SIZE,
-	    0, &sc->sc_gpio_ioh))
-		panic("%s: unable to map GPIO registers", __func__);
-	if (bus_space_map(sc->sc_iot, IXP425_EXP_HWBASE, IXP425_EXP_SIZE,
-	    0, &sc->sc_exp_ioh))
-		panic("%s: unable to map Expansion Bus registers", __func__);
-
 	bus_generic_probe(dev);
 	bus_generic_attach(dev);
 
@@ -375,6 +424,7 @@
 	uint32_t	size;
 	uint32_t	vbase;
 	int		isa4x;	/* XXX needs special bus space tag */
+	int		isslow;	/* XXX needs special bus space tag */
 };
 
 static const struct hwvtrans *
@@ -406,16 +456,14 @@
 	    { .hwbase	= IXP435_USB2_HWBASE,
 	      .size 	= IXP435_USB2_SIZE,
 	      .vbase	= IXP435_USB2_VBASE },
-#ifdef CAMBRIA_GPS_VBASE
 	    { .hwbase	= CAMBRIA_GPS_HWBASE,
 	      .size 	= CAMBRIA_GPS_SIZE,
-	      .vbase	= CAMBRIA_GPS_VBASE },
-#endif
-#ifdef CAMBRIA_RS485_VBASE
+	      .vbase	= CAMBRIA_GPS_VBASE,
+	      .isslow	= 1 },
 	    { .hwbase	= CAMBRIA_RS485_HWBASE,
 	      .size 	= CAMBRIA_RS485_SIZE,
-	      .vbase	= CAMBRIA_RS485_VBASE },
-#endif
+	      .vbase	= CAMBRIA_RS485_VBASE,
+	      .isslow	= 1 },
 	};
 	int i;
 
@@ -481,7 +529,8 @@
 					device_printf(child,
 					    "%s: assign 0x%lx:0x%lx%s\n",
 					    __func__, start, end - start,
-					    vtrans->isa4x ? " A4X" : "");
+					    vtrans->isa4x ? " A4X" : 
+					    vtrans->isslow ? " SLOW" : "");
 			}
 		} else
 			vtrans = gethwvtrans(start, end - start);
@@ -537,6 +586,8 @@
 		}
 		if (vtrans->isa4x)
 			rman_set_bustag(r, &ixp425_a4x_bs_tag);
+		else if (vtrans->isslow)
+			rman_set_bustag(r, &cambria_exp_bs_tag);
 		else
 			rman_set_bustag(r, sc->sc_iot);
 		rman_set_bushandle(r, vtrans->vbase);

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425reg.h#4 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.7 2009/03/10 21:49:22 sam Exp $
+ * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.8 2009/06/22 20:41:02 sam Exp $
  *
  */
 
@@ -88,10 +88,10 @@
  *           SDRAM/DDR Memory Controller
  * F020 0000 --------------------------- IXP425_MCU_VBASE
  *
- *           EHCI USB 2 (IXP435)
- * F001 D000 --------------------------- IXP435_USB2_VBASE
- *           EHCI USB 1 (IXP435)
- * F001 C000 --------------------------- IXP435_USB1_VBASE
+ * F001 F000 RS485 (Cambria)		 CAMBRIA_RS485_VBASE
+ * F001 E000 GPS (Cambria)		 CAMBRIA_GPS_VBASE
+ * F001 D000 EHCI USB 2 (IXP435)	 IXP435_USB2_VBASE
+ * F001 C000 EHCI USB 1 (IXP435)	 IXP435_USB1_VBASE
  *           Queue manager
  * F001 8000 --------------------------- IXP425_QMGR_VBASE
  *           PCI Configuration and Status
@@ -686,10 +686,22 @@
 /*
  * IXP435/Gateworks Cambria
  */
+#define IXP435_USB1_HWBASE	0xCD000000UL	/* USB host controller 1 */
+#define IXP435_USB1_VBASE	0xF001C000UL
+#define IXP435_USB1_SIZE	0x1000		/* NB: only uses 0x300 */
+
+#define IXP435_USB2_HWBASE	0xCE000000UL	/* USB host controller 2 */
+#define IXP435_USB2_VBASE	0xF001D000UL
+#define IXP435_USB2_SIZE	0x1000		/* NB: only uses 0x300 */
+
 #define	CAMBRIA_GPS_HWBASE	0x53FC0000UL	/* optional GPS Serial Port */
-#define	CAMBRIA_GPS_SIZE	0x40000
+#define	CAMBRIA_GPS_VBASE	0xF001E000UL
+#define	CAMBRIA_GPS_SIZE	0x1000
 #define	CAMBRIA_RS485_HWBASE	0x53F80000UL	/* optional RS485 Serial Port */
-#define	CAMBRIA_RS485_SIZE	0x40000
+#define	CAMBRIA_RS485_VBASE	0xF001F000UL
+#define	CAMBRIA_RS485_SIZE	0x1000
+
+/* NB: these are mapped on the fly, so no fixed virtual addresses */
 #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 */
@@ -697,12 +709,4 @@
 #define	CAMBRIA_CFSEL0_HWBASE	0x53E00000UL	/* Compact Flash Socket Sel 1 */
 #define	CAMBRIA_CFSEL0_SIZE	0x40000
 
-#define IXP435_USB1_HWBASE	0xcd000000UL	/* USB host controller 1 */
-#define IXP435_USB1_VBASE	0xf001C000UL
-#define IXP435_USB1_SIZE	0x1000		/* NB: only uses 0x300 */
-
-#define IXP435_USB2_HWBASE	0xce000000UL	/* USB host controller 2 */
-#define IXP435_USB2_VBASE	0xf001D000UL
-#define IXP435_USB2_SIZE	0x1000		/* NB: only uses 0x300 */
-
 #endif /* _IXP425REG_H_ */

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425var.h#4 (text+ko) ====

@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.7 2009/06/17 02:51:16 sam Exp $
+ * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.9 2009/06/22 22:54:13 sam Exp $
  *
  */
 
@@ -65,6 +65,8 @@
 	bus_dma_tag_t sc_dmat;
 };
 
+void	ixp425_set_gpio(struct ixp425_softc *sc, int pin, int type);
+
 struct ixppcib_softc {
 	device_t                sc_dev;
 	
@@ -95,6 +97,9 @@
 extern struct bus_space ixp425_bs_tag;
 extern struct bus_space ixp425_a4x_bs_tag;
 
+extern struct bus_space cambria_exp_bs_tag;
+void	cambria_exp_bus_init(struct ixp425_softc *);
+
 void	ixp425_io_bs_init(bus_space_tag_t, void *);
 void	ixp425_mem_bs_init(bus_space_tag_t, void *);
 

==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.3 2007/05/29 18:10:42 jhay Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.4 2009/06/22 22:46:37 sam Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -68,29 +68,15 @@
 uart_ixp425_probe(device_t dev)
 {
 	struct uart_softc *sc;
+	int unit = device_get_unit(dev);
+	u_int rclk;
 
 	sc = device_get_softc(dev);
 	sc->sc_class = &uart_ns8250_class;
-	sc->sc_rrid = 0;
-	sc->sc_rtype = SYS_RES_MEMORY;
-	sc->sc_rres = bus_alloc_resource(dev, sc->sc_rtype, &sc->sc_rrid,
-	    0, ~0, uart_getrange(sc->sc_class), RF_ACTIVE);
-	if (sc->sc_rres == NULL) {
-		return (ENXIO);
-	}
-	sc->sc_bas.bsh = rman_get_bushandle(sc->sc_rres);
-	sc->sc_bas.bst = rman_get_bustag(sc->sc_rres);
-	/*
-	 * XXX set UART Unit Enable (0x40) AND
-	 *     receiver timeout int enable (0x10).
-	 * The first turns on the UART.  The second is necessary to get
-	 * interrupts when the FIFO has data but is not full.  Note that
-	 * uart_ns8250 carefully avoids touching these bits so we can
-	 * just set them here and proceed.  But this is fragile...
-	 */
-	bus_space_write_4(sc->sc_bas.bst, sc->sc_bas.bsh, IXP425_UART_IER,
-	    IXP425_UART_IER_UUE | IXP425_UART_IER_RTOIE);
-	bus_release_resource(dev, sc->sc_rtype, sc->sc_rrid, sc->sc_rres);
+	if (resource_int_value("uart", unit, "rclk", &rclk))
+		rclk = IXP425_UART_FREQ;
+	if (bootverbose)
+		device_printf(dev, "rclk %u\n", rclk);
 
-	return uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0);
+	return uart_bus_probe(dev, 0, rclk, 0, 0);
 }

==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#16 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.103 2009/06/17 19:53:47 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.104 2009/06/22 20:24:03 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_
@@ -683,15 +683,24 @@
 #endif /* COMPAT_FREEBSD6 */
 
 #define	FREEBSD32_SYS_AUE_freebsd32_wait4	AUE_WAIT4
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat	AUE_GETFSSTAT
 #define	FREEBSD32_SYS_AUE_freebsd32_recvmsg	AUE_RECVMSG
 #define	FREEBSD32_SYS_AUE_freebsd32_sendmsg	AUE_SENDMSG
 #define	FREEBSD32_SYS_AUE_freebsd32_recvfrom	AUE_RECVFROM
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigaction	AUE_SIGACTION
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigprocmask	AUE_SIGPROCMASK
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigpending	AUE_SIGPENDING
 #define	FREEBSD32_SYS_AUE_freebsd32_sigaltstack	AUE_SIGALTSTACK
 #define	FREEBSD32_SYS_AUE_freebsd32_ioctl	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_execve	AUE_EXECVE
 #define	FREEBSD32_SYS_AUE_freebsd32_setitimer	AUE_SETITIMER
 #define	FREEBSD32_SYS_AUE_freebsd32_getitimer	AUE_GETITIMER
 #define	FREEBSD32_SYS_AUE_freebsd32_select	AUE_SELECT
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigvec	AUE_O_SIGVEC
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigblock	AUE_O_SIGBLOCK
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigsetmask	AUE_O_SIGSETMASK
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigsuspend	AUE_SIGSUSPEND
+#define	FREEBSD32_SYS_AUE_ofreebsd32_sigstack	AUE_O_SIGSTACK
 #define	FREEBSD32_SYS_AUE_freebsd32_gettimeofday	AUE_GETTIMEOFDAY
 #define	FREEBSD32_SYS_AUE_freebsd32_getrusage	AUE_GETRUSAGE
 #define	FREEBSD32_SYS_AUE_freebsd32_readv	AUE_READV
@@ -699,14 +708,22 @@
 #define	FREEBSD32_SYS_AUE_freebsd32_settimeofday	AUE_SETTIMEOFDAY
 #define	FREEBSD32_SYS_AUE_freebsd32_utimes	AUE_UTIMES
 #define	FREEBSD32_SYS_AUE_freebsd32_adjtime	AUE_ADJTIME
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_statfs	AUE_STATFS
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_fstatfs	AUE_FSTATFS
 #define	FREEBSD32_SYS_AUE_freebsd32_sysarch	AUE_SYSARCH
 #define	FREEBSD32_SYS_AUE_freebsd32_semsys	AUE_SEMSYS
 #define	FREEBSD32_SYS_AUE_freebsd32_msgsys	AUE_MSGSYS
 #define	FREEBSD32_SYS_AUE_freebsd32_shmsys	AUE_SHMSYS
+#define	FREEBSD32_SYS_AUE_freebsd6_freebsd32_pread	AUE_PREAD
+#define	FREEBSD32_SYS_AUE_freebsd6_freebsd32_pwrite	AUE_PWRITE
 #define	FREEBSD32_SYS_AUE_freebsd32_stat	AUE_STAT
 #define	FREEBSD32_SYS_AUE_freebsd32_fstat	AUE_FSTAT
 #define	FREEBSD32_SYS_AUE_freebsd32_lstat	AUE_LSTAT
 #define	FREEBSD32_SYS_AUE_freebsd32_getdirentries	AUE_GETDIRENTRIES
+#define	FREEBSD32_SYS_AUE_freebsd6_freebsd32_mmap	AUE_MMAP
+#define	FREEBSD32_SYS_AUE_freebsd6_freebsd32_lseek	AUE_LSEEK
+#define	FREEBSD32_SYS_AUE_freebsd6_freebsd32_truncate	AUE_TRUNCATE
+#define	FREEBSD32_SYS_AUE_freebsd6_freebsd32_ftruncate	AUE_FTRUNCATE
 #define	FREEBSD32_SYS_AUE_freebsd32_sysctl	AUE_SYSCTL
 #define	FREEBSD32_SYS_AUE_freebsd32_futimes	AUE_FUTIMES
 #define	FREEBSD32_SYS_AUE_freebsd32_semctl	AUE_SEMCTL
@@ -724,6 +741,7 @@
 #define	FREEBSD32_SYS_AUE_freebsd32_lutimes	AUE_LUTIMES
 #define	FREEBSD32_SYS_AUE_freebsd32_preadv	AUE_PREADV
 #define	FREEBSD32_SYS_AUE_freebsd32_pwritev	AUE_PWRITEV
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_fhstatfs	AUE_FHSTATFS
 #define	FREEBSD32_SYS_AUE_freebsd32_modstat	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_aio_return	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_aio_suspend	AUE_NULL
@@ -732,7 +750,10 @@
 #define	FREEBSD32_SYS_AUE_freebsd32_oaio_read	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_oaio_write	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_olio_listio	AUE_NULL
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_sendfile	AUE_SENDFILE
 #define	FREEBSD32_SYS_AUE_freebsd32_jail	AUE_JAIL
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_sigaction	AUE_SIGACTION
+#define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_sigreturn	AUE_SIGRETURN
 #define	FREEBSD32_SYS_AUE_freebsd32_sigtimedwait	AUE_SIGWAIT
 #define	FREEBSD32_SYS_AUE_freebsd32_sigwaitinfo	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_aio_waitcomplete	AUE_NULL

==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#16 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.102 2009/06/17 19:53:47 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.103 2009/06/22 20:24:03 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb 
  */
 
 #define	FREEBSD32_SYS_syscall	0

==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#16 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.93 2009/06/17 19:53:47 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.94 2009/06/22 20:24:03 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb 
  */
 
 const char *freebsd32_syscallnames[] = {

==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#17 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.104 2009/06/17 19:53:47 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.105 2009/06/22 20:24:03 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb 
  */
 
 #include "opt_compat.h"

==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#16 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.118 2009/06/17 19:50:38 jhb Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.119 2009/06/22 20:12:40 jhb Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -27,7 +27,7 @@
 ;	STD	always included
 ;	COMPAT	included on COMPAT #ifdef
 ;	COMPAT4	included on COMPAT4 #ifdef (FreeBSD 4 compat)
-;	COMPAT6	included on COMPAT4 #ifdef (FreeBSD 6 compat)
+;	COMPAT6	included on COMPAT6 #ifdef (FreeBSD 6 compat)
 ;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
 ;	OBSOL	obsolete, not included in system, only specifies name
 ;	UNIMPL	not implemented, placeholder only

==== //depot/projects/vimage-commit2/src/sys/compat/ndis/kern_ndis.c#7 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.104 2009/05/24 18:35:53 antoine Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.105 2009/06/23 02:19:59 thompsa Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -66,7 +66,7 @@
 #include <net80211/ieee80211_ioctl.h>
 
 #include <dev/usb/usb.h>
-#include <dev/usb/usb_core.h>
+#include <dev/usb/usbdi.h>
 
 #include <compat/ndis/pe_var.h>
 #include <compat/ndis/cfg_var.h>

==== //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_ndis.c#8 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.119 2009/05/14 09:28:02 brueffer Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.120 2009/06/23 02:19:59 thompsa Exp $");
 
 /*
  * This file implements a translation layer between the BSD networking
@@ -96,7 +96,7 @@
 #include <dev/pci/pcireg.h>
 #include <dev/pci/pcivar.h>
 #include <dev/usb/usb.h>
-#include <dev/usb/usb_core.h>
+#include <dev/usb/usbdi.h>
 
 #include <compat/ndis/pe_var.h>
 #include <compat/ndis/cfg_var.h>

==== //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_usbd.c#10 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.16 2009/06/15 01:02:43 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.18 2009/06/23 06:00:31 thompsa Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -42,6 +42,8 @@
 #include <sys/malloc.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
+#include <sys/sx.h>
+#include <sys/condvar.h>
 #include <sys/module.h>
 #include <sys/conf.h>
 #include <sys/mbuf.h>
@@ -57,13 +59,10 @@
 #include <net80211/ieee80211_ioctl.h>
 
 #include <dev/usb/usb.h>
-#include <dev/usb/usb_core.h>
+#include <dev/usb/usbdi.h>
+#include <dev/usb/usbdi_util.h>
 #include <dev/usb/usb_busdma.h>
-#include <dev/usb/usb_defs.h>
-#include <dev/usb/usb_process.h>
 #include <dev/usb/usb_device.h>
-#include <dev/usb/usb_error.h>
-#include <dev/usb/usb_parse.h>
 #include <dev/usb/usb_request.h>
 
 #include <compat/ndis/pe_var.h>
@@ -616,7 +615,7 @@
 		return (status);
 	}
 	xfer = ne->ne_xfer[0];
-	xfer->priv_fifo = ne;
+	usbd_xfer_set_priv(xfer, ne);
 
 	return (status);
 }
@@ -688,14 +687,14 @@
 		return (status);
 	}
 	xfer = ne->ne_xfer[0];
-	xfer->priv_fifo = ne;
+	usbd_xfer_set_priv(xfer, ne);
 	if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_IN)
-		xfer->timeout = NDISUSB_NO_TIMEOUT;
+		usbd_xfer_set_timeout(xfer, NDISUSB_NO_TIMEOUT);
 	else {
 		if (UE_GET_XFERTYPE(ep->bmAttributes) == UE_BULK)
-			xfer->timeout = NDISUSB_TX_TIMEOUT;
+			usbd_xfer_set_timeout(xfer, NDISUSB_TX_TIMEOUT);
 		else
-			xfer->timeout = NDISUSB_INTR_TIMEOUT;
+			usbd_xfer_set_timeout(xfer, NDISUSB_INTR_TIMEOUT);
 	}
 
 	return (status);
@@ -853,34 +852,38 @@
 }
 
 static void
-usbd_non_isoc_callback(struct usb_xfer *xfer)
+usbd_non_isoc_callback(struct usb_xfer *xfer, usb_error_t error)
 {
 	irp *ip;
-	struct ndis_softc *sc = xfer->priv_sc;
-	struct ndisusb_ep *ne = xfer->priv_fifo;
+	struct ndis_softc *sc = usbd_xfer_softc(xfer);
+	struct ndisusb_ep *ne = usbd_xfer_get_priv(xfer);
 	struct ndisusb_xfer *nx;
 	struct usbd_urb_bulk_or_intr_transfer *ubi;
+	struct usb_page_cache *pc;
 	uint8_t irql;
 	uint32_t len;
 	union usbd_urb *urb;
 	usb_endpoint_descriptor_t *ep;
+	int actlen, sumlen;
+
+	usbd_xfer_status(xfer, &actlen, &sumlen, NULL, NULL);
 
 	switch (USB_GET_STATE(xfer)) {
 	case USB_ST_TRANSFERRED:
 		nx = usbd_aq_getfirst(sc, ne);
+		pc = usbd_xfer_get_frame(xfer, 0);
 		if (nx == NULL)
 			return;
 
 		/* copy in data with regard to the URB */
 		if (ne->ne_dirin != 0)
-			usbd_copy_out(xfer->frbuffers, 0, nx->nx_urbbuf,
-			    xfer->frlengths[0]);
-		nx->nx_urbbuf += xfer->frlengths[0];
-		nx->nx_urbactlen += xfer->frlengths[0];
-		nx->nx_urblen -= xfer->frlengths[0];
+			usbd_copy_out(pc, 0, nx->nx_urbbuf, actlen);
+		nx->nx_urbbuf += actlen;
+		nx->nx_urbactlen += actlen;
+		nx->nx_urblen -= actlen;
 
 		/* check for short transfer */
-		if (xfer->actlen < xfer->sumlen)
+		if (actlen < sumlen)
 			nx->nx_urblen = 0;
 		else {
 			/* check remainder */
@@ -897,7 +900,7 @@
 			}

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


More information about the p4-projects mailing list