102231 Commits

Author SHA1 Message Date
hselasky
1f42ff868a MFC r283064:
Fix an off-by-one error by adding proper range checks when parsing the
HDA association descriptors. This fixes a crash during device probe
for some HDA PCI devices.
2015-05-27 13:23:02 +00:00
kib
3162ff437e MFC r283162:
Set VPO_UNMANAGED on the freed page when insertion of the page into the
object queue failed, to satisfy the assertion.

MFC r283163:
Do grammar fix in the comment to record the right commit message for
r283162.
2015-05-27 08:30:16 +00:00
emaste
7c2005346d MFC r283110: Add GRP_COMDAT section group flag to ELF header
Sponsored by:	The FreeBSD Foundation
2015-05-26 02:50:30 +00:00
avg
b7743f6ee4 MFC r282475: zfs: do not hold an extra reference on a root vnode 2015-05-25 11:35:27 +00:00
avg
d1a5bd2d1e MFC r282473: dmu_recv_end_check: don't leak hold if dsl_destroy_snapshot_check_impl fails 2015-05-25 11:33:45 +00:00
avg
5456df9c8c MFC r282632: MFV r282630: 5809 Blowaway full receive in v1 pool causes kernel panic 2015-05-25 11:32:10 +00:00
ian
a210991c80 MFC r283033, r283062, r283066, r283069:
Do not set preload_addr_relocate for ARM.

  Refactor net_getparams() to make it easier to get params from sources other
  than bootp and rarp.

  Add a routine to obtain netboot parameters from the U-Boot env vars

  Enable the NETIF_OPEN_CLOSE_ONCE option for ubldr.
2015-05-25 01:29:45 +00:00
ian
e82e4a2984 MFC r277962, r277988, r282661, r282727, r282731, r283013, r283035:
Add support for booting relocatable kernels on PowerPC.

  Add code to support loading relocatable kernels at offsets that are
  not zero.

  Move ubldr text section to the start of the output file, so that when you
  create a stripped .bin file from it the entry point is the first byte of
  the file.  (Will allow "load $addr $file ; go $addr" in u-boot.)

  Create a relocatable instance of ubldr for ARM (ubldr.bin).

  Re-link ubldr when any of its libraries change.

  An ARM kernel can be loaded at any 2MB boundary, make ubldr aware of that.
2015-05-25 01:06:55 +00:00
sbruno
78deac1ab8 MFC r283290
Bump rx_overruns when indicated by the ICR mask.

PR:		199716
Sponsored by:	Limelight Networks
2015-05-25 00:30:26 +00:00
ian
1cf579b9a3 MFC r282516:
Add the code necessary to run the imx6 chip at its lowest clock/power
  operating point (396MHz/950mV).
2015-05-24 19:00:46 +00:00
ian
d6c6dd582e MFC r268838, r277644:
Add support for Toradex Apalis i.MX6 development board.

  Add support for imx6 audio transmitting, include drivers for:
  o Digital Audio Multiplexer (AUDMUX)
  o Smart Direct Memory Access Controller (SDMA)
  o Synchronous Serial Interface (SSI)
2015-05-24 18:59:45 +00:00
ian
83a17cbb77 MFC r282418:
On an icache sync by address/len, round the length up if the operation
  spans a cacheline boundary.
2015-05-24 18:23:57 +00:00
ian
6bbf63ab35 MFC r281371: Use OF_getencpropalloc() to handle endianess of the properties. 2015-05-24 18:00:29 +00:00
ian
ad1acff252 MFC r281073, r281074, r281077, r281200:
Use OF_getencprop over OF_getprop and fdt32_to_cpu. The latter may give
  us the wrong data in the failure case if shift was not zero.

  Remove the extra copy of uart_fdt_get_clock and uart_fdt_get_shift. While
  here also use OF_getencprop in uart_fdt_get_clock.

  Move uart_fdt_get_clock and uart_fdt_get_shift to uart_bus_fdt.c, we may
  not build uart_cpu_fdt.c in all configs.

  Fix uart_fdt_get_clock. It should have been using the cell variable passed
  in, not value on the stack.
2015-05-24 17:57:29 +00:00
ian
ef273b2b34 MFC r279368, r280772, r280848:
Allow creating subclass of FDT simplebus

  Make simplebus a base class of ofwbus.

  Fix bug in xrefinfo_find() for 64-bit platforms
2015-05-24 17:51:57 +00:00
mav
5562aba4db MFC r282881: Do not promote large async writes to sync.
Present implementation of large sync writes is too strict and so can be
quite slow.  Instead of doing that, execute large async write in chunks,
syncing each chunk separately.

It would be good to fix large sync writes too, but I leave it to somebody
with more skills in this area.
2015-05-24 17:16:30 +00:00
ian
e7adedb422 MFC r280194:
Fix fdt_platform_fixups() mem region handling.
2015-05-24 15:29:56 +00:00
ian
bc7a934b2f MFC r279850:
Remove MODULES_OVERRIDE="" for Marvel-based armv5 systems.

  Also add some #NO_UNIVERSE to configs that essentially duplicate DB-88F6XXX.
2015-05-24 15:21:47 +00:00
ian
29f247a63e MFC r279837:
Remove MODULES_OVERRIDE="" and WITHOUT_MODULES="ahc" from armv6 configs.
2015-05-24 14:57:17 +00:00
ian
8b432f3b56 MFC r276004: Fix the indentation to simplify comparing the ARM config files. 2015-05-24 14:25:03 +00:00
kib
0d8ee7566b MFC r282708:
On exec, single-threading must be enforced before arguments space is
allocated from exec_map.
2015-05-24 07:32:02 +00:00
arybchik
b7a860bb3a MFC: r283278
sfxge: relax assertion to allow RST flag in TSO packets

Kernel under stress load, mixed MC reboot and sfupdate really
generates TSO packet with RST flag.
It will generate many TCP packets with RST flag set.
May be RST flag should be set in the last segment only, but it could be
dropped. So, it is safer to keep the flag in all packets to be sure that
connection is reset.

Sponsored by:   Solarflare Communications, Inc.
2015-05-24 06:53:10 +00:00
trasz
531e259796 MFC r279554:
Make periphdriver_register() take XPT lock when modifying the periph_drivers
array.

This fixes a panic that sometimes occured when kldloading ctl.ko.

PR:		200384
Sponsored by:	The FreeBSD Foundation
2015-05-24 04:14:09 +00:00
pkelsey
19d4f6b6bf MFC r282978:
When a netmap process terminates without the full set of buffers it
was granted via rings and ni_bufs_list_head represented in those rings
and lists (e.g., via SIGKILL), those buffers are no longer available
for subsequent users for the lifetime of the system. To mitigate this
resource leak, reset the allocator state when the last ref to that
allocator is released.

Note that this only recovers leaked resources for an allocator when
there are no longer any users of that allocator, so there remain
circumstances in which leaked allocator resources may not ever be
recovered - consider a set of multiple netmap processes that are all
using the same allocator (say, the global allocator) where members of
that set may be killed and restarted over time but at any given point
there is one member of that set running.
2015-05-24 01:48:33 +00:00
ian
b92e1caf1c MFC r279728, r279729, r279756, r279773, r282424, r281367:
Add mutex support to the pps_ioctl() API in the kernel.

  Add PPS support to USB serial drivers.

  Use correct mode variable for PPS support.

  Switch polarity of USB serial PPS events.

  The ftdi "get latency" and "get bitmode" device commands are read
  operations, not writes.

  Implement a mechanism for making changes in the kernel<->driver PPS
  interface without breaking ABI or API compatibility with existing drivers.

  Bump version number to indicate the new PPS ABI version changes in the
  pps_state structure.
2015-05-24 00:53:43 +00:00
ian
884316392a MFC r262409, r267129, r267130, r280709:
Move the declaration for mpentry() into a header file

  Fix broken SMP startup on Armada XP after r265694

  Avoid using hard-coded SoC's register address in mptramp code for Armada XP

  Use pmap_mapdev()/unmapdev() to temporarily map on-chip sram while copying
  the startup trampoline code.
2015-05-23 23:35:19 +00:00
ian
45e1cf60a1 MFC r280278, r280402:
Allow to override default kernel virtual address assignment on ARM.

  Do not save/restore the TLS pointer on context switch for armv6.
2015-05-23 23:27:00 +00:00
ian
9e0f8345df MFC r279816, r279826:
Attach the prcm clock driver early, so it can set the mpcore timer frequency.

  Change the name of the dmtimer pps device from /dev/ppsN to /dev/dmtppsN.
2015-05-23 23:08:54 +00:00
ian
98dff7fa06 MFC r279810, r279811:
Clean data cache before instruction cache in armv7_icache_sync_range().

  Add minimum cache line sizes to struct cpuinfo, use them in the new cache
  maintenance routines.  Also add a routine to invalidate the branch cache.
2015-05-23 23:05:31 +00:00
ian
68a3dfa740 MFC r278518: Resolve cache line size from CP15 instead of hard-coded 32. 2015-05-23 22:48:54 +00:00
ian
011666b0a8 MFC r277098, r279235:
Introduce ofw_bus_reg_to_rl() to replace part of common bus code

  Fix endianness on FDT read in ARM GIC
2015-05-23 22:36:41 +00:00
ian
132e8a35de MFC r274711:
Stop using early_putc immediately after configuring console with cninit()
2015-05-23 22:34:25 +00:00
ian
a17d85346e MFC r274249, r274484, r275583:
Avoid panic in ofwbus caused by not released resource list entry

  Fix typo in ARM GIC device_printf()

  Fix buffer overflow in Marvell PCI/PCIe driver
2015-05-23 22:33:06 +00:00
ian
0c377e52af MFC r276021, r279766:
Reduce the diff in the Ti aintc between head and arm_intrng

  Fix spurious interrupts on arm am335x (beaglebone), by doing the EOI in
  both the post-filter and post-thread callbacks.
2015-05-23 21:12:51 +00:00
ian
f3f411e10b MFC r279723, r279724:
Define new linker set, UART_FDT_CLASS_AND_DEVICE, for registering full
  (class and device) FDT UART. Define second one, UART_FDT_CLASS, for UART
  class only.

  Move the uart_class definitions and fdt compat data into the individual
  uart implementations, and export them using the new linker-set mechanism.
2015-05-23 20:54:25 +00:00
ian
ce1bf49e72 MFC r268137, r268138:
Define a "__weak" macro for declaring symbols "weak".

  Add support for empty data sets. Data set begin and end pointers
  should resolve to "NULL" when not present. This is done by declaring
  the data set begin and end symbols as "weak".
2015-05-23 20:53:19 +00:00
ian
142829f4c8 MFC r279239:
Enable 'receive timeout' interrupt allowing us to not
  loose 'rx buffer full' event.
2015-05-23 20:01:20 +00:00
ian
446930c903 MFC r277132: Rename Exynos UART driver functions. No functional change. 2015-05-23 19:57:44 +00:00
ian
e9db1ba7b7 MFC r266942, r266944:
Do only receive chars if there are some data in the buffer.
  This fixes operation on newer Exynos boards.

  Rename exynos uart driver filenames.
2015-05-23 19:50:14 +00:00
ian
5ba1e43ae8 MFC r272399, r272602, r274451, r274452:
Add uart driver for Qualcomm MSM 7000/8000 series chips.
  It is working on IFC6410 board which has Qualcomm Snapdragon SoC.

  Use documented compat string for msm uart.

  Make PL011 UART to wait on putc only when TX FIFO is full

  Make uart_bus_fdt a decendant of ofwbus
2015-05-23 19:27:04 +00:00
ian
18d9495565 MFC r279702: Update a comment that had drifted out of date. 2015-05-23 17:48:09 +00:00
ian
e598358ce4 MFC r279359, r279360:
For new eMMC chips, we must signal controller HC capability in OP_COND command.

Detect, report and use 8-bit bus if is available.
2015-05-23 17:43:02 +00:00
ian
c063f629c5 MFC r278770, r279114, r279215, r279338, r279543:
Add logic for handling new-style ARM cpu ID info.

  Correct a comment which was exactly backwards from reality.

  There is no reason to do i+dcache writeback and invalidate when changing
  the translation table (this may be left over from armv5 days).  It's
  especially bad to do so using a cache operation that isn't coherent on
  SMP systems.

  Add casting to make atomic ops work for pointers.  (Apparently nobody has
  ever done atomic ops on pointers before now on arm).

  Revert incorrect casting.
2015-05-23 17:30:30 +00:00
kib
09f1502b69 MFC r282690:
Call uma_reclaim() from the additional pagedaemon thread to reclaim kmem
arena address space.
2015-05-23 09:14:29 +00:00
jhb
9b127b4790 MFC 281872:
Fix some incorrect #if conditions around older workarounds for bus
numbering goofs.
2015-05-22 23:54:12 +00:00
jhb
b92445bf9a MFC 266852,270223:
- Fix pf(4) to build with MAXCPU set to 256.  MAXCPU is actually a count,
  not a maximum ID value (so it is a cap on mp_ncpus, not mp_maxid).
- Bump MAXCPU on amd64 from 64 to 256.  In practice APIC only permits 255
  CPUs (IDs 0 through 254).  Getting above that limit requires x2APIC.
2015-05-22 21:51:36 +00:00
gjb
59be327480 MFC r281011 (jkim):
Fix powerpc, powerpc64 build.

Sponsored by:	The FreeBSD Foundation
2015-05-22 16:38:55 +00:00
whu
a27bc4386d Fix a i386 build failure cause by commit r283280. 2015-05-22 11:20:59 +00:00
whu
30cd3b9808 MFC r282212:
Microsoft vmbus, storage and other related driver enhancements for HyperV.
    - Vmbus multi channel support.
    - Vector interrupt support.
    - Signal optimization.
    - Storvsc driver performance improvement.
    - Scatter and gather support for storvsc driver.
    - Minor bug fix for KVP driver.
Thanks royger, jhb and delphij from FreeBSD community for the reviews
and comments. Also thanks Hovy Xu from NetApp for the contributions to
the storvsc driver.

PR:     195238
Submitted by:   whu
Reviewed by:    royger
Approved by:    royger
Relnotes:       yes
Sponsored by:   Microsoft OSTC
Differential Revision:  https://reviews.freebsd.org/D2575
2015-05-22 09:03:55 +00:00
kib
b453b29575 MFC r282944:
Decrement p_boundary_count in the single-threading thread, during making
other thread runnable.  This guarantees that upon return from the
thread_single_end(), p_boundary_count is zero.
2015-05-22 08:11:31 +00:00