summaryrefslogtreecommitdiffstats
path: root/sys/contrib
Commit message (Collapse)AuthorAgeFilesLines
* Merge ACPICA 20100915.jkim2010-09-1649-537/+1593
|\
* | When using pf routing options, properly handle IP fragmentationbz2010-09-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | for interfaces with TSO enabled, otherwise one would see an extra ICMP unreach, frag needed pre matching packet on lo0. This syncs pf code to ip_output.c r162084. PR: kern/144311 Submitted by: yongari via mlaier Reviewed by: eri Tested by: kib MFC after: 8 days
* | Merge ACPICA 20100806.jkim2010-08-0628-288/+1208
|\ \ | |/
* | Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executivejmallett2010-07-2028-56/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | library: o) Increase inline unit / large function growth limits for MIPS to accommodate the needs of the Simple Executive, which uses a shocking amount of inlining. o) Remove TARGET_OCTEON and use CPU_CNMIPS to do things required by cnMIPS and the Octeon SoC. o) Add OCTEON_VENDOR_LANNER to use Lanner's allocation of vendor-specific board numbers, specifically to support the MR320. o) Add OCTEON_BOARD_CAPK_0100ND to hard-wire configuration for the CAPK-0100nd, which improperly uses an evaluation board's board number and breaks board detection at runtime. This board is sold by Portwell as the CAM-0100. o) Add support for the RTC available on some Octeon boards. o) Add support for the Octeon PCI bus. Note that rman_[sg]et_virtual for IO ports can not work unless building for n64. o) Clean up the CompactFlash driver to use Simple Executive macros and structures where possible (it would be advisable to use the Simple Executive API to set the PIO mode, too, but that is not done presently.) Also use structures from FreeBSD's ATA layer rather than structures copied from Linux. o) Print available Octeon SoC features on boot. o) Add support for the Octeon timecounter. o) Use the Simple Executive's routines rather than local copies for doing reads and writes to 64-bit addresses and use its macros for various device addresses rather than using local copies. o) Rename octeon_board_real to octeon_is_simulation to reduce differences with Cavium-provided code originally written for Linux. Also make it use the same simplified test that the Simple Executive and Linux both use rather than our complex one. o) Add support for the Octeon CIU, which is the main interrupt unit, as a bus to use normal interrupt allocation and setup routines. o) Use the Simple Executive's bootmem facility to allocate physical memory for the kernel, rather than assuming we know which addresses we can steal. NB: This may reduce the amount of RAM the kernel reports you as having if you are leaving large temporary allocations made by U-Boot allocated when starting FreeBSD. o) Add a port of the Cavium-provided Ethernet driver for Linux. This changes Ethernet interface naming from rgmxN to octeN. The new driver has vast improvements over the old one, both in performance and functionality, but does still have some features which have not been ported entirely and there may be unimplemented code that can be hit in everyday use. I will make every effort to correct those as they are reported. o) Support loading the kernel on non-contiguous cores. o) Add very conservative support for harvesting randomness from the Octeon random number device. o) Turn SMP on by default. o) Clean up the style of the Octeon kernel configurations a little and make them compile with -march=octeon. o) Add support for the Lanner MR320 and the CAPK-0100nd to the Simple Executive. o) Modify the Simple Executive to build on FreeBSD and to build without executive-config.h or cvmx-config.h. In the future we may want to revert part of these changes and supply executive-config.h and cvmx-config.h and access to the options contained in those files via kernel configuration files. o) Modify the Simple Executive USB routines to support getting and setting of the USB PID.
* | Import the Cavium Simple Executive from the Cavium Octeon SDK. The Simplejmallett2010-07-20157-0/+222515
| | | | | | | | | | | | Executive is a library that can be used by standalone applications and kernels to abstract access to Octeon SoC and board-specific hardware and facilities. The FreeBSD port to Octeon will be updated to use this where possible.
* | - Update 6000 firmware to 9.221.4.1bschmidt2010-07-153-8152/+16193
| | | | | | | | | | | | - Add 6050 firmware MFC after: 2 weeks
* | Merge ACPICA 20100702.jkim2010-07-06100-1498/+8532
|\ \ | |/
* | Provide kernel level headers for the libfdt code.raj2010-06-021-0/+8
| | | | | | | | | | Reviewed by: imp Sponsored by: The FreeBSD Foundation
* | Sync run(4) driver from author's site.thompsa2010-05-131-151/+158
| | | | | | | | | | Submitted by: Akinori Furukoshi Obtained from: git://gitorious.org/run/run.git
* | MFP4: @176978-176982, 176984, 176990-176994, 177441bz2010-04-291-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Whitspace" churn after the VIMAGE/VNET whirls. Remove the need for some "init" functions within the network stack, like pim6_init(), icmp_init() or significantly shorten others like ip6_init() and nd6_init(), using static initialization again where possible and formerly missed. Move (most) variables back to the place they used to be before the container structs and VIMAGE_GLOABLS (before r185088) and try to reduce the diff to stable/7 and earlier as good as possible, to help out-of-tree consumers to update from 6.x or 7.x to 8 or 9. This also removes some header file pollution for putatively static global variables. Revert VIMAGE specific changes in ipfilter::ip_auth.c, that are no longer needed. Reviewed by: jhb Discussed with: rwatson Sponsored by: The FreeBSD Foundation Sponsored by: CK Software GmbH MFC after: 6 days
* | Merge ACPICA 20100428.jkim2010-04-2845-3908/+6034
|\ \ | |/
* | We don't need the definition for in_cksum repeated here since we getimp2010-04-141-1/+0
| | | | | | | | | | | | | | it from machine/in_cksum.h. This definition prevents us from using hand-tuned assembler versions of in_cksum. # this fixes the modules build on arm for ipfilter.
* | Update firmware for the 6000 series Intel cards to version 9.193.4.1.bschmidt2010-04-103-8142/+8182
| | | | | | | | | | Approved by: rpaulo (mentor) MFC after: 2 weeks
* | Merge ACPICA 20100331 (and four additional upstream patches).jkim2010-04-0228-566/+831
| |
* | Integrate OpenBSD rev 1.5 of x86emu.c.delphij2010-03-091-143/+205
| |
* | Since the interpreter slack mode is a tunable now, enable a local hack onlyjkim2010-03-091-6/+9
| | | | | | | | when it is set. Note the default behaviour does not change by this change.
* | Merge ACPICA 20100304.jkim2010-03-0573-986/+1402
|\ \ | |/
* | Merge DTC-d75b33af.raj2010-02-2810-0/+2980
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a split merge because of non-uniform licensing of the DTC package contents and the way these components will be used in the FreeBSD environment. The original DTC package is composed of the following two major pieces: 1. sys/contrib/libfdt (BSD [dual] license) 2. contrib/dtc (GPLv2) The libfdt component is going to be shared in all aspects of the environment: - /boot/loader - kernel - dtc (the device tree compiler proper, userspace tool)
* | Uuencode the rt2870 firmware into ascii like the other firmware blobs.thompsa2010-01-292-0/+225
| |
* | Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.thompsa2010-01-282-0/+39
| | | | | | | | | | This driver was written for OpenBSD by Damien Bergamini and ported over by Akinori Furukoshi.
* | Fix a new header inclusion.jkim2010-01-211-1/+1
| |
* | Merge ACPICA 20100121.jkim2010-01-21211-661/+794
| |
* | Fixes a firmware bug that in some devices (e.g. Netgear WG111T orweongyo2010-01-191-3050/+3139
| | | | | | | | | | | | | | | | TRENDnet TEW-504UB/EU) idProduct didn't be decreased after loading the firmware. Pointed by: Steven Friedrich <freebsd at insightbb.com> Reviewed by: sam
* | Fix array overflow.trasz2010-01-081-1/+1
| | | | | | | | Reviewed by: philip
* | Delete old firmware.rpaulo2009-12-292-0/+0
| |
* | iwn(4) update. Notable changes:rpaulo2009-12-296-9430/+23610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * new firmware * untested support for 1000 and 6000 series * bgscan support * remove unnecessary RXON changes * allow setting of country/regdomain by enforcing channel flags read from the EEPROM * suspend/resume fixes * RF kill switch fixes * LED adjustments * several bus_dma*() related fixes * addressed some LORs * many other bug fixes Submitted by: Bernhard Schmidt <bschmidt at techwires.net> Obtained from: Brandon Gooch <jamesbrandongooch at gmail dot com> (LED related changes), Benjamin Kaduk <kaduk at mit dot edu> (LOR fixes), OpenBSD
* | Adapt OpenBSD pf's "sloopy" TCP state machine which is useful for Directdelphij2009-12-244-175/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Server Return mode, where not all packets would be visible to the load balancer or gateway. This commit should be reverted when we merge future pf versions. The benefit it would provide is that this version does not break any existing public interface and thus won't be a problem if we want to MFC it to earlier FreeBSD releases. Discussed with: mlaier Obtained from: OpenBSD Sponsored by: iXsystems, Inc. MFC after: 1 month
* | Merge ACPICA 20091214.jkim2009-12-1431-330/+859
| |
* | Merge ACPICA 20091112.jkim2009-11-1640-224/+1249
|\ \ | |/
* | Remove the explicit definition of inet_aton() as it was introduced as aattilio2009-11-121-103/+0
| | | | | | | | | | | | | | | | general function in r199208. Reported by: np Sponsored by: Sandvine Incorporated MFC: 1 week
* | Fix two memory leaks in error cases.brueffer2009-11-051-2/+7
| | | | | | | | | | | | | | PR: 138378 Submitted by: Patroklos Argyroudis <argp@census-labs.com> Approved by: mlaier MFC after: 1 week
* | Updated iwn(4) driver supporting the newer series, 5000, 5150 and 5300.rpaulo2009-10-235-3437/+15430
| | | | | | | | Submitted by: Bernhard Schmidt <bschmidt at techwires.net>
* | Rewrite x86bios and update its dependent drivers.jkim2009-10-191-211/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Do not map entire real mode memory (1MB). Instead, we map IVT/BDA and ROM area separately. Most notably, ROM area is mapped as device memory (uncacheable) as it should be. User memory is dynamically allocated and free'ed with contigmalloc(9) and contigfree(9). Remove now redundant and potentially dangerous x86bios_alloc.c. If this emulator ever grows to support non-PC hardware, we may implement it with rman(9) later. - Move all host-specific initializations from x86emu_util.c to x86bios.c and remove now unnecessary x86emu_util.c. Currently, non-PC hardware is not supported. We may use bus_space(9) later when the KPI is fixed. - Replace all bzero() calls for emulated registers with more obviously named x86bios_init_regs(). This function also initializes DS and SS properly. - Add x86bios_get_intr(). This function checks if the interrupt vector is available for the platform. It is not necessary for PC-compatible hardware but it may be needed later. ;-) - Do not try turning off monitor if DPMS does not support the state. - Allocate stable memory for VESA OEM strings instead of just holding pointers to them. They may or may not be accessible always. Fix a memory leak of video mode table while I am here. - Add (experimental) BIOS POST call for vesa(4). This function calls VGA BIOS POST code from the current VGA option ROM. Some video controllers cannot save and restore the state properly even if it is claimed to be supported. Usually the symptom is blank display after resuming from suspend state. If the video mode does not match the previous mode after restoring, we try BIOS POST and force the known good initial state. Some magic was taken from NetBSD (and it was taken from vbetool, I believe.) - Add a loader tunable for vgapci(4) to give a hint to dpms(4) and vesa(4) to identify who owns the VESA BIOS. This is very useful for multi-display adapter setup. By default, the POST video controller is automatically probed and the tunable "hw.pci.default_vgapci_unit" is set to corresponding vgapci unit number. You may override it from loader but it is very unlikely to be necessary. Unfortunately only AGP/PCI/PCI-E controllers can be matched because ISA controller does not have necessary device IDs. - Fix a long standing bug in state save/restore function. The state buffer pointer should be ES:BX, not ES:DI according to VBE 3.0. If it ever worked, that's because BX was always zero. :-) - Clean up register initializations more clearer per VBE 3.0. - Fix a lot of style issues with vesa(4).
* | Merge ACPICA 20091013.jkim2009-10-1922-487/+1105
|\ \ | |/
* | Use __FBSDID to embed RCS ID.delphij2009-09-212-2/+6
| |
* | Collapase interrupt supporting functions to a new module, and switch fromdelphij2009-09-211-33/+0
| | | | | | | | | | | | | | | | | | | | x86emu to this new module. This changeset also brings a fix for bugs introduced with the initial x86emu commit, which prevents the user from using some display mode or cause instant reboots during mode switch. Submitted by: paradox <ddkprog yahoo com>
* | Canonify include paths for newly added files.jkim2009-09-114-9/+9
| |
* | MFV: r196804jkim2009-09-1176-2295/+5743
|\ \ | |/ | | | | Import ACPICA 20090903
* | - Port x86emu to FreeBSD.delphij2009-09-093-23/+47
| | | | | | | | | | | | | | - Connect x86emu to build. Tested with: make universe Submitted by: swell.k at gmail com
* | Import x86emu from OpenBSD as of OPENBSD_4_6.delphij2009-09-094-0/+8905
| |
* | Revert previous commit and add myself to the list of people who shouldphk2009-09-081-1/+0
| | | | | | | | know better than to commit with a cat in the area.
* | Add necessary include.phk2009-09-081-0/+1
| |
* | Fix argument ordering to memcpy as well as the size of the copy in themlaier2009-08-251-1/+1
| | | | | | | | | | | | | | | | (theoretical) case that pfi_buffer_cnt should be greater than ~_max. Submitted by: pjd Reviewed by: {krw,sthen,markus}@openbsd.org MFC after: 3 days
* | Rework global locks for interface list and index management, correctingrwatson2009-08-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | several critical bugs, including race conditions and lock order issues: Replace the single rwlock, ifnet_lock, with two locks, an rwlock and an sxlock. Either can be held to stablize the lists and indexes, but both are required to write. This allows the list to be held stable in both network interrupt contexts and sleepable user threads across sleeping memory allocations or device driver interactions. As before, writes to the interface list must occur from sleepable contexts. Reviewed by: bz, julian MFC after: 3 days
* | If we cannot immediately get the pf_consistency_lock in the purge thread,mlaier2009-08-192-24/+70
| | | | | | | | | | | | | | | | | | | | | | restart the scan after acquiring the lock the hard way. Otherwise we might end up with a dead reference. Reported by: pfsense Reviewed by: eri Initial patch by: eri Tested by: pfsense Approved by: re (kib)
* | Many network stack subsystems use a single global data structure to holdrwatson2009-08-021-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all pertinent statatistics for the subsystem. These structures are sometimes "borrowed" by kernel modules that require a place to store statistics for similar events. Add KPI accessor functions for statistics structures referenced by kernel modules so that they no longer encode certain specifics of how the data structures are named and stored. This change is intended to make it easier to move to per-CPU network stats following 8.0-RELEASE. The following modules are affected by this change: if_bridge if_cxgb if_gif ip_mroute ipdivert pf In practice, most of these statistics consumers should, in fact, maintain their own statistics data structures rather than borrowing structures from the base network stack. However, that change is too agressive for this point in the release cycle. Reviewed by: bz Approved by: re (kib)
* | Merge the remainder of kern_vimage.c and vimage.h into vnet.c andrwatson2009-08-018-14/+0
| | | | | | | | | | | | | | | | | | | | vnet.h, we now use jails (rather than vimages) as the abstraction for virtualization management, and what remained was specific to virtual network stacks. Minor cleanups are done in the process, and comments updated to reflect these changes. Reviewed by: bz Approved by: re (vimage blanket)
* | Build on Jeff Roberson's linker-set based dynamic per-CPU allocatorrwatson2009-07-148-39/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (DPCPU), as suggested by Peter Wemm, and implement a new per-virtual network stack memory allocator. Modify vnet to use the allocator instead of monolithic global container structures (vinet, ...). This change solves many binary compatibility problems associated with VIMAGE, and restores ELF symbols for virtualized global variables. Each virtualized global variable exists as a "reference copy", and also once per virtual network stack. Virtualized global variables are tagged at compile-time, placing the in a special linker set, which is loaded into a contiguous region of kernel memory. Virtualized global variables in the base kernel are linked as normal, but those in modules are copied and relocated to a reserved portion of the kernel's vnet region with the help of a the kernel linker. Virtualized global variables exist in per-vnet memory set up when the network stack instance is created, and are initialized statically from the reference copy. Run-time access occurs via an accessor macro, which converts from the current vnet and requested symbol to a per-vnet address. When "options VIMAGE" is not compiled into the kernel, normal global ELF symbols will be used instead and indirection is avoided. This change restores static initialization for network stack global variables, restores support for non-global symbols and types, eliminates the need for many subsystem constructors, eliminates large per-subsystem structures that caused many binary compatibility issues both for monitoring applications (netstat) and kernel modules, removes the per-function INIT_VNET_*() macros throughout the stack, eliminates the need for vnet_symmap ksym(2) munging, and eliminates duplicate definitions of virtualized globals under VIMAGE_GLOBALS. Bump __FreeBSD_version and update UPDATING. Portions submitted by: bz Reviewed by: bz, zec Discussed with: gnn, jamie, jeff, jhb, julian, sam Suggested by: peter Approved by: re (kensmith)
* | Remove build timestamps from the following files:cperciva2009-07-112-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /boot/kernel/hptrr.ko /etc/mail/*.cf /lib/libcrypto.so.5 /usr/bin/ntpq /usr/sbin/amd /usr/sbin/iasl /usr/sbin/ntpd /usr/sbin/ntpdate /usr/sbin/ntpdc There does not appear to be any purpose to having these timestamps, and they have the irritating consequence that the aforementioned files will be different every time they are rebuilt. After this commit, the only remaining build timestamps are in the kernel, the boot loaders, /usr/include/osreldate.h (the year in the copyright notice), and lib*.a (the timestamps on all of the included .o files). Reviewed by: scottl (hptrr), gshapiro (sendmail), simon (openssl), roberto (ntp), jkim (acpica) Approved by: re (kib)
* | Update to 3.6.2.2 firmware (latest w/o host-based power save support):sam2009-06-291-2121/+2098
| | | | | | | | | | | | | | | | | | | | | | o new tx ack queue (not used right now) o proxy-sta related changes (no proxy sta in driver) o explicit dwds ena/dis (needed only with proxy sta) o cleanup BA policy handling o new ampdu aggressive mode support o CFEnd use now controllable Approved by: re (kensmith)
OpenPOWER on IntegriCloud