aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/conf
Commit message (Collapse)AuthorAgeFilesLines
* Don't need this now. VT does the same thing, but better.Nathan Whitehorn2014-04-271-11/+0
| | | | | | | Submitted by: gjb Notes: svn path=/head/; revision=265001
* Add vt_efifb to VT kernel configuration now that that actually works. ThisNathan Whitehorn2014-04-271-0/+1
| | | | | | | | | kernel will now boot on both BIOS and EFI systems without modification. Equivalent functionality in GENERIC requires making vt(9) the default console driver, which is probably appropriate at this point. Notes: svn path=/head/; revision=265000
* Add a UEFI kernel configuration to include the VT kernel, andGlen Barber2014-04-251-0/+11
| | | | | | | | | | | | | replace the vt_vga driver with vt_efifb. This is intended to help with snapshot builds only. There is no intention to MFC this commit. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=264946
* Really, really, really only allow this option for amd64/i386 builds.Sean Bruno2014-04-091-0/+3
| | | | | | | Submitted by: imp@ and tinderbox Notes: svn path=/head/; revision=264304
* Rather than require a makeoptions DEBUG to get debug correct,Warner Losh2014-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | add it in kern.mk, but only if we're using clang. While this option is supported by both clang and gcc, in the future there may be changes to clang which change the defaults that require a tweak to build our kernel such that other tools in our tree will work. Set a good example by forcing -gdwarf-2 only for clang builds, and only if the user hasn't specified another dwarf level already. Update UPDATING to reflect the changed state of affairs. This also keeps us from having to update all the ARM kernels to add this, and also keeps us from in the future having to update all the MIPS kernels and is one less place the user will have to know to do something special for clang and one less thing developers will need to do when moving an architecture to clang. Reviewed by: ian@ MFC after: 1 week Notes: svn path=/head/; revision=263749
* In kernel config files, it is supposed to be 'options<space><tab>' notWarner Losh2014-03-181-2/+2
| | | | | | | | 'options<tab><tab>', per long standing (but recently not so strictly enforced) convention. Notes: svn path=/head/; revision=263301
* Align all comments in config files on same column. This consistencyWarner Losh2014-03-161-186/+186
| | | | | | | | | helps when bits and pieces of GENERIC from i386 or amd64 are cut and pasted into other architecture's config files (which in the case of ARM had gotten rather akimbo). Notes: svn path=/head/; revision=263246
* Revert a small portion of r263198 left over from local testing: don'tRobert Watson2014-03-151-2/+0
| | | | | | | enable PCB groups and RSS by default [yet]. Notes: svn path=/head/; revision=263200
* Several years after initial development, merge prototype support forRobert Watson2014-03-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linking NIC Receive Side Scaling (RSS) to the network stack's connection-group implementation. This prototype (and derived patches) are in use at Juniper and several other FreeBSD-using companies, so despite some reservations about its maturity, merge the patch to the base tree so that it can be iteratively refined in collaboration rather than maintained as a set of gradually diverging patch sets. (1) Merge a software implementation of the Toeplitz hash specified in RSS implemented by David Malone. This is used to allow suitable pcbgroup placement of connections before the first packet is received from the NIC. Software hashing is generally avoided, however, due to high cost of the hash on general-purpose CPUs. (2) In in_rss.c, maintain authoritative versions of RSS state intended to be pushed to each NIC, including keying material, hash algorithm/ configuration, and buckets. Provide software-facing interfaces to hash 2- and 4-tuples for IPv4 and IPv6 using both the RSS standardised Toeplitz and a 'naive' variation with a hash efficient in software but with poor distribution properties. Implement rss_m2cpuid()to be used by netisr and other load balancing code to look up the CPU on which an mbuf should be processed. (3) In the Ethernet link layer, allow netisr distribution using RSS as a source of policy as an alternative to source ordering; continue to default to direct dispatch (i.e., don't try and requeue packets for processing on the 'right' CPU if they arrive in a directly dispatchable context). (4) Allow RSS to control tuning of connection groups in order to align groups with RSS buckets. If a packet arrives on a protocol using connection groups, and contains a suitable hardware-generated hash, use that hash value to select the connection group for pcb lookup for both IPv4 and IPv6. If no hardware-generated Toeplitz hash is available, we fall back on regular PCB lookup risking contention rather than pay the cost of Toeplitz in software -- this is a less scalable but, at my last measurement, faster approach. As core counts go up, we may want to revise this strategy despite CPU overhead. Where device drivers suitably configure NICs, and connection groups / RSS are enabled, this should avoid both lock and line contention during connection lookup for TCP. This commit does not modify any device drivers to tune device RSS configuration to the global RSS configuration; patches are in circulation to do this for at least Chelsio T3 and Intel 1G/10G drivers. Currently, the KPI for device drivers is not particularly robust, nor aware of more advanced features such as runtime reconfiguration/rebalancing. This will hopefully prove a useful starting point for refinement. No MFC is scheduled as we will first want to nail down a more mature and maintainable KPI/KBI for device drivers. Sponsored by: Juniper Networks (original work) Sponsored by: EMC/Isilon (patch update and merge) Notes: svn path=/head/; revision=263198
* Upgrade our copy of llvm/clang to 3.4 release. This version supportsDimitry Andric2014-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | all of the features in the current working draft of the upcoming C++ standard, provisionally named C++1y. The code generator's performance is greatly increased, and the loop auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The PowerPC backend has made several major improvements to code generation quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ backends have all seen major feature work. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.4/docs/ReleaseNotes.html> <http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html> MFC after: 1 month Notes: svn path=/head/; revision=261991
* Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIAChristian Brueffer2014-02-162-3/+0
| | | | | | | | | | nForce MCP adapters for a long time. Yays: jhb, remko, yongari Nays: none on the current and stable lists Notes: svn path=/head/; revision=261975
* Add VT kernel configuration to ease testing of vt(9), aka NewconsEd Maste2014-01-191-0/+14
| | | | Notes: svn path=/head/; revision=260888
* Add very simple virtio_random(4) driver to harvest entropy from hostBryan Venteicher2014-01-181-0/+1
| | | | | | | Reviewed by: markm (random bits only) Notes: svn path=/head/; revision=260847
* Correct a grammo in a comment; remove white space at EOL.Jens Schweikhardt2014-01-061-2/+2
| | | | Notes: svn path=/head/; revision=260376
* Make process descriptors standard part of the kernel. rwhod(8) alreadyPawel Jakub Dawidek2013-11-301-1/+0
| | | | | | | | | | | requires process descriptors to work and having PROCDESC in GENERIC seems not enough, especially that we hope to have more and more consumers in the base. MFC after: 3 days Notes: svn path=/head/; revision=258768
* Include XEN and HyperV into amd64 LINT.Gleb Smirnoff2013-10-281-0/+6
| | | | Notes: svn path=/head/; revision=257277
* Import the driver for VT-d DMAR hardware, as specified in the revisionKonstantin Belousov2013-10-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.3 of Intelб╝ Virtualization Technology for Directed I/O Architecture Specification. The Extended Context and PASIDs from the rev. 2.2 are not supported, but I am not aware of any released hardware which implements them. Code does not use queued invalidation, see comments for the reason, and does not provide interrupt remapping services. Code implements the management of the guest address space per domain and allows to establish and tear down arbitrary mappings, but not partial unmapping. The superpages are created as needed, but not promoted. Faults are recorded, fault records could be obtained programmatically, and printed on the console. Implement the busdma(9) using DMARs. This busdma backend avoids bouncing and provides security against misbehaving hardware and driver bad programming, preventing leaks and corruption of the memory by wild DMA accesses. By default, the implementation is compiled into amd64 GENERIC kernel but disabled; to enable, set hw.dmar.enable=1 loader tunable. Code is written to work on i386, but testing there was low priority, and driver is not enabled in GENERIC. Even with the DMAR turned on, individual devices could be directed to use the bounce busdma with the hw.busdma.pci<domain>:<bus>:<device>:<function>.bounce=1 tunable. If DMARs are capable of the pass-through translations, it is used, otherwise, an identity-mapping page table is constructed. The driver was tested on Xeon 5400/5500 chipset legacy machine, Haswell desktop and E5 SandyBridge dual-socket boxes, with ahci(4), ata(4), bce(4), ehci(4), mfi(4), uhci(4), xhci(4) devices. It also works with em(4) and igb(4), but there some fixes are needed for drivers, which are not committed yet. Intel GPUs do not work with DMAR (yet). Many thanks to John Baldwin, who explained me the newbus integration; Peter Holm, who did all testing and helped me to discover and understand several incredible bugs; and to Jim Harris for the access to the EDS and BWG and for listening when I have to explain my findings to somebody. Sponsored by: The FreeBSD Foundation MFC after: 1 month Notes: svn path=/head/; revision=257251
* Document XENHVM and xenpci are mutually inclusive.Glen Barber2013-10-111-3/+4
| | | | | | | | | Submitted by: gibbs Approved by: re (delphij) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=256328
* add aesni module to i386 and amd64 NOTES...John-Mark Gurney2013-10-041-0/+1
| | | | | | | Approved by: re (gjb) Notes: svn path=/head/; revision=256053
* Put 'device hyperv' back in amd64/GENERIC, incorrectly removed withGlen Barber2013-09-211-0/+3
| | | | | | | | | | | r255736. Pointed out by: gibbs Approved by: re (delphij) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=255752
* Merge Xen PVHVM support into the GENERIC kernel config for bothJustin T. Gibbs2013-09-202-22/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | amd64 and i386. Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs Approved by: re (blanket Xen) MFC after: 2 weeks sys/amd64/amd64/mp_machdep.c: sys/amd64/include/cpu.h: sys/i386/i386/mp_machdep.c: sys/i386/include/cpu.h: - Introduce two new CPU hooks for initialization and resume purposes. This allows us to get rid of the XENHVM ifdefs in mp_machdep, and also sets some hooks into common code that can be used by other hypervisor implementations. sys/amd64/conf/XENHVM: sys/i386/conf/XENHVM: - Remove these configs now that GENERIC has builtin support for Xen HVM. sys/kern/subr_smp.c: - Make sure there are no pending IPIs when suspending a system. sys/x86/xen/hvm.c: - Add cpu init and resume vectors that are called from mp_machdep using the new hooks. - Only clear the vcpu_info mapping data on resume. It is already clear for the BSP on a cold boot and is set correctly as APs are started. - Gate xen_hvm_init_cpu only to systems running under Xen. sys/x86/xen/xen_intr.c: - Gate the setup of event channels only to systems running under Xen. Notes: svn path=/head/; revision=255744
* Substantial rewrite of bxe(4) to add support for the BCM57712 andDavid Christensen2013-09-202-4/+4
| | | | | | | | | | BCM578XX controllers. Approved by: re MFC after: 4 weeks Notes: svn path=/head/; revision=255736
* Reconnect the hyperv drivers back into GENERIC now that thePeter Grehan2013-09-191-0/+3
| | | | | | | | | disengage driver issue has been resolved. Approved by: re@ (gjb) Notes: svn path=/head/; revision=255692
* Add vmx(4) to i386 and amd64 GENERICBryan Venteicher2013-09-171-0/+2
| | | | | | | Approved by: re (gjb) Notes: svn path=/head/; revision=255623
* Pull the hyperv drivers from GENERIC until the fix to the disengagePeter Grehan2013-09-141-3/+0
| | | | | | | | | | driver to make it only probe when running on hyperv is reviewed and tested. Approved by: re (rodrigc) Notes: svn path=/head/; revision=255574
* Import Hyper-V paravirtualized drivers from projects/hypervPeter Grehan2013-09-131-0/+4
|\ | | | | | | | | | | | | | | | | | | branch into head. Approved by: re@ (hrs) Obtained from: Microsoft, NetApp, and Citrix. Notes: svn path=/head/; revision=255524
| * IFC @ r255459Peter Grehan2013-09-111-0/+2
| |\ | |/ |/| | | Notes: svn path=/projects/hyperv/; revision=255464
| * IFC @ r255209Peter Grehan2013-09-042-5/+7
| |\ | | | | | | | | | Notes: svn path=/projects/hyperv/; revision=255214
| * | First cut at adding the hyperv drivers to GENERIC.Peter Grehan2013-07-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The files inventory should probably have the modules split out into net/storage/common etc as the modules build is, but this will do for now. Notes: svn path=/projects/hyperv/; revision=253466
* | | Add vmx device to the i386 and amd64 NOTES filesBryan Venteicher2013-09-061-0/+2
| |/ |/| | | | | Notes: svn path=/head/; revision=255323
* | The PADLOCK_RNG and RDRAND_RNG kernel options are now devices.David E. O'Brien2013-08-212-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Thus "device padlock_rng" and "device rdrand_rng" should be used instead of "options PADLOCK_RNG" & "options RDRAND_RNG". Requested by: so@ (des) Submitted by: obrien, arthurmesh@gmail.com Obtained from: Juniper Networks Notes: svn path=/head/; revision=254624
* | Add process descriptors support to the GENERIC kernel. It is already beingPawel Jakub Dawidek2013-08-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | used by the tools in base systems and with sandboxing more and more tools the usage should only increase. Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org> Sponsored by: Google Summer of Code 2013 MFC after: 1 month Notes: svn path=/head/; revision=254480
* | follow up to r254051Andriy Gapon2013-08-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | - update powerpc/GENERIC64 as well, suggested by mdf - update comments so that they make sense after the change, suggested by jhb X-MFC after: never (change specific to head) Notes: svn path=/head/; revision=254133
* | enable KDB_TRACE in GENERICsAndriy Gapon2013-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | KDB_TRACE is not an alternative to DDB/etc, they are complementary. So I do not see any reason to not enable KDB_TRACE by default. X-MFC after: never (change specific to head) Notes: svn path=/head/; revision=254051
* | Back out r253779 & r253786.David E. O'Brien2013-07-311-1/+0
| | | | | | | | Notes: svn path=/head/; revision=253845
* | Decouple yarrow from random(4) device.David E. O'Brien2013-07-291-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option. The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow. * random(4) device doesn't really depend on rijndael-*. Yarrow, however, does. * Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah * Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones. * If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed. * Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one. Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: obrien Notes: svn path=/head/; revision=253779
* Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver.Xin LI2013-07-062-0/+5
| | | | | | | | | | | This driver works for FreeBSD/i386 and FreeBSD/amd64 platforms. Many thanks to HighPoint for providing this driver. MFC after: 1 day Notes: svn path=/head/; revision=252867
* Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families ↵Achim Leubner2013-05-242-0/+5
| | | | | | | | | Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. Approved by: scottl (mentor) Notes: svn path=/head/; revision=250963
* Tidy up some CVS workarounds.Peter Wemm2013-05-121-1/+0
| | | | Notes: svn path=/head/; revision=250544
* Add a new driver to support the Intel Non-Transparent Bridge(NTB).Carl Delsey2013-04-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | The NTB allows you to connect two systems with this device using a PCI-e link. The driver is made of two modules: - ntb_hw which is a basic hardware abstraction layer for the device. - if_ntb which implements the ntb network device and the communication protocol. The driver is limited at the moment to CPU memcpy instead of using DMA, and only Back-to-Back mode is supported. Also the network device isn't full featured yet. These changes will be coming soon. The DMA change will also bring in the ioat driver from the project branch it is on now. This is an initial port of the GPL/BSD Linux driver contributed by Jon Mason from Intel. Any bugs are my contributions. Sponsored by: Intel Reviewed by: jimharris, joel (man page only) Approved by: jimharris (mentor) Notes: svn path=/head/; revision=250079
* Remove ctl(4) from GENERIC. Also remove 'options CTL_DISABLE'Edward Tomasz Napierala2013-04-121-4/+1
| | | | | | | | | | | | | | and kern.cam.ctl.disable tunable; those were introduced as a workaround to make it possible to boot GENERIC on low memory machines. With ctl(4) being built as a module and automatically loaded by ctladm(8), this makes CTL work out of the box. Reviewed by: ken Sponsored by: FreeBSD Foundation Notes: svn path=/head/; revision=249410
* Remove all legacy ATA code parts, not used since options ATA_CAM enabled inAlexander Motin2013-04-041-1/+0
| | | | | | | | | | | | most kernels before FreeBSD 9.0. Remove such modules and respective kernel options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the atacontrol utility and some man pages. Remove useless now options ATA_CAM. No objections: current@, stable@ MFC after: never Notes: svn path=/head/; revision=249083
* Remove the virtio dependency entry for the VirtIO device drivers. ThisBryan Venteicher2013-03-061-0/+7
| | | | | | | | | | | | | | | | | will prevent the kernel from linking if the device driver are included without the virtio module. Remove pci and scbus for the same reason. Also explain the relationship and necessity of the virtio and virtio_pci modules. Currently in FreeBSD, we only support VirtIO PCI, but it could be replaced with a different interface (like MMIO) and the device (network, block, etc) will still function. Requested by: luigi Approved by: grehan (mentor) MFC after: 3 days Notes: svn path=/head/; revision=247870
* Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL disableKenneth D. Merry2013-03-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tunable by default. This will allow GENERIC configurations to boot on small memory boxes, but not require end users who want to use CTL to recompile their kernel. They can simply set kern.cam.ctl.disable=0 in loader.conf. The eventual solution to the memory usage problem is to change the way CTL allocates memory to be more configurable, but this should fix things for small memory situations in the mean time. UPDATING: Explain the change in the CTL configuration, and how users can enable CTL if they would like to use it. sys/conf/options: Add a new option, CTL_DISABLE, that prevents CTL from initializing. ctl.c: If CTL_DISABLE is turned on, don't initialize. i386/conf/GENERIC, amd64/conf/GENERIC: Re-enable device ctl, and add the CTL_DISABLE option. Notes: svn path=/head/; revision=247814
* Disable the ctl driver in GENERIC.Adrian Chadd2013-03-021-1/+1
| | | | | | | | | It unfortunately steals a fair chunk of RAM at startup even if it's not actively used, which prevents FreeBSD VMs of 128MB from successfully booting and running. Notes: svn path=/head/; revision=247615
* Remove support for plip from the GENERIC kernel as no systems in theEitan Adler2013-02-011-1/+0
| | | | | | | | | | | | | | last 10 years require this support. Discussed with: db Discussed with: kib Reviewed by: imp Reviewed by: jhb Reviewed by: -hackers Approved by: cperciva (mentor) Notes: svn path=/head/; revision=246222
* Add VirtIO to the i386 and amd64 GENERIC kernelsBryan Venteicher2013-01-132-0/+17
| | | | | | | | | | | | This also removes the kludge from r239009 that covered only the network driver. Reviewed by: grehan Approved by: grehan (mentor) MFC after: 1 week Notes: svn path=/head/; revision=245362
* Enable the UFS quotas for big-iron GENERIC kernels.Konstantin Belousov2013-01-031-0/+1
| | | | | | | | Discussed with: mckusick MFC after: 2 weeks Notes: svn path=/head/; revision=245003
* As discussed on -current last October, remove the firewire drivers fromDag-Erling Smørgrav2013-01-031-9/+0
| | | | | | | GENERIC. Notes: svn path=/head/; revision=244992
* Integrate nvme(4) and nvd(4) into the amd64 and i386 builds.Jim Harris2012-09-171-0/+5
| | | | | | | Sponsored by: Intel Notes: svn path=/head/; revision=240618