summaryrefslogtreecommitdiffstats
path: root/sys/conf
Commit message (Collapse)AuthorAgeFilesLines
* Add MALLOC_DEBUG_MAXZONES debug malloc(9) option to use multiple umamdf2010-07-282-0/+15
| | | | | | | | | | | | | | | | | | | | | zones for each malloc bucket size. The purpose is to isolate different malloc types into hash classes, so that any buffer overruns or use-after-free will usually only affect memory from malloc types in that hash class. This is purely a debugging tool; by varying the hash function and tracking which hash class was corrupted, the intersection of the hash classes from each instance will point to a single malloc type that is being misused. At this point inspection or memguard(9) can be used to catch the offending code. Add MALLOC_DEBUG_MAXZONES=8 to -current GENERIC configuration files. The suggestion to have this on by default came from Kostik Belousov on -arch. This code is based on work by Ron Steinke at Isilon Systems. Reviewed by: -arch (mostly silence) Reviewed by: zml Approved by: zml (mentor)
* Add a parser for the ACPI SRAT table for amd64 and i386. It setsjhb2010-07-272-1/+2
| | | | | | | PCPU(domain) for each CPU and populates a mem_affinity array suitable for the NUMA support in the physical memory allocator. Reviewed by: alc
* Remove the acpi_aiboost driver. It has been replaced by aibs(4).rpaulo2010-07-251-1/+0
|
* Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separatermacklem2010-07-241-2/+1
| | | | | | | | | | | module that can be used by both the regular and experimental nfs clients. This fixes the problem reported by jh@ where /dev/nfslock would be registered twice when both nfs clients were used. I also defined the size of the lm_fh field to be the correct value, as it should be the maximum size of an NFSv3 file handle. Reviewed by: jh MFC after: 2 weeks
* Crypto(4) driver for AESNI.kib2010-07-232-0/+8
| | | | | | | | | The aeskeys_{amd64,i386}.S content was mostly obtained from OpenBSD, no objections to the license from core. Hardware provided by: Sentex Communications Tested by: fabient, pho (previous versions) MFC after: 1 month
* Update MIPS timer code (except RMI) to utilize new MI event timermav2010-07-231-0/+1
| | | | | | infrastructure. Reviewed by: neel
* Fix previous commit: don't remove the WERROR definition when usingrpaulo2010-07-221-1/+3
| | | | | | | clang. Submitted by: Dimitry Andric <dimitry at andric.com> Reviewed by: jkim
* Handle a few corner cases for clang like we did with icc. These shouldrpaulo2010-07-223-6/+8
| | | | | | reduce the number of warnings seen while building the kernel. Submitted by: Dimitry Andric <dimitry at andric.com>
* Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executivejmallett2010-07-202-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Now that we are fully FDT-driven on MRVL platforms, remove PHYSMEM_SIZE option.raj2010-07-191-1/+0
|
* Move MRVL FDT fixups and PIC decode routine to a platform specific area.raj2010-07-191-1/+0
| | | | | This allows for better encapsulation (and eliminates generic fdt_arm.c, at least for now).
* Simple compatibility hacks for building on older systems whereimp2010-07-152-0/+7
| | | | | | | | | | | | MACHINE_CPUARCH isn't defined. I believe that this will cover all options. I didn't define it in kern.mk because $M is set to MACHINE_CPUARCH and then is expanded for the genassym.o rule in kern.post.mk and kern.mk is included after this, so the expansion isn't quite right. I think this is a bug in make, but don't have the time to track it to ground (and even if I did, fixing it would require a MFC of the change to the very old systems we're targetting with this fix).
* - Update 6000 firmware to 9.221.4.1bschmidt2010-07-151-1/+15
| | | | | | - Add 6050 firmware MFC after: 2 weeks
* Rename timeevents.c to kern_clocksource.c.mav2010-07-143-3/+3
| | | | Suggested by: jhb@
* Move timeevents.c to MI code, as it is not x86-specific. I already havemav2010-07-143-3/+4
| | | | | it working on Marvell ARM SoCs, and it would be nice to unify timer code between more platforms.
* Convert several instances of MACHINE_ARCH to MACHINE_CPUARCH and use thenwhitehorn2010-07-134-13/+13
| | | | correct compiler flags on 64-bit PowerPC.
* Unify pc98 event timer code with the rest of x86.mav2010-07-131-1/+2
| | | | Reviewed by: nyan@
* Add powerpc64 kernel ldscript.nwhitehorn2010-07-131-0/+144
|
* MFppc64:nwhitehorn2010-07-133-16/+35
| | | | | | | Kernel sources for 64-bit PowerPC, along with build-system changes to keep 32-bit kernels compiling (build system changes for 64-bit kernels are coming later). Existing 32-bit PowerPC kernel configurations must be updated after this change to specify their architecture.
* Move i386-inherited logic of building ACPI headers for acpi_wakeup.c intojkim2010-07-121-10/+19
| | | | | better places and remove intermediate makefile and shell scripts. This makes parallel kernel build little bit safer for amd64.
* Unify ABI-related bits of the Book-E and AIM machdep routinesnwhitehorn2010-07-121-0/+1
| | | | | | | | (exec_setregs, etc.) in order to simplify the addition of 64-bit support, and possible future extension of the Book-E code to handle hard floating point and Altivec. MFC after: 1 month
* Sort platform options.raj2010-07-111-1/+1
|
* Convert Freescale PowerPC platforms to FDT convention.raj2010-07-112-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | The following systems are affected: - MPC8555CDS - MPC8572DS This overhaul covers the following major changes: - All integrated peripherals drivers for Freescale MPC85XX SoC, which are currently in the FreeBSD source tree are reworked and adjusted so they derive config data out of the device tree blob (instead of hard coded / tabelarized values). - This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC, QUICC, UART, CFI. - Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire ocpbus(4) driver, which was based on hard-coded config data. Note that world for these platforms has to be built WITH_FDT. Reviewed by: imp Sponsored by: The FreeBSD Foundation
* 64 bit ld script for mips, and configuration file for 64 bit compilationjchandra2010-07-081-0/+301
| | | | | | on XLR Approved by: rrs
* OK, I was a bit sleep this morning and checked injfv2010-06-301-0/+4
| | | | | | | | the core changes but left out the shared code, lol. Well, and a couple fixes to the core... hopefully this will all be complete now. Happy happy joy joy :)
* Import the acpi_aibs(4) driver written by Constantine A. Murenin.rpaulo2010-06-251-0/+1
| | | | | | | | | It has more features than acpi_aiboost(4) and it will eventually replace acpi_aiboost(4). Submitted by: Constantine A. Murenin <cnst at FreeBSD.org> Reviewed by: freebsd-acpi, imp MFC after: 1 month
* Add linker script and configuration file for n32 kernel.jchandra2010-06-241-0/+303
| | | | Approved by: rrs (mentor)
* Some style fixes for r209371.mav2010-06-222-2/+2
| | | | Submitted by: jhb@
* Implement new event timers infrastructure. It provides unified APIs formav2010-06-203-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware. Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project. For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected. This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2. Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup.
* Only enable kdtrace hook in the LINT on the architectures that implement it.kib2010-06-181-6/+0
|
* Merge COUNT_XINVLTLB_HITS and COUNT_IPIS kernel options from i386 to amd64.mav2010-06-171-0/+2
| | | | | | | | | This information can be very valuable for CPU sleep-time (and respectively idle power consumption) optimization. Add counters for timer-related IPIs. Reviewed by: jhb@ (previous version)
* Merge jmallett@'s n64 work into HEAD - changeset 4jchandra2010-06-171-1/+1
| | | | | | | | | Re-write tlb operations in C with a simpler API. Update callers to use the new API. Changes from http://svn.freebsd.org/base/user/jmallett/octeon Approved by: rrs(mentor), jmallett
* Convert Marvell ARM platforms to FDT convention.raj2010-06-133-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | The following systems are involved: - DB-88F5182 - DB-88F5281 - DB-88F6281 - DB-78100 - SheevaPlug This overhaul covers the following major changes: - All integrated peripherals drivers for Marvell ARM SoC, which are currently in the FreeBSD source tree are reworked and adjusted so they derive config data out of the device tree blob (instead of hard coded / tabelarized values). - Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say good by to obio / mbus drivers and numerous hard-coded config data. Note that world needs to be built WITH_FDT for the affected platforms. Reviewed by: imp Sponsored by: The FreeBSD Foundation.
* Connect FDT infrastructure to the build system.raj2010-06-131-0/+24
| | | | | Reviewed by: imp Sponsored by: The FreeBSD Foundation
* Fix typo.ae2010-06-091-1/+1
| | | | | Approved by: mav (mentor) MFC after: 1 month
* New netgraph node ng_patch(4). It performs data modification of packetsae2010-06-093-0/+3
| | | | | | | | | | | | | | | | passing through. Modifications are restricted to a subset of C language operations on unsigned integers of 8, 16, 32 or 64 bit size. These are: set to new value (=), addition (+=), subtraction (-=), multiplication (*=), division (/=), negation (= -), bitwise AND (&=), bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=), shift right (>>=). Several operations are all applied to a packet sequentially in order they were specified by user. Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com> Vadim Goncharov <vadimnuclight at tpu.ru> Discussed with: net@ Approved by: mav (mentor) MFC after: 1 month
* Move the MD support for PCI message signalled interrupts to the x86 treejhb2010-06-083-3/+3
| | | | as it is identical for i386 and amd64.
* Move the machine check support code to the x86 tree since it is identicaljhb2010-06-083-3/+3
| | | | | | on i386 and amd64. Requested by: alc
* Move the I/O APIC code to the x86 tree since it is identical on i386 andjhb2010-06-083-6/+6
| | | | amd64.
* Add a driver for the CPU temperature sensors attached over I2C on thenwhitehorn2010-06-051-0/+1
| | | | PowerMac 11,2.
* Introduce kernel build options for the Flattened Device Tree support.raj2010-05-281-0/+4
| | | | | Reviewed by: imp Sponsored by: The FreeBSD Foundation
* Add uep(4), driver for USB onscreen touch panel from eGalax.glebius2010-05-252-0/+3
| | | | | | | | | | | | | | The driver is stub. It just creates device entry and feeds reassembled packets from hardware into it. If in future we would port wsmouse(4) from NetBSD, or make sysmouse(4) to support absolute motion events, then the driver can be extended to act as system mouse. Meanwhile, it just presents a /dev/uep0, that can be utilized by X driver, that I am going to commit to ports tree soon. The name for the driver is chosen to be the same as in NetBSD, however, due to different USB stacks this driver isn't a port.
* Reorganize syscall entry and leave handling.kib2010-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend struct sysvec with three new elements: sv_fetch_syscall_args - the method to fetch syscall arguments from usermode into struct syscall_args. The structure is machine-depended (this might be reconsidered after all architectures are converted). sv_set_syscall_retval - the method to set a return value for usermode from the syscall. It is a generalization of cpu_set_syscall_retval(9) to allow ABIs to override the way to set a return value. sv_syscallnames - the table of syscall names. Use sv_set_syscall_retval in kern_sigsuspend() instead of hardcoding the call to cpu_set_syscall_retval(). The new functions syscallenter(9) and syscallret(9) are provided that use sv_*syscall* pointers and contain the common repeated code from the syscall() implementations for the architecture-specific syscall trap handlers. Syscallenter() fetches arguments, calls syscall implementation from ABI sysent table, and set up return frame. The end of syscall bookkeeping is done by syscallret(). Take advantage of single place for MI syscall handling code and implement ptrace_lwpinfo pl_flags PL_FLAG_SCE, PL_FLAG_SCX and PL_FLAG_EXEC. The SCE and SCX flags notify the debugger that the thread is stopped at syscall entry or return point respectively. The EXEC flag augments SCX and notifies debugger that the process address space was changed by one of exec(2)-family syscalls. The i386, amd64, sparc64, sun4v, powerpc and ia64 syscall()s are changed to use syscallenter()/syscallret(). MIPS and arm are not converted and use the mostly unchanged syscall() implementation. Reviewed by: jhb, marcel, marius, nwhitehorn, stas Tested by: marcel (ia64), marius (sparc64), nwhitehorn (powerpc), stas (mips) MFC after: 1 month
* Unify local_apic.c for x86 archs,mav2010-05-233-3/+3
|
* Change ad_firmware_geom_adjust() to operate on a struct disk * only andmarius2010-05-201-1/+1
| | | | | | | | | hook it up to ada(4) also. While at it, rename *ad_firmware_geom_adjust() to *ata_disk_firmware_geom_adjust() etc now that these are no longer limited to ad(4). Reviewed by: mav MFC after: 3 days
* Make mvs_if.c to not be always linked statically into the kernel.mav2010-05-171-1/+1
| | | | Link it same way as mvs.c.
* Add support for the U4 PCI-Express bridge chipset used in late-generationnwhitehorn2010-05-161-1/+2
| | | | | | | | | | Powermac G5 systems. MSI and several other things are not presently supported. The U3/U4 internal device support portions of this change were contributed by Andreas Tobler. MFC after: 1 week
* Allow the USB_REQ_DEBUG to be enabled in the kernel conf.thompsa2010-05-131-0/+1
| | | | Requested by: HPS
* Add support for FA626TE.kevlo2010-05-041-0/+1
| | | | Tested on GM8181 development board.
* Add support for SPARC64 V (and where it already makes sense for othermarius2010-05-021-0/+1
| | | | | | | | | HAL/Fujitsu) CPUs. For the most part this consists of fleshing out the MMU and cache handling, it doesn't add pmap optimizations possible with these CPU, yet, though. With these changes FreeBSD runs stable on Fujitsu Siemens PRIMEPOWER 250 and likely also other models based on SPARC64 V like 450, 650 and 850. Thanks go to Michael Moll for providing access to a PRIMEPOWER 250.
OpenPOWER on IntegriCloud