Commit Graph

197438 Commits

Author SHA1 Message Date
andrew
9f5da66af7 MFC r273288:
Allow the armv6 kernel to be build with PHYSADDR undefined. The kernel
 will now find the virtual to physical mapping for libkvm to use at
 runtime. This makes PHYSADDR redundant, however keep it around to give
 everyone a chance to update their libkvm.
2014-10-29 16:41:20 +00:00
andrew
1bb14d2219 MFC r273287:
Only build the ARM tranpoline when KERNPHYSADDR is defined as it is
 otherwise unneeded in armv6 kernels.
2014-10-29 16:38:13 +00:00
andrew
ce556e3257 MFC r273284:
Allow libkvm to get the kernel va to pa delta without the need for
 physaddr. This should allow for a kernel where PHYSADDR and KERNPHYSADDR
 are both undefined.

 For now libkvm will use the old method of reading physaddr and kernaddr
 to allow it to work with old kernels. This could be removed in the future
 when enough time has passed.
2014-10-29 16:36:08 +00:00
andrew
f0629d0f08 MFC r269956:
From https://sourceware.org/ml/newlib/2014/msg00113.html
 By Richard Earnshaw at ARM
 >
 >GCC has for a number of years provides a set of pre-defined macros for
 >use with determining the ISA and features of the target during
 >pre-processing.  However, the design was always somewhat cumbersome in
 >that each new architecture revision created a new define and then
 >removed the previous one.  This meant that it was necessary to keep
 >updating the support code simply to recognise a new architecture being
 >added.
 >
 >The ACLE specification (ARM C Language Extentions)
 >(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.swdev/index.html)
 >provides a much more suitable interface and GCC has supported this
 >since gcc-4.8.
 >
 >This patch makes use of the ACLE pre-defines to map to the internal
 >feature definitions.  To support older versions of GCC a compatibility
 >header is provided that maps the traditional pre-defines onto the new
 >ACLE ones.

 Stop using __FreeBSD_ARCH_armv6__ and switch to __ARM_ARCH >= 6 in the
 couple of places in tree. clang already implements ACLE. Add a define
 that says we implement version 1.1, even though the implementation
 isn't quite complete.
2014-10-29 16:24:02 +00:00
ae
456c95b69d MFC r272746:
Add an ability to set dumpdev via loader(8) tunable.

MFC r272747:
  Revert r156046. We support setting dumpdev via loader tunable again.
  Also change default disk name to ada.
2014-10-29 11:07:40 +00:00
pluknet
39f6ac9066 MFC r261271:
Ressurect the local change documenting
  authpf's requirement for a mounted fdescfs(5).

PR:		docs/186250
2014-10-29 09:32:36 +00:00
smh
93face2ccb MFC: r273704
Fix CF ERASE breakage caused by 268205.

Sponsored by:	Multiplay
2014-10-29 09:27:24 +00:00
neel
9221e1200a MFC r273666.
Don't pass the 'error' return from an I/O port handler directly to vm_run().
2014-10-29 01:54:37 +00:00
mav
f3c02a878d MFC r273457: Document sort_io_queue sysctls/tunables. 2014-10-29 00:27:02 +00:00
mav
928386888b MFC r273638:
Revert somewhat hackish geom_disk optimization, committed as part of r256880,
and the following r273143 commit, supposed to workaround introduced issue by
quite innocent-looking change.

While there is no clear understanding why, but r273143 is accused in data
corruption in some environments with high I/O load.  I personally don't see
any problem in that commit, and possibly it is just a trigger to some other
bug somewhere, but better safe then sorry for now.

Requested by:	scottl@
2014-10-28 08:00:28 +00:00
markj
1c649cc8f3 MFC r273370:
Correct the calculation of tcps_rto in the struct tcpcb -> tcpsinfo_t
translator.
2014-10-28 06:17:25 +00:00
yongari
5b786ca5f9 MFC r273359:
It seems multicast filtering of RTL8168F does not work.  Workaround
  the silicon bug by accepting any multicast packets.

  PR:	193488
2014-10-28 00:43:00 +00:00
hselasky
1f41d295fb MFC r263710, r273377, r273378, r273423 and r273455:
- De-vnet hash sizes and hash masks.
- Fix multiple issues related to arguments passed to SYSCTL macros.

Sponsored by:	Mellanox Technologies
2014-10-27 14:38:00 +00:00
loos
a3704ff4d4 MFC: r266336, r270230 and r273263
r266336:
Allow us to compile the Ti iic driver for both OMAP4 and AM335x.

r270230:
Rewrite of ti_i2c based on gonzo's patch, fix the following bugs/problems:

  . interrupt storm detected on "intr70:"; throttling interrupt source;

  . Added access serialization on iicbus_transfer(), previously there was
    no such protection and a new transfer could easily confuse the
    controller;

  . Add error checkings (i.e. stop the transfer when a error is detected
    and do _not_ overwrite the previous error);

  . On command done interrupt do not assume that the transfer was finished
    sucessfully as we will receive the command done interrupt even after
    errors;

  . Simplify the FIFO handling;

  . Reset the FIFO between the transfers as the FIFO may contain data from
    the last (failed) transfer;

  . Fix the iicbus speed for AM335x, which in turn will make better use of
    the I2C noise filter (set to one internal clock cycle);

  . Move the read and write handler to ithread instead of notifying the
    requesting thread with wakeup(9);

  . Fix the comments based on OMAP4 TRM.

The above changes allows me to read the EDID from my HDMI monitor on BBB
with gonzo's patches to support TDA19988 (which does 128 bytes reads) and
repeatedly scan the iicbus (with a modified i2c(8)) without lock up the bus.

r273263:
Fix the chan address for mtx_sleep() on bus wait.  Without this fix the
threads waiting for the bus would never wake.
2014-10-27 12:18:07 +00:00
hselasky
14fa4d63cd MFC r272733, r272807 and r272822:
Add support for disabling USB enumeration or USB port power
in general or on selected USB HUBs.
2014-10-27 09:07:30 +00:00
mav
9fbf4aa76f MFC r273328: Add another PCI ID for JMB368 PATA controller. 2014-10-27 07:20:39 +00:00
edwin
b6479f2e37 MFC of 273718, tzdata2014i
Upgrade to 2014i

Lots of historical data

Pacific/Fiji will go into DST from 2014-11-02 to 2015-01-18
Pacific/Bougainville will go from UTC+10 to UTC+11.
Europe/Minsk will go from FET to MSK.
2014-10-27 06:05:40 +00:00
ian
8f1520bd13 MFC r262626, r262626, r264979, r265154, r265162, r265163, r267319, r270863,
r270991, r271045:

  Enhancements related to compiling FDT data...

 - Use proper include path for dtc as well as cpp.
 - Call cpp with -P to avoid printing line markings.
 - Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a
   kernel config file.
 - Add the dts include directory to the -I list when doing arm builds.
 - Invoke make_dtb with MACHINE defined for cross building friendliness.
 - Allow the make_dtb script to work outside of a "make buildkernel"
   context by setting MACHINE from uname -m if it's not set already.
 - Use sh -c '...' to launch the dtb build scripts with env prepended,
   otherwise it tries to treat the env var stuff as a script file name.
2014-10-27 00:47:55 +00:00
ian
348b464642 MFC r271143, r271151: Reimport dts from vendor branch after proper trim. 2014-10-26 23:45:33 +00:00
ian
b39020f586 MFC 271140:
Delete old arm dts tree. This was created by cherry picking from a
  full vendor tree. This worked great until it was time to update, but
  now it is time to update. Hit the rest button by removing this branch
  and re-adding it by a full copy of whatever is in the vendor tree.
2014-10-26 23:39:15 +00:00
ian
f145f92958 MFC r262606, r262607, r262608, r262609, r262610, r269528, r269609, r271133:
- Move imported dts source from sys/contrib/dts/ to sys/gnu/dts.
 - Fix some missing properties.
 - Import dts-related header files.
 - Update everything to latest vendor branch representing 3.17-rc2
   level of Linux DTS API.
2014-10-26 23:37:24 +00:00
ian
42ed59292e MFC r272528: Make kevent(2) periodic timer events more reliably periodic. 2014-10-26 18:46:03 +00:00
gjb
e9593a9647 MFC r273653:
Fix a few issues with creating VOLUME_LABEL for the
  installation ISOs:

   - TYPE, BRANCH, and REVISION are only defined if
     OSRELEASE is not defined, so in situations where
     one might set OSRELEASE for an in-house ISO build,
     VOLUME_LABEL would be empty.

   - makefs(8) limits the volume label to 32 characters,
     which for the powerpc64 case, OSRELEASE expands to
     FreeBSD-11.0-CURRENT-powerpc-powerpc64.  Even with
     removing the prefixing 'FreeBSD-', the string is 30
     characters long, leaving zero room for suffixing the
     type of ISO media (BO for bootonly, CD for cdrom, and
     DVD for dvdrom).

  Resolve these by defining VOLUME_LABEL when defining
  OSRELEASE if unset.  If OSRELEASE is defined by the
  builder, use the OSRELEASE from that definition as the
  VOLUME_LABEL.

  In addition, for cases where both TARGET and TARGET_ARCH
  are used for the VOLUME_LABEL, use TARGET_ARCH if it
  differs from TARGET.

  There are probably a few sharp edges here yet, but these
  problems are going to affect the powerpc/powerpc64 builds
  for 10.1-RELEASE, so the immediate concern is fixing the
  underlying problem at hand quickly, and less so about the
  elegance of the fix.

Insta-MFC ok:	re (kib)
Sponsored by:	The FreeBSD Foundation
2014-10-26 17:14:57 +00:00
ian
c7723e1e69 MFC r273590: Accept documented compatible string for PL310 cache controller/ 2014-10-26 16:09:59 +00:00
ian
4666b07fe9 MFC r273561:
Install a temporary workaround to avoid problems in fdt data with linux's
  workaround for an imx6 chip erratum by using gpio1_6 as an interrupt.
2014-10-26 16:02:35 +00:00
rpaulo
33a82acb89 MFC r273281:
Style changes as pointed out by stas@.
2014-10-26 07:07:54 +00:00
ian
34e0375805 MFC r273353, r273514:
Attach the imx6 CCM driver during BUS_PASS_CPU.

  Unconditionally enable the clocks for all imx6 devices that we have drivers
  for, or that are required to run the chip (such as busses).
2014-10-26 04:17:20 +00:00
ian
aec69e1f98 MFC r273352: Ask for the fastest available clock for the GTP timecounter. 2014-10-26 04:15:27 +00:00
ian
46597f7cad MFC r273298:
The U-Boot README says fdt_addr_r is the right env var for fdt data
  loaded into ram, but vendors also use fdtaddr and fdt_addr.  Check the
  recommended variable first and fall back to the others.
2014-10-26 04:13:08 +00:00
ian
449c80cb11 MFC r273283:
Attach this driver during BUS_PASS_BUS and move the cpu init code to a
  bus_new_pass() handler so it doesn't happen until BUS_PASS_CPU.  This allows
  the anatop driver to outbid the generic simplebus driver (which the FDT
  data describes as compatible).
2014-10-26 04:11:32 +00:00
ian
d16952c51d MFC r273282: Fail to probe on simplebus nodes that lack a "ranges" property. 2014-10-26 04:10:17 +00:00
ian
81b5013966 MFC r272334, r273004:
Return the actual baud rate programmed in the hardware rather than 115200.
  This allows the "3wire" entry in /etc/ttys (with no speed specified) to work.

  Use the FIFOs in the imx5/imx6 uart hardware instead of interrupting on
  each byte sent or received.
2014-10-26 04:08:34 +00:00
ian
afbd2ea226 MFC r272333: Honor exclusion flags when building the memory lists. 2014-10-26 04:06:29 +00:00
ian
8526d66c63 MFC r272109, r272181:
Replace multiple nearly-identical copies of code to walk through an FDT
  node's interrupts=<...> property creating resource list entries with a
  single common implementation.  This change makes ofw_bus_intr_to_rl() the
  one true copy of that code and removes the copies of it from other places.

  This also adds handling of the interrupts-extended property.
2014-10-26 04:01:57 +00:00
ian
14eb39a57d MFC r271907: Add a man page for the cgem(4) driver. 2014-10-26 03:55:55 +00:00
ian
2008cd3c3f MFC r271906:
Make the ARM MPCore Timer driver work with published standard FDT bindings.
2014-10-26 03:55:09 +00:00
ian
839e78bb76 MFC r271595, r271601, r271607, r271630:
Add compat strings for all the flavors of GIC this driver should support.
  Also allow the driver to attach to ofwbus as well as simplebus, some FDT
  data puts the root interrupt controller on the root bus.

  Add a common routine for parsing FDT data describing an ARM GIC interrupt.

  Use gic_decode_fdt() rather than a local routine to parse fdt interrupt
  properties.  Move fdt_pic_table and fdt_fixup_table into imx6_machdep.c,
  which means imx6 doesn't need imx_common.c anymore.

  The private peripheral interrupts start at offset 16, not 0.  Also, use
  names rather than inline mystery constants for these offsets.
2014-10-26 03:52:45 +00:00
ian
1ede59bf75 MFC r271594:
Fix an undefined variable that was accidentally not causing an error.
2014-10-26 03:48:12 +00:00
ian
552dafa953 MFC r271550, r271591:
Replace the imx5 and imx6 iomux drivers with a single common driver that
  uses the new fdt_pinctrl interface.
2014-10-26 03:44:19 +00:00
ian
dfd00b89e1 MFC 271546:
Create an interface and support routines for drivers that handle IO pin
  multiplexing and configuration based on FDT data.
2014-10-26 03:41:27 +00:00
ian
b6219df7b3 MFC r271535:
Make inclusion of fdt clock support conditional on fdt_clock, not just fdt.
2014-10-26 03:29:06 +00:00
ian
9e4d760d5e MFC r271310:
Rename new to newval in inline asm code, to avoid clashes with C++ new.
2014-10-26 03:13:19 +00:00
ian
3eae765afa MFC r271285:
Add a 'ubenv import' command to import environment variables from the
  u-boot env into the loader(8) env (which also gets them into the kernel
  env).
2014-10-26 02:53:23 +00:00
ian
1edaa04098 MFC r266878, r266879: Add support for snprintf() to libstand. 2014-10-26 02:51:56 +00:00
ian
6bda1023a0 MFC r271097, r271100, r271101, r271102, r271124:
- Add a basic iomux driver for imx6.
 - Implement the same public interface in imx51 and imx6 iomux
 - The iomux driver is no longer optional, remove it from kernel configs.
 - Implement the imx_iomux_get/set_gpr() interface for imx6.
 - Stop setting the iomux device status to disabled, now that we have a driver.
2014-10-26 02:44:41 +00:00
ian
caa088c379 MFC r268973, r268977: Rename i.MX I2C driver file, enable it on imx6. 2014-10-26 02:40:34 +00:00
ian
bb76782ad5 MFC r268834, r268835:
o Enable GPIO device driver for i.MX6.
   It was originally written for i.MX5 and compatible with newer chip.
 o Extend device tree information
 o style(9) fixes
 o Rename gpio driver file.
2014-10-26 02:37:42 +00:00
ian
3c5c1218bc MFC r271057: Create a /boot/dtb directory to house DTB blobs. 2014-10-26 02:27:10 +00:00
ian
c691dc79ec MFC r271055, r271084, r271094:
Add a function to get the frequency of the AHB bus.  Another stopgap
  function until we have full clock support for imx6.

  The imx5x and imx6 chips have an onboard IOMUX device which also contains a
  few "general purpose registers" whose values control chip behavior in ways
  that have nothing to do with IO pin mux control.  Define a simple API that
  other soc-specific code can use to read and write the registers, and provide
  the imx51 implementation of them.

  Fix a typo.
2014-10-26 02:25:34 +00:00
ian
a50392e671 MFC r271054:
When built with FDT support, add /boot/dtb to the list of search directories.
2014-10-26 02:21:54 +00:00