Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Sep 2013 20:48:23 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r255132 - in projects/camlock: contrib/bmake contrib/gcc contrib/gcc/doc contrib/gcclibs/libcpp contrib/gcclibs/libcpp/include etc/devd lib/libc/gen lib/libc/include lib/libc/stdio lib/...
Message-ID:  <201309012048.r81KmNlB074765@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sun Sep  1 20:48:22 2013
New Revision: 255132
URL: http://svnweb.freebsd.org/changeset/base/255132

Log:
  MFC @ 255131

Added:
  projects/camlock/lib/libc/include/errlst.h
     - copied unchanged from r255131, head/lib/libc/include/errlst.h
  projects/camlock/sys/arm/conf/DIGI-CCWMX53
     - copied unchanged from r255131, head/sys/arm/conf/DIGI-CCWMX53
  projects/camlock/sys/arm/freescale/imx/files.imx53
     - copied unchanged from r255131, head/sys/arm/freescale/imx/files.imx53
  projects/camlock/sys/arm/freescale/imx/imx53_machdep.c
     - copied unchanged from r255131, head/sys/arm/freescale/imx/imx53_machdep.c
  projects/camlock/sys/arm/freescale/imx/std.imx53
     - copied unchanged from r255131, head/sys/arm/freescale/imx/std.imx53
  projects/camlock/sys/boot/fdt/dts/digi-ccwmx53.dts
     - copied unchanged from r255131, head/sys/boot/fdt/dts/digi-ccwmx53.dts
  projects/camlock/sys/boot/fdt/dts/imx53x.dtsi
     - copied unchanged from r255131, head/sys/boot/fdt/dts/imx53x.dtsi
Modified:
  projects/camlock/contrib/bmake/compat.c
  projects/camlock/contrib/gcc/ChangeLog.gcc43
  projects/camlock/contrib/gcc/doc/extend.texi
  projects/camlock/contrib/gcclibs/libcpp/expr.c
  projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h
  projects/camlock/etc/devd/usb.conf
  projects/camlock/lib/libc/gen/errlst.c
  projects/camlock/lib/libc/stdio/xprintf_errno.c
  projects/camlock/lib/libc/stdlib/system.c
  projects/camlock/lib/libc/string/strerror.c
  projects/camlock/lib/libelf/libelf_data.c
  projects/camlock/share/examples/scsi_target/scsi_target.c
  projects/camlock/share/man/man4/vtnet.4
  projects/camlock/sys/amd64/amd64/apic_vector.S
  projects/camlock/sys/amd64/amd64/pmap.c
  projects/camlock/sys/arm/freescale/imx/imx51_ccm.c
  projects/camlock/sys/arm/freescale/imx/imx51_gpio.c
  projects/camlock/sys/arm/freescale/imx/imx51_iomux.c
  projects/camlock/sys/arm/freescale/imx/imx51_machdep.c
  projects/camlock/sys/arm/freescale/imx/imx_gpt.c
  projects/camlock/sys/arm/freescale/imx/imx_wdog.c
  projects/camlock/sys/cam/scsi/scsi_enc.c
  projects/camlock/sys/cam/scsi/scsi_targ_bh.c
  projects/camlock/sys/cam/scsi/scsi_target.c
  projects/camlock/sys/dev/usb/serial/uftdi.c
  projects/camlock/sys/dev/usb/usbdevs
  projects/camlock/sys/dev/virtio/network/if_vtnet.c
  projects/camlock/sys/dev/virtio/network/if_vtnetvar.h
  projects/camlock/sys/dev/virtio/network/virtio_net.h
  projects/camlock/sys/dev/virtio/pci/virtio_pci.c
  projects/camlock/sys/dev/virtio/virtio_if.m
  projects/camlock/sys/dev/virtio/virtqueue.c
  projects/camlock/sys/dev/virtio/virtqueue.h
  projects/camlock/sys/mips/mips/pmap.c
  projects/camlock/sys/modules/virtio/network/Makefile
  projects/camlock/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
  projects/camlock/tools/tools/bus_autoconf/bus_load_file.c
Directory Properties:
  projects/camlock/   (props changed)
  projects/camlock/contrib/bmake/   (props changed)
  projects/camlock/contrib/gcc/   (props changed)
  projects/camlock/lib/libc/   (props changed)
  projects/camlock/share/man/man4/   (props changed)
  projects/camlock/sys/   (props changed)
  projects/camlock/sys/boot/   (props changed)

Modified: projects/camlock/contrib/bmake/compat.c
==============================================================================
--- projects/camlock/contrib/bmake/compat.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/contrib/bmake/compat.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -340,7 +340,7 @@ again:
 	/*
 	 * The following work for any of the builtin shell specs.
 	 */
-	if (shellErrFlag) {
+	if (errCheck && shellErrFlag) {
 	    shargv[shargc++] = shellErrFlag;
 	}
 	if (DEBUG(SHELL))

Modified: projects/camlock/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- projects/camlock/contrib/gcc/ChangeLog.gcc43	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/contrib/gcc/ChangeLog.gcc43	Sun Sep  1 20:48:22 2013	(r255132)
@@ -1,3 +1,9 @@
+2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de> (r23479)
+
+	PR preprocessor/23479
+	* doc/extend.texi: Document the 0b-prefixed binary integer
+	constant extension.
+	
 2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> (r124341)
 
 	* doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of 

Modified: projects/camlock/contrib/gcc/doc/extend.texi
==============================================================================
--- projects/camlock/contrib/gcc/doc/extend.texi	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/contrib/gcc/doc/extend.texi	Sun Sep  1 20:48:22 2013	(r255132)
@@ -81,6 +81,7 @@ extensions, accepted by GCC in C89 mode 
 * Pragmas::             Pragmas accepted by GCC.
 * Unnamed Fields::      Unnamed struct/union fields within structs/unions.
 * Thread-Local::        Per-thread variables.
+* Binary constants::    Binary constants using the @samp{0b} prefix.
 @end menu
 
 @node Statement Exprs
@@ -10424,6 +10425,28 @@ Non-@code{static} members shall not be @
 @end quotation
 @end itemize
 
+@node Binary constants
+@section Binary constants using the @samp{0b} prefix
+@cindex Binary constants using the @samp{0b} prefix
+
+Integer constants can be written as binary constants, consisting of a
+sequence of @samp{0} and @samp{1} digits, prefixed by @samp{0b} or
+@samp{0B}.  This is particularly useful in environments that operate a
+lot on the bit-level (like microcontrollers).
+
+The following statements are identical:
+
+@smallexample
+i =       42;
+i =     0x2a;
+i =      052;
+i = 0b101010;
+@end smallexample
+
+The type of these constants follows the same rules as for octal or
+hexadecimal integer constants, so suffixes like @samp{L} or @samp{UL}
+can be applied.
+
 @node C++ Extensions
 @chapter Extensions to the C++ Language
 @cindex extensions, C++ language

Modified: projects/camlock/contrib/gcclibs/libcpp/expr.c
==============================================================================
--- projects/camlock/contrib/gcclibs/libcpp/expr.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/contrib/gcclibs/libcpp/expr.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -188,6 +188,11 @@ cpp_classify_number (cpp_reader *pfile, 
 	  radix = 16;
 	  str++;
 	}
+      else if ((*str == 'b' || *str == 'B') && (str[1] == '0' || str[1] == '1'))
+	{
+	  radix = 2;
+	  str++;
+	}
     }
 
   /* Now scan for a well-formed integer or float.  */
@@ -226,10 +231,22 @@ cpp_classify_number (cpp_reader *pfile, 
     radix = 10;
 
   if (max_digit >= radix)
-    SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit);
+    {
+      if (radix == 2)
+	SYNTAX_ERROR2 ("invalid digit \"%c\" in binary constant", '0' + max_digit);
+      else
+	SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit);
+    }
 
   if (float_flag != NOT_FLOAT)
     {
+      if (radix == 2)
+	{
+	  cpp_error (pfile, CPP_DL_ERROR,
+		     "invalid prefix \"0b\" for floating constant");
+	  return CPP_N_INVALID;
+	}
+
       if (radix == 16 && CPP_PEDANTIC (pfile) && !CPP_OPTION (pfile, c99))
 	cpp_error (pfile, CPP_DL_PEDWARN,
 		   "use of C99 hexadecimal floating constant");
@@ -321,11 +338,16 @@ cpp_classify_number (cpp_reader *pfile, 
   if ((result & CPP_N_IMAGINARY) && CPP_PEDANTIC (pfile))
     cpp_error (pfile, CPP_DL_PEDWARN,
 	       "imaginary constants are a GCC extension");
+  if (radix == 2 && CPP_PEDANTIC (pfile))
+    cpp_error (pfile, CPP_DL_PEDWARN,
+	       "binary constants are a GCC extension");
 
   if (radix == 10)
     result |= CPP_N_DECIMAL;
   else if (radix == 16)
     result |= CPP_N_HEX;
+  else if (radix == 2)
+    result |= CPP_N_BINARY;
   else
     result |= CPP_N_OCTAL;
 
@@ -376,6 +398,11 @@ cpp_interpret_integer (cpp_reader *pfile
 	  base = 16;
 	  p += 2;
 	}
+      else if ((type & CPP_N_RADIX) == CPP_N_BINARY)
+	{
+	  base = 2;
+	  p += 2;
+	}
 
       /* We can add a digit to numbers strictly less than this without
 	 needing the precision and slowness of double integers.  */
@@ -431,12 +458,25 @@ static cpp_num
 append_digit (cpp_num num, int digit, int base, size_t precision)
 {
   cpp_num result;
-  unsigned int shift = 3 + (base == 16);
+  unsigned int shift;
   bool overflow;
   cpp_num_part add_high, add_low;
 
-  /* Multiply by 8 or 16.  Catching this overflow here means we don't
+  /* Multiply by 2, 8 or 16.  Catching this overflow here means we don't
      need to worry about add_high overflowing.  */
+  switch (base)
+    {
+    case 2:
+      shift = 1;
+      break;
+
+    case 16:
+      shift = 4;
+      break;
+
+    default:
+      shift = 3;
+    }
   overflow = !!(num.high >> (PART_PRECISION - shift));
   result.high = num.high << shift;
   result.low = num.low << shift;

Modified: projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h
==============================================================================
--- projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h	Sun Sep  1 20:48:22 2013	(r255132)
@@ -745,6 +745,7 @@ struct cpp_num
 #define CPP_N_DECIMAL	0x0100
 #define CPP_N_HEX	0x0200
 #define CPP_N_OCTAL	0x0400
+#define CPP_N_BINARY	0x0800
 
 #define CPP_N_UNSIGNED	0x1000	/* Properties.  */
 #define CPP_N_IMAGINARY	0x2000

Modified: projects/camlock/etc/devd/usb.conf
==============================================================================
--- projects/camlock/etc/devd/usb.conf	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/etc/devd/usb.conf	Sun Sep  1 20:48:22 2013	(r255132)
@@ -129,7 +129,7 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0403";
-	match "product" "(0x6001|0x6004|0x6006|0x6006|0x6010|0x6011|0x6014|0x8372|0x9378|0x9379|0x937a|0x937c|0x9868|0x9e90|0x9f80|0xa6d0|0xabb8|0xb810|0xb811|0xb812|0xbaf8|0xbbe2|0xbca0|0xbca1|0xbca2|0xbca4|0xbcd8|0xbcd9|0xbcda|0xbdc8|0xbfd8|0xbfd9|0xbfda|0xbfdb|0xbfdc|0xc7d0|0xc850|0xc991|0xcaa0|0xcc48|0xcc49|0xcc4a|0xd010|0xd011|0xd012|0xd013|0xd014|0xd015|0xd016|0xd017|0xd070|0xd071|0xd388|0xd389|0xd38a|0xd38b|0xd38c|0xd38d|0xd38e|0xd38f|0xd578|0xd678|0xd738|0xd780|0xdaf8|0xdaf9|0xdafa|0xdafb|0xdafc|0xdafd|0xdafe|0xdaff|0xdc00|0xdc01|0xdd20|0xdf28|0xdf30|0xdf31|0xdf32|0xdf33|0xdf35|0xe000|0xe001|0xe002|0xe004|0xe006|0xe008|0xe009|0xe00a|0xe050|0xe0e8|0xe0e9|0xe0ea|0xe0eb|0xe0ec|0xe0ed|0xe0ee|0xe0ef|0xe0f0|0xe0f1|0xe0f2|0xe0f3|0xe0f4|0xe0f5|0xe0f6|0xe0f7|0xe40b|0xe520|0xe548|0xe6c8|0xe700|0xe729|0xe808|0xe809|0xe80a|0xe80b|0xe80c|0xe80d|0xe80e|0xe80f|0xe888|0xe889|0xe88a|0xe88b|0xe88c|0xe88d|0xe88e|0xe88f|0xea90|0xebe0|0xec88|0xec89|0xed22|0xed71|0xed72|0xed73|0xed74|0xee18|0xeee8|0xeee
 9|0xeeea|0xeeeb|0xeeec|0xeeed|0xeeee|0xeeef|0xef50|0xef51|0xf068|0xf069|0xf06a|0xf06b|0xf06c|0xf06d|0xf06e|0xf06f|0xf070|0xf0c0|0xf0c8|0xf208|0xf2d0|0xf3c0|0xf3c1|0xf3c2|0xf448|0xf449|0xf44a|0xf44b|0xf44c|0xf460|0xf608|0xf60b|0xf680|0xf850|0xf857|0xf9d0|0xf9d1|0xf9d2|0xf9d3|0xf9d4|0xf9d5|0xfa00|0xfa01|0xfa02|0xfa03|0xfa04|0xfa05|0xfa06|0xfa10|0xfa33|0xfa88|0xfad0|0xfaf0|0xfb58|0xfb59|0xfb5a|0xfb5b|0xfb5c|0xfb5d|0xfb5e|0xfb5f|0xfb80|0xfb99|0xfbfa|0xfc08|0xfc09|0xfc0a|0xfc0b|0xfc0c|0xfc0d|0xfc0e|0xfc0f|0xfc60|0xfc70|0xfc71|0xfc72|0xfc73|0xfc82|0xfd60|0xfe38|0xff00|0xff18|0xff1c|0xff1d|0xff20|0xff38|0xff39|0xff3a|0xff3b|0xff3c|0xff3d|0xff3e|0xff3f|0xffa8)";
+	match "product" "(0x6001|0x6004|0x6006|0x6006|0x6010|0x6011|0x6014|0x6015|0x8372|0x9378|0x9379|0x937a|0x937c|0x9868|0x9e90|0x9f80|0xa6d0|0xabb8|0xb810|0xb811|0xb812|0xbaf8|0xbbe2|0xbca0|0xbca1|0xbca2|0xbca4|0xbcd8|0xbcd9|0xbcda|0xbdc8|0xbfd8|0xbfd9|0xbfda|0xbfdb|0xbfdc|0xc7d0|0xc850|0xc991|0xcaa0|0xcc48|0xcc49|0xcc4a|0xd010|0xd011|0xd012|0xd013|0xd014|0xd015|0xd016|0xd017|0xd070|0xd071|0xd388|0xd389|0xd38a|0xd38b|0xd38c|0xd38d|0xd38e|0xd38f|0xd578|0xd678|0xd738|0xd780|0xdaf8|0xdaf9|0xdafa|0xdafb|0xdafc|0xdafd|0xdafe|0xdaff|0xdc00|0xdc01|0xdd20|0xdf28|0xdf30|0xdf31|0xdf32|0xdf33|0xdf35|0xe000|0xe001|0xe002|0xe004|0xe006|0xe008|0xe009|0xe00a|0xe050|0xe0e8|0xe0e9|0xe0ea|0xe0eb|0xe0ec|0xe0ed|0xe0ee|0xe0ef|0xe0f0|0xe0f1|0xe0f2|0xe0f3|0xe0f4|0xe0f5|0xe0f6|0xe0f7|0xe40b|0xe520|0xe548|0xe6c8|0xe700|0xe729|0xe808|0xe809|0xe80a|0xe80b|0xe80c|0xe80d|0xe80e|0xe80f|0xe888|0xe889|0xe88a|0xe88b|0xe88c|0xe88d|0xe88e|0xe88f|0xea90|0xebe0|0xec88|0xec89|0xed22|0xed71|0xed72|0xed73|0xed74|0xee18|0xeee
 8|0xeee9|0xeeea|0xeeeb|0xeeec|0xeeed|0xeeee|0xeeef|0xef50|0xef51|0xf068|0xf069|0xf06a|0xf06b|0xf06c|0xf06d|0xf06e|0xf06f|0xf070|0xf0c0|0xf0c8|0xf208|0xf2d0|0xf3c0|0xf3c1|0xf3c2|0xf448|0xf449|0xf44a|0xf44b|0xf44c|0xf460|0xf608|0xf60b|0xf680|0xf850|0xf857|0xf9d0|0xf9d1|0xf9d2|0xf9d3|0xf9d4|0xf9d5|0xfa00|0xfa01|0xfa02|0xfa03|0xfa04|0xfa05|0xfa06|0xfa10|0xfa33|0xfa88|0xfad0|0xfaf0|0xfb58|0xfb59|0xfb5a|0xfb5b|0xfb5c|0xfb5d|0xfb5e|0xfb5f|0xfb80|0xfb99|0xfbfa|0xfc08|0xfc09|0xfc0a|0xfc0b|0xfc0c|0xfc0d|0xfc0e|0xfc0f|0xfc60|0xfc70|0xfc71|0xfc72|0xfc73|0xfc82|0xfd60|0xfe38|0xff00|0xff18|0xff1c|0xff1d|0xff20|0xff38|0xff39|0xff3a|0xff3b|0xff3c|0xff3d|0xff3e|0xff3f|0xffa8)";
 	action "kldload -n uftdi";
 };
 
@@ -296,6 +296,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x044e";
+	match "product" "(0x3001|0x3002)";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0456";
 	match "product" "(0xf000|0xf001)";
 	action "kldload -n uftdi";
@@ -385,7 +393,7 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0489";
-	match "product" "(0xe027|0xe02c|0xe036|0xe03c|0xe03d|0xe04e|0xe056|0xe057)";
+	match "product" "(0xe027|0xe02c|0xe036|0xe03c|0xe03d|0xe042|0xe04e|0xe056|0xe057)";
 	action "kldload -n ng_ubt";
 };
 
@@ -520,6 +528,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x04bf";
+	match "product" "0x030a";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x04c5";
 	match "product" "(0x1058|0x1079)";
 	action "kldload -n uipaq";
@@ -529,7 +545,7 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x04ca";
-	match "product" "(0x3005|0x3006|0x3008)";
+	match "product" "(0x2003|0x3005|0x3006|0x3008)";
 	action "kldload -n ng_ubt";
 };
 
@@ -1080,6 +1096,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x05ac";
+	match "product" "(0x8213|0x8215|0x8218|0x821a|0x821b|0x821f|0x8281|0x828f)";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x05ad";
 	match "product" "0x0fba";
 	action "kldload -n uplcom";
@@ -2048,6 +2072,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x0a5c";
+	match "product" "0x21e1";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0acd";
 	match "product" "0x0300";
 	action "kldload -n uftdi";
@@ -2257,6 +2289,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0b05";
+	match "product" "0x17b5";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0b05";
 	match "product" "(0x4200|0x4201|0x4202|0x420f|0x9200|0x9202)";
 	action "kldload -n uipaq";
 };
@@ -2448,6 +2488,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x0bdb";
+	match "product" "0x1002";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0bed";
 	match "product" "(0x1100|0x1101)";
 	action "kldload -n uslcom";
@@ -2472,6 +2520,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x0c10";
+	match "product" "0x0000";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0c26";
 	match "product" "(0x0004|0x0009|0x000a|0x000b|0x000c|0x000d|0x0010|0x0011|0x0012|0x0013|0x0018)";
 	action "kldload -n uftdi";
@@ -2888,6 +2944,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x0e8d";
+	match "product" "0x763f";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0ea0";
 	match "product" "0x6858";
 	action "kldload -n uplcom";
@@ -4777,6 +4841,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x413c";
+	match "product" "0x8197";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x413c";
 	match "product" "0x9500";
 	action "kldload -n uslcom";
 };
@@ -5008,6 +5080,26 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x0489";
+	match "intclass" "0xff";
+	match "intsubclass" "0x01";
+	match "intprotocol" "0x01";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x05ac";
+	match "intclass" "0xff";
+	match "intsubclass" "0x01";
+	match "intprotocol" "0x01";
+	action "kldload -n ng_ubt";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x05ac";
 	match "intclass" "0xff";
 	match "intsubclass" "0xfd";
@@ -5168,5 +5260,5 @@ nomatch 32 {
 	action "kldload -n umass";
 };
 
-# 2515 USB entries processed
+# 2537 USB entries processed
 

Modified: projects/camlock/lib/libc/gen/errlst.c
==============================================================================
--- projects/camlock/lib/libc/gen/errlst.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/lib/libc/gen/errlst.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -34,6 +34,7 @@ static char sccsid[] = "@(#)errlst.c	8.2
 __FBSDID("$FreeBSD$");
 
 #include <stdio.h>
+#include "errlst.h"
 
 const char *const sys_errlist[] = {
 	"No error: 0",				/*  0 - ENOERROR */
@@ -156,3 +157,8 @@ const char *const sys_errlist[] = {
 	"Previous owner died",			/* 96 - EOWNERDEAD */
 };
 const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]);
+
+#ifdef PIC
+__strong_reference(sys_errlist, __hidden_sys_errlist);
+__strong_reference(sys_nerr, __hidden_sys_nerr);
+#endif

Copied: projects/camlock/lib/libc/include/errlst.h (from r255131, head/lib/libc/include/errlst.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/camlock/lib/libc/include/errlst.h	Sun Sep  1 20:48:22 2013	(r255132, copy of r255131, head/lib/libc/include/errlst.h)
@@ -0,0 +1,43 @@
+/*-
+ * Copyright (c) 2013 Jilles Tjoelker
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 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.
+ *
+ * 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 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)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __ERRLST_H__
+#define __ERRLST_H__
+
+#include <sys/cdefs.h>
+
+#ifdef PIC
+/* If the main executable imports these, do not use its copy from libc.so. */
+extern const char *const __hidden_sys_errlist[] __hidden;
+extern const int __hidden_sys_nerr __hidden;
+#else
+#define __hidden_sys_errlist sys_errlist
+#define __hidden_sys_nerr sys_nerr
+#endif
+
+#endif /* __ERRLST_H__ */

Modified: projects/camlock/lib/libc/stdio/xprintf_errno.c
==============================================================================
--- projects/camlock/lib/libc/stdio/xprintf_errno.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/lib/libc/stdio/xprintf_errno.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -34,6 +34,7 @@
 #include <vis.h>
 #include <assert.h>
 #include <sys/time.h>
+#include "errlst.h"
 #include "printf.h"
 
 int
@@ -54,7 +55,7 @@ __printf_render_errno(struct __printf_io
 
 	ret = 0;
 	error = *((const int *)arg[0]);
-	if (error >= 0 && error < sys_nerr) {
+	if (error >= 0 && error < __hidden_sys_nerr) {
 		p = strerror(error);
 		return (__printf_out(io, pi, p, strlen(p)));
 	}

Modified: projects/camlock/lib/libc/stdlib/system.c
==============================================================================
--- projects/camlock/lib/libc/stdlib/system.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/lib/libc/stdlib/system.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -59,6 +59,8 @@ __system(const char *command)
 
 	(void)sigemptyset(&newsigblock);
 	(void)sigaddset(&newsigblock, SIGCHLD);
+	(void)sigaddset(&newsigblock, SIGINT);
+	(void)sigaddset(&newsigblock, SIGQUIT);
 	(void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock);
 	switch(pid = vfork()) {
 	case -1:			/* error */

Modified: projects/camlock/lib/libc/string/strerror.c
==============================================================================
--- projects/camlock/lib/libc/string/strerror.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/lib/libc/string/strerror.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <stdio.h>
 
+#include "errlst.h"
+
 #define	UPREFIX		"Unknown error"
 
 /*
@@ -87,7 +89,7 @@ strerror_r(int errnum, char *strerrbuf, 
 	catd = catopen("libc", NL_CAT_LOCALE);
 #endif
 
-	if (errnum < 0 || errnum >= sys_nerr) {
+	if (errnum < 0 || errnum >= __hidden_sys_nerr) {
 		errstr(errnum,
 #if defined(NLS)
 			catgets(catd, 1, 0xffff, UPREFIX),
@@ -99,9 +101,9 @@ strerror_r(int errnum, char *strerrbuf, 
 	} else {
 		if (strlcpy(strerrbuf,
 #if defined(NLS)
-			catgets(catd, 1, errnum, sys_errlist[errnum]),
+			catgets(catd, 1, errnum, __hidden_sys_errlist[errnum]),
 #else
-			sys_errlist[errnum],
+			__hidden_sys_errlist[errnum],
 #endif
 			buflen) >= buflen)
 		retval = ERANGE;

Modified: projects/camlock/lib/libelf/libelf_data.c
==============================================================================
--- projects/camlock/lib/libelf/libelf_data.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/lib/libelf/libelf_data.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -84,13 +84,21 @@ _libelf_xlate_shtype(uint32_t sht)
 	case SHT_SUNW_dof:
 		return (ELF_T_BYTE);
 #endif
+	case SHT_ARM_PREEMPTMAP:
+		/* FALLTHROUGH */
+	case SHT_ARM_ATTRIBUTES:
+		/* FALLTHROUGH */
+	case SHT_ARM_DEBUGOVERLAY:
+		/* FALLTHROUGH */
+	case SHT_ARM_OVERLAYSECTION:
+		/* FALLTHROUGH */
 	case SHT_MIPS_DWARF:
 		/* FALLTHROUGH */
 	case SHT_MIPS_REGINFO:
 		/* FALLTHROUGH */
 	case SHT_MIPS_OPTIONS:
 		/* FALLTHROUGH */
-	case SHT_AMD64_UNWIND:	/* == SHT_IA_64_UNWIND */
+	case SHT_AMD64_UNWIND:	/* == SHT_IA_64_UNWIND == SHT_ARM_EXIDX */
 		return (ELF_T_BYTE);
 	default:
 		return (-1);

Modified: projects/camlock/share/examples/scsi_target/scsi_target.c
==============================================================================
--- projects/camlock/share/examples/scsi_target/scsi_target.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/share/examples/scsi_target/scsi_target.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -365,7 +365,7 @@ init_ccbs()
 	for (i = 0; i < MAX_INITIATORS; i++) {
 		struct ccb_accept_tio *atio;
 		struct atio_descr *a_descr;
-		struct ccb_immed_notify *inot;
+		struct ccb_immediate_notify *inot;
 
 		atio = (struct ccb_accept_tio *)malloc(sizeof(*atio));
 		if (atio == NULL) {
@@ -382,7 +382,7 @@ init_ccbs()
 		atio->ccb_h.targ_descr = a_descr;
 		send_ccb((union ccb *)atio, /*priority*/1);
 
-		inot = (struct ccb_immed_notify *)malloc(sizeof(*inot));
+		inot = (struct ccb_immediate_notify *)malloc(sizeof(*inot));
 		if (inot == NULL) {
 			warn("malloc INOT");
 			return (-1);
@@ -593,7 +593,7 @@ handle_read()
 			oo += run_queue(c_descr->atio);
 			break;
 		}
-		case XPT_IMMED_NOTIFY:
+		case XPT_IMMEDIATE_NOTIFY:
 			/* INOTs are handled with priority */
 			TAILQ_INSERT_HEAD(&work_queue, &ccb->ccb_h,
 					  periph_links.tqe);
@@ -903,7 +903,7 @@ free_ccb(union ccb *ccb)
 	case XPT_ACCEPT_TARGET_IO:
 		free(ccb->ccb_h.targ_descr);
 		/* FALLTHROUGH */
-	case XPT_IMMED_NOTIFY:
+	case XPT_IMMEDIATE_NOTIFY:
 	default:
 		free(ccb);
 		break;

Modified: projects/camlock/share/man/man4/vtnet.4
==============================================================================
--- projects/camlock/share/man/man4/vtnet.4	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/share/man/man4/vtnet.4	Sun Sep  1 20:48:22 2013	(r255132)
@@ -69,14 +69,30 @@ prompt before booting the kernel or stor
 .Xr loader.conf 5 .
 .Bl -tag -width "xxxxxx"
 .It Va hw.vtnet.csum_disable
+.It Va hw.vtnet. Ns Ar X Ns Va .csum_disable
 This tunable disables receive and send checksum offload.
 The default value is 0.
 .It Va hw.vtnet.tso_disable
+.It Va hw.vtnet. Ns Ar X Ns Va .tso_disable
 This tunable disables TSO.
 The default value is 0.
 .It Va hw.vtnet.lro_disable
+.It Va hw.vtnet. Ns Ar X Ns Va .lro_disable
 This tunable disables LRO.
 The default value is 0.
+.It Va hw.vtnet.mq_disable
+.It Va hw.vtnet. Ns Ar X Ns Va .mq_disable
+This tunable disables multiqueue.
+The default value is 0.
+.It Va hw.vtnet.mq_max_pairs
+.It Va hw.vtnet. Ns Ar X Ns Va .mq_max_pairs
+This tunable sets the maximum number of transmit and receive queue pairs.
+Multiple queues are only supported when the Multiqueue feature is negotiated.
+This driver supports a maximum of 8 queue pairs.
+The number of queue pairs used is the lesser of the maximum supported by the
+driver and the hypervisor, the number of CPUs present in the guest, and this
+tunable if not zero.
+The default value is 0.
 .El
 .Sh SEE ALSO
 .Xr arp 4 ,

Modified: projects/camlock/sys/amd64/amd64/apic_vector.S
==============================================================================
--- projects/camlock/sys/amd64/amd64/apic_vector.S	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/sys/amd64/amd64/apic_vector.S	Sun Sep  1 20:48:22 2013	(r255132)
@@ -160,11 +160,11 @@ IDTVEC(xen_intr_upcall)
 
 	SUPERALIGN_TEXT
 global_invltlb:
-	movl	%cr4,%eax
-	andl	$~0x80,%eax
-	movl	%eax,%cr4
-	orl	$0x80,%eax
-	movl	%eax,%cr4
+	movq	%cr4,%rax
+	andq	$~0x80,%rax	/* PGE */
+	movq	%rax,%cr4
+	orq	$0x80,%rax
+	movq	%rax,%cr4
 invltlb_ret_clear_pm_save:
 	movq	smp_tlb_pmap,%rdx
 	testq	%rdx,%rdx

Modified: projects/camlock/sys/amd64/amd64/pmap.c
==============================================================================
--- projects/camlock/sys/amd64/amd64/pmap.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/sys/amd64/amd64/pmap.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -762,7 +762,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
 	/* Initialize the PAT MSR. */
 	pmap_init_pat();
 
-#ifdef SMP
 	/* Initialize TLB Context Id. */
 	TUNABLE_INT_FETCH("vm.pmap.pcid_enabled", &pmap_pcid_enabled);
 	if ((cpu_feature2 & CPUID2_PCID) != 0 && pmap_pcid_enabled) {
@@ -773,8 +772,10 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
 		invpcid_works = (cpu_stdext_feature & CPUID_STDEXT_INVPCID)
 		    != 0;
 		kernel_pmap->pm_pcid = 0;
-	} else
+#ifndef SMP
+		pmap_pcid_enabled = 0;
 #endif
+	} else
 		pmap_pcid_enabled = 0;
 }
 

Copied: projects/camlock/sys/arm/conf/DIGI-CCWMX53 (from r255131, head/sys/arm/conf/DIGI-CCWMX53)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/camlock/sys/arm/conf/DIGI-CCWMX53	Sun Sep  1 20:48:22 2013	(r255132, copy of r255131, head/sys/arm/conf/DIGI-CCWMX53)
@@ -0,0 +1,175 @@
+# Kernel configuration for Digi ConnectCore Wi-i.MX53 boards
+#
+# For more information on this file, please read the config(5) manual page,
+# and/or the handbook section on Kernel Configuration Files:
+#
+#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files.
+# If you are in doubt as to the purpose or necessity of a line, check first
+# in NOTES.
+#
+# $FreeBSD$
+
+ident		DIGI-CCWMX53
+
+include 	"../freescale/imx/std.imx53"
+
+makeoptions 	WITHOUT_MODULES="ahc"
+
+makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
+#options 	DEBUG
+
+options 	SCHED_4BSD		# 4BSD scheduler
+#options 	PREEMPTION		# Enable kernel thread preemption
+options 	INET			# InterNETworking
+options 	INET6			# IPv6 communications protocols
+#options 	SCTP			# Stream Control Transmission Protocol
+options 	FFS			# Berkeley Fast Filesystem
+options 	SOFTUPDATES		# Enable FFS soft updates support
+options 	UFS_ACL			# Support for access control lists
+options 	UFS_DIRHASH		# Improve performance on big directories
+options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
+#options 	MD_ROOT			# MD is a potential root device
+options 	NFSCL			# New Network Filesystem Client
+#options 	NFSD			# New Network Filesystem Server
+options 	NFSLOCKD		# Network Lock Manager
+options 	NFS_ROOT		# NFS usable as /, requires NFSCL
+options 	MSDOSFS			# MSDOS Filesystem
+options 	CD9660			# ISO 9660 Filesystem
+#options 	PROCFS			# Process filesystem (requires PSEUDOFS)
+options 	PSEUDOFS		# Pseudo-filesystem framework
+options 	TMPFS			# TMP Memory Filesystem
+options 	GEOM_PART_GPT		# GUID Partition Tables.
+options 	GEOM_LABEL		# Provides labelization
+#options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
+#options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
+#options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
+options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
+options 	KTRACE			# ktrace(1) support
+options 	SYSVSHM			# SYSV-style shared memory
+options 	SYSVMSG			# SYSV-style message queues
+options 	SYSVSEM			# SYSV-style semaphores
+options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
+options 	INCLUDE_CONFIG_FILE	# Include this file in kernel
+options 	VFP			# vfp/neon
+
+# required for netbooting
+#options 	BOOTP
+#options 	BOOTP_COMPAT
+#options 	BOOTP_NFSROOT
+#options 	BOOTP_NFSV3
+#options 	BOOTP_WIRED_TO=ue0
+
+#options 	ROOTDEVNAME=\"ufs:ada0s2a\"
+
+
+# kernel/memory size reduction
+#options 	MUTEX_NOINLINE
+#options 	NO_FFS_SNAPSHOT
+#options 	NO_SWAPPING
+#options 	NO_SYSCTL_DESCR
+#options 	RWLOCK_NOINLINE
+
+# Debugging support.  Always need this:
+options 	KDB			# Enable kernel debugger support.
+# For minimum debugger support (stable branch) use:
+#options 	KDB_TRACE		# Print a stack trace for a panic.
+# For full debugger support use this instead:
+options 	DDB			# Support DDB.
+#options 	GDB			# Support remote GDB.
+options 	DEADLKRES		# Enable the deadlock resolver
+options 	INVARIANTS		# Enable calls of extra sanity checking
+options 	INVARIANT_SUPPORT	# Extra sanity checks of internal structures, required by INVARIANTS
+options 	WITNESS			# Enable checks to detect deadlocks and cycles
+
+# The `bpf' device enables the Berkeley Packet Filter.
+# Be aware of the administrative consequences of enabling this!
+# Note that 'bpf' is required for DHCP.
+device		bpf		# Berkeley packet filter
+
+# Pseudo devices.
+device		loop		# Network loopback
+device		random		# Entropy device
+device		ether		# Ethernet support
+#device		vlan		# 802.1Q VLAN support
+#device		tun		# Packet tunnel.
+#device		md		# Memory "disks"
+#device		gif		# IPv6 and IPv4 tunneling
+#device		faith		# IPv6-to-IPv4 relaying (translation)
+#device		firmware	# firmware assist module
+
+# Serial (COM) ports
+#device		uart		# Multi-uart driver
+options 	ALT_BREAK_TO_DEBUGGER
+
+device		ata
+device		atapci		# Only for helper functions
+device		imxata
+options 	ATA_STATIC_ID	# Static device numbering
+
+device		iomux		# IO Multiplexor
+
+device		gpio
+device		gpioled
+
+device		fsliic
+device		iic
+device		iicbus
+
+# SCSI peripherals
+device		scbus		# SCSI bus (required for SCSI)
+device		da		# Direct Access (disks)
+device		cd		# CD
+device		pass		# Passthrough device (direct SCSI access)
+
+# USB support
+#options 	USB_DEBUG	# enable debug msgs
+#device		ehci		# OHCI USB interface
+#device		usb		# USB Bus (required)
+#device		umass		# Disks/Mass storage - Requires scbus and da
+#device		uhid		# "Human Interface Devices"
+#device		ukbd		# Allow keyboard like HIDs to control console
+#device		ums
+
+# USB Ethernet, requires miibus
+#device		miibus
+#device		aue		# ADMtek USB Ethernet
+#device		axe		# ASIX Electronics USB Ethernet
+#device		cdce		# Generic USB over Ethernet
+#device		cue		# CATC USB Ethernet
+#device		kue		# Kawasaki LSI USB Ethernet
+#device		rue		# RealTek RTL8150 USB Ethernet
+#device		udav		# Davicom DM9601E USB
+
+# USB Wireless
+#device		rum		# Ralink Technology RT2501USB wireless NICs
+
+# Watchdog timer.
+# WARNING: can't be disabled!!!
+device		imxwdt		# Watchdog
+
+# Wireless NIC cards
+device		wlan		# 802.11 support
+device		wlan_wep	# 802.11 WEP support
+device		wlan_ccmp	# 802.11 CCMP support
+device		wlan_tkip	# 802.11 TKIP support
+device		wlan_amrr	# AMRR transmit rate control algorithm
+
+# Flattened Device Tree
+options         FDT
+options         FDT_DTB_STATIC
+makeoptions     FDT_DTS_FILE=digi-ccwmx53.dts
+
+# NOTE: serial console will be disabled if syscons enabled
+# Uncomment following lines for framebuffer/syscons support
+#device		sc
+#device		kbdmux
+#options         SC_DFLT_FONT    # compile font in
+#makeoptions     SC_DFLT_FONT=cp437

Copied: projects/camlock/sys/arm/freescale/imx/files.imx53 (from r255131, head/sys/arm/freescale/imx/files.imx53)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/camlock/sys/arm/freescale/imx/files.imx53	Sun Sep  1 20:48:22 2013	(r255132, copy of r255131, head/sys/arm/freescale/imx/files.imx53)
@@ -0,0 +1,51 @@
+# $FreeBSD$
+arm/arm/bus_space_asm_generic.S		standard
+arm/arm/bus_space_generic.c		standard
+arm/arm/cpufunc_asm_armv5.S		standard
+arm/arm/cpufunc_asm_arm11.S		standard
+arm/arm/cpufunc_asm_armv7.S		standard
+arm/arm/irq_dispatch.S			standard
+kern/kern_clocksource.c			standard
+
+# Init
+arm/freescale/imx/imx53_machdep.c	standard
+arm/freescale/imx/common.c		standard
+arm/freescale/imx/bus_space.c		standard
+
+# Dummy serial console
+arm/freescale/imx/console.c		standard
+
+# TrustZone Interrupt Controller
+arm/freescale/imx/tzic.c		standard
+
+# IOMUX - external pins multiplexor
+arm/freescale/imx/imx51_iomux.c		optional iomux
+
+# GPIO
+arm/freescale/imx/imx51_gpio.c		optional gpio
+
+# Generic Periodic Timer
+arm/freescale/imx/imx_gpt.c		standard
+
+# Clock Configuration Manager
+arm/freescale/imx/imx51_ccm.c		standard
+
+# i.MX5xx PATA controller
+dev/ata/chipsets/ata-fsl.c		optional imxata
+
+# UART driver
+#dev/uart/uart_dev_imx.c			optional uart
+
+# USB join controller (1 OTG, 3 EHCI)
+dev/usb/controller/ehci_imx.c		optional ehci
+
+# Watchdog
+arm/freescale/imx/imx_wdog.c		optional imxwdt
+
+# i2c
+arm/freescale/imx/i2c.c			optional fsliic
+dev/ofw/ofw_iicbus.c			optional fsliic
+
+# IPU - Image Processing Unit (frame buffer also)
+arm/freescale/imx/imx51_ipuv3.c		optional sc
+

Modified: projects/camlock/sys/arm/freescale/imx/imx51_ccm.c
==============================================================================
--- projects/camlock/sys/arm/freescale/imx/imx51_ccm.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/sys/arm/freescale/imx/imx51_ccm.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -140,7 +140,8 @@ static int
 imxccm_match(device_t dev)
 {
 
-	if (!ofw_bus_is_compatible(dev, "fsl,imx51-ccm"))
+	if (!ofw_bus_is_compatible(dev, "fsl,imx51-ccm") &&
+	    !ofw_bus_is_compatible(dev, "fsl,imx53-ccm"))
 		return (ENXIO);
 
 	device_set_desc(dev, "Freescale Clock Control Module");

Modified: projects/camlock/sys/arm/freescale/imx/imx51_gpio.c
==============================================================================
--- projects/camlock/sys/arm/freescale/imx/imx51_gpio.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/sys/arm/freescale/imx/imx51_gpio.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -370,7 +370,8 @@ static int
 imx51_gpio_probe(device_t dev)
 {
 
-	if (ofw_bus_is_compatible(dev, "fsl,imx51-gpio")) {
+	if (ofw_bus_is_compatible(dev, "fsl,imx51-gpio") ||
+	    ofw_bus_is_compatible(dev, "fsl,imx53-gpio")) {
 		device_set_desc(dev, "i.MX515 GPIO Controller");
 		return (BUS_PROBE_DEFAULT);
 	}

Modified: projects/camlock/sys/arm/freescale/imx/imx51_iomux.c
==============================================================================
--- projects/camlock/sys/arm/freescale/imx/imx51_iomux.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/sys/arm/freescale/imx/imx51_iomux.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -106,7 +106,8 @@ static int
 iomux_probe(device_t dev)
 {
 
-	if (!ofw_bus_is_compatible(dev, "fsl,imx51-iomux"))
+	if (!ofw_bus_is_compatible(dev, "fsl,imx51-iomux") &&
+	    !ofw_bus_is_compatible(dev, "fsl,imx53-iomux"))
 		return (ENXIO);
 
 	device_set_desc(dev, "Freescale i.MX51 IO pins multiplexor");

Modified: projects/camlock/sys/arm/freescale/imx/imx51_machdep.c
==============================================================================
--- projects/camlock/sys/arm/freescale/imx/imx51_machdep.c	Sun Sep  1 20:22:52 2013	(r255131)
+++ projects/camlock/sys/arm/freescale/imx/imx51_machdep.c	Sun Sep  1 20:48:22 2013	(r255132)
@@ -107,7 +107,7 @@ platform_devmap_init(void)
 	 * Map segment where UART1 and UART2 located.
 	 */
 	fdt_devmap[0].pd_va = IMX51_DEV_VIRT_BASE + 0x03f00000;
-	fdt_devmap[0].pd_pa = 0x73f00000;
+	fdt_devmap[0].pd_pa = 0x53f00000;
 	fdt_devmap[0].pd_size = 0x00100000;
 	fdt_devmap[0].pd_prot = VM_PROT_READ | VM_PROT_WRITE;
 	fdt_devmap[0].pd_cache = PTE_NOCACHE;

Copied: projects/camlock/sys/arm/freescale/imx/imx53_machdep.c (from r255131, head/sys/arm/freescale/imx/imx53_machdep.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/camlock/sys/arm/freescale/imx/imx53_machdep.c	Sun Sep  1 20:48:22 2013	(r255132, copy of r255131, head/sys/arm/freescale/imx/imx53_machdep.c)
@@ -0,0 +1,141 @@
+/*-
+ * Copyright (c) 1994-1998 Mark Brinicombe.
+ * Copyright (c) 1994 Brini.
+ * Copyright (c) 2012, 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This code is derived from software written for Brini by Mark Brinicombe
+ * Portions of this software were developed by Oleksandr Rybalko
+ * under sponsorship from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 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. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *      This product includes software developed by Brini.
+ * 4. The name of the company nor the name of the author may be used to
+ *    endorse or promote products derived from this software without specific
+ *    prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI 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)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "opt_platform.h"
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#define _ARM32_BUS_DMA_PRIVATE
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/reboot.h>
+
+#include <vm/vm.h>
+#include <vm/pmap.h>
+
+#include <machine/bus.h>
+#include <machine/frame.h> /* For trapframe_t, used in <machine/machdep.h> */
+#include <machine/machdep.h>
+#include <machine/pmap.h>
+
+#include <dev/fdt/fdt_common.h>
+
+#define	IMX53_DEV_VIRT_BASE	0xe0000000
+
+vm_offset_t
+initarm_lastaddr(void)
+{
+
+	boothowto |= RB_VERBOSE|RB_MULTIPLE;
+	bootverbose = 1;
+
+	if (fdt_immr_addr(IMX53_DEV_VIRT_BASE) != 0)
+		while (1);
+
+	/* Platform-specific initialisation */
+	return (fdt_immr_va - ARM_NOCACHE_KVA_SIZE);
+}
+
+/*
+ * Set initial values of GPIO output ports
+ */
+void
+initarm_gpio_init(void)
+{
+
+}
+
+void
+initarm_late_init(void)
+{
+
+}

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309012048.r81KmNlB074765>