svn commit: r221520 - in projects/altix: lib/libstand sys/amd64/conf sys/amd64/pci sys/boot/i386/boot2 sys/boot/ia64/common sys/cam sys/cddl/compat/opensolaris/sys sys/cddl/contrib/opensolaris/uts/...

Marcel Moolenaar marcel at FreeBSD.org
Fri May 6 03:44:50 UTC 2011


Author: marcel
Date: Fri May  6 03:44:49 2011
New Revision: 221520
URL: http://svn.freebsd.org/changeset/base/221520

Log:
  Merge svn+ssh://svn.freebsd.org/base/head@221517

Added:
  projects/altix/sys/compat/linux/linux_videodev2.h
     - copied unchanged from r221517, head/sys/compat/linux/linux_videodev2.h
  projects/altix/sys/compat/linux/linux_videodev2_compat.h
     - copied unchanged from r221517, head/sys/compat/linux/linux_videodev2_compat.h
  projects/altix/sys/sys/_stdint.h
     - copied unchanged from r221517, head/sys/sys/_stdint.h
Modified:
  projects/altix/lib/libstand/__main.c
  projects/altix/lib/libstand/bswap.c
  projects/altix/lib/libstand/cd9660.c
  projects/altix/lib/libstand/dosfs.c
  projects/altix/lib/libstand/environment.c
  projects/altix/lib/libstand/getopt.c
  projects/altix/lib/libstand/net.c
  projects/altix/lib/libstand/tftp.c
  projects/altix/lib/libstand/udp.c
  projects/altix/sys/amd64/conf/DEFAULTS
  projects/altix/sys/amd64/conf/GENERIC
  projects/altix/sys/amd64/pci/pci_bus.c
  projects/altix/sys/boot/i386/boot2/Makefile
  projects/altix/sys/boot/ia64/common/exec.c
  projects/altix/sys/cam/cam_xpt.c
  projects/altix/sys/cddl/compat/opensolaris/sys/systm.h
  projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  projects/altix/sys/compat/linux/linux_ioctl.c
  projects/altix/sys/compat/linux/linux_ioctl.h
  projects/altix/sys/compat/linux/linux_videodev.h
  projects/altix/sys/conf/NOTES
  projects/altix/sys/conf/files
  projects/altix/sys/conf/kern.mk
  projects/altix/sys/conf/makeLINT.mk
  projects/altix/sys/conf/options
  projects/altix/sys/dev/acpica/acpi_pcib_acpi.c
  projects/altix/sys/dev/acpica/acpi_pcib_pci.c
  projects/altix/sys/dev/ae/if_ae.c
  projects/altix/sys/dev/age/if_age.c
  projects/altix/sys/dev/ahci/ahci.c
  projects/altix/sys/dev/alc/if_alc.c
  projects/altix/sys/dev/ale/if_ale.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar2133.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
  projects/altix/sys/dev/bce/if_bce.c
  projects/altix/sys/dev/bfe/if_bfe.c
  projects/altix/sys/dev/bge/if_bge.c
  projects/altix/sys/dev/bge/if_bgereg.h
  projects/altix/sys/dev/bxe/bxe_debug.h
  projects/altix/sys/dev/bxe/if_bxe.c
  projects/altix/sys/dev/bxe/if_bxe.h
  projects/altix/sys/dev/cardbus/cardbus.c
  projects/altix/sys/dev/coretemp/coretemp.c
  projects/altix/sys/dev/cxgbe/offload.h
  projects/altix/sys/dev/cxgbe/t4_ioctl.h
  projects/altix/sys/dev/cxgbe/t4_main.c
  projects/altix/sys/dev/cxgbe/t4_sge.c
  projects/altix/sys/dev/dc/dcphy.c
  projects/altix/sys/dev/dc/pnphy.c
  projects/altix/sys/dev/e1000/if_em.c
  projects/altix/sys/dev/ed/if_ed_pccard.c
  projects/altix/sys/dev/et/if_et.c
  projects/altix/sys/dev/fxp/if_fxp.c
  projects/altix/sys/dev/hme/if_hme.c
  projects/altix/sys/dev/jme/if_jme.c
  projects/altix/sys/dev/lge/if_lge.c
  projects/altix/sys/dev/mii/acphy.c
  projects/altix/sys/dev/mii/amphy.c
  projects/altix/sys/dev/mii/atphy.c
  projects/altix/sys/dev/mii/axphy.c
  projects/altix/sys/dev/mii/bmtphy.c
  projects/altix/sys/dev/mii/brgphy.c
  projects/altix/sys/dev/mii/ciphy.c
  projects/altix/sys/dev/mii/e1000phy.c
  projects/altix/sys/dev/mii/exphy.c
  projects/altix/sys/dev/mii/gentbi.c
  projects/altix/sys/dev/mii/icsphy.c
  projects/altix/sys/dev/mii/inphy.c
  projects/altix/sys/dev/mii/ip1000phy.c
  projects/altix/sys/dev/mii/jmphy.c
  projects/altix/sys/dev/mii/lxtphy.c
  projects/altix/sys/dev/mii/mii.c
  projects/altix/sys/dev/mii/mii.h
  projects/altix/sys/dev/mii/mii_physubr.c
  projects/altix/sys/dev/mii/miidevs
  projects/altix/sys/dev/mii/miivar.h
  projects/altix/sys/dev/mii/mlphy.c
  projects/altix/sys/dev/mii/nsgphy.c
  projects/altix/sys/dev/mii/nsphy.c
  projects/altix/sys/dev/mii/nsphyter.c
  projects/altix/sys/dev/mii/pnaphy.c
  projects/altix/sys/dev/mii/qsphy.c
  projects/altix/sys/dev/mii/rdcphy.c
  projects/altix/sys/dev/mii/rgephy.c
  projects/altix/sys/dev/mii/rlphy.c
  projects/altix/sys/dev/mii/rlswitch.c
  projects/altix/sys/dev/mii/ruephy.c
  projects/altix/sys/dev/mii/smcphy.c
  projects/altix/sys/dev/mii/tdkphy.c
  projects/altix/sys/dev/mii/tlphy.c
  projects/altix/sys/dev/mii/truephy.c
  projects/altix/sys/dev/mii/ukphy.c
  projects/altix/sys/dev/mii/xmphy.c
  projects/altix/sys/dev/nfe/if_nfe.c
  projects/altix/sys/dev/nge/if_nge.c
  projects/altix/sys/dev/nve/if_nve.c
  projects/altix/sys/dev/pci/pci.c
  projects/altix/sys/dev/pci/pci_pci.c
  projects/altix/sys/dev/pci/pcib_private.h
  projects/altix/sys/dev/pcn/if_pcn.c
  projects/altix/sys/dev/puc/pucdata.c
  projects/altix/sys/dev/sf/if_sf.c
  projects/altix/sys/dev/sge/if_sge.c
  projects/altix/sys/dev/sis/if_sis.c
  projects/altix/sys/dev/sound/pcm/dsp.c
  projects/altix/sys/dev/ste/if_ste.c
  projects/altix/sys/dev/tx/if_tx.c
  projects/altix/sys/dev/usb/net/if_aue.c
  projects/altix/sys/dev/usb/net/if_axe.c
  projects/altix/sys/dev/usb/net/if_rue.c
  projects/altix/sys/dev/usb/net/if_udav.c
  projects/altix/sys/dev/vr/if_vr.c
  projects/altix/sys/dev/vte/if_vte.c
  projects/altix/sys/dev/vxge/include/build-version.h
  projects/altix/sys/dev/vxge/vxge.c
  projects/altix/sys/dev/vxge/vxge.h
  projects/altix/sys/dev/wb/if_wb.c
  projects/altix/sys/dev/wpi/if_wpi.c
  projects/altix/sys/fs/nfs/nfs_commonport.c
  projects/altix/sys/fs/nfs/nfsproto.h
  projects/altix/sys/fs/nfsclient/nfs_clport.c
  projects/altix/sys/fs/nfsclient/nfs_clsubs.c
  projects/altix/sys/fs/nfsclient/nfs_clvfsops.c
  projects/altix/sys/fs/nfsclient/nfs_clvnops.c
  projects/altix/sys/fs/nfsserver/nfs_nfsdport.c
  projects/altix/sys/geom/cache/g_cache.c
  projects/altix/sys/geom/concat/g_concat.c
  projects/altix/sys/geom/eli/g_eli.c
  projects/altix/sys/geom/geom_dev.c
  projects/altix/sys/geom/geom_map.c
  projects/altix/sys/geom/journal/g_journal.c
  projects/altix/sys/geom/label/g_label.c
  projects/altix/sys/geom/mountver/g_mountver.c
  projects/altix/sys/geom/multipath/g_multipath.c
  projects/altix/sys/geom/sched/g_sched.c
  projects/altix/sys/geom/shsec/g_shsec.c
  projects/altix/sys/geom/stripe/g_stripe.c
  projects/altix/sys/i386/conf/DEFAULTS
  projects/altix/sys/i386/conf/GENERIC
  projects/altix/sys/i386/conf/PAE
  projects/altix/sys/i386/pci/pci_bus.c
  projects/altix/sys/ia64/include/vmparam.h
  projects/altix/sys/kern/kern_conf.c
  projects/altix/sys/kern/kern_jail.c
  projects/altix/sys/kern/kern_racct.c
  projects/altix/sys/kern/kern_rctl.c
  projects/altix/sys/mips/atheros/ar724x_pci.c
  projects/altix/sys/mips/atheros/if_arge.c
  projects/altix/sys/mips/cavium/octe/octe.c
  projects/altix/sys/mips/conf/PB92
  projects/altix/sys/mips/conf/PB92.hints
  projects/altix/sys/mips/idt/if_kr.c
  projects/altix/sys/modules/cxgbe/if_cxgbe/Makefile
  projects/altix/sys/modules/mii/Makefile
  projects/altix/sys/net80211/ieee80211_adhoc.c
  projects/altix/sys/net80211/ieee80211_hostap.c
  projects/altix/sys/net80211/ieee80211_input.h
  projects/altix/sys/net80211/ieee80211_mesh.c
  projects/altix/sys/net80211/ieee80211_sta.c
  projects/altix/sys/net80211/ieee80211_wds.c
  projects/altix/sys/netinet/sctp.h
  projects/altix/sys/netinet/sctp_asconf.c
  projects/altix/sys/netinet/sctp_auth.c
  projects/altix/sys/netinet/sctp_cc_functions.c
  projects/altix/sys/netinet/sctp_sysctl.h
  projects/altix/sys/netinet/sctp_usrreq.c
  projects/altix/sys/netinet/sctputil.c
  projects/altix/sys/netinet/sctputil.h
  projects/altix/sys/netinet/tcp_input.c
  projects/altix/sys/netinet/tcp_output.c
  projects/altix/sys/netinet/tcp_timewait.c
  projects/altix/sys/netinet6/sctp6_usrreq.c
  projects/altix/sys/nfs/nfs_diskless.c
  projects/altix/sys/nfs/nfs_nfssvc.c
  projects/altix/sys/nfs/nfssvc.h
  projects/altix/sys/nfsclient/nfs_vfsops.c
  projects/altix/sys/nfsclient/nfs_vnops.c
  projects/altix/sys/nfsclient/nfsargs.h
  projects/altix/sys/sparc64/pci/apb.c
  projects/altix/sys/sparc64/pci/ofw_pcib.c
  projects/altix/sys/sys/conf.h
  projects/altix/sys/sys/jail.h
  projects/altix/sys/sys/rctl.h
  projects/altix/sys/sys/stddef.h
  projects/altix/sys/sys/stdint.h
  projects/altix/sys/sys/types.h
  projects/altix/sys/ufs/ffs/ffs_vnops.c
  projects/altix/sys/x86/pci/qpi.c
  projects/altix/sys/x86/x86/local_apic.c
  projects/altix/sys/x86/x86/mptable_pci.c
  projects/altix/sys/x86/x86/nexus.c
  projects/altix/sys/x86/x86/tsc.c
Directory Properties:
  projects/altix/lib/libstand/   (props changed)
  projects/altix/sys/   (props changed)
  projects/altix/sys/amd64/include/xen/   (props changed)
  projects/altix/sys/boot/i386/efi/   (props changed)
  projects/altix/sys/boot/ia64/efi/   (props changed)
  projects/altix/sys/boot/ia64/ski/   (props changed)
  projects/altix/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/altix/sys/boot/powerpc/ofw/   (props changed)
  projects/altix/sys/cddl/contrib/opensolaris/   (props changed)
  projects/altix/sys/conf/   (props changed)
  projects/altix/sys/contrib/dev/acpica/   (props changed)
  projects/altix/sys/contrib/octeon-sdk/   (props changed)
  projects/altix/sys/contrib/pf/   (props changed)
  projects/altix/sys/contrib/x86emu/   (props changed)
  projects/altix/sys/kern/subr_busdma.c   (props changed)

Modified: projects/altix/lib/libstand/__main.c
==============================================================================
--- projects/altix/lib/libstand/__main.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/__main.c	Fri May  6 03:44:49 2011	(r221520)
@@ -38,6 +38,6 @@ __FBSDID("$FreeBSD$");
 void __main(void);
 
 void
-__main()
+__main(void)
 {
 }

Modified: projects/altix/lib/libstand/bswap.c
==============================================================================
--- projects/altix/lib/libstand/bswap.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/bswap.c	Fri May  6 03:44:49 2011	(r221520)
@@ -16,9 +16,11 @@ static char *rcsid = "$NetBSD: bswap64.c
 #undef bswap32
 #undef bswap64
 
+u_int32_t bswap32(u_int32_t x);
+u_int64_t bswap64(u_int64_t x);
+
 u_int32_t
-bswap32(x)
-    u_int32_t x;
+bswap32(u_int32_t x)
 {
 	return  ((x << 24) & 0xff000000 ) |
 			((x <<  8) & 0x00ff0000 ) |
@@ -27,8 +29,7 @@ bswap32(x)
 }
 
 u_int64_t
-bswap64(x)
-    u_int64_t x;
+bswap64(u_int64_t x)
 {  
 	u_int32_t *p = (u_int32_t*)&x;
 	u_int32_t t;

Modified: projects/altix/lib/libstand/cd9660.c
==============================================================================
--- projects/altix/lib/libstand/cd9660.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/cd9660.c	Fri May  6 03:44:49 2011	(r221520)
@@ -545,7 +545,7 @@ again:
 }
 
 static int
-cd9660_write(struct open_file *f, void *start, size_t size, size_t *resid)
+cd9660_write(struct open_file *f __unused, void *start __unused, size_t size __unused, size_t *resid __unused)
 {
 	return EROFS;
 }

Modified: projects/altix/lib/libstand/dosfs.c
==============================================================================
--- projects/altix/lib/libstand/dosfs.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/dosfs.c	Fri May  6 03:44:49 2011	(r221520)
@@ -358,7 +358,7 @@ dos_stat(struct open_file *fd, struct st
 static int
 dos_readdir(struct open_file *fd, struct dirent *d)
 {
-    DOS_FILE *f = (DOS_FILE *)fd->f_fsdata;
+    /* DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; */
     u_char fn[261];
     DOS_DIR dd;
     size_t res;
@@ -414,7 +414,7 @@ dos_readdir(struct open_file *fd, struct
 	}
     }
 
-    d->d_fileno = dd.de.clus[1] << 8 + dd.de.clus[0];
+    d->d_fileno = (dd.de.clus[1] << 8) + dd.de.clus[0];
     d->d_reclen = sizeof(*d);
     d->d_type = (dd.de.attr & FA_DIR) ? DT_DIR : DT_REG;
     memcpy(d->d_name, fn, sizeof(d->d_name));

Modified: projects/altix/lib/libstand/environment.c
==============================================================================
--- projects/altix/lib/libstand/environment.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/environment.c	Fri May  6 03:44:49 2011	(r221520)
@@ -207,13 +207,14 @@ env_discard(struct env_var *ev)
 }
 
 int
-env_noset(struct env_var *ev, int flags, const void *value)
+env_noset(struct env_var *ev __unused, int flags __unused,
+    const void *value __unused)
 {
     return(EPERM);
 }
 
 int
-env_nounset(struct env_var *ev)
+env_nounset(struct env_var *ev __unused)
 {
     return(EPERM);
 }

Modified: projects/altix/lib/libstand/getopt.c
==============================================================================
--- projects/altix/lib/libstand/getopt.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/getopt.c	Fri May  6 03:44:49 2011	(r221520)
@@ -52,10 +52,7 @@ char	*optarg;		/* argument associated wi
  *	Parse argc/argv argument vector.
  */
 int
-getopt(nargc, nargv, ostr)
-	int nargc;
-	char * const *nargv;
-	const char *ostr;
+getopt(int nargc, char * const *nargv, const char *ostr)
 {
 	static char *place = EMSG;		/* option letter processing */
 	char *oli;				/* option letter list index */

Modified: projects/altix/lib/libstand/net.c
==============================================================================
--- projects/altix/lib/libstand/net.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/net.c	Fri May  6 03:44:49 2011	(r221520)
@@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
 #include <netinet/if_ether.h>
 #include <netinet/in_systm.h>
 
+#include <netinet/in_pcb.h>
 #include <netinet/ip.h>
 #include <netinet/ip_var.h>
 #include <netinet/udp.h>

Modified: projects/altix/lib/libstand/tftp.c
==============================================================================
--- projects/altix/lib/libstand/tftp.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/tftp.c	Fri May  6 03:44:49 2011	(r221520)
@@ -110,11 +110,7 @@ static const int tftperrors[8] = {
 };
 
 static ssize_t 
-recvtftp(d, pkt, len, tleft)
-	struct iodesc *d;
-	void  *pkt;
-	ssize_t len;
-	time_t          tleft;
+recvtftp(struct iodesc *d, void *pkt, ssize_t len, time_t tleft)
 {
 	struct tftphdr *t;
 
@@ -152,14 +148,14 @@ recvtftp(d, pkt, len, tleft)
 			printf("illegal tftp error %d\n", ntohs(t->th_code));
 			errno = EIO;
 		} else {
-#ifdef DEBUG
+#ifdef TFTP_DEBUG
 			printf("tftp-error %d\n", ntohs(t->th_code));
 #endif
 			errno = tftperrors[ntohs(t->th_code)];
 		}
 		return (-1);
 	default:
-#ifdef DEBUG
+#ifdef TFTP_DEBUG
 		printf("tftp type %d not handled\n", ntohs(t->th_opcode));
 #endif
 		return (-1);
@@ -168,8 +164,7 @@ recvtftp(d, pkt, len, tleft)
 
 /* send request, expect first block (or error) */
 static int 
-tftp_makereq(h)
-	struct tftp_handle *h;
+tftp_makereq(struct tftp_handle *h)
 {
 	struct {
 		u_char header[HEADER_SIZE];
@@ -212,8 +207,7 @@ tftp_makereq(h)
 
 /* ack block, expect next */
 static int 
-tftp_getnextblock(h)
-	struct tftp_handle *h;
+tftp_getnextblock(struct tftp_handle *h)
 {
 	struct {
 		u_char header[HEADER_SIZE];
@@ -246,9 +240,7 @@ tftp_getnextblock(h)
 }
 
 static int 
-tftp_open(path, f)
-	const char *path;
-	struct open_file *f;
+tftp_open(const char *path, struct open_file *f)
 {
 	struct tftp_handle *tftpfile;
 	struct iodesc  *io;
@@ -287,11 +279,8 @@ tftp_open(path, f)
 }
 
 static int 
-tftp_read(f, addr, size, resid)
-	struct open_file *f;
-	void           *addr;
-	size_t          size;
-	size_t         *resid;	/* out */
+tftp_read(struct open_file *f, void *addr, size_t size,
+    size_t *resid /* out */)
 {
 	struct tftp_handle *tftpfile;
 	static int      tc = 0;
@@ -314,7 +303,7 @@ tftp_read(f, addr, size, resid)
 
 			res = tftp_getnextblock(tftpfile);
 			if (res) {	/* no answer */
-#ifdef DEBUG
+#ifdef TFTP_DEBUG
 				printf("tftp: read error\n");
 #endif
 				return (res);
@@ -330,7 +319,7 @@ tftp_read(f, addr, size, resid)
 
 			inbuffer = tftpfile->validsize - offinblock;
 			if (inbuffer < 0) {
-#ifdef DEBUG
+#ifdef TFTP_DEBUG
 				printf("tftp: invalid offset %d\n",
 				    tftpfile->off);
 #endif
@@ -347,7 +336,7 @@ tftp_read(f, addr, size, resid)
 			if ((tftpfile->islastblock) && (count == inbuffer))
 				break;	/* EOF */
 		} else {
-#ifdef DEBUG
+#ifdef TFTP_DEBUG
 			printf("tftp: block %d not found\n", needblock);
 #endif
 			return (EINVAL);
@@ -361,8 +350,7 @@ tftp_read(f, addr, size, resid)
 }
 
 static int 
-tftp_close(f)
-	struct open_file *f;
+tftp_close(struct open_file *f)
 {
 	struct tftp_handle *tftpfile;
 	tftpfile = (struct tftp_handle *) f->f_fsdata;
@@ -377,19 +365,14 @@ tftp_close(f)
 }
 
 static int 
-tftp_write(f, start, size, resid)
-	struct open_file *f;
-	void           *start;
-	size_t          size;
-	size_t         *resid;	/* out */
+tftp_write(struct open_file *f __unused, void *start __unused, size_t size __unused,
+    size_t *resid /* out */ __unused)
 {
 	return (EROFS);
 }
 
 static int 
-tftp_stat(f, sb)
-	struct open_file *f;
-	struct stat    *sb;
+tftp_stat(struct open_file *f, struct stat    *sb)
 {
 	struct tftp_handle *tftpfile;
 	tftpfile = (struct tftp_handle *) f->f_fsdata;
@@ -403,10 +386,7 @@ tftp_stat(f, sb)
 }
 
 static off_t 
-tftp_seek(f, offset, where)
-	struct open_file *f;
-	off_t           offset;
-	int             where;
+tftp_seek(struct open_file *f, off_t offset, int where)
 {
 	struct tftp_handle *tftpfile;
 	tftpfile = (struct tftp_handle *) f->f_fsdata;

Modified: projects/altix/lib/libstand/udp.c
==============================================================================
--- projects/altix/lib/libstand/udp.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/lib/libstand/udp.c	Fri May  6 03:44:49 2011	(r221520)
@@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
 #include <netinet/if_ether.h>
 #include <netinet/in_systm.h>
 
+#include <netinet/in_pcb.h>
 #include <netinet/ip.h>
 #include <netinet/ip_var.h>
 #include <netinet/udp.h>

Modified: projects/altix/sys/amd64/conf/DEFAULTS
==============================================================================
--- projects/altix/sys/amd64/conf/DEFAULTS	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/amd64/conf/DEFAULTS	Fri May  6 03:44:49 2011	(r221520)
@@ -20,3 +20,5 @@ options 	GEOM_PART_BSD
 options 	GEOM_PART_EBR
 options 	GEOM_PART_EBR_COMPAT
 options 	GEOM_PART_MBR
+
+options 	NEW_PCIB

Modified: projects/altix/sys/amd64/conf/GENERIC
==============================================================================
--- projects/altix/sys/amd64/conf/GENERIC	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/amd64/conf/GENERIC	Fri May  6 03:44:49 2011	(r221520)
@@ -261,8 +261,16 @@ device		ath_pci		# Atheros pci/cardbus g
 device		ath_hal		# pci/cardbus chip support
 options 	AH_SUPPORT_AR5416	# enable AR5416 tx/rx descriptors
 device		ath_rate_sample	# SampleRate tx rate control for ath
+#device		bwi		# Broadcom BCM430x/BCM431x wireless NICs.
+#device		bwn		# Broadcom BCM43xx wireless NICs.
+device		ipw		# Intel 2100 wireless NICs.
+device		iwi		# Intel 2200BG/2225BG/2915ABG wireless NICs.
+device		iwn		# Intel 4965/1000/5000/6000 wireless NICs.
+device		malo		# Marvell Libertas wireless NICs.
+device		mwl		# Marvell 88W8363 802.11n wireless NICs.
 device		ral		# Ralink Technology RT2500 wireless NICs.
 device		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
+device		wpi		# Intel 3945ABG wireless NICs.
 
 # Pseudo devices.
 device		loop		# Network loopback
@@ -314,7 +322,9 @@ device		rue		# RealTek RTL8150 USB Ether
 device		udav		# Davicom DM9601E USB
 # USB Wireless
 device		rum		# Ralink Technology RT2501USB wireless NICs
+device		run		# Ralink Technology RT2700/RT2800/RT3000 NICs.
 device		uath		# Atheros AR5523 wireless NICs
+device		upgt		# Conexant/Intersil PrismGT wireless NICs.
 device		ural		# Ralink Technology RT2500USB wireless NICs
 device		urtw		# Realtek RTL8187B/L wireless NICs
 device		zyd		# ZyDAS zb1211/zb1211b wireless NICs

Modified: projects/altix/sys/amd64/pci/pci_bus.c
==============================================================================
--- projects/altix/sys/amd64/pci/pci_bus.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/amd64/pci/pci_bus.c	Fri May  6 03:44:49 2011	(r221520)
@@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
+#include <sys/rman.h>
 #include <sys/sysctl.h>
 
 #include <dev/pci/pcivar.h>
@@ -348,6 +349,7 @@ static device_method_t legacy_pcib_metho
 	DEVMETHOD(bus_read_ivar,	legacy_pcib_read_ivar),
 	DEVMETHOD(bus_write_ivar,	legacy_pcib_write_ivar),
 	DEVMETHOD(bus_alloc_resource,	legacy_pcib_alloc_resource),
+	DEVMETHOD(bus_adjust_resource,	bus_generic_adjust_resource),
 	DEVMETHOD(bus_release_resource,	bus_generic_release_resource),
 	DEVMETHOD(bus_activate_resource, bus_generic_activate_resource),
 	DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),

Modified: projects/altix/sys/boot/i386/boot2/Makefile
==============================================================================
--- projects/altix/sys/boot/i386/boot2/Makefile	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/boot/i386/boot2/Makefile	Fri May  6 03:44:49 2011	(r221520)
@@ -2,9 +2,6 @@
 
 .include <bsd.own.mk>
 
-# XXX: clang can compile the boot code just fine, but boot2 gets too big
-CC:=${CC:C/^(.*\/)?clang$/gcc/1}
-
 FILES=		boot boot1 boot2
 
 NM?=		nm
@@ -45,6 +42,13 @@ CFLAGS=	-Os \
 	-Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \
 	-Winline --param max-inline-insns-single=100
 
+.if ${CC:T:Mclang} == "clang"
+CFLAGS+=	-mllvm -stack-alignment=8 -mllvm -inline-threshold=3 \
+		-mllvm -enable-load-pre=false
+# XXX: clang integrated-as doesn't grok .codeNN directives yet
+CFLAGS+=	${.IMPSRC:T:Mboot1.S:C/^.+$/-no-integrated-as/}
+.endif
+
 LDFLAGS=-static -N --gc-sections
 
 # Pick up ../Makefile.inc early.

Modified: projects/altix/sys/boot/ia64/common/exec.c
==============================================================================
--- projects/altix/sys/boot/ia64/common/exec.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/boot/ia64/common/exec.c	Fri May  6 03:44:49 2011	(r221520)
@@ -76,7 +76,7 @@ sz2shft(vm_offset_t ofs, vm_size_t sz)
 
 	shft = 12;	/* Start with 4K */
 	s = 1 << shft;
-	while (s < sz) {
+	while (s <= sz) {
 		shft++;
 		s <<= 1;
 	}

Modified: projects/altix/sys/cam/cam_xpt.c
==============================================================================
--- projects/altix/sys/cam/cam_xpt.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/cam/cam_xpt.c	Fri May  6 03:44:49 2011	(r221520)
@@ -3600,9 +3600,12 @@ xpt_path_legacy_ata_id(struct cam_path *
 		}
 		xpt_unlock_buses();
 	}
-	if (path->target != NULL)
-		return (bus_id * 2 + path->target->target_id);
-	else
+	if (path->target != NULL) {
+		if (path->target->target_id < 2)
+			return (bus_id * 2 + path->target->target_id);
+		else
+			return (-1);
+	} else
 		return (bus_id * 2);
 }
 

Modified: projects/altix/sys/cddl/compat/opensolaris/sys/systm.h
==============================================================================
--- projects/altix/sys/cddl/compat/opensolaris/sys/systm.h	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/cddl/compat/opensolaris/sys/systm.h	Fri May  6 03:44:49 2011	(r221520)
@@ -42,9 +42,6 @@
 
 #define	delay(x)	pause("soldelay", (x))
 
-#define	xcopyin(u, k, s)	copyin(u, k, s)
-#define	xcopyout(k, u, s)	copyout(k, u, s)
-
 #endif	/* _KERNEL */
 
 #endif	/* _OPENSOLARIS_SYS_SYSTM_H_ */

Modified: projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri May  6 03:44:49 2011	(r221520)
@@ -4068,9 +4068,9 @@ zfs_ioc_userspace_many(zfs_cmd_t *zc)
 	    buf, &zc->zc_nvlist_dst_size);
 
 	if (error == 0) {
-		error = xcopyout(buf,
+		error = ddi_copyout(buf,
 		    (void *)(uintptr_t)zc->zc_nvlist_dst,
-		    zc->zc_nvlist_dst_size);
+		    zc->zc_nvlist_dst_size, zc->zc_iflags);
 	}
 	kmem_free(buf, bufsize);
 	zfsvfs_rele(zfsvfs, FTAG);

Modified: projects/altix/sys/compat/linux/linux_ioctl.c
==============================================================================
--- projects/altix/sys/compat/linux/linux_ioctl.c	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/compat/linux/linux_ioctl.c	Fri May  6 03:44:49 2011	(r221520)
@@ -57,8 +57,12 @@ __FBSDID("$FreeBSD$");
 #include <sys/soundcard.h>
 #include <sys/stdint.h>
 #include <sys/sx.h>
+#include <sys/sysctl.h>
 #include <sys/tty.h>
 #include <sys/uio.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <sys/resourcevar.h>
 
 #include <net/if.h>
 #include <net/if_dl.h>
@@ -83,8 +87,14 @@ __FBSDID("$FreeBSD$");
 #include <compat/linux/linux_videodev.h>
 #include <compat/linux/linux_videodev_compat.h>
 
+#include <compat/linux/linux_videodev2.h>
+#include <compat/linux/linux_videodev2_compat.h>
+
 CTASSERT(LINUX_IFNAMSIZ == IFNAMSIZ);
 
+FEATURE(linuxulator_v4l, "V4L ioctl wrapper support in the linuxulator");
+FEATURE(linuxulator_v4l2, "V4L2 ioctl wrapper support in the linuxulator");
+
 static linux_ioctl_function_t linux_ioctl_cdrom;
 static linux_ioctl_function_t linux_ioctl_vfat;
 static linux_ioctl_function_t linux_ioctl_console;
@@ -97,6 +107,7 @@ static linux_ioctl_function_t linux_ioct
 static linux_ioctl_function_t linux_ioctl_drm;
 static linux_ioctl_function_t linux_ioctl_sg;
 static linux_ioctl_function_t linux_ioctl_v4l;
+static linux_ioctl_function_t linux_ioctl_v4l2;
 static linux_ioctl_function_t linux_ioctl_special;
 static linux_ioctl_function_t linux_ioctl_fbsd_usb;
 
@@ -124,6 +135,8 @@ static struct linux_ioctl_handler sg_han
 { linux_ioctl_sg, LINUX_IOCTL_SG_MIN, LINUX_IOCTL_SG_MAX };
 static struct linux_ioctl_handler video_handler =
 { linux_ioctl_v4l, LINUX_IOCTL_VIDEO_MIN, LINUX_IOCTL_VIDEO_MAX };
+static struct linux_ioctl_handler video2_handler =
+{ linux_ioctl_v4l2, LINUX_IOCTL_VIDEO2_MIN, LINUX_IOCTL_VIDEO2_MAX };
 static struct linux_ioctl_handler fbsd_usb =
 { linux_ioctl_fbsd_usb, FBSD_LUSB_MIN, FBSD_LUSB_MAX };
 
@@ -139,6 +152,7 @@ DATA_SET(linux_ioctl_handler_set, privat
 DATA_SET(linux_ioctl_handler_set, drm_handler);
 DATA_SET(linux_ioctl_handler_set, sg_handler);
 DATA_SET(linux_ioctl_handler_set, video_handler);
+DATA_SET(linux_ioctl_handler_set, video2_handler);
 DATA_SET(linux_ioctl_handler_set, fbsd_usb);
 
 struct handler_element
@@ -2988,6 +3002,302 @@ linux_ioctl_special(struct thread *td, s
 	return (error);
 }
 
+static int
+linux_to_bsd_v4l2_standard(struct l_v4l2_standard *lvstd, struct v4l2_standard *vstd)
+{
+	vstd->index = lvstd->index;
+	vstd->id = lvstd->id;
+	memcpy(&vstd->name, &lvstd->name, sizeof(*lvstd) - offsetof(struct l_v4l2_standard, name));
+	return (0);
+}
+
+static int
+bsd_to_linux_v4l2_standard(struct v4l2_standard *vstd, struct l_v4l2_standard *lvstd)
+{
+	lvstd->index = vstd->index;
+	lvstd->id = vstd->id;
+	memcpy(&lvstd->name, &vstd->name, sizeof(*lvstd) - offsetof(struct l_v4l2_standard, name));
+	return (0);
+}
+
+static int
+linux_to_bsd_v4l2_buffer(struct l_v4l2_buffer *lvb, struct v4l2_buffer *vb)
+{
+	vb->index = lvb->index;
+	vb->type = lvb->type;
+	vb->bytesused = lvb->bytesused;
+	vb->flags = lvb->flags;
+	vb->field = lvb->field;
+	vb->timestamp.tv_sec = lvb->timestamp.tv_sec;
+	vb->timestamp.tv_usec = lvb->timestamp.tv_usec;
+	memcpy(&vb->timecode, &lvb->timecode, sizeof (lvb->timecode));
+	vb->sequence = lvb->sequence;
+	vb->memory = lvb->memory;
+	if (lvb->memory == V4L2_MEMORY_USERPTR)
+		/* possible pointer size conversion */
+		vb->m.userptr = (unsigned long)PTRIN(lvb->m.userptr);
+	else
+		vb->m.offset = lvb->m.offset;
+	vb->length = lvb->length;
+	vb->input = lvb->input;
+	vb->reserved = lvb->reserved;
+	return (0);
+}
+
+static int
+bsd_to_linux_v4l2_buffer(struct v4l2_buffer *vb, struct l_v4l2_buffer *lvb)
+{
+	lvb->index = vb->index;
+	lvb->type = vb->type;
+	lvb->bytesused = vb->bytesused;
+	lvb->flags = vb->flags;
+	lvb->field = vb->field;
+	lvb->timestamp.tv_sec = vb->timestamp.tv_sec;
+	lvb->timestamp.tv_usec = vb->timestamp.tv_usec;
+	memcpy(&lvb->timecode, &vb->timecode, sizeof (vb->timecode));
+	lvb->sequence = vb->sequence;
+	lvb->memory = vb->memory;
+	if (vb->memory == V4L2_MEMORY_USERPTR)
+		/* possible pointer size conversion */
+		lvb->m.userptr = PTROUT(vb->m.userptr);
+	else
+		lvb->m.offset = vb->m.offset;
+	lvb->length = vb->length;
+	lvb->input = vb->input;
+	lvb->reserved = vb->reserved;
+	return (0);
+}
+
+static int
+linux_to_bsd_v4l2_format(struct l_v4l2_format *lvf, struct v4l2_format *vf)
+{
+	vf->type = lvf->type;
+	if (lvf->type == V4L2_BUF_TYPE_VIDEO_OVERLAY
+#ifdef V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	    || lvf->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+#endif
+	    )
+		/*
+		 * XXX TODO - needs 32 -> 64 bit conversion:
+		 * (unused by webcams?)
+		 */
+		return EINVAL;
+	memcpy(&vf->fmt, &lvf->fmt, sizeof(vf->fmt));
+	return 0;
+}
+
+static int
+bsd_to_linux_v4l2_format(struct v4l2_format *vf, struct l_v4l2_format *lvf)
+{
+	lvf->type = vf->type;
+	if (vf->type == V4L2_BUF_TYPE_VIDEO_OVERLAY
+#ifdef V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	    || vf->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+#endif
+	    )
+		/*
+		 * XXX TODO - needs 32 -> 64 bit conversion:
+		 * (unused by webcams?)
+		 */
+		return EINVAL;
+	memcpy(&lvf->fmt, &vf->fmt, sizeof(vf->fmt));
+	return 0;
+}
+static int
+linux_ioctl_v4l2(struct thread *td, struct linux_ioctl_args *args)
+{
+	struct file *fp;
+	int error;
+	struct v4l2_format vformat;
+	struct l_v4l2_format l_vformat;
+	struct v4l2_standard vstd;
+	struct l_v4l2_standard l_vstd;
+	struct l_v4l2_buffer l_vbuf;
+	struct v4l2_buffer vbuf;
+	struct v4l2_input vinp;
+
+	switch (args->cmd & 0xffff) {
+	case LINUX_VIDIOC_RESERVED:
+	case LINUX_VIDIOC_LOG_STATUS:
+		if ((args->cmd & IOC_DIRMASK) != LINUX_IOC_VOID)
+			return ENOIOCTL;
+		args->cmd = (args->cmd & 0xffff) | IOC_VOID;
+		break;
+
+	case LINUX_VIDIOC_OVERLAY:
+	case LINUX_VIDIOC_STREAMON:
+	case LINUX_VIDIOC_STREAMOFF:
+	case LINUX_VIDIOC_S_STD:
+	case LINUX_VIDIOC_S_TUNER:
+	case LINUX_VIDIOC_S_AUDIO:
+	case LINUX_VIDIOC_S_AUDOUT:
+	case LINUX_VIDIOC_S_MODULATOR:
+	case LINUX_VIDIOC_S_FREQUENCY:
+	case LINUX_VIDIOC_S_CROP:
+	case LINUX_VIDIOC_S_JPEGCOMP:
+	case LINUX_VIDIOC_S_PRIORITY:
+	case LINUX_VIDIOC_DBG_S_REGISTER:
+	case LINUX_VIDIOC_S_HW_FREQ_SEEK:
+	case LINUX_VIDIOC_SUBSCRIBE_EVENT:
+	case LINUX_VIDIOC_UNSUBSCRIBE_EVENT:
+		args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_IN;
+		break;
+
+	case LINUX_VIDIOC_QUERYCAP:
+	case LINUX_VIDIOC_G_STD:
+	case LINUX_VIDIOC_G_AUDIO:
+	case LINUX_VIDIOC_G_INPUT:
+	case LINUX_VIDIOC_G_OUTPUT:
+	case LINUX_VIDIOC_G_AUDOUT:
+	case LINUX_VIDIOC_G_JPEGCOMP:
+	case LINUX_VIDIOC_QUERYSTD:
+	case LINUX_VIDIOC_G_PRIORITY:
+	case LINUX_VIDIOC_QUERY_DV_PRESET:
+		args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_OUT;
+		break;
+
+	case LINUX_VIDIOC_ENUM_FMT:
+	case LINUX_VIDIOC_REQBUFS:
+	case LINUX_VIDIOC_G_PARM:
+	case LINUX_VIDIOC_S_PARM:
+	case LINUX_VIDIOC_G_CTRL:
+	case LINUX_VIDIOC_S_CTRL:
+	case LINUX_VIDIOC_G_TUNER:
+	case LINUX_VIDIOC_QUERYCTRL:
+	case LINUX_VIDIOC_QUERYMENU:
+	case LINUX_VIDIOC_S_INPUT:
+	case LINUX_VIDIOC_S_OUTPUT:
+	case LINUX_VIDIOC_ENUMOUTPUT:
+	case LINUX_VIDIOC_G_MODULATOR:
+	case LINUX_VIDIOC_G_FREQUENCY:
+	case LINUX_VIDIOC_CROPCAP:
+	case LINUX_VIDIOC_G_CROP:
+	case LINUX_VIDIOC_ENUMAUDIO:
+	case LINUX_VIDIOC_ENUMAUDOUT:
+	case LINUX_VIDIOC_G_SLICED_VBI_CAP:
+#ifdef VIDIOC_ENUM_FRAMESIZES
+	case LINUX_VIDIOC_ENUM_FRAMESIZES:
+	case LINUX_VIDIOC_ENUM_FRAMEINTERVALS:
+	case LINUX_VIDIOC_ENCODER_CMD:
+	case LINUX_VIDIOC_TRY_ENCODER_CMD:
+#endif
+	case LINUX_VIDIOC_DBG_G_REGISTER:
+	case LINUX_VIDIOC_DBG_G_CHIP_IDENT:
+	case LINUX_VIDIOC_ENUM_DV_PRESETS:
+	case LINUX_VIDIOC_S_DV_PRESET:
+	case LINUX_VIDIOC_G_DV_PRESET:
+	case LINUX_VIDIOC_S_DV_TIMINGS:
+	case LINUX_VIDIOC_G_DV_TIMINGS:
+		args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_INOUT;
+		break;
+
+	case LINUX_VIDIOC_G_FMT:
+	case LINUX_VIDIOC_S_FMT:
+	case LINUX_VIDIOC_TRY_FMT:
+		error = copyin((void *)args->arg, &l_vformat, sizeof(l_vformat));
+		if (error)
+			return (error);
+		if ((error = fget(td, args->fd, &fp)) != 0)
+			return (error);
+		if (linux_to_bsd_v4l2_format(&l_vformat, &vformat) != 0)
+			error = EINVAL;
+		else if ((args->cmd & 0xffff) == LINUX_VIDIOC_G_FMT)
+			error = fo_ioctl(fp, VIDIOC_G_FMT, &vformat,
+			    td->td_ucred, td);
+		else if ((args->cmd & 0xffff) == LINUX_VIDIOC_S_FMT)
+			error = fo_ioctl(fp, VIDIOC_S_FMT, &vformat,
+			    td->td_ucred, td);
+		else
+			error = fo_ioctl(fp, VIDIOC_TRY_FMT, &vformat,
+			    td->td_ucred, td);
+		bsd_to_linux_v4l2_format(&vformat, &l_vformat);
+		copyout(&l_vformat, (void *)args->arg, sizeof(l_vformat));
+		fdrop(fp, td);
+		return (error);
+
+	case LINUX_VIDIOC_ENUMSTD:
+		error = copyin((void *)args->arg, &l_vstd, sizeof(l_vstd));
+		if (error)
+			return (error);
+		linux_to_bsd_v4l2_standard(&l_vstd, &vstd);
+		if ((error = fget(td, args->fd, &fp)) != 0)
+			return (error);
+		error = fo_ioctl(fp, VIDIOC_ENUMSTD, (caddr_t)&vstd,
+		    td->td_ucred, td);
+		if (error) {
+			fdrop(fp, td);
+			return (error);
+		}
+		bsd_to_linux_v4l2_standard(&vstd, &l_vstd);
+		error = copyout(&l_vstd, (void *)args->arg, sizeof(l_vstd));
+		fdrop(fp, td);
+		return (error);
+
+	case LINUX_VIDIOC_ENUMINPUT:
+		/*
+		 * The Linux struct l_v4l2_input differs only in size,
+		 * it has no padding at the end.
+		 */
+		error = copyin((void *)args->arg, &vinp,
+				sizeof(struct l_v4l2_input));
+		if (error != 0)
+			return (error);
+		if ((error = fget(td, args->fd, &fp)) != 0)
+			return (error);
+		error = fo_ioctl(fp, VIDIOC_ENUMINPUT, (caddr_t)&vinp,
+		    td->td_ucred, td);
+		if (error) {
+			fdrop(fp, td);
+			return (error);
+		}
+		error = copyout(&vinp, (void *)args->arg,
+				sizeof(struct l_v4l2_input));
+		fdrop(fp, td);
+		return (error);
+
+	case LINUX_VIDIOC_QUERYBUF:
+	case LINUX_VIDIOC_QBUF:
+	case LINUX_VIDIOC_DQBUF:
+		error = copyin((void *)args->arg, &l_vbuf, sizeof(l_vbuf));
+		if (error)
+			return (error);
+		if ((error = fget(td, args->fd, &fp)) != 0)
+			return (error);
+		linux_to_bsd_v4l2_buffer(&l_vbuf, &vbuf);
+		if ((args->cmd & 0xffff) == LINUX_VIDIOC_QUERYBUF)
+			error = fo_ioctl(fp, VIDIOC_QUERYBUF, &vbuf,
+			    td->td_ucred, td);
+		else if ((args->cmd & 0xffff) == LINUX_VIDIOC_QBUF)
+			error = fo_ioctl(fp, VIDIOC_QBUF, &vbuf,
+			    td->td_ucred, td);
+		else
+			error = fo_ioctl(fp, VIDIOC_DQBUF, &vbuf,
+			    td->td_ucred, td);
+		bsd_to_linux_v4l2_buffer(&vbuf, &l_vbuf);
+		copyout(&l_vbuf, (void *)args->arg, sizeof(l_vbuf));
+		fdrop(fp, td);
+		return (error);
+
+	/*
+	 * XXX TODO - these need 32 -> 64 bit conversion:
+	 * (are any of them needed for webcams?)
+	 */
+	case LINUX_VIDIOC_G_FBUF:
+	case LINUX_VIDIOC_S_FBUF:
+
+	case LINUX_VIDIOC_G_EXT_CTRLS:
+	case LINUX_VIDIOC_S_EXT_CTRLS:
+	case LINUX_VIDIOC_TRY_EXT_CTRLS:
+
+	case LINUX_VIDIOC_DQEVENT:
+
+	default:			return (ENOIOCTL);
+	}
+
+	error = ioctl(td, (struct ioctl_args *)args);
+	return (error);
+}
+
 /*
  * Support for emulators/linux-libusb. This port uses FBSD_LUSB* macros
  * instead of USB* ones. This lets us to provide correct values for cmd.

Modified: projects/altix/sys/compat/linux/linux_ioctl.h
==============================================================================
--- projects/altix/sys/compat/linux/linux_ioctl.h	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/compat/linux/linux_ioctl.h	Fri May  6 03:44:49 2011	(r221520)
@@ -32,6 +32,17 @@
 #define	_LINUX_IOCTL_H_
 
 /*
+ * ioctl
+ *
+ * XXX comments in Linux' <asm-generic/ioctl.h> indicate these
+ * could be arch-dependant...
+ */
+#define LINUX_IOC_VOID		0
+#define LINUX_IOC_IN		0x40000000
+#define LINUX_IOC_OUT		0x80000000
+#define LINUX_IOC_INOUT		(LINUX_IOC_IN|LINUX_IOC_OUT)
+
+/*
  * disk
  */
 #define	LINUX_BLKROSET		0x125d
@@ -612,6 +623,92 @@ int		 linux_ifname(struct ifnet *, char 
 #define LINUX_IOCTL_VIDEO_MIN	LINUX_VIDIOCGCAP
 #define LINUX_IOCTL_VIDEO_MAX	LINUX_VIDIOCSVBIFMT
 
+/* videodev2 aka V4L2 */
+
+#define LINUX_VIDIOC_QUERYCAP			0x5600 /* 0x80685600 */
+#define LINUX_VIDIOC_RESERVED			0x5601 /* 0x00005601 */
+#define LINUX_VIDIOC_ENUM_FMT			0x5602 /* 0xc0405602 */
+#define LINUX_VIDIOC_G_FMT			0x5604 /* 0xc0cc5604 */
+#define LINUX_VIDIOC_S_FMT			0x5605 /* 0xc0cc5605 */
+#define LINUX_VIDIOC_REQBUFS			0x5608 /* 0xc0145608 */
+#define LINUX_VIDIOC_QUERYBUF			0x5609 /* 0xc0445609 */
+#define LINUX_VIDIOC_G_FBUF			0x560a /* 0x802c560a */
+#define LINUX_VIDIOC_S_FBUF			0x560b /* 0x402c560b */
+#define LINUX_VIDIOC_OVERLAY			0x560e /* 0x4004560e */
+#define LINUX_VIDIOC_QBUF			0x560f /* 0xc044560f */
+#define LINUX_VIDIOC_DQBUF			0x5611 /* 0xc0445611 */
+#define LINUX_VIDIOC_STREAMON			0x5612 /* 0x40045612 */
+#define LINUX_VIDIOC_STREAMOFF			0x5613 /* 0x40045613 */
+#define LINUX_VIDIOC_G_PARM			0x5615 /* 0xc0cc5615 */
+#define LINUX_VIDIOC_S_PARM			0x5616 /* 0xc0cc5616 */
+#define LINUX_VIDIOC_G_STD			0x5617 /* 0x80085617 */
+#define LINUX_VIDIOC_S_STD			0x5618 /* 0x40085618 */
+#define LINUX_VIDIOC_ENUMSTD			0x5619 /* 0xc0405619 */
+#define LINUX_VIDIOC_ENUMINPUT			0x561a /* 0xc04c561a */
+#define LINUX_VIDIOC_G_CTRL			0x561b /* 0xc008561b */
+#define LINUX_VIDIOC_S_CTRL			0x561c /* 0xc008561c */
+#define LINUX_VIDIOC_G_TUNER			0x561d /* 0xc054561d */
+#define LINUX_VIDIOC_S_TUNER			0x561e /* 0x4054561e */
+#define LINUX_VIDIOC_G_AUDIO			0x5621 /* 0x80345621 */
+#define LINUX_VIDIOC_S_AUDIO			0x5622 /* 0x40345622 */
+#define LINUX_VIDIOC_QUERYCTRL			0x5624 /* 0xc0445624 */
+#define LINUX_VIDIOC_QUERYMENU			0x5625 /* 0xc02c5625 */
+#define LINUX_VIDIOC_G_INPUT			0x5626 /* 0x80045626 */
+#define LINUX_VIDIOC_S_INPUT			0x5627 /* 0xc0045627 */
+#define LINUX_VIDIOC_G_OUTPUT			0x562e /* 0x8004562e */
+#define LINUX_VIDIOC_S_OUTPUT			0x562f /* 0xc004562f */
+#define LINUX_VIDIOC_ENUMOUTPUT			0x5630 /* 0xc0485630 */
+#define LINUX_VIDIOC_G_AUDOUT			0x5631 /* 0x80345631 */
+#define LINUX_VIDIOC_S_AUDOUT			0x5632 /* 0x40345632 */
+#define LINUX_VIDIOC_G_MODULATOR		0x5636 /* 0xc0445636 */
+#define LINUX_VIDIOC_S_MODULATOR		0x5637 /* 0x40445637 */
+#define LINUX_VIDIOC_G_FREQUENCY		0x5638 /* 0xc02c5638 */
+#define LINUX_VIDIOC_S_FREQUENCY		0x5639 /* 0x402c5639 */
+#define LINUX_VIDIOC_CROPCAP			0x563a /* 0xc02c563a */
+#define LINUX_VIDIOC_G_CROP			0x563b /* 0xc014563b */
+#define LINUX_VIDIOC_S_CROP			0x563c /* 0x4014563c */
+#define LINUX_VIDIOC_G_JPEGCOMP			0x563d /* 0x808c563d */
+#define LINUX_VIDIOC_S_JPEGCOMP			0x563e /* 0x408c563e */
+#define LINUX_VIDIOC_QUERYSTD			0x563f /* 0x8008563f */
+#define LINUX_VIDIOC_TRY_FMT			0x5640 /* 0xc0cc5640 */
+#define LINUX_VIDIOC_ENUMAUDIO			0x5641 /* 0xc0345641 */
+#define LINUX_VIDIOC_ENUMAUDOUT			0x5642 /* 0xc0345642 */
+#define LINUX_VIDIOC_G_PRIORITY			0x5643 /* 0x80045643 */
+#define LINUX_VIDIOC_S_PRIORITY			0x5644 /* 0x40045644 */
+#define LINUX_VIDIOC_G_SLICED_VBI_CAP		0x5645 /* 0xc0745645 */
+#define LINUX_VIDIOC_LOG_STATUS			0x5646 /* 0x00005646 */
+#define LINUX_VIDIOC_G_EXT_CTRLS		0x5647 /* 0xc0185647 */
+#define LINUX_VIDIOC_S_EXT_CTRLS		0x5648 /* 0xc0185648 */
+#define LINUX_VIDIOC_TRY_EXT_CTRLS		0x5649 /* 0xc0185649 */
+#define LINUX_VIDIOC_ENUM_FRAMESIZES		0x564a /* 0xc02c564a */
+#define LINUX_VIDIOC_ENUM_FRAMEINTERVALS	0x564b /* 0xc034564b */
+#define LINUX_VIDIOC_G_ENC_INDEX		0x564c /* 0x8818564c */
+#define LINUX_VIDIOC_ENCODER_CMD		0x564d /* 0xc028564d */
+#define LINUX_VIDIOC_TRY_ENCODER_CMD		0x564e /* 0xc028564e */
+#define LINUX_VIDIOC_DBG_S_REGISTER		0x564f /* 0x4038564f */
+#define LINUX_VIDIOC_DBG_G_REGISTER		0x5650 /* 0xc0385650 */
+#define LINUX_VIDIOC_DBG_G_CHIP_IDENT		0x5651 /* 0xc02c5651 */
+#define LINUX_VIDIOC_S_HW_FREQ_SEEK		0x5652 /* 0x40305652 */
+#define LINUX_VIDIOC_ENUM_DV_PRESETS		0x5653 /* 0xc0405653 */
+#define LINUX_VIDIOC_S_DV_PRESET		0x5654 /* 0xc0145654 */
+#define LINUX_VIDIOC_G_DV_PRESET		0x5655 /* 0xc0145655 */
+#define LINUX_VIDIOC_QUERY_DV_PRESET		0x5656 /* 0x80145656 */
+#define LINUX_VIDIOC_S_DV_TIMINGS		0x5657 /* 0xc0845657 */
+#define LINUX_VIDIOC_G_DV_TIMINGS		0x5658 /* 0xc0845658 */
+#define LINUX_VIDIOC_DQEVENT			0x5659 /* 0x80785659 */
+#define LINUX_VIDIOC_SUBSCRIBE_EVENT		0x565a /* 0x4020565a */
+#define LINUX_VIDIOC_UNSUBSCRIBE_EVENT		0x565b /* 0x4020565b */
+
+#define LINUX_VIDIOC_OVERLAY_OLD		0x560e /* 0xc004560e */
+#define LINUX_VIDIOC_S_PARM_OLD			0x5616 /* 0x40cc5616 */
+#define LINUX_VIDIOC_S_CTRL_OLD			0x561c /* 0x4008561c */
+#define LINUX_VIDIOC_G_AUDIO_OLD		0x5621 /* 0xc0345621 */
+#define LINUX_VIDIOC_G_AUDOUT_OLD		0x5631 /* 0xc0345631 */
+#define LINUX_VIDIOC_CROPCAP_OLD		0x563a /* 0x802c563a */
+
+#define LINUX_IOCTL_VIDEO2_MIN	LINUX_VIDIOC_QUERYCAP
+#define LINUX_IOCTL_VIDEO2_MAX	LINUX_VIDIOC_UNSUBSCRIBE_EVENT
+
 /*
  * Our libusb(8) calls emulated within linux(4).
  */

Modified: projects/altix/sys/compat/linux/linux_videodev.h
==============================================================================
--- projects/altix/sys/compat/linux/linux_videodev.h	Fri May  6 03:26:24 2011	(r221519)
+++ projects/altix/sys/compat/linux/linux_videodev.h	Fri May  6 03:44:49 2011	(r221520)
@@ -1,8 +1,8 @@
 /*
  * This header comes from linux, but it has no license. The author
  * (Alan Cox @ Redhat) gave explicit permissions to use it in FreeBSD.
- * The freeBSD vendor branch for v4l gives a more detailed description
- * about this.
+ * The FreeBSD vendor branch for v4l gives a more detailed description
+ * about this in the README.
  *
  * $FreeBSD$
  */

Copied: projects/altix/sys/compat/linux/linux_videodev2.h (from r221517, head/sys/compat/linux/linux_videodev2.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/compat/linux/linux_videodev2.h	Fri May  6 03:44:49 2011	(r221520, copy of r221517, head/sys/compat/linux/linux_videodev2.h)
@@ -0,0 +1,1179 @@
+/*
+ * This header comes from linux, but it has no license. The author
+ * (Bill Dirks) gave explicit permissions to use it in FreeBSD.
+ * The FreeBSD vendor branch for v4l gives a more detailed description
+ * about this in the README.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __LINUX_VIDEODEV2_H
+#define __LINUX_VIDEODEV2_H
+/*
+ *	Video for Linux Two
+ *
+ *	Header file for v4l or V4L2 drivers and applications, for
+ *	Linux kernels 2.2.x or 2.4.x.
+ *
+ *	See http://bytesex.org/v4l/ for API specs and other
+ *	v4l2 documentation.
+ *
+ *	Author: Bill Dirks <bdirks at pacbell.net>
+ *		Justin Schoeman
+ *		et al.
+ */
+#ifdef __FreeBSD__
+#define __user
+typedef uint64_t	__u64;
+typedef int64_t		__s64;
+#else
+#ifdef __KERNEL__
+#include <linux/time.h> /* need struct timeval */
+#include <linux/poll.h>
+#include <linux/device.h>
+#include <linux/mutex.h>
+#endif
+#include <linux/compiler.h> /* need __user */
+#endif
+
+
+#define OBSOLETE_OWNER 1 /* It will be removed for 2.6.17 */
+#define HAVE_V4L2 1
+
+/*
+ * Common stuff for both V4L1 and V4L2
+ * Moved from videodev.h
+ */
+
+#define VIDEO_MAX_FRAME               32
+
+#define VID_TYPE_CAPTURE	1	/* Can capture */
+#define VID_TYPE_TUNER		2	/* Can tune */
+#define VID_TYPE_TELETEXT	4	/* Does teletext */
+#define VID_TYPE_OVERLAY	8	/* Overlay onto frame buffer */
+#define VID_TYPE_CHROMAKEY	16	/* Overlay by chromakey */
+#define VID_TYPE_CLIPPING	32	/* Can clip */
+#define VID_TYPE_FRAMERAM	64	/* Uses the frame buffer memory */
+#define VID_TYPE_SCALES		128	/* Scalable */
+#define VID_TYPE_MONOCHROME	256	/* Monochrome only */
+#define VID_TYPE_SUBCAPTURE	512	/* Can capture subareas of the image */
+#define VID_TYPE_MPEG_DECODER	1024	/* Can decode MPEG streams */
+#define VID_TYPE_MPEG_ENCODER	2048	/* Can encode MPEG streams */
+#define VID_TYPE_MJPEG_DECODER	4096	/* Can decode MJPEG streams */
+#define VID_TYPE_MJPEG_ENCODER	8192	/* Can encode MJPEG streams */
+
+#ifdef __KERNEL__
+
+/* Minor device allocation */
+#define MINOR_VFL_TYPE_GRABBER_MIN   0
+#define MINOR_VFL_TYPE_GRABBER_MAX  63
+#define MINOR_VFL_TYPE_RADIO_MIN    64
+#define MINOR_VFL_TYPE_RADIO_MAX   127
+#define MINOR_VFL_TYPE_VTX_MIN     192
+#define MINOR_VFL_TYPE_VTX_MAX     223
+#define MINOR_VFL_TYPE_VBI_MIN     224
+#define MINOR_VFL_TYPE_VBI_MAX     255
+
+#define VFL_TYPE_GRABBER	0
+#define VFL_TYPE_VBI		1
+#define VFL_TYPE_RADIO		2
+#define VFL_TYPE_VTX		3
+
+struct video_device
+{
+	/* device info */
+	struct device *dev;
+	char name[32];
+	int type;       /* v4l1 */
+	int type2;      /* v4l2 */
+	int hardware;
+	int minor;
+
+	/* device ops + callbacks */
+	const struct file_operations *fops;
+	void (*release)(struct video_device *vfd);
+
+
+#if OBSOLETE_OWNER /* to be removed in 2.6.15 */
+	/* obsolete -- fops->owner is used instead */
+	struct module *owner;
+	/* dev->driver_data will be used instead some day.
+	 * Use the video_{get|set}_drvdata() helper functions,
+	 * so the switch over will be transparent for you.
+	 * Or use {pci|usb}_{get|set}_drvdata() directly. */
+	void *priv;
+#endif
+
+	/* for videodev.c intenal usage -- please don't touch */
+	int users;                     /* video_exclusive_{open|close} ... */

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list