summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Shift saved floating point registers up in jmp_buf.brooks2016-01-201-14/+15
| | | | | | | | sigmask_t is 128-bits so requires two slots. Approved by: CheriBSD (93699cb9b6e73980ac369e379cea9772c9494ccc) MFC after: 1 week Sponsored by: DARPA, AFRL
* MIPS also needs ofw_bus_if.h in some cases.brooks2016-01-201-1/+1
|
* Add .NOMETA missed in r291320.bdrewery2016-01-201-1/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* Add a simple manpage for the cfi(4) and associated cfid(4) drivers.brooks2016-01-202-0/+96
| | | | | MFC after: 1 week Sponsored by: DARPA, AFRL
* Increase BERI boot components section alignment to 16emaste2016-01-202-6/+6
| | | | | | | | | | | | The .text, .bss, and .data sections claimed 16-byte alignment, but were only aligned to 8 by the linker script. Discovered with elfcopy(1) from elftoolchain, which performs validation absent from the binutils strip(1). ELF tool chain ticket #512. Reported by: brooks Reviewed by: brooks Sponsored by: DARPA, AFRL
* Add some missing dependencies on pci_iov_if.h.bdrewery2016-01-203-3/+3
| | | | Sponsored by: EMC / Isilon Storage Division
* xen-netfront: add multiqueue supportroyger2016-01-201-661/+979
| | | | | | | | | | | | | | | Add support for multiple TX and RX queue pairs. The default number of queues is set to 4, but can be easily changed from the sysctl node hw.xn.num_queues. Also heavily refactor netfront driver: break out a bunch of helper functions and different structures. Use threads to handle TX and RX. Remove some dead code and fix quite a few bugs as I go along. Submitted by: Wei Liu <wei.liu2@citrix.com> Reviewed by: royger Sponsored by: Citrix Systems R&D Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D4193
* Introduce initial driver for PMSU on Armada38xzbb2016-01-206-0/+195
| | | | | | | | | | | | | | | This is a stub for PMSU driver. Note that it cannot be used to set the secondary core boot address during attach because drivers are attached later than SI_SUB_CPU sysinit where cores are started. Setting the boot address should be done manually in platform_mp_start_ap(). SMP is working fine with this commit and was enabled in Armada38x kernel configuration file. Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4427
* OFW: Fix ofw_bus_string_list_to_array() function.mmel2016-01-201-6/+8
| | | | | | | Originally committed version was unfinished and didn't work at all, because I took it from the wrong WIP branch by mistake. Approved by: kib (mentor)
* Add initial support for SMP on Armada38xzbb2016-01-204-1/+188
| | | | | | | | | | | | | - Add file sys/arm/mv/armada38x/armada38x_mp.c - Set mp_maxid and mp_ncpus based on FDT unless SCU register indicates only one core - Boot CPU1 in platform_mp_start_ap() - IPI range defined Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4426
* Open window to bootROM memory on Armada38x to allow CPU1 to bootzbb2016-01-203-1/+60
| | | | | | | | | | CPU1 is halted in bootROM code while it is waiting to be released. Memory window to bootROM must be opened before booting the core. Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4425
* Support watchdog depending on "mrvl,has-wdt" propertyzbb2016-01-201-2/+9
| | | | | | | | | | | | With this commit, watchdog is supported only in case of having "mrvl,has-wdt" property or dedicated for watchdog compatibility field ("marvell,armada-380-wdt"). There is no need to modify dts files, as "has-wdt" property already exists. Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4424
* Add support for watchdog on Armada38xzbb2016-01-202-9/+54
| | | | | | | | | | | | | | A38X watchdog support was implemented in sys/arm/mv/timer.c driver. It required following modifications: - add "marvell,armada-380-wdt" compatibility, which supports only watchdog - correct and enhance definitions related to timer control register - unmask reset capability in RSTOUTn_MASK register - use dedicated watchdog timer on A38X instead of second timer Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4423
* Add support for I2C on Armada38xzbb2016-01-202-1/+11
| | | | | | | | | | | Extend driver's compatible strings' table and enable I2C compilation in kernconf. Reviewed by: andrew, ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Jan Dabros <jsd@semihalf.com> Differential revision: https://reviews.freebsd.org/D4422
* Add a new RTC driver for Armada38xzbb2016-01-202-1/+236
| | | | | | | | | | | New driver registers RTC as system clock. New RTC resolution is 1 sec. Settime and gettime functions were implemented. Reviewed by: andrew, ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Jan Dabros <jsd@semihalf.com> Differential revision: https://reviews.freebsd.org/D4421
* Correct MV_DDR_CADR_BASE definiton in mvwin.hzbb2016-01-201-1/+1
| | | | | | | | | | | SOC_MV_ARMADAXP ifdef was enhanced with SOC_MV_ARMADA38X, correcting MV_DDR_CADR_BASE definition. It fixes PCIe hangs issue. Reviewed by: andrew Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4380
* Change DTS entry of PCIe controller for Armada38xzbb2016-01-204-130/+29
| | | | | | | | | | | | | | | Invalid (in FreeBSD) definition of PCI controller was replaced with another one, working in FreeBSD environment. PCI controller's entry had to move from its parent node so as to be recognized properly by FBSD. PCI was enabled in kernel configuration file. Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4379
* Improve definitions of CPU/PCIe windows for Armada38xzbb2016-01-201-2/+8
| | | | | | | | | | | Enhance existing ARMADAXP defines and introduce new MV_WIN_PCIE_ definitions. Reviewed by: andrew Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4378
* Fix invalid root link detection in mv_pci driverzbb2016-01-203-3/+26
| | | | | | | | | | | | | | mv_pci driver omitted slot 0, which can be valid device on Armada38x. New mechanism detects if device is root link, basing on vendor's and device's IDs. It is restricted to Armada38x; on other machines, behaviour remains the same. Reviewed by: andrew Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4377
* Enhance remap capabilities for Armada38xzbb2016-01-201-0/+3
| | | | | | | | | | | | Add conditions corresponding to Armada38x-based SoCs, enhancing their remap capabilities. This is required for PCIe to work properly. Reviewed by: andrew Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4376
* Enable USB in kernconf of Armada38xzbb2016-01-201-1/+10
| | | | | | | | | With this commit, USB 2.0 works fine on Armada38x platforms. Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4375
* Improve attachment of the ehci_mv driverzbb2016-01-201-14/+24
| | | | | | | | | | | | Driver was modified to ensure it attaches properly to "marvell,orion-ehci" node, which doesn't have error interrupt line defined. Neccessary ofw_compat_data struct was added and probe procedure was altered. Reviewed by: andrew, ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4369
* Enable SCU unit for Armada38xzbb2016-01-203-0/+39
| | | | | | | | | | | Valid SCU operation is necessary for SMP interoperability. Initialization function armada38x_enable_scu() was added. Reviewed by: andrew, ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4220
* Set IO Sync Barrier flags for all Mbus devices on Armada38xzbb2016-01-203-0/+45
| | | | | | | | | | IO Sync Barrier setting is required for I/O coherency. Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4219
* Fix busy-detect when using DesignWare UARTzbb2016-01-205-22/+15
| | | | | | | | | | | | | uart_dev_ns8250 now relies on compatible property instead of additional 'busy-detect' cell. All drivers with compatible = "snps,dw-apb-uart" have busy detection turned on. DTS files of devices affected by the change were modified and 'busy-detect' property was removed. Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4218
* Add compatibility string for dw-apb-uart in ns8250 driverzbb2016-01-201-0/+1
| | | | | | | | | | | This compatibility string is used in .dts file of Armada38x and isrequired for driver attachment. Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4216
* Fix GIC FDT interrupts decodingzbb2016-01-201-2/+4
| | | | | | | | | | | | | Interrupt type in FDT was interpreted incorrectly. Patch taken from freebsd-arm thread 'GIC - interrupts interpretation in DTS/FDT': https://lists.freebsd.org/pipermail/freebsd-arm/2015-August/012145.html Reviewed by: ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4215
* Use GIC-specific decoding function in mv_common.czbb2016-01-201-0/+8
| | | | | | | | | | | | | Add gic_decode_fdt function to fdt_pic_table, allowing to recognize GIC interrupts on Armada38x. SOC_MV_ARMADA38X ifdef is required because A38X is the only Marvell's platform in FreeBSD using GIC; lack of ifdef would lead to linking errors on other platforms. Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4214
* Add global mpcore timer node to Armada 38x DTSzbb2016-01-201-0/+9
| | | | | | | | | | | | Changes: - global mpcore timer dts node added - required by driver 'clock-frequency' property added Reviewed by: ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4213
* Do not require strict compatibility on simplebuszbb2016-01-202-3/+3
| | | | | | | | | | | | | | | Strict compatibility requirement is a root of problems when simplebus' node has two compatibility strings (i.e. on Armada38x). Removing this requirement should not interfere with other platforms. fdt_is_compatible_strict() and fdt_find_compatible() calls were changed in fdt_common.c and mv_common.c. Reviewed by: ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4602
* Correct ranges in Armada38x dtszbb2016-01-201-2/+1
| | | | | | | | | | | | Ranges property of 'soc' node used two-cell addresses which resulted in casting errors as simplebus resource allocation works with 32-bit u_long variables. FDT ranges were simplified. Reviewed by: imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4212
* Introduce initial support for Marvell Armada38xzbb2016-01-2015-14/+1598
| | | | | | | | | | | | | | | | | | This commit introduces initial support for Marvell Armada38x platform. Changes: - Add common DTS files for Armada38x SoCs and DTS file for A388-GP - Add ARMADA38X kernel configuration - Add option SOC_MV_ARMADA38X and set MV_PCI_PORTS - Add list of files to compile - Implement get_tclk(), get_sar_value(), cpu_reset() functions - Add CPU ID and SoC numbers - Correct ifdefs in arm/mv/timer.c Reviewed by: ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4210
* Welcome miwi back to the portmgr teamculot2016-01-201-1/+1
|
* Correct assertions in r294362, foobared when separating style fixesmarius2016-01-201-1/+2
| | | | from functional changes before commit.
* Mark gpio as "optional" in files.mv and edit Marvell's kernconfszbb2016-01-209-8/+22
| | | | | | | | | | | | | | Including arm/mv/gpio.c now depends on 'gpio' device. 'device gpio' was added to all kernconf files of Marvell boards, except ARMADAXP (dummy mv_gpio_res definition was removed) and ARMADA38X (not supported yet). This commit allows to use generic files.mv on A38X. Reviewed by: andrew Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4372
* Revert r294267 to avoid using experimental VFS_AIO in ARM64's GENERICzbb2016-01-201-1/+0
| | | | | Remove VFS_AIO from the ARM64's GENERIC as it can be used as a loadable module.
* Fix rte refcount leak in ip6_forward().melifaro2016-01-201-2/+5
| | | | | | Reviewed by: ae MFC after: 2 weeks Sponsored by: Yandex LLC
* Adding info about myself to committers-src.xmlwma2016-01-201-0/+2
| | | | | Approved by: cognet (mentor) Differential revision: https://reviews.freebsd.org/D5001
* MFV (r285035): fix props (no content changes)des2016-01-200-0/+0
|
* Do not call callbacks for dl_iterate_phdr(3) with the rtld bind andkib2016-01-2011-105/+182
| | | | | | | | | | | | | | | | | | phdr locks locked. This allows to call rtld services from the callback, which is only reasonable for dlopen(path, RTLD_NOLOAD) to test existence of the library in the image, and for dlsym(). The later might still be not quite safe, due to the lazy resolution of filters. To allow dropping the locks around iteration in dl_iterate_phdr(3), we insert markers to track current position between relocks. The global objects list is converted to tailq and all iterators skip markers, globallist_next() and globallist_curr() helpers are added. Reported and tested by: davide Reviewed by: kan Sponsored by: The FreeBSD Foundation MFC after: 3 weeks
* sfxge: refresh version to note matching version of out-of-tree driverarybchik2016-01-201-1/+1
| | | | | Sponsored by: Solarflare Communications, Inc. MFC after: 2 days
* sfxge: cleanup: support __out_bcount_part[_opt] PREfast annotationsarybchik2016-01-201-0/+2
| | | | | | | | | New annotation coming into use in the common code. Support its use by adding null macro definitions for non-Windows platforms. Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com> Sponsored by: Solarflare Communications, Inc. X-MFC with: r293901
* mkdep: Fix -include not being added for .depend tracking.bdrewery2016-01-201-2/+17
| | | | | | | | | | | | | | | | | | | | | This fixes incremental build of OpenSSH after the recent upgrade. For example, in secure/lib/libssh, -include ssh_namespace.h is used on all files. This is not tracked in the .depend file though due to MKDEP_CFLAGS not including it. The ssh example was broken in r291941 when not using FAST_DEPEND due to the .depend bug. FAST_DEPEND was not affected by this because it generates dependencies at compile time and thus sees the -include. This ugly make syntax could be simpler for bmake by using :tW but fmake-compatible syntax is used since this needs to be MFC'd all the way to stable/9. Also add a temporary hack to workaround existing checkouts building incrementally with a .depend file not having these headers. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Update for API changes in OpenSSH 6.8p1.jhb2016-01-201-7/+6
| | | | | | | | First, the authfd API now uses a direct file descriptor for the control socket instead of a more abstract AuthenticationConnection structure. Second, the functions now consistently return an error value. Reviewed by: bdrewery
* Initialize vm_page_prot to VM_MEMATTR_DEFAULT instead of 0.jhb2016-01-201-1/+1
| | | | | | | | | | | | | | | If a driver's Linux mmap callback passed vm_page_prot through unchanged, then linux_dev_mmap_single() would try to apply whatever VM_MEMATTR_xxx value 0 is to the mapping. On x86, VM_MEMATTR_DEFAULT is the PAT value for write-back (WB) which is 6, while 0 maps to the PAT value for uncacheable (UC). Thus, any mmap request that did not explicitly set page_prot was tried to map memory as UC triggering the warning in sg_pager_getpages(). Tested by: np Reported by: Krishnamraju Eraparaju @ Chelsio MFC after: 3 days Sponsored by: Chelsio Communications
* List source files (foo.c) instead of object files in SRCS.jhb2016-01-201-1/+1
| | | | Reviewed by: bdrewery
* Revert a printf change from r294307.jhibbits2016-01-191-1/+1
| | | | | | Caused build failures with MPC85XX. Pointy-hat to: jhibbits
* Fix tty_drain() and, thus, TIOCDRAIN of the current tty(4) incarnationmarius2016-01-193-3/+36
| | | | | | | | | | | | | to actually wait until the TX FIFOs of UARTs have be drained before returning. This is done by bringing the equivalent of the TS_BUSY flag found in the previous implementation back in an ABI-preserving way. Reported and tested by: Patrick Powell Most likely, drivers for USB-serial-adapters likewise incorporating TX FIFOs as well as other terminal devices that buffer output in some form should also provide implementations of tsw_busy. MFC after: 3 days
* FAST_DEPEND: Fix improperly depending all .So objects on all headers.bdrewery2016-01-191-0/+2
| | | | | | | | | | This was a regression in r290629, which was revealed partly in r294360. Once 'make depend' has ran it will generate all headers already. Thus even with FAST_DEPEND lacking proper dependencies before building, it will not have any missing headers. Once objects are compiled the depend files will be generated with proper dependencies. Sponsored by: EMC / Isilon Storage Division
* Revert r294352.bdrewery2016-01-191-1/+1
| | | | | Further research showed it was the wrong fix and revealed a bigger problem with the goal of skipping 'make depend'.
OpenPOWER on IntegriCloud