#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
265537 |
|
07-May-2014 |
marius |
MFC: r265248
Allow GEOM_VINUM to be statically compiled into the kernel.
Submitted by: gleb
|
#
263817 |
|
27-Mar-2014 |
ray |
MFC 219886, 226100, 226111, 226341, 242529, 259015, 259016, 259019, 259049, 259071, 259102, 259110, 259129, 259130, 259178, 259179, 259203, 259221, 259261, 259532, 259615, 259650, 259651, 259667, 259680, 259727, 259761, 259772, 259776, 259777, 259830, 259882, 259915, 260160, 260449, 260450, 260688, 260888, 260953, 261269, 261547, 261551, 261552, 261553, 261585 o Merge vt(4) virtual terminal (a.k.a. newcons) to stable/9. o Merge teken updates. o Add few more tty methods required by vt(4). o Update syscons(4) to work with fresh teken.
Sponsored by: The FreeBSD Foundation
|
#
260252 |
|
04-Jan-2014 |
edavis |
MFC Broadcom 10Gb bxe driver Merged r255736, r255861, r256299, r256341, r258187, r259928, r260113
Approved by: davidch (mentor)
|
#
254704 |
|
23-Aug-2013 |
avg |
MFC r253996,253997: opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUG
Please note that support for compiling ZFS into a kernel is not in this branch as of now.
|
#
252778 |
|
05-Jul-2013 |
achim |
MFC r250963, r251013, r251056: Driver 'aacraid' added to support Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products.
Approved by: emaste (co-mentor)
|
#
252555 |
|
03-Jul-2013 |
np |
MFC/backport core kernel and userspace parts of r237263 (TCP_OFFLOAD rework). MFC r237563, r239511, r243603, r245915, r245916, r245919, r245921, r245922, r245924, r245925, r245932, r245934 too.
Build tested with make universe.
r237263: - Updated TOE support in the kernel. ...
r237563: Fix clang warning when compiling iw_cxgb.
r239511: Correctly handle the case where an inp has already been dropped by the time the TOE driver reports that an active open failed. toe_connect_failed is supposed to handle this but it should be provided the inpcb instead of the tcpcb which may no longer be around.
r243603: Make sure that tcp_timer_activate() correctly sees TCP_OFFLOAD (or not).
r245915: Heed SO_NO_OFFLOAD.
r245916: Teach toe_4tuple_check() to deal with IPv6 4-tuples too.
r245919: Add TCP_OFFLOAD hook in syncache_respond for IPv6 too, just like the one that exists for IPv4.
r245921: There is no need to call into the TOE driver twice in pru_rcvd (tod_rcvd and then tod_output right after that).
r245922: Avoid NULL dereference in nd6_storelladdr when no mbuf is provided. It is called this way from a couple of places in the OFED code. (toecore calls it too but that's going to change shortly).
r245924: Move lle_event to if_llatbl.h
lle_event replaced arp_update_event after the ARP rewrite and ended up in if_ether.h simply because arp_update_event used to be there too. IPv6 neighbor discovery is going to grow lle_event support and this is a good time to move it to if_llatbl.h.
The two in-tree consumers of this event - OFED and toecore - are not affected.
r245925: Generate lle_event in the IPv6 neighbor discovery code too.
r245932: Teach toe_l2_resolve to resolve IPv6 destinations too.
r245934: Add checks for SO_NO_OFFLOAD in a couple of places that I missed earlier in r245915.
|
#
251191 |
|
31-May-2013 |
jhb |
MFC 246805: Make VM_NDOMAIN a kernel option so that it can be enabled from a kernel config file.
|
#
250366 |
|
08-May-2013 |
sbruno |
MFC r249664
Expose CAM_BOOT_DELAY as a kernel conf item now.
This allows users who boot without loader to adjust their environments around slightly buggy or slow hardware.
|
#
243586 |
|
27-Nov-2012 |
ae |
MFC r242079: Remove the IPFIREWALL_FORWARD kernel option and make possible to turn on the related functionality in the runtime via the sysctl variable net.pfil.forward. It is turned off by default.
MFC r242082: Note the removal of the IPFIREWALL_FORWARD kernel option.
MFC r242463: Remove the recently added sysctl variable net.pfil.forward. Instead, add protocol specific mbuf flags M_IP_NEXTHOP and M_IP6_NEXTHOP. Use them to indicate that the mbuf's chain contains the PACKET_TAG_IPFORWARD tag. And do a tag lookup only when this flag is set.
|
#
237317 |
|
20-Jun-2012 |
mav |
MFC r236712: To make CAM debugging easier, compile in some debug flags (CAM_DEBUG_INFO, CAM_DEBUG_CDB, CAM_DEBUG_PERIPH and CAM_DEBUG_PROBE) by default. List of these flags can be modified with CAM_DEBUG_COMPILE kernel option. CAMDEBUG kernel option still enables all possible debug, if not overriden.
Additional 50KB of kernel size is a good price for the ability to debug problems without rebuilding the kernel. In case where size is important, debugging can be compiled out by setting CAM_DEBUG_COMPILE option to 0.
|
#
235484 |
|
15-May-2012 |
jpaetzel |
MFC 229537
GEOM_UNCOMPRESS module, can be used with uzip images and with new ulzma images.
|
#
234505 |
|
20-Apr-2012 |
davide |
MFC: r233045, r234302
r233045: Add rudimentary profiling of the hash table used in the umtx code to hold active lock queues.
r234302: Fix some style bugs introduced in a previous commit (r233045)
Approved by: gnn (mentor)
|
#
234406 |
|
18-Apr-2012 |
ae |
MFC r233176: Add new GEOM_PART_LDM module that implements the Logical Disk Manager scheme. The LDM is a logical volume manager for MS Windows NT and it is also known as dynamic volumes. It supports about 2000 partitions and also provides the capability for software RAID implementations.
This version implements only partitioning scheme capability and based on the linux-ntfs project documentation and several publications across the Web. NOTE: JBOD, RAID0 and RAID5 volumes aren't supported.
An access to the LDM metadata is read-only. When LDM is on the disk partitioned with MBR we can also destroy metadata. For the GPT partitioned disks destroy action is not supported.
MFC r233177: Connect geom_part_ldm module to the build.
MFC r233178: Connect geom_part_ldm to the kernel build.
MFC r233181: Add CTLFLAG_TUN to sysctls.
MFC r233651: Do proper cleanup for the GPT case when an error occurs.
MFC r233652: VMDB offset should be greater than logical volume size only for MBR.
|
#
233059 |
|
16-Mar-2012 |
delphij |
MFC r232990:
Add the missing IPOIB option.
Sponsored by: iXsystems, Inc.
|
#
231650 |
|
14-Feb-2012 |
luigi |
MFC: import netmap core files into RELENG_9. This is the same code as in HEAD.
Device driver modifications will be imported separately because the base drivers differ and patches might be slightly different between the various releases.
The code is disconnected from the main build targets unless you explicitly put a 'device netmap' in your kernel config file.
|
#
229432 |
|
03-Jan-2012 |
yongari |
MFC r227347,227367: r227347: Retire 'options TI_PRIVATE_JUMBOS' and replace local jumbo allocator with UMA backed jumbo allocator by default. Previously ti(4) used sf_buf(9) interface for jumbo buffers but it was broken at this moment such that enabling jumbo frame caused instant panic. Due to the nature of sf_buf(9) it heavily relies on VM changes but it seems ti(4) was not received much blessing from VM gurus. I don't understand VM magic and implications used in driver either. Switching to UMA backed jumbo allocator like other network drivers will make jumbo frame work on ti(4). While I'm here, fully allocate all RX buffers. This means ti(4) now uses 512 RX buffer and 1024 mini RX buffers.
To use sf_buf(9) interface for jumbo buffers, introduce a new 'options TI_SF_BUF_JUMBO'. If it is proven that sf_buf(9) is better for jumbo buffers, interesting developers can fix the issue in future.
ti(4) still needs more bus_dma(9) cleanups and should use separate DMA tag/map for each ring(standard, jumbo, mini, command, event etc) but it should work on all platforms except PAE.
Special thanks to Jay[1] who provided complete remote debugging access.
r227367: Comment out TI_JUMBO_HDRSPLIT. TI_JUMBO_HDRSPLIT requires TI_SF_BUF_JUMBO.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
225448 |
|
08-Sep-2011 |
attilio |
Improve the informations reported in case of busy buffers during the shutdown: - Axe out the SHOW_BUSYBUFS option and uses a tunable for selectively enable/disable it, which is defaulted for not printing anything (0 value) but can be changed for printing (1 value) and be verbose (2 value) - Improves the informations outputed: right now, there is no track of the actual struct buf object or vnode which are referenced by the shutdown process, but it is printed the related struct bufobj object which is not really helpful - Add more verbosity about the state of the struct buf lock and the vnode informations, with the latter to be activated separately by the sysctl
Sponsored by: Sandvine Incorporated Reviewed by: emaste, kib Approved by: re (ksmith) MFC after: 10 days
|
#
225214 |
|
27-Aug-2011 |
rwatson |
Follow up to r225203 refining break-to-debugger run-time configuration improvements:
(1) Implement new model in previously missed at91 UART driver (2) Move BREAK_TO_DEBUGGER and ALT_BREAK_TO_DEBUGGER from opt_comconsole.h to opt_kdb.h (spotted by np) (3) Garbage collect now-unused opt_comconsole.h
MFC after: 3 weeks Approved by: re (bz)
|
#
224987 |
|
18-Aug-2011 |
jonathan |
Add experimental support for process descriptors
A "process descriptor" file descriptor is used to manage processes without using the PID namespace. This is required for Capsicum's Capability Mode, where the PID namespace is unavailable.
New system calls pdfork(2) and pdkill(2) offer the functional equivalents of fork(2) and kill(2). pdgetpid(2) allows querying the PID of the remote process for debugging purposes. The currently-unimplemented pdwait(2) will, in the future, allow querying rusage/exit status. In the interim, poll(2) may be used to check (and wait for) process termination.
When a process is referenced by a process descriptor, it does not issue SIGCHLD to the parent, making it suitable for use in libraries---a common scenario when using library compartmentalisation from within large applications (such as web browsers). Some observers may note a similarity to Mach task ports; process descriptors provide a subset of this behaviour, but in a UNIX style.
This feature is enabled by "options PROCDESC", but as with several other Capsicum kernel features, is not enabled by default in GENERIC 9.0.
Reviewed by: jhb, kib Approved by: re (kib), mentor (rwatson) Sponsored by: Google Inc
|
#
224307 |
|
25-Jul-2011 |
avg |
remove RESTARTABLE_PANICS option
This is done per request/suggestion from John Baldwin who introduced the option. Trying to resume normal system operation after a panic is very unpredictable and dangerous. It will become even more dangerous when we allow a thread in panic(9) to penetrate all lock contexts. I understand that the only purpose of this option was for testing scenarios potentially resulting in panic.
Suggested by: jhb Reviewed by: attilio, jhb X-MFC-After: never Approved by: re (kib)
|
#
224207 |
|
18-Jul-2011 |
attilio |
Add the possibility to specify from kernel configs MAXCPU value. This patch is going to help in cases like mips flavours where you want a more granular support on MAXCPU.
No MFC is previewed for this patch.
Tested by: pluknet Approved by: re (kib)
|
#
224016 |
|
14-Jul-2011 |
bz |
Remove semaphore map entry count "semmap" field and its tuning option that is highly recommended to be adjusted in too much documentation while doing nothing in FreeBSD since r2729 (rev 1.1).
ipcs(1) needs to be recompiled as it is accessing _KERNEL private variables.
Reviewed by: jhb (before comment change on linux code) Sponsored by: Sandvine Incorporated
|
#
223839 |
|
07-Jul-2011 |
andre |
Remove the TCP_SORECEIVE_STREAM compile time option. The use of soreceive_stream() for TCP still has to be enabled with the loader tuneable net.inet.tcp.soreceive_stream.
Suggested by: trociny and others
|
#
223723 |
|
02-Jul-2011 |
jonathan |
Define the CAPABILITIES kernel option.
This option will enable Capsicum capabilities, which provide a fine-grained mask on operations that can be performed on file descriptors.
Approved by: mentor (rwatson), re (Capsicum blanket ok) Sponsored by: Google Inc
|
#
223668 |
|
29-Jun-2011 |
jonathan |
We may split today's CAPABILITIES into CAPABILITY_MODE (which has to do with global namespaces) and CAPABILITIES (which has to do with constraining file descriptors). Just in case, and because it's a better name anyway, let's move CAPABILITIES out of the way.
Also, change opt_capabilities.h to opt_capsicum.h; for now, this will only hold CAPABILITY_MODE, but it will probably also hold the new CAPABILITIES (implying constrained file descriptors) in the future.
Approved by: rwatson Sponsored by: Google UK Ltd
|
#
223567 |
|
26-Jun-2011 |
adrian |
Add ATH_ENABLE_DFS which enables the DFS flag so the DFS code can be tested.
This doesn't at all actually do radar detection! It's just so developers who wish to test the net80211 DFS code can easily do so. Without this flag, the DFS channels are never marked DFS and thus the DFS stuff doesn't run.
|
#
222748 |
|
06-Jun-2011 |
rwatson |
Implement a CPU-affine TCP and UDP connection lookup data structure, struct inpcbgroup. pcbgroups, or "connection groups", supplement the existing inpcbinfo connection hash table, which when pcbgroups are enabled, might now be thought of more usefully as a per-protocol 4-tuple reservation table.
Connections are assigned to connection groups base on a hash of their 4-tuple; wildcard sockets require special handling, and are members of all connection groups. During a connection lookup, a per-connection group lock is employed rather than the global pcbinfo lock. By aligning connection groups with input path processing, connection groups take on an effective CPU affinity, especially when aligned with RSS work placement (see a forthcoming commit for details). This eliminates cache line migration associated with global, protocol-layer data structures in steady state TCP and UDP processing (with the exception of protocol-layer statistics; further commit to follow).
Elements of this approach were inspired by Willman, Rixner, and Cox's 2006 USENIX paper, "An Evaluation of Network Stack Parallelization Strategies in Modern Operating Systems". However, there are also significant differences: we maintain the inpcb lock, rather than using the connection group lock for per-connection state.
Likewise, the focus of this implementation is alignment with NIC packet distribution strategies such as RSS, rather than pure software strategies. Despite that focus, software distribution is supported through the parallel netisr implementation, and works well in configurations where the number of hardware threads is greater than the number of NIC input queues, such as in the RMI XLR threaded MIPS architecture.
Another important difference is the continued maintenance of existing hash tables as "reservation tables" -- these are useful both to distinguish the resource allocation aspect of protocol name management and the more common-case lookup aspect. In configurations where connection tables are aligned with hardware hashes, it is desirable to use the traditional lookup tables for loopback or encapsulated traffic rather than take the expense of hardware hashes that are hard to implement efficiently in software (such as RSS Toeplitz).
Connection group support is enabled by compiling "options PCBGROUP" into your kernel configuration; for the time being, this is an experimental feature, and hence is not enabled by default.
Subject to the limited MFCability of change dependencies in inpcb, and its change to the inpcbinfo init function signature, this change in principle could be merged to FreeBSD 8.x.
Reviewed by: bz Sponsored by: Juniper Networks, Inc.
|
#
221393 |
|
03-May-2011 |
jhb |
Reimplement how PCI-PCI bridges manage their I/O windows. Previously the driver would verify that requests for child devices were confined to any existing I/O windows, but the driver relied on the firmware to initialize the windows and would never grow the windows for new requests. Now the driver actively manages the I/O windows.
This is implemented by allocating a bus resource for each I/O window from the parent PCI bus and suballocating that resource to child devices. The suballocations are managed by creating an rman for each I/O window. The suballocated resources are mapped by passing the bus_activate_resource() call up to the parent PCI bus. Windows are grown when needed by using bus_adjust_resource() to adjust the resource allocated from the parent PCI bus. If the adjust request succeeds, the window is adjusted and the suballocation request for the child device is retried.
When growing a window, the rman_first_free_region() and rman_last_free_region() routines are used to determine if the front or end of the existing I/O window is free. From using that, the smallest ranges that need to be added to either the front or back of the window are computed. The driver will first try to grow the window in whichever direction requires the smallest growth first followed by the other direction if that fails.
Subtractive bridges will first attempt to satisfy requests for child resources from I/O windows (including attempts to grow the windows). If that fails, the request is passed up to the parent PCI bus directly however.
The PCI-PCI bridge driver will try to use firmware-assigned ranges for child BARs first and only allocate a "fresh" range if that specific range cannot be accommodated in the I/O window. This allows systems where the firmware assigns resources during boot but later wipes the I/O windows (some ACPI BIOSen are known to do this) to "rediscover" the original I/O window ranges.
The ACPI Host-PCI bridge driver has been adjusted to correctly honor hw.acpi.host_mem_start and the I/O port equivalent when a PCI-PCI bridge makes a wildcard request for an I/O window range.
The new PCI-PCI bridge driver is only enabled if the NEW_PCIB kernel option is enabled. This is a transition aide to allow platforms that do not yet support bus_activate_resource() and bus_adjust_resource() in their Host-PCI bridge drivers (and possibly other drivers as needed) to use the old driver for now. Once all platforms support the new driver, the kernel option and old driver will be removed.
PR: kern/143874 kern/149306 Tested by: mav
|
#
221312 |
|
02-May-2011 |
adrian |
Add documentation to sys/conf/options pointing out that AH_SUPPORT_AR9130 shouldn't be enabled by default unless you're truely building for the AR913x platform.
|
#
221215 |
|
29-Apr-2011 |
jhb |
Add the AH_SUPPORT_AR9130 option.
|
#
220908 |
|
21-Apr-2011 |
adrian |
Implement very basic ALQ logging for net80211.
This is destined to be a lightweight and optional set of ALQ probes for debugging events which are just impossible to debug with printf/log (eg packet TX/RX handling; AMPDU handling.)
The probes and operations themselves will appear in subsequent commits.
|
#
220454 |
|
08-Apr-2011 |
mav |
- Add kern.cam.ada.X.write_cache tunables/sysctls to control write caching on per-device basis. - While adding support for per-device sysctls, merge from graid branch support for ADA_TEST_FAILURE kernel option, which opens few more sysctl, allowing to simulate read and write errors for testing purposes.
|
#
220188 |
|
31-Mar-2011 |
adrian |
Introduce AH_AR5416_INTERRUPT_MITIGATION which enables interrupt mitigation for the AR5416 and later. Rename the older HAL option to use this.
|
#
220163 |
|
30-Mar-2011 |
trasz |
Add rctl. It's used by racct to take user-configurable actions based on the set of rules it maintains and the current resource usage. It also privides userland API to manage that ruleset.
Sponsored by: The FreeBSD Foundation Reviewed by: kib (earlier version)
|
#
220137 |
|
29-Mar-2011 |
trasz |
Add racct. It's an API to keep per-process, per-jail, per-loginclass and per-loginclass resource accounting information, to be used by the new resource limits code. It's connected to the build, but the code that actually calls the new functions will come later.
Sponsored by: The FreeBSD Foundation Reviewed by: kib (earlier version)
|
#
220053 |
|
27-Mar-2011 |
adrian |
Rename AH_ENABLE_11N to ATH_ENABLE_11 - the HAL supports 11n by default but the ath driver doesn't. This is a much more consistent name.
|
#
220052 |
|
27-Mar-2011 |
adrian |
Add an option - AR71XX_REALMEM - which overrides the amount of memory detected from Redboot, or overrides the "otherwise" case if no Redboot information was found.
Some AR71XX platforms don't use Redboot (eg TP-LINK devices using UBoot; some later Ubiquiti devices which apparently also use UBoot) and at least one plain out lies - the Ubiquiti LS-SR71A Redboot says there's 16mb of RAM when in fact there's 32mb.
A more "clean" solution will be needed at a later date.
|
#
219974 |
|
24-Mar-2011 |
mav |
MFgraid/head: Add new RAID GEOM class, that is going to replace ataraid(4) in supporting various BIOS-based software RAIDs. Unlike ataraid(4) this implementation does not depend on legacy ata(4) subsystem and can be used with any disk drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4) with `options ATA_CAM`). To make code more readable and extensible, this implementation follows modular design, including core part and two sets of modules, implementing support for different metadata formats and RAID levels.
Support for such popular metadata formats is now implemented: Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.
Such RAID levels are now supported: RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.
For any all of these RAID levels and metadata formats this class supports full cycle of volume operations: reading, writing, creation, deletion, disk removal and insertion, rebuilding, dirty shutdown detection and resynchronization, bad sector recovery, faulty disks tracking, hot-spare disks. For Intel and Promise formats there is support multiple volumes per disk set.
Look graid(8) manual page for additional details.
Co-authored by: imp Sponsored by: Cisco Systems, Inc. and iXsystems, Inc.
|
#
219869 |
|
22-Mar-2011 |
adrian |
Flip this over to be a configurable option for people who wish to play with it.
It's still not ready for prime-time - there's some TX niggles with these 11n cards that I'm still trying to wrap my head around, and AMPDU-TX is just not implemented so things will come to a crashing halt if you're not careful.
|
#
219819 |
|
21-Mar-2011 |
jeff |
- Merge changes to the base system to support OFED. These include a wider arg2 for sysctl, updates to vlan code, IFT_INFINIBAND, and other miscellaneous small features.
|
#
219804 |
|
20-Mar-2011 |
kib |
Retire opt_ffs_broken_fixme.h. Instead of directly calling ffs_snapgone(), use UFS_SNAPGONE() with usual layering.
Requested by: bde MFC after: 1 week
|
#
219647 |
|
14-Mar-2011 |
davidch |
- Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE. (BCM57710, BCM57711, BCM57711E)
MFC after: One month
|
#
219129 |
|
01-Mar-2011 |
rwatson |
Add initial support for Capsicum's Capability Mode to the FreeBSD kernel, compiled conditionally on options CAPABILITIES:
Add a new credential flag, CRED_FLAG_CAPMODE, which indicates that a subject (typically a process) is in capability mode.
Add two new system calls, cap_enter(2) and cap_getmode(2), which allow setting and querying (but never clearing) the flag.
Export the capability mode flag via process information sysctls.
Sponsored by: Google, Inc. Reviewed by: anderson Discussed with: benl, kris, pjd Obtained from: Capsicum Project MFC after: 3 months
|
#
218623 |
|
12-Feb-2011 |
hselasky |
Add missing USB_HOST_ALIGN option.
Approved by: thompsa (mentor)
|
#
218211 |
|
03-Feb-2011 |
rrs |
Adds an experimental option to create a pool of threads. These serve as input threads and are queued packets based on the V-tag number. This is similar to what a modern card can do with queue's for TCP... but alas modern cards know nothing about SCTP.
MFC after: 3 months (maybe)
|
#
217772 |
|
24-Jan-2011 |
adrian |
Undo a local option which mistakenly crept into a commit.
|
#
217725 |
|
22-Jan-2011 |
dchagin |
Option USB_HOST_ALIGN declared twice.
Approved by: kib(mentor)
|
#
217718 |
|
22-Jan-2011 |
hselasky |
Allow USB_HOST_ALIGN to be configured at compile time. This patch is necessary for MIPS based RouterStation Pro board and maybe other MIPS based boards as well.
Submitted by: Milan Obuch Approved by: thompsa (mentor)
|
#
217631 |
|
20-Jan-2011 |
adrian |
Push the non-AR5416 related stuff into chipset specific directories.
sys/dev/ath/ath_hal/ar5416/ is getting very crowded and further commits will make it even more crowded. Now is a good time to shuffle these files out before any more extensive work is done on them.
Create an ar9003 directory whilst I'm here; ar9003 specific chipset code will eventually live there.
|
#
215952 |
|
27-Nov-2010 |
mjacob |
Add ISP_INTERNAL_TARGET as an option for isp(4).
|
#
213489 |
|
06-Oct-2010 |
ambrisko |
Add the capability to read the complete contents of the NVRAM via sysctl dev.bce.<unit>.nvram_dump Add the capability to write the complete contents of the NVRAM via sysctl dev.bce.<unit>.nvram_write These are only available if the kernel option BCE_DEBUG is enabled. The nvram_write sysctl also requires the kernel option BCE_NVRAM_WRITE_SUPPORT to be enabled. These are to be used at your own caution. Since the MAC addresses are stored in the NVRAM, if you dump one NIC and restore it on another NIC the destination NIC's MAC addresses will not be preserved. A tool can be made using these sysctl's to manage the on-chip firmware.
Reviewed by: davidch, yongari
|
#
210564 |
|
28-Jul-2010 |
mdf |
Add MALLOC_DEBUG_MAXZONES debug malloc(9) option to use multiple uma 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)
|
#
208946 |
|
09-Jun-2010 |
ae |
New netgraph node ng_patch(4). It performs data modification of packets 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
|
#
208613 |
|
28-May-2010 |
raj |
Introduce kernel build options for the Flattened Device Tree support.
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
208048 |
|
13-May-2010 |
thompsa |
Allow the USB_REQ_DEBUG to be enabled in the kernel conf.
Requested by: HPS
|
#
207472 |
|
01-May-2010 |
imp |
The Atheros AR71xx CPUs, when paired with the AR5212 parts, has a bug that generates a fatal bus trap. Normally, the chips are setup to do 128 byte DMA bursts, but when on this CPU, they can only safely due 4-byte DMA bursts due to this bug. Details of the exact nature of the bug are sketchy, but some can be found at https://forum.openwrt.org/viewtopic.php?pid=70060 on pages 4, 5 and 6. There's a small performance penalty associated with this workaround, so it is only enabled when needed on the Atheros AR71xx platforms.
Unfortunately, this condition is impossible to detect at runtime without MIPS specific ifdefs. Rather than cast an overly-broad net like Linux/OpenWRT dues (which enables this workaround all the time on MIPS32 platforms), we put this option in the kernel for just the affected machines. Sam didn't like this aspect of the patch when he reviewed it, and I'd love to hear sane proposals on how to fix it :)
Reviewed by: sam@
|
#
205629 |
|
24-Mar-2010 |
rrs |
Adds the option of keeping per-cpu statistics in SCTP. This may be useful since it gets rid of atomics but I want it to remain an option until I can do further testing on if it really speeds things up.
|
#
204552 |
|
02-Mar-2010 |
alfred |
Merge projects/enhanced_coredumps (r204346) into HEAD:
Enhanced process coredump routines.
This brings in the following features: 1) Limit number of cores per process via the %I coredump formatter. Example: if corefilename is set to %N.%I.core AND num_cores = 3, then if a process "rpd" cores, then the corefile will be named "rpd.0.core", however if it cores again, then the kernel will generate "rpd.1.core" until we hit the limit of "num_cores".
this is useful to get several corefiles, but also prevent filling the machine with corefiles.
2) Encode machine hostname in core dump name via %H.
3) Compress coredumps, useful for embedded platforms with limited space. A sysctl kern.compress_user_cores is made available if turned on.
To enable compressed coredumps, the following config options need to be set: options COMPRESS_USER_CORES device zlib # brings in the zlib requirements. device gzio # brings in the kernel vnode gzip output module.
4) Eventhandlers are fired to indicate coredumps in progress.
5) The imgact sv_coredump routine has grown a flag to pass in more state, currently this is used only for passing a flag down to compress the coredump or not.
Note that the gzio facility can be used for generic output of gzip'd streams via vnodes.
Obtained from: Juniper Networks Reviewed by: kan
|
#
201879 |
|
08-Jan-2010 |
attilio |
Introduce the new kernel thread called "deadlock resolver". While the name is pretentious, a good explanation of its targets is reported in this 17 months old presentation e-mail: http://lists.freebsd.org/pipermail/freebsd-arch/2008-August/008452.html
In order to implement it, the sq_type in sleepqueues is mandatory and not only compiled along with INVARIANTS option. Additively, a new sleepqueue function, sleepq_type() is added, returning the type of the sleepqueue linked to a wchan. Three new sysctls are added in order to configure the thread: debug.deadlkres.slptime_threshold debug.deadlkres.blktime_threshold debug.deadlkres.sleepfreq
rappresenting the thresholds for sleep and block time that will lead to a deadlock matching (when exceeded), while the sleepfreq rappresents the number of seconds between 2 consecutive thread runnings. In order to enable the deadlock resolver thread recompile your kernel with the option DEADLKRES.
Reviewed by: jeff Tested by: pho, Giovanni Trematerra Sponsored by: Nokia Incorporated, Sandvine Incorporated MFC after: 2 weeks
|
#
200171 |
|
05-Dec-2009 |
mav |
MFp4: Introduce ATA_CAM kernel option, turning ata(4) controller drivers into cam(4) interface modules. When enabled, this options deprecates all ata(4) peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers (ada, cd, ...) and interfaces to be natively used instead.
As side effect of this, ata(4) mode setting code was completely rewritten to make controller API more strict and permit above change. While doing this, SATA revision was separated from PATA mode. It allows DMA-incapable SATA devices to operate and makes hw.ata.atapi_dma tunable work again.
Also allow ata(4) controller drivers (except some specific or broken ones) to handle larger data transfers. Previous constraint of 64K was artificial and is not really required by PCI ATA BM specification or hardware.
Submitted by: nwitehorn (powerpc part)
|
#
199250 |
|
13-Nov-2009 |
ed |
Convert syscons on i386 to TERM=xterm.
TEKEN_XTERM is now gone. Because we always use xterm mode now, we only need a TEKEN_CONS25 switch to go back to cons25.
|
#
199243 |
|
13-Nov-2009 |
ed |
Switch the default terminal emulation style to xterm for most platforms.
Right now syscons(4) uses a cons25-style terminal emulator. The disadvantages of that are:
- Little compatibility with embedded devices with serial interfaces. - Bad bandwidth efficiency, mainly because of the lack of scrolling regions. - A very hard transition path to support for modern character sets like UTF-8.
Our terminal emulation library, libteken, has been supporting xterm-style terminal emulation for months, so flip the switch and make everyone use an xterm-style console driver.
I still have to enable this on i386. Right now pc98 and i386 share the same /etc/ttys file. I'm not going to switch pc98, because it uses its own Kanji-capable cons25 emulator.
IMPORTANT: What to do if things go wrong (i.e. graphical artifacts):
- Run the application inside script(1), try to reduce the problem and send me the log file. - In the mean time, you can run `vidcontrol -T cons25' and `export TERM=cons25' so you can run applications the same way you did before. You can also build your kernel with `options TEKEN_CONS25' to make all virtual terminals use the cons25 emulator by default.
Discussed on: current@
|
#
199177 |
|
11-Nov-2009 |
ru |
Added option NETGRAPH_VLAN.
Submitted by: pluknet
|
#
199050 |
|
08-Nov-2009 |
mav |
Introduce define and kernel option ATA_REQUEST_TIMEOUT to control ATA(4) command timeout.
Submitted by: keramida
|
#
198320 |
|
21-Oct-2009 |
stas |
- Introduce new option BCE_JUMBO_HDRSPLIT that allows user to enable header splitting in bce(4) instead of (ab)using ZERO_COPY_SOCKETS that was not propagated into if_bce.c anyway. It is disabled by default.
Approved by: davidch MFC after: 3 days
|
#
197383 |
|
21-Sep-2009 |
delphij |
Collapase interrupt supporting functions to a new module, and switch from 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>
|
#
197236 |
|
15-Sep-2009 |
andre |
-Put the optimized soreceive_stream() under a compile time option called TCP_SORECEIVE_STREAM for the time being.
Requested by: brooks
Once compiled in make it easily switchable for testers by using a tuneable net.inet.tcp.soreceive_stream and a corresponding read-only sysctl to report the current state.
Suggested by: rwatson
MFC after: 2 days -This line, and those below, will be ignored-- > Description of fields to fill in above: 76 columns --| > PR: If a GNATS PR is affected by the change. > Submitted by: If someone else sent in the change. > Reviewed by: If someone else reviewed your modification. > Approved by: If you needed approval for this commit. > Obtained from: If the change is from a third party. > MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email. > Security: Vulnerability reference (one per line) or description. > Empty fields above will be automatically removed.
M sys/conf/options M sys/kern/uipc_socket.c M sys/netinet/tcp_subr.c M sys/netinet/tcp_usrreq.c
|
#
197019 |
|
09-Sep-2009 |
delphij |
- Port x86emu to FreeBSD. - Connect x86emu to build.
Tested with: make universe Submitted by: swell.k at gmail com
|
#
196480 |
|
23-Aug-2009 |
ed |
Allow pty(4) to be loaded as a kld.
Unfortunately, the wrappers that are present in pts(4) don't have the mechanics to allow pty(4) to be unloaded safely, so I'm forcing this kld to return EBUSY. This also means we have to enable some extra code in pts(4) unconditionally.
Proposed by: rwatson
|
#
196228 |
|
14-Aug-2009 |
zec |
Make VNET_DEBUG a standalone compile-time option, i.e. decouple it from INVARIANTS.
Reviewed by: bz Approved by: re (rwatson), julian (mentor)
|
#
195699 |
|
14-Jul-2009 |
rwatson |
Build on Jeff Roberson's linker-set based dynamic per-CPU allocator (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)
|
#
195633 |
|
12-Jul-2009 |
marcel |
Rename option USBVERBOSE to USB_VERBOSE for 2 reasons: 1. USB_VERBOSE is more consistent with USB_DEBUG, 2. sys/dev/usb/usb_device.c uses option USB_VERBOSE and not USBVERBOSE.
POLA with the USBVERBOSE option as it's found in 7-STABLE has been considered but found insignificant in the face of the USB stack overhaul.
Approved by: re (kensmith)
|
#
195618 |
|
11-Jul-2009 |
rpaulo |
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented.
Authentication and encryption are not implemented.
There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh).
A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98.
Drivers that support mesh networks right now are: ath, ral and mwl.
More information at: http://wiki.freebsd.org/WifiMesh
Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported.
Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project.
Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
|
#
195202 |
|
30-Jun-2009 |
dfr |
Remove the old kernel RPC implementation and the NFS_LEGACYRPC option.
Approved by: re
|
#
194683 |
|
23-Jun-2009 |
zec |
Connect ng_pipe to the default build.
Approved by: julian (mentor)
|
#
194317 |
|
17-Jun-2009 |
attilio |
Introduce support for adaptive spinning in lockmgr. Actually, as it did receive few tuning, the support is disabled by default, but it can opt-in with the option ADAPTIVE_LOCKMGRS. Due to the nature of lockmgrs, adaptive spinning needs to be selectively enabled for any interested lockmgr. The support is bi-directional, or, in other ways, it will work in both cases if the lock is held in read or write way. In particular, the read path is passible of further tunning using the sysctls debug.lockmgr.retries and debug.lockmgr.loops . Ideally, such sysctls should be axed or compiled out before release.
Addictionally note that adaptive spinning doesn't cope well with LK_SLEEPFAIL. The reason is that many (and probabilly all) consumers of LK_SLEEPFAIL are mainly interested in knowing if the interlock was dropped or not in order to reacquire it and re-test initial conditions. This directly interacts with adaptive spinning because lockmgr needs to drop the interlock while spinning in order to avoid a deadlock (further details in the comments inside the patch).
Final note: finding someone willing to help on tuning this with relevant workloads would be either very important and appreciated.
Tested by: jeff, pho Requested by: many
|
#
194062 |
|
12-Jun-2009 |
vanhu |
Added support for NAT-Traversal (RFC 3948) in IPsec stack.
Thanks to (no special order) Emmanuel Dreyfus (manu@netbsd.org), Larry Baird (lab@gta.com), gnn, bz, and other FreeBSD devs, Julien Vanherzeele (julien.vanherzeele@netasq.com, for years of bug reporting), the PFSense team, and all people who used / tried the NAT-T patch for years and reported bugs, patches, etc...
X-MFC: never
Reviewed by: bz Approved by: gnn(mentor) Obtained from: NETASQ
|
#
193963 |
|
10-Jun-2009 |
jkim |
Catch up with r193750 (OsdSynch.c locking changes):
- Preallocate some memory for ACPI tasks early enough. We cannot use malloc(9) any more because spin mutex may be held here. The reserved memory can be tuned via debug.acpi.max_tasks tunable or ACPI_MAX_TASKS in kernel configuration. The default is 32 tasks. - Implement a custom taskqueue_fast to wrap the new memory allocation. This implementation is not the fastest in the world but we are being conservative here.
|
#
193863 |
|
09-Jun-2009 |
kmacy |
revert to opt-in flowtable
|
#
193856 |
|
09-Jun-2009 |
kmacy |
make flowtable opt-out
|
#
193750 |
|
08-Jun-2009 |
jkim |
Rewrite OsdSynch.c to reflect the latest ACPICA more closely:
- Implement ACPI semaphore (ACPI_SEMAPHORE) with condvar(9) and mutex(9). - Implement ACPI mutex (ACPI_MUTEX) with mutex(9). - Implement ACPI lock (ACPI_SPINLOCK) with spin mutex(9).
|
#
193721 |
|
08-Jun-2009 |
bz |
Code using COMPAT_ROUTE_FLAGS option, introduced with r187094, was changed again in r187328, removing any use of the option from the kernel. The option was never in NOTES. Garbage collect.
|
#
193640 |
|
07-Jun-2009 |
ariff |
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to [1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control unique per-stream pcm channel without touching master volume / pcm. Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for backwards compatibility, SOUND_MIXER_PCM through the opened dsp device instead of /dev/mixer. Special "bypass" mode is enabled through /dev/mixer which will automatically detect if the adjustment is made through /dev/mixer and forward its request to this private volume controller. Changes to this volume object will not interfere with other channels.
Requirements: - SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which require specific application modifications (preferred). - No modifications required for using bypass mode, so applications like mplayer or xmms should work out of the box.
Kernel hints: - hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls: - hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer bypass mode. - hw.snd.vpc_autoreset (default: 1). By default, closing/opening /dev/dsp will reset the volume back to 0 db gain/attenuation. Setting this to 0 will preserve its settings across device closing/opening. - hw.snd.vpc_reset (default: 0). Panic/reset button to reset all volume settings back to 0 db. - hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter, based on Julius O'Smith's Digital Audio Resampling - http://ccrma.stanford.edu/~jos/resample/. It includes a filter design script written in awk (the clumsiest joke I've ever written) - 100% 32bit fixed-point, 64bit accumulator. - Possibly among the fastest (if not fastest) of its kind. - Resampling quality is tunable, either runtime or during kernel compilation (FEEDER_RATE_PRESETS). - Quality can be further customized during kernel compilation by defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls: - hw.snd.feeder_rate_quality. 0 - Zero-order Hold (ZOH). Fastest, bad quality. 1 - Linear Interpolation (LINEAR). Slightly slower than ZOH, better quality but still does not eliminate aliasing. 2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC quality always start from 2 and above.
Rough quality comparisons: - http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable vchans in order to make digital format pass through. It also makes vchans more dynamic by choosing a better format/rate among all the concurrent streams, which means that dev.pcm.X.play.vchanformat/rate becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute" other concurrent vchan streams and only allow a single channel with O_EXCL set to keep producing sound.
Other Changes: * most feeder_* stuffs are compilable in userland. Let's not speculate whether we should go all out for it (save that for FreeBSD 16.0-RELEASE). * kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org> * pull out channel mixing logic out of vchan.c and create its own feeder_mixer for world justice. * various refactoring here and there, for good or bad. * activation of few more OSSv4 ioctls() (see [1] above). * opt_snd.h for possible compile time configuration: (mostly for debugging purposes, don't try these at home) SND_DEBUG SND_DIAGNOSTIC SND_FEEDER_MULTIFORMAT SND_FEEDER_FULL_MULTIFORMAT SND_FEEDER_RATE_HP SND_PCM_64 SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many unsung / unnamed heroes.
|
#
193511 |
|
05-Jun-2009 |
rwatson |
Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC and used in a large number of files, but also because an increasing number of incorrect uses of MAC calls were sneaking in due to copy-and-paste of MAC-aware code without the associated opt_mac.h include.
Discussed with: pjd
|
#
193240 |
|
01-Jun-2009 |
sam |
driver for Marvell 88W8363 Wireless LAN controller
|
#
193217 |
|
01-Jun-2009 |
pjd |
- Rename IP_NONLOCALOK IP socket option to IP_BINDANY, to be more consistent with OpenBSD (and BSD/OS originally). We can't easly do it SOL_SOCKET option as there is no more space for more SOL_SOCKET options, but this option also fits better as an IP socket option, it seems. - Implement this functionality also for IPv6 and RAW IP sockets. - Always compile it in (don't use additional kernel options). - Remove sysctl to turn this functionality on and off. - Introduce new privilege - PRIV_NETINET_BINDANY, which allows to use this functionality (currently only unjail root can use it).
Discussed with: julian, adrian, jhb, rwatson, kmacy
|
#
193011 |
|
28-May-2009 |
attilio |
Reverse the logic for ADAPTIVE_SX option and enable it by default. Introduce for this operation the reverse NO_ADAPTIVE_SX option. The flag SX_ADAPTIVESPIN to be passed to sx_init_flags(9) gets suppressed and the new flag, offering the reversed logic, SX_NOADAPTIVE is added.
Additively implements adaptive spininning for sx held in shared mode. The spinning limit can be handled through sysctls in order to be tuned while the code doesn't reach the release, after which time they should be dropped probabilly.
This change has made been necessary by recent benchmarks where it does improve concurrency of workloads in presence of high contention (ie. ZFS).
KPI breakage is documented by __FreeBSD_version bumping, manpage and UPDATING updates.
Requested by: jeff, kmacy Reviewed by: jeff Tested by: pho
|
#
192991 |
|
28-May-2009 |
rmacklem |
Add the kernel build glue for the experimental NFS subsystem that includes support for NFSv4. The subsystem can optionally be linked into the kernel using the two options: NFSCL - the client NFSD - the server It is also built as three modules: nfscl - the client nfsd - the server nfscommon - functions shared by the client and server
Approved by: kib (mentor)
|
#
192578 |
|
22-May-2009 |
rwatson |
Remove the unmaintained University of Michigan NFSv4 client from 8.x prior to 8.0-RELEASE. Rick Macklem's new and more feature-rich NFSv234 client and server are replacing it.
Discussed with: rmacklem
|
#
191762 |
|
03-May-2009 |
imp |
Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver for Broadcom BCM43xx chipsets. This driver uses the v3 firmware that needs to be fetched separately. A port will be committed to create the bwi firmware module.
The driver matches the following chips: Broadcom BCM4301, BCM4307, BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4319
The driver works for 802.11b and 802.11g.
Limitations: This doesn't support the 802.11a or 802.11n portion of radios. Some BCM4306 and BCM4309 cards don't work with Channel 1, 2 or 3. Documenation for this firmware is reverse engineered from http://bcm.sipsolutions.net/ V4 of the firmware is needed for 11a or 11n support http://bcm-v4.sipsolutions.net/ Firmware needs to be fetched from a third party, port to be committed
# I've tested this with a BCM4319 mini-pci and a BCM4318 CardBus card, and # not connected it to the build until the firmware port is committed.
Obtained from: DragonFlyBSD, //depot/projects/vap Reviewed by: sam@, thompsa@
|
#
191725 |
|
01-May-2009 |
sam |
add more tdma fixed rate defaults
|
#
191255 |
|
18-Apr-2009 |
kmacy |
- Import infrastructure for caching flows as a means of accelerating L3 and L2 lookups as well as providing stateful load balancing when used with RADIX_MPATH. - Currently compiled in to i386 and amd64 but disabled by default, it can be enabled at runtime with 'sysctl net.inet.flowtable.enable=1'.
- Embedded users can remove it entirely from the kernel by adding 'nooption FLOWTABLE' to their kernel config files.
- A minimal hookup will be added to ip_output in a subsequent commit. I would like to see more review before bringing in changes that require more churn.
Supported by: Bitgravity Inc.
|
#
191130 |
|
15-Apr-2009 |
marcel |
Add a compat option to the EBR scheme that controls the naming of the partitions (GEOM_PART_EBR_COMPAT). When compatibility is enabled, changes to the partitioning are disallowed.
Remove the device name aliasing added previously to provide backward compatibility, but which in practice doesn't give us anything.
Enable compatibility on amd64 and i386.
|
#
190571 |
|
30-Mar-2009 |
sam |
Remove ATH_SUPPORT_TDMA and use IEEE80211_SUPPORT_TDMA instead. It doesn't make much sense to configure driver support w/o net80211. Note this means ath now depends on opt_wlan.h.
|
#
190391 |
|
24-Mar-2009 |
sam |
split Atheros SuperG support out into it's own file that's included only with a new IEEE80211_SUPPORT_SUPERG option
|
#
189851 |
|
15-Mar-2009 |
rwatson |
Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced in FreeBSD 5.x to allow network device drivers to run with Giant despite the network stack being Giant-free. This significantly simplifies calls into ioctl() on network interfaces, especially in the multicast code, as well as eliminates deferred invocation of interface if_start routines.
Disable the build on device drivers still depending on IFF_NEEDSGIANT as they no longer compile. They will be removed in a few weeks if they haven't been made MPSAFE in that time. Disabled drivers:
if_ar if_axe if_aue if_cdce if_cue if_kue if_ray if_rue if_rum if_sr if_udav if_ural if_zyd
Drivers that were already disabled because of tty changes:
if_ppp if_sl
Discussed on: arch@
|
#
188426 |
|
09-Feb-2009 |
marcel |
Add option GEOM_PART_EBR by default on amd64 and i386.
|
#
188221 |
|
06-Feb-2009 |
wkoszek |
Consistently use <TAB> instead of spaces as option name and file separator.
|
#
188156 |
|
05-Feb-2009 |
sam |
Add support for frobbing Intel StrataFlash Protection Registers: o add CFI_SUPPORT_STRATAFLASH compile option to enable support o add new ioctls to get/set the factory and user/oem segments of the PR and to get/set Protection Lock Register that fuses the user segment o add #defines for bits in the status register o update cfi_wait_ready to take an offset so it can be used to wait for PR write completion and replace constants w/ symbolic names
Note: writing the user segment isn't correct; committing now to get review.
Sponsored by: Carlson Wireless Reviewed by: imp, Chris Anderson
|
#
187831 |
|
28-Jan-2009 |
sam |
Overhaul regulatory support: o remove HAL_CHANNEL; convert the hal to use net80211 channels; this mostly involves mechanical changes to variable names and channel attribute macros o gut HAL_CHANNEL_PRIVATE as most of the contents are now redundant with the net80211 channel available o change api for ath_hal_init_channels: no more reglass id's, no more outdoor indication (was a noop), anM contents o add ath_hal_getchannels to have the hal construct a channel list without altering runtime state; this is used to retrieve the calibration list for the device in ath_getradiocaps o add ath_hal_set_channels to take a channel list and regulatory data from above and construct internal state to match (maps frequencies for 900MHz cards, setup for CTL lookups, etc) o compact the private channel table: we keep one private channel per frequency instead of one per HAL_CHANNEL; this gives a big space savings and potentially improves ani and calibration by sharing state (to be seen; didn't see anything in testing); a new config option AH_MAXCHAN controls the table size (default to 96 which was chosen to be ~3x the largest expected size) o shrink ani state and change to mirror private channel table (one entry per frequency indexed by ic_devdata) o move ani state flags to private channel state o remove country codes; use net80211 definitions instead o remove GSM regulatory support; it's no longer needed now that we pass in channel lists from above o consolidate ADHOC_NO_11A attribute with DISALLOW_ADHOC_11A o simplify initial channel list construction based on the EEPROM contents; we preserve country code support for now but may want to just fallback to a WWR sku and dispatch the discovered country code up to user space so the channel list can be constructed using the master regdomain tables o defer to net80211 for max antenna gain o eliminate sorting of internal channel table; now that we use ic_devdata as an index, table lookups are O(1) o remove internal copy of the country code; the public one is sufficient o remove AH_SUPPORT_11D conditional compilation; we always support 11d o remove ath_hal_ispublicsafetysku; not needed any more o remove ath_hal_isgsmsku; no more GSM stuff o move Conformance Test Limit (CTL) state from private channel to a lookup using per-band pointers cached in the private state block o remove regulatory class id support; was unused and belongs in net80211 o fix channel list construction to set IEEE80211_CHAN_NOADHOC, IEEE80211_CHAN_NOHOSTAP, and IEEE80211_CHAN_4MSXMIT o remove private channel flags CHANNEL_DFS and CHANNEL_4MS_LIMIT; these are now set in the constructed net80211 channel o store CHANNEL_NFCREQUIRED (Noise Floor Required) channel attribute in one of the driver-private flag bits of the net80211 channel o move 900MHz frequency mapping into the hal; the mapped frequency is stored in the private channel and used throughout the hal (no more mapping in the driver and/or net80211) o remove ath_hal_mhz2ieee; it's no longer needed as net80211 does the calculation and available in the net80211 channel o change noise floor calibration logic to work with compacted private channel table setup; this may require revisiting as we no longer can distinguish channel attributes (e.g. 11b vs 11g vs turbo) but since the data is used only to calculate status data we can live with it for now o change ah_getChipPowerLimits internal method to operate on a single channel instead of all channels in the private channel table o add ath_hal_gethwchannel to map a net80211 channel to a h/w frequency (always the same except for 900MHz channels) o add HAL_EEBADREG and HAL_EEBADCC status codes to better identify regulatory problems o remove CTRY_DEBUG and CTRY_DEFAULT enum's; these come from net80211 now o change ath_hal_getwirelessmodes to really return wireless modes supported by the hardware (was previously applying regulatory constraints) o return channel interference status with IEEE80211_CHANSTATE_CWINT (should change to a callback so hal api's can take const pointers) o remove some #define's no longer needed with the inclusion of <net80211/_ieee80211.h>
Sponsored by: Carlson Wireless
|
#
187367 |
|
17-Jan-2009 |
ed |
Allow experimental libteken features to be tested without changing code.
The teken library already supports UTF-8 handling and xterm emulation, but we have reasons to disable this right now. Because we should make it easy and interesting for people to experiment with these features, allow them to be set in kernel configuration files.
Before this commit we had a flag called `TEKEN_CONS25' to enable cons25-style emulation. I'm calling it the opposite now, `TEKEN_XTERM', because we want to enable it in kernel configuration files explicitly.
Requested by: kib
|
#
187094 |
|
12-Jan-2009 |
qingli |
Revive the RTF_LLINFO flag in route.h. The kernel code is guarded by the new kernel option COMPAT_ROUTE_FLAGS for binary backward compatibility. The RTF_LLDATA flag maps to the same value as RTF_LLINFO. RTF_LLDATA is used by the arp and ndp utilities. The RTF_LLDATA flag is always returned to the userland regardless whether the COMPAT_ROUTE_FLAGS is defined.
|
#
186955 |
|
09-Jan-2009 |
adrian |
Implement a new IP option (not compiled/enabled by default) to allow applications to specify a non-local IP address when bind()'ing a socket to a local endpoint.
This allows applications to spoof the client IP address of connections if (obviously!) they somehow are able to receive the traffic normally destined to said clients.
This patch doesn't include any changes to ipfw or the bridging code to redirect the client traffic through the PCB checks so TCP gets a shot at it. The normal behaviour is that packets with a non-local destination IP address are not handled locally. This can be dealth with some IPFW hackery; modifications to IPFW to make this less hacky will occur in subsequent commmits.
Thanks to Julian Elischer and others at Ironport. This work was approved and donated before Cisco acquired them.
Obtained from: Julian Elischer and others MFC after: 2 weeks
|
#
186904 |
|
08-Jan-2009 |
sam |
TDMA support for long distance point-to-point links using ath devices: o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame transmission to the ath driver; it's conceivable other devices might be capable of this too in which case they can make use of the 802.11 protocol additions etc. o add minor bits to user tools that need to know: ifconfig to setup and configure, new statistics in athstats, and new debug mask bits
While the architecture can support >2 slots in a TDMA BSS the current design is intended (and tested) for only 2 slots.
Sponsored by: Intel
|
#
186486 |
|
25-Dec-2008 |
julian |
Hook up the ether_echo node and fix the man page
|
#
186351 |
|
20-Dec-2008 |
sam |
Merge usb changes for Gateworks Cambria boards: o add support to byte swap EHCI descriptor contents; the IXP435 has dual-EHCI controllers integral but descriptor contents are in big-endian format; this support is configured with the USB_EHCI_BIG_ENDIAN_DESC option and enabled with EHCI_SCFLG_BIGEDESC o clean up EHCI USBMODE register setup during init; add #defines for bit values o split debug support out into a new file and enable use through ddb o while here remove a bunch of lingering netbsd-isms
Reviewed by: imp
|
#
185936 |
|
11-Dec-2008 |
bz |
Put the VIMAGE options together in one place.
Sponsored by: The FreeBSD Foundation
|
#
185895 |
|
10-Dec-2008 |
zec |
Conditionally compile out V_ globals while instantiating the appropriate container structures, depending on VIMAGE_GLOBALS compile time option.
Make VIMAGE_GLOBALS a new compile-time option, which by default will not be defined, resulting in instatiations of global variables selected for V_irtualization (enclosed in #ifdef VIMAGE_GLOBALS blocks) to be effectively compiled out. Instantiate new global container structures to hold V_irtualized variables: vnet_net_0, vnet_inet_0, vnet_inet6_0, vnet_ipsec_0, vnet_netgraph_0, and vnet_gif_0.
Update the VSYM() macro so that depending on VIMAGE_GLOBALS the V_ macros resolve either to the original globals, or to fields inside container structures, i.e. effectively
#ifdef VIMAGE_GLOBALS #define V_rt_tables rt_tables #else #define V_rt_tables vnet_net_0._rt_tables #endif
Update SYSCTL_V_*() macros to operate either on globals or on fields inside container structs.
Extend the internal kldsym() lookups with the ability to resolve selected fields inside the virtualization container structs. This applies only to the fields which are explicitly registered for kldsym() visibility via VNET_MOD_DECLARE() and vnet_mod_register(), currently this is done only in sys/net/if.c.
Fix a few broken instances of MODULE_GLOBAL() macro use in SCTP code, and modify the MODULE_GLOBAL() macro to resolve to V_ macros, which in turn result in proper code being generated depending on VIMAGE_GLOBALS.
De-virtualize local static variables in sys/contrib/pf/net/pf_subr.c which were prematurely V_irtualized by automated V_ prepending scripts during earlier merging steps. PF virtualization will be done separately, most probably after next PF import.
Convert a few variable initializations at instantiation to initialization in init functions, most notably in ipfw. Also convert TUNABLE_INT() initializers for V_ variables to TUNABLE_FETCH_INT() in initializer functions.
Discussed at: devsummit Strassburg Reviewed by: bz, julian Approved by: julian (mentor) Obtained from: //depot/projects/vimage-commit2/... X-MFC after: never Sponsored by: NLnet Foundation, The FreeBSD Foundation
|
#
185522 |
|
01-Dec-2008 |
sam |
Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying
device ath_hal
gives you the same chip support that the binary hal did but you must also include
options AH_SUPPORT_AR5416
to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information.
|
#
184969 |
|
14-Nov-2008 |
dfr |
Switch the default rpc implementation for NFS back to the new code. I believe I have fixed the reported problems - if you still have trouble with it, please contact me with as much detail as possible so that I can track down any other issues as quickly as possible.
|
#
184920 |
|
13-Nov-2008 |
dfr |
Temporarily switch NFS back to the old RPC code while I try to diagnose and fix the problems a few people have noticed with the new code. People who want to continue testing the new code or who need RPCSEC_GSS support should use the new option NFS_NEWRPC to select it.
|
#
184588 |
|
03-Nov-2008 |
dfr |
Implement support for RPCSEC_GSS authentication to both the NFS client and server. This replaces the RPC implementation of the NFS client and server with the newer RPC implementation originally developed (actually ported from the userland sunrpc code) to support the NFS Lock Manager. I have tested this code extensively and I believe it is stable and that performance is at least equal to the legacy RPC implementation.
The NFS code currently contains support for both the new RPC implementation and the older legacy implementation inherited from the original NFS codebase. The default is to use the new implementation - add the NFS_LEGACYRPC option to fall back to the old code. When I merge this support back to RELENG_7, I will probably change this so that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel which includes the KGSSAPI option and the crypto device. On the userland side, you must build at least a new libc, mountd, mount_nfs and gssd. You must install new versions of /etc/rc.d/gssd and /etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS filesystem from a server that requires RPCSEC_GSS authentication. The mount itself can happen without any kerberos credentials but all access to the filesystem will be denied unless the accessing user has a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There is currently no support for situations where the ticket file is in a different place, such as when the user logged in via SSH and has delegated credentials from that login. This restriction is also present in Solaris and Linux. In theory, we could improve this in future, possibly using Brooks Davis' implementation of variant symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create service creds for the server in the form 'nfs/<fqdn>@<REALM>' and install them in /etc/krb5.keytab. The standard heimdal utility ktutil makes this fairly easy. After the service creds have been created, you can add a '-sec=krb5' option to /etc/exports and restart both mountd and nfsd.
The only other difference an administrator should notice is that nfsd doesn't fork to create service threads any more. In normal operation, there will be two nfsd processes, one in userland waiting for TCP connections and one in the kernel handling requests. The latter process will create as many kthreads as required - these should be visible via 'top -H'. The code has some support for varying the number of service threads according to load but initially at least, nfsd uses a fixed number of threads according to the value supplied to its '-n' option.
Sponsored by: Isilon Systems MFC after: 1 month
|
#
184559 |
|
02-Nov-2008 |
imp |
Make RL_TWISTER_ENABLE a tunable/sysctl. Eliminate it as an option. Fix module build.
Submitted by: Kostik Belousov
|
#
184515 |
|
31-Oct-2008 |
imp |
Add RL_TWISTER_ENABLE option. This enables the magic bits to do long cable tuning. This has helped in some installations for hardware deployed by a former employer. Made optional because the lists aren't full of complaints about these cards... even when they were wildly popular.
Reviewed by: attilio@, jhb@, trhodes@ (all an older version of the patch)
|
#
184220 |
|
24-Oct-2008 |
n_hibma |
Add U3G_DEBUG to LINT
|
#
183519 |
|
01-Oct-2008 |
jhb |
Remove the LOOKUP_SHARED kernel option. Instead, make vfs.lookup_shared a loader tunable (it was already a sysctl).
|
#
182223 |
|
26-Aug-2008 |
imp |
Sort the network options alphabetically. They were mostly alphabetical before.
|
#
182222 |
|
26-Aug-2008 |
imp |
Remove left-over divot from wi driver cleanup Sam did a while ago. Since Symbol Firmware support was removed, it makes little sense to have an option to enable loading of Symbol Firmware.
|
#
182186 |
|
26-Aug-2008 |
imp |
MFp4: Sort a couple options alphabetically.
|
#
182126 |
|
24-Aug-2008 |
julian |
VIMAGE is a global option
|
#
182063 |
|
23-Aug-2008 |
rwatson |
Introduce two related changes to the TrustedBSD MAC Framework:
(1) Abstract interpreter vnode labeling in execve(2) and mac_execve(2) so that the general exec code isn't aware of the details of allocating, copying, and freeing labels, rather, simply passes in a void pointer to start and stop functions that will be used by the framework. This change will be MFC'd.
(2) Introduce a new flags field to the MAC_POLICY_SET(9) interface allowing policies to declare which types of objects require label allocation, initialization, and destruction, and define a set of flags covering various supported object types (MPC_OBJECT_PROC, MPC_OBJECT_VNODE, MPC_OBJECT_INPCB, ...). This change reduces the overhead of compiling the MAC Framework into the kernel if policies aren't loaded, or if policies require labels on only a small number or even no object types. Each time a policy is loaded or unloaded, we recalculate a mask of labeled object types across all policies present in the system. Eliminate MAC_ALWAYS_LABEL_MBUF option as it is no longer required.
MFC after: 1 week ((1) only) Reviewed by: csjp Obtained from: TrustedBSD Project Sponsored by: Apple, Inc.
|
#
181905 |
|
20-Aug-2008 |
ed |
Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following:
- Improved driver model:
The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers.
If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver.
- Improved hotplugging:
With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc).
The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly.
- Improved performance:
One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters.
Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING.
Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan
|
#
181840 |
|
18-Aug-2008 |
attilio |
Bufferize the output for DDB printouts. In order to CATER this, DDB buffered output can be choosen at compile time through the option DDB_BUFR_SIZE=nbytes where nbytes choose the size of the buffer (suggested size is 128 bytes), which should be manually specified in any interested config file.
Sponsored by: Nokia
|
#
181803 |
|
17-Aug-2008 |
bz |
Commit step 1 of the vimage project, (network stack) virtualization work done by Marko Zec (zec@).
This is the first in a series of commits over the course of the next few weeks.
Mark all uses of global variables to be virtualized with a V_ prefix. Use macros to map them back to their global names for now, so this is a NOP change only.
We hope to have caught at least 85-90% of what is needed so we do not invalidate a lot of outstanding patches again.
Obtained from: //depot/projects/vimage-commit2/... Reviewed by: brooks, des, ed, mav, julian, jamie, kris, rwatson, zec, ... (various people I forgot, different versions) md5 (with a bit of help) Sponsored by: NLnet Foundation, The FreeBSD Foundation X-MFC after: never V_Commit_Message_Reviewed_By: more people than the patch
|
#
180593 |
|
18-Jul-2008 |
dwmalone |
Add an accept filter for TCP based DNS requests. It waits until the whole first request is present before returning from accept.
|
#
179315 |
|
26-May-2008 |
bz |
Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and parts relied on the now removed NET_NEEDS_GIANT. Most of I4B has been disconnected from the build since July 2007 in HEAD/RELENG_7.
This is what was removed: - configuration in /etc/isdn - examples - man pages - kernel configuration - sys/i4b (drivers, layers, include files) - user space tools - i4b support from ppp - further documentation
Discussed with: rwatson, re
|
#
179308 |
|
25-May-2008 |
rwatson |
Remove netatm from HEAD as it is not MPSAFE and relies on the now removed NET_NEEDS_GIANT. netatm has been disconnected from the build for ten months in HEAD/RELENG_7. Specifics:
- netatm include files - netatm command line management tools - libatm - ATM parts in rescue and sysinstall - sample configuration files and documents - kernel support as a module or in NOTES - netgraph wrapper nodes for netatm - ctags data for netatm. - netatm-specific device drivers.
MFC after: 3 weeks Reviewed by: bz Discussed with: bms, bz, harti
|
#
179088 |
|
18-May-2008 |
jb |
Add two kernel options:
- KDTRACE_HOOKS for the shim layer of hooks which separate BSD licensed code from CDDL code. - DDB_CTF for the code that parses the CTF (compact C type format) data for use by the DTrace Function Boundary Trace provider and (possibly) ddb if we plan to do that.
|
#
179039 |
|
16-May-2008 |
benno |
Allow the block size used when booting over NFS to be overridden. It defaults to 8192 bytes which is the size currently used.
|
#
178888 |
|
09-May-2008 |
julian |
Add code to allow the system to handle multiple routing tables. This particular implementation is designed to be fully backwards compatible and to be MFC-able to 7.x (and 6.x)
Currently the only protocol that can make use of the multiple tables is IPv4 Similar functionality exists in OpenBSD and Linux.
From my notes:
-----
One thing where FreeBSD has been falling behind, and which by chance I have some time to work on is "policy based routing", which allows different packet streams to be routed by more than just the destination address.
Constraints: ------------
I want to make some form of this available in the 6.x tree (and by extension 7.x) , but FreeBSD in general needs it so I might as well do it in -current and back port the portions I need.
One of the ways that this can be done is to have the ability to instantiate multiple kernel routing tables (which I will now refer to as "Forwarding Information Bases" or "FIBs" for political correctness reasons). Which FIB a particular packet uses to make the next hop decision can be decided by a number of mechanisms. The policies these mechanisms implement are the "Policies" referred to in "Policy based routing".
One of the constraints I have if I try to back port this work to 6.x is that it must be implemented as a EXTENSION to the existing ABIs in 6.x so that third party applications do not need to be recompiled in timespan of the branch.
This first version will not have some of the bells and whistles that will come with later versions. It will, for example, be limited to 16 tables in the first commit. Implementation method, Compatible version. (part 1) ------------------------------- For this reason I have implemented a "sufficient subset" of a multiple routing table solution in Perforce, and back-ported it to 6.x. (also in Perforce though not always caught up with what I have done in -current/P4). The subset allows a number of FIBs to be defined at compile time (8 is sufficient for my purposes in 6.x) and implements the changes needed to allow IPV4 to use them. I have not done the changes for ipv6 simply because I do not need it, and I do not have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it.
Other protocol families are left untouched and should there be users with proprietary protocol families, they should continue to work and be oblivious to the existence of the extra FIBs.
To understand how this is done, one must know that the current FIB code starts everything off with a single dimensional array of pointers to FIB head structures (One per protocol family), each of which in turn points to the trie of routes available to that family.
The basic change in the ABI compatible version of the change is to extent that array to be a 2 dimensional array, so that instead of protocol family X looking at rt_tables[X] for the table it needs, it looks at rt_tables[Y][X] when for all protocol families except ipv4 Y is always 0. Code that is unaware of the change always just sees the first row of the table, which of course looks just like the one dimensional array that existed before.
The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign() are all maintained, but refer only to the first row of the array, so that existing callers in proprietary protocols can continue to do the "right thing". Some new entry points are added, for the exclusive use of ipv4 code called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(), which have an extra argument which refers the code to the correct row.
In addition, there are some new entry points (currently called rtalloc_fib() and friends) that check the Address family being looked up and call either rtalloc() (and friends) if the protocol is not IPv4 forcing the action to row 0 or to the appropriate row if it IS IPv4 (and that info is available). These are for calling from code that is not specific to any particular protocol. The way these are implemented would change in the non ABI preserving code to be added later.
One feature of the first version of the code is that for ipv4, the interface routes show up automatically on all the FIBs, so that no matter what FIB you select you always have the basic direct attached hosts available to you. (rtinit() does this automatically).
You CAN delete an interface route from one FIB should you want to but by default it's there. ARP information is also available in each FIB. It's assumed that the same machine would have the same MAC address, regardless of which FIB you are using to get to it.
This brings us as to how the correct FIB is selected for an outgoing IPV4 packet.
Firstly, all packets have a FIB associated with them. if nothing has been done to change it, it will be FIB 0. The FIB is changed in the following ways.
Packets fall into one of a number of classes.
1/ locally generated packets, coming from a socket/PCB. Such packets select a FIB from a number associated with the socket/PCB. This in turn is inherited from the process, but can be changed by a socket option. The process in turn inherits it on fork. I have written a utility call setfib that acts a bit like nice..
setfib -3 ping target.example.com # will use fib 3 for ping.
It is an obvious extension to make it a property of a jail but I have not done so. It can be achieved by combining the setfib and jail commands.
2/ packets received on an interface for forwarding. By default these packets would use table 0, (or possibly a number settable in a sysctl(not yet)). but prior to routing the firewall can inspect them (see below). (possibly in the future you may be able to associate a FIB with packets received on an interface.. An ifconfig arg, but not yet.)
3/ packets inspected by a packet classifier, which can arbitrarily associate a fib with it on a packet by packet basis. A fib assigned to a packet by a packet classifier (such as ipfw) would over-ride a fib associated by a more default source. (such as cases 1 or 2).
4/ a tcp listen socket associated with a fib will generate accept sockets that are associated with that same fib.
5/ Packets generated in response to some other packet (e.g. reset or icmp packets). These should use the FIB associated with the packet being reponded to.
6/ Packets generated during encapsulation. gif, tun and other tunnel interfaces will encapsulate using the FIB that was in effect withthe proces that set up the tunnel. thus setfib 1 ifconfig gif0 [tunnel instructions] will set the fib for the tunnel to use to be fib 1.
Routing messages would be associated with their process, and thus select one FIB or another. messages from the kernel would be associated with the fib they refer to and would only be received by a routing socket associated with that fib. (not yet implemented)
In addition Netstat has been edited to be able to cope with the fact that the array is now 2 dimensional. (It looks in system memory using libkvm (!)). Old versions of netstat see only the first FIB.
In addition two sysctls are added to give: a) the number of FIBs compiled in (active) b) the default FIB of the calling process.
Early testing experience: -------------------------
Basically our (IronPort's) appliance does this functionality already using ipfw fwd but that method has some drawbacks.
For example, It can't fully simulate a routing table because it can't influence the socket's choice of local address when a connect() is done.
Testing during the generating of these changes has been remarkably smooth so far. Multiple tables have co-existed with no notable side effects, and packets have been routes accordingly.
ipfw has grown 2 new keywords:
setfib N ip from anay to any count ip from any to any fib N
In pf there seems to be a requirement to be able to give symbolic names to the fibs but I do not have that capacity. I am not sure if it is required.
SCTP has interestingly enough built in support for this, called VRFs in Cisco parlance. it will be interesting to see how that handles it when it suddenly actually does something.
Where to next: --------------------
After committing the ABI compatible version and MFCing it, I'd like to proceed in a forward direction in -current. this will result in some roto-tilling in the routing code.
Firstly: the current code's idea of having a separate tree per protocol family, all of the same format, and pointed to by the 1 dimensional array is a bit silly. Especially when one considers that there is code that makes assumptions about every protocol having the same internal structures there. Some protocols don't WANT that sort of structure. (for example the whole idea of a netmask is foreign to appletalk). This needs to be made opaque to the external code.
My suggested first change is to add routing method pointers to the 'domain' structure, along with information pointing the data. instead of having an array of pointers to uniform structures, there would be an array pointing to the 'domain' structures for each protocol address domain (protocol family), and the methods this reached would be called. The methods would have an argument that gives FIB number, but the protocol would be free to ignore it.
When the ABI can be changed it raises the possibilty of the addition of a fib entry into the "struct route". Currently, the structure contains the sockaddr of the desination, and the resulting fib entry. To make this work fully, one could add a fib number so that given an address and a fib, one can find the third element, the fib entry.
Interaction with the ARP layer/ LL layer would need to be revisited as well. Qing Li has been working on this already.
This work was sponsored by Ironport Systems/Cisco
Reviewed by: several including rwatson, bz and mlair (parts each) Obtained from: Ironport systems/Cisco
|
#
178674 |
|
29-Apr-2008 |
julian |
Add an option (compiled out by default) to profile outoing packets for a number of mbuf chain related parameters e.g. number of mbufs, wasted space. probably will do with further work later.
Reviewed by: various
|
#
178354 |
|
20-Apr-2008 |
sam |
Multi-bss (aka vap) support for 802.11 devices.
Note this includes changes to all drivers and moves some device firmware loading to use firmware(9) and a separate module (e.g. ral). Also there no longer are separate wlan_scan* modules; this functionality is now bundled into the wlan module.
Supported by: Hobnob and Marvell Reviewed by: many Obtained from: Atheros (some bits)
|
#
178167 |
|
13-Apr-2008 |
qingli |
This patch provides the back end support for equal-cost multi-path (ECMP) for both IPv4 and IPv6. Previously, multipath route insertion is disallowed. For example,
route add -net 192.103.54.0/24 10.9.44.1 route add -net 192.103.54.0/24 10.9.44.2
The second route insertion will trigger an error message of "add net 192.103.54.0/24: gateway 10.2.5.2: route already in table"
Multiple default routes can also be inserted. Here is the netstat output:
default 10.2.5.1 UGS 0 3074 bge0 => default 10.2.5.2 UGS 0 0 bge0
When multipath routes exist, the "route delete" command requires a specific gateway to be specified or else an error message would be displayed. For example,
route delete default
would fail and trigger the following error message:
"route: writing to routing socket: No such process" "delete net default: not in table"
On the other hand,
route delete default 10.2.5.2
would be successful: "delete net default: gateway 10.2.5.2"
One does not have to specify a gateway if there is only a single route for a particular destination.
I need to perform more testings on address aliases and multiple interfaces that have the same IP prefixes. This patch as it stands today is not yet ready for prime time. Therefore, the ECMP code fragments are fully guarded by the RADIX_MPATH macro. Include the "options RADIX_MPATH" in the kernel configuration to enable this feature.
Reviewed by: robert, sam, gnn, julian, kmacy
|
#
177941 |
|
05-Apr-2008 |
jhb |
Move INTR_FILTER from opt_global.h to its own header.
|
#
177692 |
|
28-Mar-2008 |
marcel |
Add support for PC-9800 partition tables.
|
#
177633 |
|
26-Mar-2008 |
dfr |
Add the new kernel-mode NFS Lock Manager. To use it instead of the user-mode lock manager, build a kernel with the NFSLOCKD option and add '-k' to 'rpc_lockd_flags' in rc.conf.
Highlights include:
* Thread-safe kernel RPC client - many threads can use the same RPC client handle safely with replies being de-multiplexed at the socket upcall (typically driven directly by the NIC interrupt) and handed off to whichever thread matches the reply. For UDP sockets, many RPC clients can share the same socket. This allows the use of a single privileged UDP port number to talk to an arbitrary number of remote hosts.
* Single-threaded kernel RPC server. Adding support for multi-threaded server would be relatively straightforward and would follow approximately the Solaris KPI. A single thread should be sufficient for the NLM since it should rarely block in normal operation.
* Kernel mode NLM server supporting cancel requests and granted callbacks. I've tested the NLM server reasonably extensively - it passes both my own tests and the NFS Connectathon locking tests running on Solaris, Mac OS X and Ubuntu Linux.
* Userland NLM client supported. While the NLM server doesn't have support for the local NFS client's locking needs, it does have to field async replies and granted callbacks from remote NLMs that the local client has contacted. We relay these replies to the userland rpc.lockd over a local domain RPC socket.
* Robust deadlock detection for the local lock manager. In particular it will detect deadlocks caused by a lock request that covers more than one blocking request. As required by the NLM protocol, all deadlock detection happens synchronously - a user is guaranteed that if a lock request isn't rejected immediately, the lock will eventually be granted. The old system allowed for a 'deferred deadlock' condition where a blocked lock request could wake up and find that some other deadlock-causing lock owner had beaten them to the lock.
* Since both local and remote locks are managed by the same kernel locking code, local and remote processes can safely use file locks for mutual exclusion. Local processes have no fairness advantage compared to remote processes when contending to lock a region that has just been unlocked - the local lock manager enforces a strict first-come first-served model for both local and remote lockers.
Sponsored by: Isilon Systems PR: 95247 107555 115524 116679 MFC after: 2 weeks
|
#
177417 |
|
19-Mar-2008 |
jeff |
- Add an option to compile in SCHED_STATS. - Add some more information about SLEEPQUEUE_PROFILING to NOTES.
|
#
177091 |
|
12-Mar-2008 |
jeff |
Remove kernel support for M:N threading.
While the KSE project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the kse library was never developed to its full potential. Backwards compatibility will be provided via libmap.conf for dynamically linked binaries and static binaries will be broken.
|
#
176718 |
|
01-Mar-2008 |
marcel |
Add support for VTOC8 labels (aka sun disk labels). When a label does not have VTOC information about the partitions, it will be created. This is because the VTOC information is used for the partition type and FreeBSD's sunlabel(8) does not create nor use VTOC information. For this purpose, new tags have been added to support FreeBSD's partition types.
|
#
176418 |
|
20-Feb-2008 |
thompsa |
Rename geom_lvm(4) to geom_linux_lvm(4).
Requested by: des, phk
|
#
176169 |
|
11-Feb-2008 |
thompsa |
Add missing GEOM_LVM option.
|
#
175694 |
|
26-Jan-2008 |
rwatson |
Allow DDB_CAPTURE_DEFAULTBUFSIZE and DDB_CAPTURE_MAXBUFSIZE to be overridden at compile-time using kernel options of the same names.
Rather than doing a compile-time CTASSERT of buffer sizes being even multiples of block sizes, just adjust them at boottime, as the failure mode is more user-friendly.
MFC after: 2 months PR: 119993 Suggested by: Scot Hetzel <swhetzel at gmail dot com>
|
#
175147 |
|
07-Jan-2008 |
jhb |
Add COMPAT_FREEBSD7 and enable it in configs that have COMPAT_FREEBSD6.
|
#
174938 |
|
27-Dec-2007 |
alc |
Add configuration knobs for the superpage reservation system. Initially, the reservation will only be enabled on amd64.
|
#
174629 |
|
15-Dec-2007 |
jeff |
- Re-implement lock profiling in such a way that it no longer breaks the ABI when enabled. There is no longer an embedded lock_profile_object in each lock. Instead a list of lock_profile_objects is kept per-thread for each lock it may own. The cnt_hold statistic is now always 0 to facilitate this. - Support shared locking by tracking individual lock instances and statistics in the per-thread per-instance lock_profile_object. - Make the lock profiling hash table a per-cpu singly linked list with a per-cpu static lock_prof allocator. This removes the need for an array of spinlocks and reduces cache contention between cores. - Use a seperate hash for spinlocks and other locks so that only a critical_enter() is required and not a spinlock_enter() to modify the per-cpu tables. - Count time spent spinning in the lock statistics. - Remove the LOCK_PROFILE_SHARED option as it is always supported now. - Specifically drop and release the scheduler locks in both schedulers since we track owners now.
In collaboration with: Kip Macy Sponsored by: Nokia
|
#
174622 |
|
15-Dec-2007 |
kmacy |
add compile option to remove extra branch introduced by tcp offload support code
|
#
174326 |
|
06-Dec-2007 |
marcel |
Add a BSD disklabel backend to g_part: o Disklabels can have between 8 and 20 partitions (inclusive). o No device special file is created for the raw partition. o Switch ia64 to use this backend. o No support for boot code yet.
|
#
174195 |
|
02-Dec-2007 |
rwatson |
Break out stack(9) from ddb(4):
- Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9).
Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce.
Update stack(9) man page.
Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)
|
#
174005 |
|
28-Nov-2007 |
attilio |
Make ADAPTIVE_GIANT as the default in the kernel and remove the option. Currently, Giant is not too much contented so that it is ok to treact it like any other mutexes.
Please don't forget to update your own custom config kernel files.
Approved by: cognet, marcel (maintainers of arches where option is not enabled at the moment)
|
#
172302 |
|
23-Sep-2007 |
pjd |
Bring in the GEOM Virtualisation class, which allows to create huge GEOM providers with limited physical storage and add physical storage as needed.
Submitted by: Ivan Voras Sponsored by: Google Summer of Code 2006 Approved by: re (kensmith)
|
#
172298 |
|
22-Sep-2007 |
mlaier |
Remove PF_MPSAFE_UGID leftover.
Spotted by: bz Approved by: re (gnn)
|
#
172150 |
|
12-Sep-2007 |
ariff |
Update snd_emu10kx driver with recent perforce changes (and few other changes too).
(without any real order)
1. Use device_get_nameunit for mutex naming 2. Add timer for low-latency playback 3. Move most mixer controls from sysctls to mixer(8) controls. This is a largest part of this patch. 4. Add analog/digital switch (as a temporary sysctl) 5. Get back support for low-bitrate playback (with help of (2)) 6. Change locking for exclusive I/O. Writing to non-PTR register is almost safe and does not need to be ordered with PTR operations. 7. Disable MIDI until we get it to detach properly and fix memory managment problems. 8. Enable multichannel playback by default. It is as stable as single-channel mode. Multichannel recording is still an experimental feature. 9. Multichannel options can be changed by loader tunables. 10. Add a way to disable card from a loader tunable. 11. Add new PCI IDs. 12. Debugger settings are loader tunables now. 14. Remove some unused variables. 15. Mark pcm sub-devices MPSAFE. 16. Partially revert (bus_setup_intr -> snd_setup_intr) since it need to be done independently
Submitted by: Yuriy Tsibizov (driver maintainer) Approved by: re (bmah)
|
#
171744 |
|
06-Aug-2007 |
rwatson |
Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which previously conditionally acquired Giant based on debug.mpsafenet. As that has now been removed, they are no longer required. Removing them significantly simplifies error-handling in the socket layer, eliminated quite a bit of unwinding of locking in error cases.
While here clean up the now unneeded opt_net.h, which previously was used for the NET_WITH_GIANT kernel option. Clean up some related gotos for consistency.
Reviewed by: bz, csjp Tested by: kris Approved by: re (kensmith)
|
#
171732 |
|
05-Aug-2007 |
bz |
Rename option IPSEC_FILTERGIF to IPSEC_FILTERTUNNEL. Also rename the related functions in a similar way. There are no functional changes.
For a packet coming in with IPsec tunnel mode, the default is to only call into the firewall with the "outer" IP header and payload.
With this option turned on, in addition to the "outer" parts, the "inner" IP header and payload are passed to the firewall too when going through ip_input() the second time.
The option was never only related to a gif(4) tunnel within an IPsec tunnel and thus the name was very misleading.
Discussed at: BSDCan 2007 Best new name suggested by: rwatson Reviewed by: rwatson Approved by: re (bmah)
|
#
171568 |
|
24-Jul-2007 |
scottl |
Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the included man pages on how to use it. This code is still somewhat experimental but has been successfully tested on a number of targets. Many thanks to Danny for contributing this.
Approved by: re
|
#
171453 |
|
14-Jul-2007 |
rwatson |
Disconnect netatm from the build as it is not MPSAFE and relies on NET_NEEDS_GIANT, which will shortly be removed. This is done in a away that it may be easily reattached to the build before 7.1 if appropriate locking is added. Specifics:
- Don't install netatm include files - Disconnect netatm command line management tools - Don't build libatm - Don't include ATM parts in rescue or sysinstall - Don't install sample configuration files and documents - Don't build kernel support as a module or in NOTES - Don't build netgraph wrapper nodes for netatm
This removes the last remaining consumer of NET_NEEDS_GIANT.
Reviewed by: harti Discussed with: bz, bms Approved by: re (kensmith)
|
#
171440 |
|
14-Jul-2007 |
rrs |
- Modular congestion control, with RFC2581 being the default. - CMT_PF states added (w/sysctl to turn the PF version on) - sctp_input.c had a missing incr of cookie case when the auth was bad. This meant a free was called without an increment to refcnt, added increment like rest of code. - There was a case, unlikely, when the scope of the destination changed (this is a TSNH case). In that case, it would not free the alloc'ed asoc (in sctp_input.c). - When listed addresses found a colliding cookie/Init, then the collided upon tcb was not unlocked in sctp_pcb.c - Add error checking on arguments of sctp_sendx(3) to prevent it from referencing a NULL pointer. - Fix an error return of sctp_sendx(3), it was returing ENOMEM not -1. - Get assoc id was changed to use the sanctified socket api method for getting a assoc id (PEER_ADDR_INFO instead of PEER_ADDR_PARAMS). - Fix it so a peeled off socket will get a proper error return if it trys to send to a different address then it is connected to. - Fix so that select_a_stream can avoid an endless loop that could hang a caller. - time_entered (state set time) was not being set in all cases to the time we went established. Approved by: re(ken smith)
|
#
171277 |
|
06-Jul-2007 |
attilio |
Fix some problems with lock_profiling in sx locks: - Adjust lock_profiling stubs semantic in the hard functions in order to be more accurate and trustable - Disable shared paths for lock_profiling. Actually, lock_profiling has a subtle race which makes results caming from shared paths not completely trustable. A macro stub (LOCK_PROFILING_SHARED) can be actually used for re-enabling this paths, but is currently intended for developing use only. - Use homogeneous names for automatic variables in hard functions regarding lock_profiling - Style fixes - Add a CTASSERT for some flags building
Discussed with: kmacy, kris Approved by: jeff (mentor) Approved by: re
|
#
171196 |
|
03-Jul-2007 |
bz |
Temporary disconnect i4bing, i4bisppp and i4bipr from the build for the 7.0 timeframe.
This is needed because I4B is not locked and NET_NEEDS_GIANT goes away.
The plan is to lock I4B and bring everything back for 7.1.
Approved by: re (kensmith)
|
#
171167 |
|
03-Jul-2007 |
gnn |
Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC.
Approved by: re Sponsored by: Secure Computing
|
#
171023 |
|
25-Jun-2007 |
rafan |
- Remove UMAP filesystem. It was disconnected from build three years ago, and it is seriously broken.
Discussed on: freebsd-arch@ Approved by: re (mux)
|
#
170816 |
|
16-Jun-2007 |
alc |
Enable the new physical memory allocator.
This allocator uses a binary buddy system with a twist. First and foremost, this allocator is required to support the implementation of superpages. As a side effect, it enables a more robust implementation of contigmalloc(9). Moreover, this reimplementation of contigmalloc(9) eliminates the acquisition of Giant by contigmalloc(..., M_NOWAIT, ...).
The twist is that this allocator tries to reduce the number of TLB misses incurred by accesses through a direct map to small, UMA-managed objects and page table pages. Roughly speaking, the physical pages that are allocated for such purposes are clustered together in the physical address space. The performance benefits vary. In the most extreme case, a uniprocessor kernel running on an Opteron, I measured an 18% reduction in system time during a buildworld.
This allocator does not implement page coloring. The reason is that superpages have much the same effect. The contiguous physical memory allocation necessary for a superpage is inherently colored.
Finally, the one caveat is that this allocator does not effectively support prezeroed pages. I hope this is temporary. On i386, this is a slight pessimization. However, on amd64, the beneficial effects of the direct-map optimization outweigh the ill effects. I speculate that this is true in general of machines with a direct map.
Approved by: re
|
#
170808 |
|
15-Jun-2007 |
delphij |
MFp4: Add tmpfs, an efficient memory file system.
Please note that, this is currently considered as an experimental feature so there could be some rough edges. Consult http://wiki.freebsd.org/TMPFS for more information.
For now, connect tmpfs to build on i386 and amd64 architectures only. Please let us know if you have success with other platforms.
This work was developed by Julio M. Merino Vidal for NetBSD as a SoC project; Rohit Jalan ported it from NetBSD to FreeBSD. Howard Su and Glen Leeder are worked on it to continue this effort.
Obtained from: NetBSD via p4 Submitted by: Howard Su (with some minor changes) Approved by: re (kensmith)
|
#
170744 |
|
14-Jun-2007 |
rrs |
- Fix so ifn's are properly deleted when the ref count goes to 0. - Fix so VRF's will clean themselves up when no references are around. - Allow sctp_ifa to be passed into inpcb_bind, addr_mgmt_ep_sa to bypass normal validation checks. - turn auto-asconf off for subset bound sockets - Moves all logging to use KTR. This gets rid of most of the logging #ifdef's with a few exceptions reducing the number of config options for SCTP.
|
#
170664 |
|
13-Jun-2007 |
rwatson |
Remove IPX over IP tunneling support, which allows IPX routing over IP tunnels, and was not MPSAFE. The code can be easily restored in the event that someone with an IPX over IP tunnel configuration can work with me to test patches.
This removes one of five remaining consumers of NET_NEEDS_GIANT.
Approved by: re (kensmith)
|
#
170651 |
|
13-Jun-2007 |
marcel |
Add the MBR partitioning scheme to g_part. This does not yet support the ability to install boot code.
|
#
170441 |
|
08-Jun-2007 |
attilio |
Remove the MUTEX_WAKE_ALL option and make it the default behaviour for our mutexes. Currently we alredy force MUTEX_WAKE_ALL beacause of some problems with the !MUTEX_WAKE_ALL case (unavioidable priority inversion).
|
#
170308 |
|
04-Jun-2007 |
jeff |
- Remove sched_core.c. The maintainer has lost interest in pursuing this and it has been neglected in the recent ksegrp removal as well as the thread_lock() changes.
Discussed with: davidxu
|
#
170138 |
|
30-May-2007 |
rrs |
- Fix a memory overwrite when the mapping array is expanded, size of expansion was not taken int consideration. - Fix so vtag hash is 1 bigger so that it modulo's out correctly, avoids a panic when restart with right modulo happens. - do not dereference stcb when control->do_not_ref_stcb is set - Fix up packet logging to not often use a lock and also to add to options. - Fix some logging option duplication in the sctputil.h
|
#
169582 |
|
15-May-2007 |
mav |
A node that implements various traffic shaping and rate limiting algorithms (ng_car).
Approved by: glebius (mentor)
|
#
169321 |
|
06-May-2007 |
piso |
Make interrupt filtering support compilable.
The entire code is wrapperd in #ifdef ... #endif so it won't harm the actual implementation, but developers are encouraged to test it. For arm, ia64, ppc, sparc64 and sun4v some work is still needed, thus arch maintainers are encouraged to bring their arch on par with respect to i386 and amd64.
Approved by: re (implicit?)
|
#
168733 |
|
14-Apr-2007 |
kmacy |
Add option for disabling allocation from the packet zone
|
#
168364 |
|
04-Apr-2007 |
andre |
Retire unused TCP_SACK_DEBUG.
|
#
168191 |
|
31-Mar-2007 |
jhb |
Optimize sx locks to use simple atomic operations for the common cases of obtaining and releasing shared and exclusive locks. The algorithms for manipulating the lock cookie are very similar to that rwlocks. This patch also adds support for exclusive locks using the same algorithm as mutexes.
A new sx_init_flags() function has been added so that optional flags can be specified to alter a given locks behavior. The flags include SX_DUPOK, SX_NOWITNESS, SX_NOPROFILE, and SX_QUITE which are all identical in nature to the similar flags for mutexes.
Adaptive spinning on select locks may be enabled by enabling the ADAPTIVE_SX kernel option. Only locks initialized with the SX_ADAPTIVESPIN flag via sx_init_flags() will adaptively spin.
The common cases for sx_slock(), sx_sunlock(), sx_xlock(), and sx_xunlock() are now performed inline in non-debug kernels. As a result, <sys/sx.h> now requires <sys/lock.h> to be included prior to <sys/sx.h>.
The new kernel option SX_NOINLINE can be used to disable the aforementioned inlining in non-debug kernels.
The size of struct sx has changed, so the kernel ABI is probably greatly disturbed.
MFC after: 1 month Submitted by: attilio Tested by: kris, pjd
|
#
167948 |
|
27-Mar-2007 |
jhb |
Sort.
|
#
167814 |
|
22-Mar-2007 |
jkim |
Catch up with ACPI-CA 20070320 import.
|
#
167801 |
|
22-Mar-2007 |
jhb |
- Simplify the #ifdef's for adaptive mutexes and rwlocks by conditionally defining a macro earlier in the file. - Add NO_ADAPTIVE_RWLOCKS option to disable adaptive spinning for rwlocks.
|
#
167774 |
|
21-Mar-2007 |
andre |
Make TCP_DROP_SYNFIN a standard part of TCP. Disabled by default it doesn't impede normal operation negatively and is only a few lines of code. It's close relatives blackhole and log_in_vain aren't options either.
|
#
167735 |
|
20-Mar-2007 |
rrs |
Adds missing flight size logging option for SCTP.
|
#
167064 |
|
27-Feb-2007 |
des |
Add GEOM_MULTIPATH so LINT will build.
Pointy hat to: mjacob
|
#
167054 |
|
27-Feb-2007 |
kmacy |
Further improvements to LOCK_PROFILING: - Fix missing initialization in kern_rwlock.c causing bogus times to be collected - Move updates to the lock hash to after the lock is released for spin mutexes, sleep mutexes, and sx locks - Add new kernel build option LOCK_PROFILE_FAST - only update lock profiling statistics when an acquisition is contended. This reduces the overhead of LOCK_PROFILING to increasing system time by 20%-25% which on "make -j8 kernel-toolchain" on a dual woodcrest is unmeasurable in terms of wall-clock time. Contrast this to enabling lock profiling without LOCK_PROFILE_FAST and I see a 5x-6x slowdown in wall-clock time.
|
#
166622 |
|
10-Feb-2007 |
bms |
Build PIM by default as part of the IPv4 multicast forwarding path. Make PIM dynamically loadable by using encap_attach_func(). PIM may now be loaded into a GENERIC kernel.
Tested with: ports/net/pimdd && tcpreplay && wireshark Reviewed by: Pavlin Radoslavov
|
#
166551 |
|
07-Feb-2007 |
marcel |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp).
The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
|
#
166342 |
|
30-Jan-2007 |
rodrigc |
Remove MSDOSFS_LARGE compile time option. It has been converted to a run time "-o large" mount option.
PR: 105964 MFC after: 2 weeks
|
#
166091 |
|
18-Jan-2007 |
marius |
Wrap the EISA-specific parts of the dpt(4) and si(4) back-ends in the newly added DEV_EISA. This is done so that these back-ends can be compiled on platforms not providing in{b,w,l}()/out{b,w,l}() and friends (but may wish to use them together with bus front-ends other than the EISA one).
|
#
165926 |
|
10-Jan-2007 |
marius |
Add missing SC_NO_MODE_CHANGE option. Disable it in the powerpc NOTES though, as ofw_syscons(4) doesn't properly interface with syscons(4) regarding loading the font specified with SC_DFLT_FONT, causing a kernel with both options SC_OFWFB and SC_NO_MODE_CHANGE to not link.
|
#
165750 |
|
03-Jan-2007 |
piso |
Wrap ipfw nat support in a new kernel config option named "IPFIREWALL_NAT": this way nat is turned off by default and POLA is preserved.
Reviewed by: rwatson
|
#
165631 |
|
29-Dec-2006 |
mlaier |
Work around a long standing LOR with user/group rules by doing the socket lookup early. This has some performance implications and should not be enabled by default, but might help greatly in certain setups. After some more testing this could be turned into a sysctl.
Tested by: avatar LOR ids: 17, 24, 32, 46, 191 (conceptual) MFC after: 6 weeks
|
#
165629 |
|
29-Dec-2006 |
glebius |
Build bits for ng_deflate(4) and ng_pred1(4).
|
#
165318 |
|
18-Dec-2006 |
mjacob |
spelling nit
|
#
165065 |
|
10-Dec-2006 |
mjacob |
Make MAXPHYS and DFLTPHYS options (finally).
|
#
164760 |
|
30-Nov-2006 |
jb |
Turn console printf buffering into a kernel option and only on by default for sun4v where it is absolutely required.
This change moves the buffer from struct pcpu to the stack to avoid using the critical section which created a LOR in a couple of cases due to interaction with the tty code and kqueue. The LOR can't be fixed with the critical section and the pcpu buffer can't be used without the critical section.
Putting the buffer on the stack was my initial solution, but it was pointed out that the stress on the stack might cause problems depending on the call path. We don't have a way of creating tests for those possible cases, so it's best to leave this as an option for the time being. In time we may get enough data to enable this option more generally.
|
#
164469 |
|
21-Nov-2006 |
jb |
Remove the KDTRACE option because I can't implement it the way I intended due to licensing restrictions. I had intended that it would be defaulted on, with opt-out possible for companies that don't accept the CDDL. The FreeBSD GENERIC kernel has to be entirely BSD licensed, so the only alternative would have been to make KDTRACE an opt-in option. That isn't a design I favour.
|
#
164159 |
|
11-Nov-2006 |
kmacy |
MUTEX_PROFILING has been generalized to LOCK_PROFILING. We now profile wait (time waited to acquire) and hold times for *all* kernel locks. If the architecture has a system synchronized TSC, the profiling code will use that - thereby minimizing profiling overhead. Large chunks of profiling code have been moved out of line, the overhead measured on the T1 for when it is compiled in but not enabled is < 1%.
Approved by: scottl (standing in for mentor rwatson) Reviewed by: des and jhb
|
#
163953 |
|
03-Nov-2006 |
rrs |
Ok, here it is, we finally add SCTP to current. Note that this work is not just mine, but it is also the works of Peter Lei and Michael Tuexen. They both are my two key other developers working on the project.. and they need ata-boy's too: **** peterlei@cisco.com tuexen@fh-muenster.de **** I did do a make sysent which updated the syscall's and sysproto.. I hope that is correct... without it you don't build since we have new syscalls for SCTP :-0
So go out and look at the NOTES, add option SCTP (make sure inet and inet6 are present too) and play with SCTP.
I will see about comitting some test tools I have after I figure out where I should place them. I also have a lib (libsctp.a) that adds some of the missing socketapi functions that I need to put into lib's.. I will talk to George about this :-)
There may still be some 64 bit issues in here, none of us have a 64 bit processor to test with yet.. Michael may have a MAC but thats another beast too..
If you have a mac and want to use SCTP contact Michael he maintains a web site with a loadable module with this code :-)
Reviewed by: gnn Approved by: gnn
|
#
163896 |
|
01-Nov-2006 |
mjacob |
2nd and final commit that moves us to CAM_NEW_TRAN_CODE as the default.
Reviewed by multitudes.
|
#
163851 |
|
31-Oct-2006 |
pjd |
Hook up gjournal bits to the build.
Sponsored by: home.pl
|
#
163050 |
|
06-Oct-2006 |
ru |
Added the GEOM_CACHE option.
Reminded by: pjd
|
#
162658 |
|
26-Sep-2006 |
ru |
Added COMPAT_FREEBSD6 option.
|
#
162467 |
|
20-Sep-2006 |
rwatson |
Remove MAC_DEBUG label counters, which were used to debug leaks and other problems while labels were first being added to various kernel objects. They have outlived their usefulness.
MFC after: 1 month Suggested by: Christopher dot Vance at SPARTA dot com Obtained from: TrustedBSD Project
|
#
161380 |
|
16-Aug-2006 |
julian |
Remove the IPFIREWALL_FORWARD_EXTENDED option and make it on by default as it always was in older versions of FreeBSD. This option is pointless as it is needed in just about every interesting usage of forward that I have ever seen. It doesn't make the system any safer and just wastes huge amounts of develper time when the system doesn't behave as expected when code is moved from 4.x to 6.x It doesn't make the system any safer and just wastes huge amounts of develper time when the system doesn't behave as expected when code is moved from 4.x to 6.x or 7.x Reviewed by: glebius MFC after: 1 week
|
#
160940 |
|
03-Aug-2006 |
jb |
Add an option to enable KSE support.
Add an option to build in kernel DTrace hooks. Without this option, the DTrace modules acn't be loaded.
|
#
160813 |
|
29-Jul-2006 |
marcel |
Remove sio(4) and related options from MI files to amd64, i386 and pc98 MD files. Remove nodevice and nooption lines specific to sio(4) from ia64, powerpc and sparc64 NOTES. There were no such lines for arm yet. sio(4) is usable on less than half the platforms, not counting a future mips platform. Its presence in MI files is therefore increasingly becoming a burden.
|
#
160469 |
|
18-Jul-2006 |
imp |
Add new kernel config option. NO_SYSCTL_DESCR to omit the descriptions for the sysctls. This saves a lot of space in the resulting kernel which is important for embedded systems. This change was done in a ABI compatible way. The pointer is still there, it just points to an empty string instead of the description.
MFC After: 3 days
|
#
160425 |
|
17-Jul-2006 |
phk |
Remove the NDEVFSINO and NDEVFSOVERFLOW options which no longer exists in DEVFS.
Remove the opt_devfs.h file now that it is empty.
|
#
160422 |
|
17-Jul-2006 |
phk |
Remove config(8)'s knowledge about NMBCLUSTERS, no code in /sys knows about it any more.
|
#
160386 |
|
15-Jul-2006 |
netchild |
- Connect the snd_emu10kx driver to the build. [1] - Bump __FreeBSD_version, no need to build the port now.
Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> [1]
|
#
159979 |
|
27-Jun-2006 |
glebius |
A netgraph node that can do different manipulations with mbuf_tags(9) on packets.
Submitted by: Vadim Goncharov <vadimnuclight tpu.ru> mdoc(7) reviewed by: ru
|
#
159965 |
|
26-Jun-2006 |
thompsa |
Add a pseudo interface for packet filtering IPSec connections before or after encryption. There are two functions, a bpf tap which has a basic header with the SPI number which our current tcpdump knows how to display, and handoff to pfil(9) for packet filtering.
Obtained from: OpenBSD Based on: kern/94829 No objections: arch, net MFC after: 1 month
|
#
159964 |
|
26-Jun-2006 |
babkin |
Backed out the change by request from rwatson.
PR: kern/14584
|
#
159927 |
|
25-Jun-2006 |
babkin |
The common UID/GID space implementation. It has been discussed on -arch in 1999, and there are changes to the sysctl names compared to PR, according to that discussion. The description is in sys/conf/NOTES. Lines in the GENERIC files are added in commented-out form. I'll attach the test script I've used to PR.
PR: kern/14584 Submitted by: babkin
|
#
159570 |
|
13-Jun-2006 |
davidxu |
Add scheduler CORE, the work I have done half a year ago, recent, I picked it up again. The scheduler is forked from ULE, but the algorithm to detect an interactive process is almost completely different with ULE, it comes from Linux paper "Understanding the Linux 2.6.8.1 CPU Scheduler", although I still use same word "score" as a priority boost in ULE scheduler.
Briefly, the scheduler has following characteristic: 1. Timesharing process's nice value is seriously respected, timeslice and interaction detecting algorithm are based on nice value. 2. per-cpu scheduling queue and load balancing. 3. O(1) scheduling. 4. Some cpu affinity code in wakeup path. 5. Support POSIX SCHED_FIFO and SCHED_RR. Unlike scheduler 4BSD and ULE which using fuzzy RQ_PPQ, the scheduler uses 256 priority queues. Unlike ULE which using pull and push, the scheduelr uses pull method, the main reason is to let relative idle cpu do the work, but current the whole scheduler is protected by the big sched_lock, so the benefit is not visible, it really can be worse than nothing because all other cpu are locked out when we are doing balancing work, which the 4BSD scheduelr does not have this problem. The scheduler does not support hyperthreading very well, in fact, the scheduler does not make the difference between physical CPU and logical CPU, this should be improved in feature. The scheduler has priority inversion problem on MP machine, it is not good for realtime scheduling, it can cause realtime process starving. As a result, it seems the MySQL super-smack runs better on my Pentium-D machine when using libthr, despite on UP or SMP kernel.
|
#
159552 |
|
12-Jun-2006 |
marius |
Make the ISAPNP code optional and only enable it on i386 and pc98 (used for CBUS-PNP cards there) by default, as there are no amd64 and sparc64 machines with ISA slots and which therefore could make use of this code known to exist. For sparc64 this additionally allows to get rid of the compat shims for in{b,w,l}()/out{b,w,l}() etc and the associated hacks.
OK'ed by: imp, peter
|
#
159379 |
|
07-Jun-2006 |
sam |
remove ath hal options; having them here causes opt_ah.h to be clobbered by config and that breaks builds unless one duplicates the options in the config file
MFC after: 1 month
|
#
158737 |
|
18-May-2006 |
ambrisko |
Add in a bunch of things to the mfi driver: - Linux ioctl support, with the other Linux changes MegaCli will run if you mount linprocfs & linsysfs then set sysctl compat.linux.osrelease=2.6.12 or similar. This works on i386. It should work on amd64 but not well tested yet. StoreLib may or may not work. Remember to kldload mfi_linux. - Add in AEN (Async Event Notification) support so we can get messages from the firmware when something happens. Not all messages are in defined in event detail. Use event_log to try to figure out what happened. - Try to implement something like SIGIO for StoreLib. Since mrmonitor doesn't work right I can't fully test it. StoreLib works best with the rh9 base. In theory mrmonitor isn't needed due to native driver support of AEN :-) Now we can configure and monitor the RAID better.
Submitted by: IronPort Systems.
|
#
158500 |
|
12-May-2006 |
mlaier |
Remove ip6fw. Since ipfw has full functional IPv6 support now and - in contrast to ip6fw - is properly lockes, it is time to retire ip6fw.
|
#
158463 |
|
12-May-2006 |
benno |
Add a new kernel config option, VERBOSE_SYSINIT.
When porting FreeBSD to a new platform, one of the more useful things to do is get mi_startup() to let you know which SYSINIT it's up to. Most people tend to whack a printf in the SYSINIT loop to print the address of the function it's about to call. Going one better, jhb made a version that uses DDB to look up the name of the function and print that instead. This version is essentially his with the addition of some ifdeffery to make it optional and to allow it to work (although using only the function address, not the symbol) if you forgot to enable DDB.
All the cool bits by: jhb Approved by: scottl, rink, cognet, imp
|
#
158349 |
|
07-May-2006 |
netchild |
- change the example of compiling only specific modules to not contain the linux module, since it is not cross-platform - move linprocfs from "files" and "options" to architecture specific files, since it only makes sense to build this for those architectures, where we also have a linuxolator - disable the build of the linuxolator on our tier-2 architecture "Alpha": * we don't have a linux_base port which supports Alpha and at the same time is not outdated/obsoleted upstream/in a good condition/ currently working * the upcomming new default linux base port is based upon Fedora Core 3 (security support via http://www.fedoralegacy.org), which isn't available for Alpha (like the current default linux base port which is based upon Red Hat 8) * nobody answered my request for testing it ~1 month ago on current@ and alpha@ (it doesn't surprises me, see above) * a SoC student wouldn't have to waste time on something which nobody is willing to test
This does not remove the alpha specific MD files of the linuxolator yet.
Discussed on: arch (mostly silence) Spiritual support by: scottl
|
#
158300 |
|
05-May-2006 |
sam |
AH_REGOPS_FUNC is needed for sparc
MFC after: 2 weeks
|
#
158124 |
|
28-Apr-2006 |
marcel |
Rewrite of puc(4). Significant changes are: o Properly use rman(9) to manage resources. This eliminates the need to puc-specific hacks to rman. It also allows devinfo(8) to be used to find out the specific assignment of resources to serial/parallel ports. o Compress the PCI device "database" by optimizing for the common case and to use a procedural interface to handle the exceptions. The procedural interface also generalizes the need to setup the hardware (program chipsets, program clock frequencies). o Eliminate the need for PUC_FASTINTR. Serdev devices are fast by default and non-serdev devices are handled by the bus. o Use the serdev I/F to collect interrupt status and to handle interrupts across ports in priority order. o Sync the PCI device configuration to include devices found in NetBSD and not yet merged to FreeBSD. o Add support for Quatech 2, 4 and 8 port UARTs. o Add support for a couple dozen Timedia serial cards as found in Linux.
|
#
158018 |
|
25-Apr-2006 |
mr |
make BGE_FAKE_AUTONEG a tunable. This allows one to change the behavior of the driver pre-boot.
NOTE: This patch was made for DragonFly BSD by Sepherosa Ziehau.
PR: kern/94833 Submitted by: Devon H. O'Dell Obtained from: DragonFly MFC after: 1 month
|
#
158005 |
|
24-Apr-2006 |
marcel |
o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough.
|
#
157857 |
|
18-Apr-2006 |
mjacob |
Add ISP_DEFAULT_ROLES as a config option.
|
#
157643 |
|
10-Apr-2006 |
ps |
Hook bce up to the build
|
#
157438 |
|
03-Apr-2006 |
sam |
o add opt_ath.h enable tweaking various config parameters for the driver without modifying the source code o default debug msgs and diag support to off
MFC after: 3 days
|
#
157259 |
|
29-Mar-2006 |
scottl |
Hook the MFI driver up to the build.
|
#
156326 |
|
05-Mar-2006 |
yar |
Retire NETSMBCRYPTO as a kernel option and make its functionality enabled by default in NETSMB and smbfs.ko.
With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time.
This will also return smbfs.ko to its former properties users are rather accustomed to.
Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days
|
#
156260 |
|
03-Mar-2006 |
yar |
Take the functionality contained in the former "options TDFX_LINUX" into a separate module. Accordingly, convert the option into a device named similarly.
Note for MFC: Perhaps the option should stay in RELENG_6 for POLA reasons.
Suggested by: scottl Reviewed by: cokane MFC after: 5 days
|
#
156247 |
|
03-Mar-2006 |
imp |
Move XBOX option to options. While it is only valid on i386, syscons_isa is shared with other machines.
|
#
155194 |
|
01-Feb-2006 |
rwatson |
Add 'options AUDIT' and associate various .c files with the AUDIT option. We always build audit_syscalls.c so that the system call stubs can return ENOSYS rather than the system call code generating SIGSYS for the system calls. We are not yet ready to add AUDIT to LINT, as the prototypes for system call arguments won't be there until after the system calls for audit are added.
Much work from: wsalamon Obtained from: TrustedBSD Project
|
#
155086 |
|
31-Jan-2006 |
pjd |
Add buffer corruption protection (RedZone) for kernel's malloc(9). It detects both: buffer underflows and buffer overflows bugs at runtime (on free(9) and realloc(9)) and prints backtraces from where memory was allocated and from where it was freed.
Tested by: kris
|
#
155051 |
|
30-Jan-2006 |
glebius |
Merge the //depot/user/yar/vlan branch into CVS. It contains some collective work by yar, thompsa and myself. The checksum offloading part also involves work done by Mihail Balikov.
The most important changes:
o Instead of global linked list of all vlan softc use a per-trunk hash. The size of hash is dynamically adjusted, depending on number of entries. This changes struct ifnet, replacing counter of vlans with a pointer to trunk structure. This change is an improvement for setups with big number of VLANs, several interfaces and several CPUs. It is a small regression for a setup with a single VLAN interface. An alternative to dynamic hash is a per-trunk static array with 4096 entries, which is a compile time option - VLAN_ARRAY. In my experiments the array is not an improvement, probably because such a big trunk structure doesn't fit into CPU cache. o Introduce an UMA zone for VLAN tags. Since drivers depend on it, the zone is declared in kern_mbuf.c, not in optional vlan(4) driver. This change is a big improvement for any setup utilizing vlan(4). o Use rwlock(9) instead of mutex(9) for locking. We are the first ones to do this! :) o Some drivers can do hardware VLAN tagging + hardware checksum offloading. Add an infrastructure for this. Whenever vlan(4) is attached to a parent or parent configuration is changed, the flags on vlan(4) interface are updated.
In collaboration with: yar, thompsa In collaboration with: Mihail Balikov <mihail.balikov interbgc.com>
|
#
154941 |
|
27-Jan-2006 |
jhb |
Add a basic reader/writer lock implementation to the kernel. This implementation is by no means perfect as far as some of the algorithms that it uses and the fact that it is missing some functionality (try locks and upgrades/downgrades are not there yet), however it does seem to work in my local testing. There is more detail in the comments in the code, but the short version follows.
A reader/writer lock is very much like a regular mutex: it cannot be held across a voluntary sleep; it can be acquired in an interrupt thread; if the lock is held by a writer then the priority of any threads that block on the lock will be lent to the owner; the simple case lock operations all are done in a single atomic op. It also shares some similiarities with sx locks: it supports reader/writer semantics (multiple readers, but single writers); readers are allowed to recurse, but writers are not.
We can extend this implementation further by either improving algorithms or adding new functionality, but this should at least give us a base to work with now.
Reviewed by: arch (in theory) Tested on: i386 (4 cpu box with a kernel module that used 4 threads that randomly chose between read locks and write locks that ran w/o panicing for over a day solid. It usually panic'd within a few seconds when there were bugs during testing. :) The kernel module source is available on request.)
|
#
154170 |
|
10-Jan-2006 |
phk |
Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) to COMPAT_43TTY.
Add COMPAT_43TTY to NOTES and */conf/GENERIC
Compile tty_compat.c only under the new option.
Spit out #warning "Old BSD tty API used, please upgrade." if ioctl_compat.h gets #included from userland.
|
#
154065 |
|
06-Jan-2006 |
imp |
New option: NO_FFS_SNAPSHOT. I did this in p4 about the same time that NetBSD implemented it independently of them (don't know which one was actually first). This saves about 24k for those times you don't need snapshot support (like when running off a ram disk, or in an embedded environment where size matters).
|
#
153940 |
|
31-Dec-2005 |
netchild |
MI changes: - provide an interface (macros) to the page coloring part of the VM system, this allows to try different coloring algorithms without the need to touch every file [1] - make the page queue tuning values readable: sysctl vm.stats.pagequeue - autotuning of the page coloring values based upon the cache size instead of options in the kernel config (disabling of the page coloring as a kernel option is still possible)
MD changes: - detection of the cache size: only IA32 and AMD64 (untested) contains cache size detection code, every other arch just comes with a dummy function (this results in the use of default values like it was the case without the autotuning of the page coloring) - print some more info on Intel CPU's (like we do on AMD and Transmeta CPU's)
Note to AMD owners (IA32 and AMD64): please run "sysctl vm.stats.pagequeue" and report if the cache* values are zero (= bug in the cache detection code) or not.
Based upon work by: Chad David <davidc@acns.ab.ca> [1] Reviewed by: alc, arch (in 2004) Discussed with: alc, Chad David, arch (in 2004)
|
#
153335 |
|
12-Dec-2005 |
ru |
Remove all redundant option file names that don't hurt readability.
|
#
153325 |
|
11-Dec-2005 |
rodrigc |
Hook XFS into kernel build.
|
#
153037 |
|
02-Dec-2005 |
davidxu |
Add option P1003_1B_MQUEUE.
|
#
152725 |
|
23-Nov-2005 |
jhb |
Sort.
|
#
151337 |
|
14-Oct-2005 |
jhb |
Remove the sx(4) driver at the request of the author. The author originally wrote it for 4.x and hasn't really had the time to fully update it to 5.x and later. Also, the author doesn't use the hardware anymore as well. If someone does need this driver they can always resurrect it from the Attic.
Requested by: Frank Mayhar frank at exit dot com
|
#
150968 |
|
05-Oct-2005 |
glebius |
- Don't pollute opt_global.h with DEVICE_POLLING and introduce opt_device_polling.h - Include opt_device_polling.h into appropriate files. - Embrace with HAVE_KERNEL_OPTION_HEADERS the include in the files that can be compiled as loadable modules.
Reviewed by: bde
|
#
150636 |
|
27-Sep-2005 |
mlaier |
Remove bridge(4) from the tree. if_bridge(4) is a full functional replacement and has additional features which make it superior.
Discussed on: -arch Reviewed by: thompsa X-MFC-after: never (RELENG_6 as transition period)
|
#
150301 |
|
18-Sep-2005 |
imp |
No ED_NO_MIIBUS no more. Not one more or the same number of non positive options
|
#
148457 |
|
27-Jul-2005 |
pjd |
Connect GEOM_ELI class to the build.
MFC after: 1 week
|
#
148384 |
|
25-Jul-2005 |
pjd |
Connect GZERO to the build.
MFC after: 3 days
|
#
148028 |
|
15-Jul-2005 |
takawata |
Add options for sl811. Pointed out by: nyan
|
#
147675 |
|
29-Jun-2005 |
peter |
Add COMPAT_FREEBSD5
Approved by: re
|
#
147589 |
|
24-Jun-2005 |
dwhite |
Backout the change I made before 5.4-R since I wasn't aware that it was only a problem with one particular switch module. Create a kernel option BGE_FAKE_AUTONEG that restores the 5.4 behavior, which should make the DNLK switch module work. IBM/Intel blades with Intel or AD switch modules should work without patching or kernel options with this commit.
Hardware for testing provided by several folks, including Danny Braniss <danny@cs.huji.ac.il>, Achim Patzner <ap@bnc.net>, and OffMyServer.
Approved by: re
|
#
147565 |
|
23-Jun-2005 |
peter |
Move HWPMC_HOOKS into its own opt_hwpmc_hooks.h file. It doesn't merit being in opt_global.h and forcing a global recompile when only a few files reference it.
Approved by: re
|
#
147513 |
|
21-Jun-2005 |
dumbbell |
Connect reiserfs build to every platforms, not only i386 and pc98.
Reviewed by: mux (mentor) Approved by: re (dougb)
|
#
147232 |
|
10-Jun-2005 |
glebius |
Attach ng_tcpmss to the build.
|
#
147181 |
|
09-Jun-2005 |
ups |
Add IPI support for preempting a thread on another CPU.
MFC after: 3 weeks
|
#
146259 |
|
16-May-2005 |
glebius |
Make NETGRAPH_DEBUG a kernel option, so that it can't be turned off without hacking source.
In collaboration with: ru, julian
|
#
146137 |
|
12-May-2005 |
nyan |
- Move the NPX_DEBUG option to options.{i386,pc98} and use opt_npx.h. - Move npx related defines to {i386,pc98}/include/npx.h to remove #include {isa,cbus}.h.
|
#
145937 |
|
05-May-2005 |
glebius |
ng_nat - a netgraph(4) node, which does NAT
|
#
145936 |
|
05-May-2005 |
glebius |
libalias is now buildable as kernel module
|
#
145631 |
|
28-Apr-2005 |
darrenr |
Patches from Ruslan Ermilov to address problems compiling LINT
|
#
145256 |
|
19-Apr-2005 |
jkoshy |
Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities and documentation into -CURRENT.
Bump FreeBSD_version.
Reviewed by: alc, jhb (kernel changes)
|
#
144612 |
|
03-Apr-2005 |
jeff |
- Move LOOKUP_SHARED from opt_global.h to opt_vfs.h so we don't have to recompile the whole kernel if we change it.
|
#
144330 |
|
30-Mar-2005 |
sos |
This is the much rumoured ATA mkIII update that I've been working on.
o ATA is now fully newbus'd and split into modules. This means that on a modern system you just load "atapci and ata" to get the base support, and then one or more of the device subdrivers "atadisk atapicd atapifd atapist ataraid". All can be loaded/unloaded anytime, but for obvious reasons you dont want to unload atadisk when you have mounted filesystems.
o The device identify part of the probe has been rewritten to fix the problems with odd devices the old had, and to try to remove so of the long delays some HW could provoke. Also probing is done without the need for interrupts, making earlier probing possible.
o SATA devices can be hot inserted/removed and devices will be created/ removed in /dev accordingly. NOTE: only supported on controllers that has this feature: Promise and Silicon Image for now. On other controllers the usual atacontrol detach/attach dance is still needed.
o Support for "atomic" composite ATA requests used for RAID.
o ATA RAID support has been rewritten and and now supports these metadata formats: "Adaptec HostRAID" "Highpoint V2 RocketRAID" "Highpoint V3 RocketRAID" "Intel MatrixRAID" "Integrated Technology Express" "LSILogic V2 MegaRAID" "LSILogic V3 MegaRAID" "Promise FastTrak" "Silicon Image Medley" "FreeBSD PseudoRAID"
o Update the ioctl API to match new RAID levels etc.
o Update atacontrol to know about the new RAID levels etc NOTE: you need to recompile atacontrol with the new sys/ata.h, make world will take care of that. NOTE2: that rebuild is done differently from the old system as the rebuild is now done piggybacked on read requests to the array, so atacontrol simply starts a background "dd" to rebuild the array.
o The reinit code has been worked over to be much more robust.
o The timeout code has been overhauled for races.
o Support of new chipsets.
o Lots of fixes for bugs found while doing the modulerization and reviewing the old code.
Missing or changed features from current ATA:
o atapi-cd no longer has support for ATAPI changers. Todays its much cheaper and alot faster to copy those CD images to disk and serve them from there. Besides they dont seem to be made anymore, maybe for that exact reason.
o ATA RAID can only read metadata from all the above metadata formats, not write all of them (Promise and Highpoint V2 so far). This means that arrays can be picked up from the BIOS, but they cannot be created from FreeBSD. There is more to it than just the missing write metadata support, those formats are not unique to a given controller like Promise and Highpoint formats, instead they exist for several types, and even worse, some controllers can have different formats and its impossible to tell which one. The outcome is that we cannot reliably create the metadata of those formats and be sure the controller BIOS will understand it. However write support is needed to update/fail/rebuild the arrays properly so it sits fairly high on the TODO list.
o So far atapicam is not supported with these changes. When/if this will change is up to the maintainer of atapi-cam so go there for questions.
HW donated by: Webveveriet AS HW donated by: Frode Nordahl HW donated by: Yahoo! HW donated by: Sentex Patience by: Vife and my boys (and even the cats)
|
#
143594 |
|
14-Mar-2005 |
des |
Add PSEUDOFS_TRACE option.
|
#
143173 |
|
06-Mar-2005 |
maxim |
o s/opt_ifpw.h/opt_ipfw.h/ in the previous commit.
Submitted by: YONETANI Tomokazu
|
#
142248 |
|
22-Feb-2005 |
andre |
Bring back the full packet destination manipulation for 'ipfw fwd' with the kernel compile time option:
options IPFIREWALL_FORWARD_EXTENDED
This option has to be specified in addition to IPFIRWALL_FORWARD.
With this option even packets targeted for an IP address local to the host can be redirected. All restrictions to ensure proper behaviour for locally generated packets are turned off. Firewall rules have to be carefully crafted to make sure that things like PMTU discovery do not break.
Document the two kernel options.
PR: kern/71910 PR: kern/73129 MFC after: 1 week
|
#
142215 |
|
22-Feb-2005 |
glebius |
Add CARP (Common Address Redundancy Protocol), which allows multiple hosts to share an IP address, providing high availability and load balancing.
Original work on CARP done by Michael Shalayeff, with many additions by Marco Pfatschbacher and Ryan McBride.
FreeBSD port done solely by Max Laier.
Patch by: mlaier Obtained from: OpenBSD (mickey, mcbride)
|
#
141586 |
|
09-Feb-2005 |
imp |
Break out obscure ISA cards into their own files, as well as ne2000 and wd80x3 support. Make the obscure ISA cards optional, and add those options to NOTES on i386 (note: the ifdef around the whole code is for module building). Tweak pc98 ed support to include wd80x3 too. Add goo for alpha too.
The affected cards are the 3Com 3C503, HP LAN+ and SIC (whatever that is). I couldn't find any of these for sale on ebay, so they are untested. If you have one of these cards, and send it to me, I'll ensure that you have no future problems with it...
Minor cleanups as well by using functions rather than cut and paste code for some probing operations (where the function call overhead is lost in the noise).
Remove use of kvtop, since they aren't required anymore. This driver needs to get its memory mapped act together, however, and use bus space. It doesn't right now.
This reduces the size of if_ed.ko from about 51k to 33k on my laptop.
|
#
141353 |
|
05-Feb-2005 |
glebius |
Hook up ng_ipfw to kernel build.
|
#
140587 |
|
21-Jan-2005 |
bmilekic |
Bring in MemGuard, a very simple and small replacement allocator designed to help detect tamper-after-free scenarios, a problem more and more common and likely with multithreaded kernels where race conditions are more prevalent.
Currently MemGuard can only take over malloc()/realloc()/free() for particular (a) malloc type(s) and the code brought in with this change manually instruments it to take over M_SUBPROC allocations as an example. If you are planning to use it, for now you must:
1) Put "options DEBUG_MEMGUARD" in your kernel config. 2) Edit src/sys/kern/kern_malloc.c manually, look for "XXX CHANGEME" and replace the M_SUBPROC comparison with the appropriate malloc type (this might require additional but small/simple code modification if, say, the malloc type is declared out of scope). 3) Build and install your kernel. Tune vm.memguard_divisor boot-time tunable which is used to scale how much of kmem_map you want to allott for MemGuard's use. The default is 10, so kmem_size/10.
ToDo: 1) Bring in a memguard(9) man page. 2) Better instrumentation (e.g., boot-time) of MemGuard taking over malloc types. 3) Teach UMA about MemGuard to allow MemGuard to override zone allocations too. 4) Improve MemGuard if necessary.
This work is partly based on some old patches from Ian Dowse.
|
#
140075 |
|
11-Jan-2005 |
pjd |
Connect SHSEC GEOM class to the build.
|
#
138588 |
|
08-Dec-2004 |
sam |
update for new ath hal
|
#
137624 |
|
12-Nov-2004 |
peter |
Catch a few more autofs references.
Submitted by: obrien
|
#
136999 |
|
27-Oct-2004 |
rwatson |
Move the 'debug' sysctl tree under options SYSCTL_DEBUG. It generates an inordinate amount of synchronous console output that is fairly undesirable on slower serial console. It's easily hit by accident when frobbing other sysctls late at night.
|
#
135611 |
|
23-Sep-2004 |
phk |
Per recent HEADSUP: Disconnect (old)vinum from the kernel build.
Users should move to the new geom_vinum implementation instead.
The refcount logic which is being added to devices to enable safe module unloading and the buf/vm work also in progress would require a major rework of the (old)-vinum code to comply with the new semantics.
The actual source files will not be removed until I have coordinated with the geomvinum people if they need any bits repo-copied etc.
|
#
135335 |
|
16-Sep-2004 |
glebius |
Attach ng_netflow to kernel build.
Approved by: julian (mentor)
|
#
134657 |
|
02-Sep-2004 |
alfred |
Hook autofs to the build.
|
#
134649 |
|
02-Sep-2004 |
scottl |
Turn PREEMPTION into a kernel option. Make sure that it's defined if FULL_PREEMPTION is defined. Add a runtime warning to ULE if PREEMPTION is enabled (code inspired by the PREEMPTION warning in kern_switch.c). This is a possible MT5 candidate.
|
#
134585 |
|
31-Aug-2004 |
brooks |
General modernization of coda: - Ditch NVCODA - Don't use a static major - Don't declare functions extern
Reviewed by: peter
|
#
134542 |
|
30-Aug-2004 |
peter |
Kill count device support from config. I've changed the last few remaining consumers to have the count passed as an option. This is i4b, pc98/wdc, and coda.
Bump configvers.h from 500013 to 600000.
Remove heuristics that tried to parse "device ed5" as 5 units of the ed device. This broke things like the snd_emu10k1 device, which required quotes to make it parse right. The no-longer-needed quotes have been removed from NOTES, GENERIC etc. eg, I've removed the quotes from: device snd_maestro device "snd_maestro3" device snd_mss
I believe everything will still compile and work after this.
|
#
134479 |
|
29-Aug-2004 |
des |
Remove the HW_WDOG option; it serves no purpose.
MFC after: 3 days
|
#
134443 |
|
28-Aug-2004 |
rwatson |
Change the default disposition of debug.mpsafenet from 0 to 1, which will cause the network stack to operate without the Giant lock by default. This change has the potential to improve performance by increasing parallelism and decreasing latency in network processing.
Due to the potential exposure of existing or new bugs, the following compatibility functionality is maintained:
- It is still possible to disable Giant-free operation by setting debug.mpsafenet to 0 in loader.conf.
- Add "options NET_WITH_GIANT", which will restore the default value of debug.mpsafenet to 0, and is intended for use on systems compiled with known unsafe components, or where a more conservative configuration is desired.
- Add a new declaration, NET_NEEDS_GIANT("componentname"), which permits kernel components to declare dependence on Giant over the network stack. If the declaration is made by a preloaded module or a compiled in component, the disposition of debug.mpsafenet will be set to 0 and a warning concerning performance degraded operation printed to the console. If it is declared by a loadable kernel module after boot, a warning is displayed but the disposition cannot be changed. This is implemented by defining a new SYSINIT() value, SI_SUB_SETTINGS, which is intended for the processing of configuration choices after tunables are read in and the console is available to generate errors, but before much else gets going.
This compatibility behavior will go away when we've finished the last of the locking work and are confident that operation is correct.
|
#
134383 |
|
27-Aug-2004 |
andre |
Always compile PFIL_HOOKS into the kernel and remove the associated kernel compile option. All FreeBSD packet filters now use the PFIL_HOOKS API and thus it becomes a standard part of the network stack.
If no hooks are connected the entire packet filter hooks section and related activities are jumped over. This removes any performance impact if no hooks are active.
Both OpenBSD and DragonFlyBSD have integrated PFIL_HOOKS permanently as well.
|
#
133998 |
|
19-Aug-2004 |
jmg |
add options MPROF_BUFFERS and MPROF_HASH_SIZE that adjust the sizes of the mutex profiling buffers. Document them in the man page and in NOTES. Ensure _HASH_SIZE is larger than _BUFFERS with a cpp error.
|
#
133920 |
|
17-Aug-2004 |
andre |
Convert ipfw to use PFIL_HOOKS. This is change is transparent to userland and preserves the ipfw ABI. The ipfw core packet inspection and filtering functions have not been changed, only how ipfw is invoked is different.
However there are many changes how ipfw is and its add-on's are handled:
In general ipfw is now called through the PFIL_HOOKS and most associated magic, that was in ip_input() or ip_output() previously, is now done in ipfw_check_[in|out]() in the ipfw PFIL handler.
IPDIVERT is entirely handled within the ipfw PFIL handlers. A packet to be diverted is checked if it is fragmented, if yes, ip_reass() gets in for reassembly. If not, or all fragments arrived and the packet is complete, divert_packet is called directly. For 'tee' no reassembly attempt is made and a copy of the packet is sent to the divert socket unmodified. The original packet continues its way through ip_input/output().
ipfw 'forward' is done via m_tag's. The ipfw PFIL handlers tag the packet with the new destination sockaddr_in. A check if the new destination is a local IP address is made and the m_flags are set appropriately. ip_input() and ip_output() have some more work to do here. For ip_input() the m_flags are checked and a packet for us is directly sent to the 'ours' section for further processing. Destination changes on the input path are only tagged and the 'srcrt' flag to ip_forward() is set to disable destination checks and ICMP replies at this stage. The tag is going to be handled on output. ip_output() again checks for m_flags and the 'ours' tag. If found, the packet will be dropped back to the IP netisr where it is going to be picked up by ip_input() again and the directly sent to the 'ours' section. When only the destination changes, the route's 'dst' is overwritten with the new destination from the forward m_tag. Then it jumps back at the route lookup again and skips the firewall check because it has been marked with M_SKIP_FIREWALL. ipfw 'forward' has to be compiled into the kernel with 'option IPFIREWALL_FORWARD' to enable it.
DUMMYNET is entirely handled within the ipfw PFIL handlers. A packet for a dummynet pipe or queue is directly sent to dummynet_io(). Dummynet will then inject it back into ip_input/ip_output() after it has served its time. Dummynet packets are tagged and will continue from the next rule when they hit the ipfw PFIL handlers again after re-injection.
BRIDGING and IPFW_ETHER are not changed yet and use ipfw_chk() directly as they did before. Later this will be changed to dedicated ETHER PFIL_HOOKS.
More detailed changes to the code:
conf/files Add netinet/ip_fw_pfil.c.
conf/options Add IPFIREWALL_FORWARD option.
modules/ipfw/Makefile Add ip_fw_pfil.c.
net/bridge.c Disable PFIL_HOOKS if ipfw for bridging is active. Bridging ipfw is still directly invoked to handle layer2 headers and packets would get a double ipfw when run through PFIL_HOOKS as well.
netinet/ip_divert.c Removed divert_clone() function. It is no longer used.
netinet/ip_dummynet.[ch] Neither the route 'ro' nor the destination 'dst' need to be stored while in dummynet transit. Structure members and associated macros are removed.
netinet/ip_fastfwd.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code.
netinet/ip_fw.h Removed 'ro' and 'dst' from struct ip_fw_args.
netinet/ip_fw2.c (Re)moved some global variables and the module handling.
netinet/ip_fw_pfil.c New file containing the ipfw PFIL handlers and module initialization.
netinet/ip_input.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. ip_forward() does not longer require the 'next_hop' struct sockaddr_in argument. Disable early checks if 'srcrt' is set.
netinet/ip_output.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code.
netinet/ip_var.h Add ip_reass() as general function. (Used from ipfw PFIL handlers for IPDIVERT.)
netinet/raw_ip.c Directly check if ipfw and dummynet control pointers are active.
netinet/tcp_input.c Rework the 'ipfw forward' to local code to work with the new way of forward tags.
netinet/tcp_sack.c Remove include 'opt_ipfw.h' which is not needed here.
sys/mbuf.h Remove m_claim_next() macro which was exclusively for ipfw 'forward' and is no longer needed.
Approved by: re (scottl)
|
#
133812 |
|
16-Aug-2004 |
pjd |
Connect RAID3 GEOM class to the build.
|
#
133720 |
|
14-Aug-2004 |
dwmalone |
Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSD have already done this, so I have styled the patch on their work:
1) introduce a ip_newid() static inline function that checks the sysctl and then decides if it should return a sequential or random IP ID.
2) named the sysctl net.inet.ip.random_id
3) IPv6 flow IDs and fragment IDs are now always random. Flow IDs and frag IDs are significantly less common in the IPv6 world (ie. rarely generated per-packet), so there should be smaller performance concerns.
The sysctl defaults to 0 (sequential IP IDs).
Reviewed by: andre, silby, mlaier, ume Based on: NetBSD MFC after: 2 months
|
#
133640 |
|
13-Aug-2004 |
fjoe |
Add geom_uzip -- geom class that implements read-only compressed disks. Currently supports cloop V2.0 disk compression format. May support more formats in future.
|
#
133580 |
|
12-Aug-2004 |
harti |
Allow the ATM call control module to be built into the kernel.
|
#
132905 |
|
30-Jul-2004 |
pjd |
Connect GEOM_MIRROR class to the build.
|
#
132903 |
|
30-Jul-2004 |
pjd |
Remove the old geom_mirror class.
Approved by: phk
|
#
132698 |
|
27-Jul-2004 |
rwatson |
Add "options ADAPTIVE_GIANT" which causes Giant to also be treated in an adaptive fashion when adaptive mutexes are enabled. The theory behind non-adaptive Giant is that Giant will be held for long periods of time, and therefore spinning waiting on it is wasteful. However, in MySQL benchmarks which are relatively Giant-free, running Giant adaptive makes an observable difference on SMP (5% transaction rate improvement). As such, make adaptive behavior on Giant an option so it can be more widely benchmarked.
|
#
132447 |
|
20-Jul-2004 |
glebius |
Add ng_device(4) to LINT.
Reviewed by: marks Approved by: julian (mentor)
|
#
132357 |
|
18-Jul-2004 |
kan |
Unbreak kernel compiles by preserving an old opt_adaptive_mutexes.h file name.
|
#
132353 |
|
18-Jul-2004 |
scottl |
Enable ADAPTIVE_MUTEXES by default by changing the sense of the option to NO_ADAPTIVE_MUTEXES. This option has been enabled by default on amd64 for quite some time, and has been extensively tested on i386 and sparc64. It shows measurable performance gains in many circumstances, and few negative effects. It would be nice in t he future if adaptive mutexes actually went to sleep after a certain amount of spinning, but that will require quite a bit more testing.
|
#
131958 |
|
10-Jul-2004 |
marcel |
Update for the KDB framework: o Rename WITNESS_DDB to WITNESS_KDB. In the new world order KDB is the acronym to use for debugging related code. The DDB option is used to enable the DDB debugger backend only. o Likewise, rename DDB_TRACE to KDB_TRACE, rename DDB_UNATTENDED to KDB_UNATTENDED and rename SC_HISTORY_DDBKEY to SC_HISTORY_KDBKEY. o Remove DDB_NOKLDSYM. The new DDB backend supports pre-linker symbol lookups as well as KLD symbol lookups at the same time. o Remove GDB_REMOTE_CHAT. The GDB protocol hacks to allow this are FreeBSD specific. At the same time, the GDB protocol has packets for console output.
|
#
131904 |
|
10-Jul-2004 |
marcel |
Add new options for the KDB framework. This commit merely adds them and in particular not without removing the options they replace or in the proper location in this file. The purpose of this commit is to make it possible to commit changes in parts without causing massive build breakages. At least, that's the intend. I have no idea if it actually works out as I hope...
|
#
131840 |
|
08-Jul-2004 |
brian |
Change the following environment variables to kernel options:
bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO
- i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel.
Pointed out by: dwmalone
|
#
131814 |
|
08-Jul-2004 |
brian |
Change the following kernel options to environment variables:
BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to
This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf:
bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1"
or even setting the variables manually from the OK prompt.
|
#
131523 |
|
03-Jul-2004 |
tjr |
By popular request, add a workaround that allows large (>128GB or so) FAT32 filesystems to be mounted, subject to some fairly serious limitations.
This works by extending the internal pseudo-inode-numbers generated from the file's starting cluster number to 64-bits, then creating a table mapping these into arbitrary 32-bit inode numbers, which can fit in struct dirent's d_fileno and struct vattr's va_fileid fields. The mappings do not persist across unmounts or reboots, so it's not possible to export these filesystems through NFS. The mapping table may grow to be rather large, and may grow large enough to exhaust kernel memory on filesystems with millions of files.
Don't enable this option unless you understand the consequences.
|
#
131481 |
|
02-Jul-2004 |
jhb |
Implement preemption of kernel threads natively in the scheduler rather than as one-off hacks in various other parts of the kernel: - Add a function maybe_preempt() that is called from sched_add() to determine if a thread about to be added to a run queue should be preempted to directly. If it is not safe to preempt or if the new thread does not have a high enough priority, then the function returns false and sched_add() adds the thread to the run queue. If the thread should be preempted to but the current thread is in a nested critical section, then the flag TDF_OWEPREEMPT is set and the thread is added to the run queue. Otherwise, mi_switch() is called immediately and the thread is never added to the run queue since it is switch to directly. When exiting an outermost critical section, if TDF_OWEPREEMPT is set, then clear it and call mi_switch() to perform the deferred preemption. - Remove explicit preemption from ithread_schedule() as calling setrunqueue() now does all the correct work. This also removes the do_switch argument from ithread_schedule(). - Do not use the manual preemption code in mtx_unlock if the architecture supports native preemption. - Don't call mi_switch() in a loop during shutdown to give ithreads a chance to run if the architecture supports native preemption since the ithreads will just preempt DELAY(). - Don't call mi_switch() from the page zeroing idle thread for architectures that support native preemption as it is unnecessary. - Native preemption is enabled on the same archs that supported ithread preemption, namely alpha, i386, and amd64.
This change should largely be a NOP for the default case as committed except that we will do fewer context switches in a few cases and will avoid the run queues completely when preempting.
Approved by: scottl (with his re@ hat)
|
#
131476 |
|
02-Jul-2004 |
pjd |
Introduce GEOM_LABEL class. This class is used for detecting volume labels on file systems: UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660. It also provide native labelization (there is no need for file system).
g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow. g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found where volume labels are stored and I use those offsets here, but with this class it should be easy to do it as it should be done by someone who know how. Implementing volume labels detection for other file systems also should be trivial.
New providers are created in those directories: /dev/ufs/ (UFS1, UFS2) /dev/msdosfs/ (FAT12, FAT16, FAT32) /dev/iso9660/ (ISO9660) /dev/label/ (native labels, configured with glabel(8))
Manual page cleanups and some comments inside were submitted by Simon L. Nielsen, who was, as always, very helpful. Thanks!
|
#
131259 |
|
29-Jun-2004 |
jhb |
Add two new kernel options to allow rudimentary profiling of the internal hash tables used in the sleep queue and turnstile code. Each option adds a sysctl tree under debug containing the maximum depth of any bucket in the hash table as well as a separate node for each bucket (or chain) containing the current depth and maximum depth for that bucket.
|
#
131165 |
|
27-Jun-2004 |
rwatson |
Add options NETGRAPH_FEC to hook up ng_fec.c to the LINT build.
|
#
131164 |
|
27-Jun-2004 |
rwatson |
Add options NETGRAPH_EIFACE, which causes ng_eiface.c to be built into the kernel, similar to NETGRAPH_IFACE for ng_iface.c. It appears to have been omitted when added to the kernel.
|
#
130989 |
|
23-Jun-2004 |
ps |
Add support for TCP Selective Acknowledgements. The work for this originated on RELENG_4 and was ported to -CURRENT.
The scoreboarding code was obtained from OpenBSD, and many of the remaining changes were inspired by OpenBSD, but not taken directly from there.
You can enable/disable sack using net.inet.tcp.do_sack. You can also limit the number of sack holes that all senders can have in the scoreboard with net.inet.tcp.sackhole_limit.
Reviewed by: gnn Obtained from: Yahoo! (Mohan Srinivasan, Jayanth Vijayaraghavan)
|
#
130416 |
|
13-Jun-2004 |
mlaier |
Link ALTQ to the build and break with ABI for struct ifnet. Please recompile your (network) modules as well as any userland that might make sense of sizeof(struct ifnet). This does not change the queueing yet. These changes will follow in a seperate commit. Same with the driver changes, which need case by case evaluation.
__FreeBSD_version bump will follow.
Tested-by: (i386)LINT
|
#
130344 |
|
11-Jun-2004 |
phk |
Deorbit COMPAT_SUNOS.
We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither a sparc32 port nor a SunOS4.x compatibility desire these days.
|
#
129477 |
|
20-May-2004 |
pjd |
- Connect geom(8) and its libraries to the build. - Connect geom_stripe and geom_nop modules to the build. - Connect STRIPE and NOP classes to the LINT build. - Disconnect gconcat(8) from the build.
Supported by: Wheel - Open Technologies - http://www.wheel.pl
|
#
129167 |
|
13-May-2004 |
imp |
Expose USBVERBOSE as a first-class option. It will be needed soon as an option. Note that this option doesn't follow the normal USB_ or Uxxx_ convention. That's because it is this way in the upstream provider and I didn't want to change that.
|
#
128899 |
|
03-May-2004 |
ambrisko |
Remove new options and my prevention of system freeze when the sio probe returns okay when HW probe fails. This happens when comconsole flag is set but VGA console is used instead.
Back out requested by: bde (He will be looking at other solutions from scratch)
|
#
128893 |
|
03-May-2004 |
pjd |
Allow geom_concat and geom_gate to be compiled in kernel.
|
#
128885 |
|
03-May-2004 |
rwatson |
Add MAC_STATIC, a kernel option that disables internal MAC Framework synchronization protecting against dynamic load and unload of MAC policies, and instead simply blocks load and unload. In a static configuration, this allows you to avoid the synchronization costs associated with introducing dynamicism.
Obtained from: TrustedBSD Project Sponsored by: DARPA, McAfee Research
|
#
128781 |
|
30-Apr-2004 |
ambrisko |
Some enhancements and bug fix. - Define option FORCECONSPEED to force the serial console to be CONSPEED. I've run into a lot of boards in which the detect for prior speed doesn't work and ends up with broken console since it is at the wrong speed. - If a serial port is marked as a console, but console=vidconsole and if the serial ports doesn't exist it will be probed and attached at a 8250 chip. Then writes to that will freeze the system. - Add an option flags 0x400000 to mark this as a potential comconsole in-case the one flaged with 0x10 does not exist in the system.
This makes it easier to deploy on systems with one or two serial ports.
Obtained from: IronPort
|
#
128688 |
|
27-Apr-2004 |
emax |
Address few style issues pointed out by bde
Reviewed by: bde, ru
|
#
128616 |
|
24-Apr-2004 |
rik |
Connect ng_sppp to the build process.
|
#
128589 |
|
23-Apr-2004 |
emax |
Make sure Bluetooth stuff can be statically compiled into kernel
Submitted by: ps Reviewed by: imp (mentor), ru
|
#
128533 |
|
21-Apr-2004 |
scottl |
garbage collect ASR_MEASURE_PERFORMANCE
|
#
128414 |
|
19-Apr-2004 |
njl |
As promised a while ago, remove DA_OLD_QUIRKS and all quirks it was enabling. These are no longer needed now that we don't send 6-byte commands to RBC devices.
|
#
128135 |
|
11-Apr-2004 |
imp |
Add glue for new sx driver.
|
#
127953 |
|
06-Apr-2004 |
jhb |
Add a new kernel option MUTEX_WAKE_ALL that changes the mutex unlock code to awaken all waiters when a contested mutex is released instead of just the highest priority waiter. If the various threads are awakened in sequence then each thread may acquire and release the lock in question without contention resulting in fewer expensive unlock and lock operations. This old behavior of waking just the highest priority is still used if this option is specified. Making the algorithm conditional on a kernel option will allows us to benchmark both cases later and determine which one should be used by default.
Requested by: tanimura-san
|
#
127685 |
|
31-Mar-2004 |
vkashyap |
Moved comments on 3ware 9000 series RAID controller driver options from options to NOTES.
|
#
127662 |
|
31-Mar-2004 |
scottl |
Give in to the oblique nagging and move AAC and AHC/AHD comments out of /sys/conf/options and into /sys/conf/NOTES
|
#
127632 |
|
30-Mar-2004 |
vkashyap |
Added options for 3ware 9000 series RAID controller driver (twa).
|
#
127066 |
|
16-Mar-2004 |
scottl |
Remove RAIDFrame. It hasn't worked since GEOM replaced the old disk mini-layer. I don't have time to bing it forward into the GEOM world, and no one else has stepped forward to claim it. It'll be in the Attic for safe keeping for now.
|
#
126742 |
|
08-Mar-2004 |
benno |
Add a netgraph node to handle ATM LLC encapsulation. This currently handles ethernet (tested) and FDDI (not tested). The main use for this is on ADSL (or other ATM) connections where bridged ethernet is used, PPPoE being a prime example.
There is no manual page as yet, I will write one shortly.
Reviewed by: harti
|
#
126383 |
|
28-Feb-2004 |
phk |
Rename the WATCHDOG option to SW_WATCHDOG and make it use the generic watchdoc(9) interface.
Make watchdogd(8) perform as watchdog(8) as well, and make it possible to specify a check command to run, timeout and sleep periods.
Update watchdog(4) to talk about the generic interface and add new watchdog(8) page.
|
#
126263 |
|
26-Feb-2004 |
mlaier |
Tweak existing header and other build infrastructure to be able to build pf/pflog/pfsync as modules. Do not list them in NOTES or modules/Makefile (i.e. do not connect it to any (automatic) builds - yet).
Approved by: bms(mentor)
|
#
126222 |
|
25-Feb-2004 |
bde |
Fixed some insertion sort errors.
|
#
126204 |
|
24-Feb-2004 |
phk |
Add DDB_NUMSYM option which in addition to the symbolic representation also prints the actual numerical value of the symbol in question.
Users of addr2line(1) will be less proficient in hex arithmetic as a consequence.
This amongst other things means that traceback lines change from: siointr1(c4016800,c073bda0,0,c06b699c,69f) at siointr1+0xc5 to siointr1(c4016800,c073bda0,0,c06b699c,69f) at 0xc062b0bd = siointr1+0xc5
I made this an option to avoid bikesheds. ~ ~ ~
|
#
125680 |
|
11-Feb-2004 |
bms |
Initial import of RFC 2385 (TCP-MD5) digest support.
This is the first of two commits; bringing in the kernel support first. This can be enabled by compiling a kernel with options TCP_SIGNATURE and FAST_IPSEC.
For the uninitiated, this is a TCP option which provides for a means of authenticating TCP sessions which came into being before IPSEC. It is still relevant today, however, as it is used by many commercial router vendors, particularly with BGP, and as such has become a requirement for interconnect at many major Internet points of presence.
Several parts of the TCP and IP headers, including the segment payload, are digested with MD5, including a shared secret. The PF_KEY interface is used to manage the secrets using security associations in the SADB.
There is a limitation here in that as there is no way to map a TCP flow per-port back to an SPI without polluting tcpcb or using the SPD; the code to do the latter is unstable at this time. Therefore this code only supports per-host keying granularity.
Whilst FAST_IPSEC is mutually exclusive with KAME IPSEC (and thus IPv6), TCP_SIGNATURE applies only to IPv4. For the vast majority of prospective users of this feature, this will not pose any problem.
This implementation is output-only; that is, the option is honoured when responding to a host initiating a TCP session, but no effort is made [yet] to authenticate inbound traffic. This is, however, sufficient to interwork with Cisco equipment.
Tested with a Cisco 2501 running IOS 12.0(27), and Quagga 0.96.4 with local patches. Patches for tcpdump to validate TCP-MD5 sessions are also available from me upon request.
Sponsored by: sentex.net
|
#
123213 |
|
07-Dec-2003 |
imp |
Remote meteor driver. It hasn't compiled in over 3 years. If someone makes it compile again, and can test it, we can restore the driver to the tree.
|
#
123208 |
|
07-Dec-2003 |
imp |
The dgb driver is redundant with the digi driver in the tree. It uses lots of old interfaces, and digi now supports all cards that dgb supported. The author of the driver says that this is no longer necessary.
Approved by: babkin@
|
#
122796 |
|
16-Nov-2003 |
akiyama |
Make interrupt pipe interval time configurable. - Add kernel options: {UPLCOM,UVSCOM}_INTR_INTERVAL - Add sysctl variables: 'hw.usb.{uplcom,uvscom}.interval'
MFC after: 1 week
|
#
122220 |
|
07-Nov-2003 |
harti |
Allow the ng_uni node (NgATM signalling layer) to be built into the kernel via options NGATM_UNI.
|
#
122120 |
|
05-Nov-2003 |
bde |
Removed the garbage options DPT_ALLOW_MEMIO, HIFN_NO_RNG, IPFIREWALL_FORWARD, NTIMECOUNTER, OHCI_DEBUG, UGEN_DEBUG, UHCI_DEBUG, UHID_DEBUG, UHUB_DEBUG, UKBD_DEBUG, ULPT_DEBUG, UMASS_DEBUG, UMS_DEBUG, URIO_DEBUG and VINUM_AUTOSTART.
|
#
122100 |
|
05-Nov-2003 |
scottl |
Hook the udf_iconv module up to the kernel build.
Submitted by: imura@ryu16.org
|
#
121830 |
|
31-Oct-2003 |
njl |
Change the reset video option to be positive (hw.acpi.reset_video). Requested by: jhb
Initialize the real mode stack. This is needed at least for the return address from the lcall. Requested by: takawata
Fix style bugs in acpi_wakecode.S Requested by: bde
Remove the kernel option now that we have the tunable.
|
#
121679 |
|
29-Oct-2003 |
iwasaki |
Alphabetical order for ACPI options broken by adding ACPI_NO_RESET_VIDEO. Add short comment about ACPI_NO_RESET_VIDEO into NOTES.
Pointed-out by: njl
|
#
121641 |
|
29-Oct-2003 |
iwasaki |
Add kernel option ACPI_NO_RESET_VIDEO as workaround for problems (e.g. LCD white-out after resume) on some machine cased by re-initialize video BIOS code in acpi_wakecode.
|
#
121628 |
|
28-Oct-2003 |
sam |
speedup stream socket recv handling by tracking the tail of the mbuf chain instead of walking the list for each append
Submitted by: ps/jayanth Obtained from: netbsd (jason thorpe)
|
#
121613 |
|
27-Oct-2003 |
harti |
Allow building the NgATM SAAL layer directly into the kernel.
|
#
121468 |
|
24-Oct-2003 |
simokawa |
Add dumb console driver and related bits.
dcons(4): very simple console and gdb port driver dcons_crom(4): FireWire attachment dconschat(8): User interface to dcons
Tested with: i386, i386-PAE, and sparc64.
|
#
121375 |
|
22-Oct-2003 |
njl |
Add the ACPICA_PEDANTIC option which is off by default. Enabling it will enable strict checks of the AML. Our default behavior will be to relax checks to work on as many platforms as possible. Also clean up and document other ACPI options while I'm here.
|
#
120492 |
|
26-Sep-2003 |
fjoe |
- Support for multibyte charsets in LIBICONV. - CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options (with corresponding modules). - kiconv(3) for loadable charset conversion tables support.
Submitted by: Ryuichiro Imura <imura@ryu16.org>
|
#
119996 |
|
11-Sep-2003 |
marcel |
Add support for using uart(4) for pulse capturing for the Pulse Per Second (PPS) timing interface. The support is non-optional and by default uses the DCD line signal as the pulse input. A compile-time option (UART_PPS_ON_CTS) can be used to have uart(4) use the CTS line signal.
Include <sys/timepps.h> in uart_bus.h to avoid having to add the inclusion of that header in all source files.
Reviewed by: phk
|
#
119832 |
|
07-Sep-2003 |
tjr |
Add support for the Coda 6.x venus<->kernel interface. This extends FIDs to be 128-bits wide and adds support for realms.
Add a new CODA_COMPAT_5 option, which requests support for the old Coda 5.x interface instead of the new one.
Create a new coda5.ko module that supports the 5.x interface, and make the existing coda.ko module use the new 6.x interface. These modules cannot both be loaded at the same time.
Obtained from: Jan Harkes & the coda-6.0.2 distribution, NetBSD (drochner) (CODA_COMPAT_5 option).
|
#
119404 |
|
24-Aug-2003 |
sos |
This is a major rework of the ATA driver (ATAng)
Restructure the way ATA/ATAPI commands are processed, use a common ata_request structure for both. This centralises the way requests are handled so locking is much easier to handle.
The driver is now layered much more cleanly to seperate the lowlevel HW access so it can be tailored to specific controllers without touching the upper layers. This is needed to support some of the newer semi-intelligent ATA controllers showing up.
The top level drivers (disk, ATAPI devices) are more or less still the same with just corrections to use the new interface.
Pull ATA out from under Gaint now that locking can be done in a sane way.
Add support for a the National Geode SC1100. Thanks to Soekris engineering for sponsoring a Soekris 4801 to make this support.
Fixed alot of small bugs in the chipset code for various chips now we are around in that corner anyways.
|
#
119218 |
|
21-Aug-2003 |
rwatson |
Hook up mac_stub to the modules Makefile. Hook up mac_stub in files and options. Reference mac_stub in NOTES.
|
#
118819 |
|
12-Aug-2003 |
alex |
Add a overhaul of the soundchip initialization for the MSP34xx chipsets found only many tv-cards.
We currently use more ore less evil hacks (slow_msp_audio sysctl) to configure the various variants of these chips in order to have stereo autodetection work. Nevertheless, this doesn't always work even though it _should_, according to the specs. This is, for example, the case for some popular Hauppauge models sold sold in Germany.
However, the Linux driver always worked for me and others. Looking at the sourcecode you will find that the linux-driver uses a very much enhanced approach to program the various msp34xx chipset variants, which is also found in the specs for these chips.
This is a port of the Linux MSP34xx code, written by Gerd Knorr <kraxel@bytesex.org>, who agreed to re-release his code under a BSD license for this port.
A new config option "BKTR_NEW_MSP34XX_DRIVER" is added, which is required to enable the new driver. Otherwise the old code is used.
The msp34xx.c file is diff-reduced to the linux-driver to make later modifications easier, thus it doesn't follow style(9) in most cases.
Approved by: roger (committing this, no time to test/review), keichii (code review)
|
#
118774 |
|
11-Aug-2003 |
harti |
Add ng_atmpif: a HARP physical interface emulation. This allows one to run the HARP ATM stack without real hardware.
Submitted by: Vincent Jardin <vjardin@wanadoo.fr>
|
#
118626 |
|
07-Aug-2003 |
hsu |
Add support for "options PIM" in the kernel configuration file.
Submitted by: Pavlin Radoslavov <pavlin@icir.org>
|
#
118391 |
|
03-Aug-2003 |
phk |
Remove the NSWAPDEV option, we have no upper limit on how many swap devices we can have anymore.
|
#
118179 |
|
29-Jul-2003 |
njl |
Fix the new DA_OLD_QUIRKS option for normal and module compiles.
Pointed out by: bde
|
#
118140 |
|
29-Jul-2003 |
njl |
Deprecate USB and Firewire quirks. We should now never send 6 byte commands to such devices. If a device fails due to this commit, add: options DA_OLD_QUIRKS to the kernel config and recompile. Then send the output of "camcontrol inquiry da0" to scsi@freebsd.org so the quirk can be re-enabled.
|
#
117884 |
|
22-Jul-2003 |
ticso |
EISA_SLOTS is mandantory to get opt_eisa.h Put it into MI files.
|
#
117848 |
|
21-Jul-2003 |
sam |
safenet driver config glue
Sponsored by: Global Technology Associates, Inc.
|
#
117624 |
|
15-Jul-2003 |
harti |
Add a facility for devices, specifically network interfaces, that require large to huge amounts of small or medium sized receive buffers. The problem with these situations is that they eat up the available DMA address space very quickly when using mbufs or even mbuf clusters. Additionally this facility provides a direct mapping between 32-bit integers and these buffers. This is needed for devices originally designed for 32-bit systems. Ususally the virtual address of the buffer is used as a handle to find the buffer as soon as it is returned by the card. This does not work for 64-bit machines and hence this mapping is needed.
|
#
117451 |
|
11-Jul-2003 |
imp |
Fix typo for BURN_BRIDGES' file, it should be opt_global.h
|
#
116874 |
|
26-Jun-2003 |
smkelly |
- Add a software watchdog facility.
This commit has two pieces. One half is the watchdog kernel code which lives primarily in hardclock() in sys/kern/kern_clock.c. The other half is a userland daemon which, when run, will keep the watchdog from firing while the userland is intact and functioning.
Approved by: jeff (mentor)
|
#
116817 |
|
25-Jun-2003 |
sam |
config+build glue for Atheros support
|
#
116816 |
|
25-Jun-2003 |
sam |
add "no RNG support options" for ubsec and hifn drivers
|
#
116809 |
|
25-Jun-2003 |
harti |
Make the netgraph ATM node compilable into the kernel.
|
#
116538 |
|
18-Jun-2003 |
jake |
Moved the syscons options, kbd options and DEV_SPLASH to the MI options file.
|
#
116518 |
|
18-Jun-2003 |
phk |
Add "GEOM_FOX", a class which detects and selects between multiple redundant paths to the same device.
This class reacts to a label in the first sector of the device, which is created the following way:
# "0123456789abcdef012345..." # "<----magic-----><-id-...> echo "GEOM::FOX someid" | dd of=/dev/da0 conv=sync
NB: Since the fact that multiple disk devices are in fact the same device is not known to GEOM, the geom taste/spoil process cannot fully catch all corner cases and this module can therefore be confused if you do the right wrong things.
NB: The disk level drivers need to do the right thing for this to be useful, and that is not by definition currently the case.
|
#
116236 |
|
12-Jun-2003 |
imp |
New global option: BURN_BRIDGES
Compile out code that will disappear in 6.0, per Peter Wemm's bridge burning proposal.
|
#
115125 |
|
18-May-2003 |
scottl |
Add the MUTEX_NOINLINE option that explicitely de-inlines the mutex operations.
Submitted by: jhb
|
#
113995 |
|
24-Apr-2003 |
anholt |
Update the DRM to the latest from DRI CVS. Includes some bugfixes and removal of the infrastructure for the gamma driver which was removed a while back. The DRM_LINUX option is removed because the handler is now provided by the linux compat code itself.
|
#
113532 |
|
15-Apr-2003 |
jhb |
NO_COMPAT_FREEBSD4 is no longer used.
|
#
113530 |
|
15-Apr-2003 |
rwatson |
Re-add MUTEX_DEBUG and MUTEX_PROFILING, which got hosed by rejected chunks from bde's patch.
Spotted by: jhb
|
#
113528 |
|
15-Apr-2003 |
rwatson |
Improve consistency, ordering, style of options:
- Remove extra blank lines - Sort options - Remove comments that belong in NOTES
Submitted by: bde (older revision)
|
#
113488 |
|
14-Apr-2003 |
rwatson |
Add MAC_ALWAYS_LABEL_MBUF to options; this permits the administrator to force the allocation of MAC labels for all mbufs regardless of whether a configured policy requires labeling when the mbuf is allocated. This can be useful it you anticipate loading a fully labeled policy after boot and don't want mbufs to exist without label storage, for performance measurement purposes, etc. It also slightly lowers the overhead of m_tag labeling due to removing the decision logic.
While here, improve commenting of other MAC options.
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
113393 |
|
12-Apr-2003 |
des |
Options that go into homonymous headers shouldn't specify the header name.
Submitted by: Hiten Pandya <hiten@unixdaemons.com>
|
#
113384 |
|
12-Apr-2003 |
silby |
Rename MBUF_FRAG_TEST to MBUF_STRESS_TEST as it will be extended to include more than just frag tests.
|
#
112694 |
|
26-Mar-2003 |
tegge |
Add support for reading directly from file to userland buffer when the O_DIRECT descriptor status flag is set and both offset and length is a multiple of the physical media sector size.
|
#
112689 |
|
26-Mar-2003 |
rwatson |
Add a new kernel option, MALLOC_MAKE_FAILURES, which compiles in a debugging feature causing M_NOWAIT allocations to fail at a specified rate. This can be useful for detecting poor handling of M_NOWAIT: the most frequent problems I've bumped into are unconditional deference of the pointer even though it's NULL, and hangs as a result of a lost event where memory for the event couldn't be allocated. Two sysctls are added:
debug.malloc.failure_rate
How often to generate a failure: if set to 0 (default), this feature is disabled. Otherwise, the frequency of failures -- I've been using 10 (one in ten mallocs fails), but other popular settings might be much lower or much higher.
debug.malloc.failure_count
Number of times a coerced malloc failure has occurred as a result of this feature. Useful for tracking what might have happened and whether failures are being generated.
Useful possible additions: tying failure rate to malloc type, printfs indicating the thread that experienced the coerced failure.
Reviewed by: jeffr, jhb
|
#
112591 |
|
25-Mar-2003 |
silby |
Add the MBUF_FRAG_TEST option. When compiled in, this option allows you to tell ip_output to fragment all outgoing packets into mbuf fragments of size net.inet.ip.mbuf_frag_size bytes. This is an excellent way to test if network drivers can properly handle long mbuf chains being passed to them.
net.inet.ip.mbuf_frag_size defaults to 0 (no fragmentation) so that you can at least boot before your network driver dies. :)
|
#
112124 |
|
11-Mar-2003 |
sam |
o add crypto driver glue for using the new rndtest driver/module; this is conditional in each driver on foo_RNDTEST being defined_ o bring HIFN_DEBUG and UBSEC_DEBUG out to be visible options; they control the debugging printfs that are set with hw.foo.debug (e.g. hw.hifn.debug)
|
#
112041 |
|
09-Mar-2003 |
akiyama |
Fix device freeze to reduce output packet size. And make this value configurable by kernel config or sysctl.
|
#
111978 |
|
08-Mar-2003 |
tjr |
Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL).
|
#
111937 |
|
06-Mar-2003 |
alc |
Remove ENABLE_VFS_IOOPT. It is a long unfinished work-in-progress.
Discussed on: arch@
|
#
111926 |
|
05-Mar-2003 |
peter |
Finish driving a stake through the heart of netns and the associated ifdefs scattered around the place - its dead Jim!
The SMB stuff had stolen AF_NS, make it official.
|
#
111899 |
|
05-Mar-2003 |
das |
Make TTYHOG tunable.
Reviewed by: mike (mentor)
|
#
111771 |
|
02-Mar-2003 |
rwatson |
A cute yet small MAC policy that provides a simple ACL mechanism to permit users and groups to bind ports for TCP or UDP, and is intended to be combined with the recently committed support for net.inet.ip.portrange.reservedhigh. The policy is twiddled using sysctl(8). To use this module, you will need to compile in MAC support, and probably set reservedhigh to 0, then twiddle security.mac.portacl.rules to set things as desired. This policy module only restricts ports explicitly bound using bind(), not implicitly bound ports where the port number is selected by the IP stack. It appears to work properly in my local configuration, but needs more broad testing.
A sample policy might be:
# sysctl security.mac.portacl.rules="uid:425:tcp:80,uid:425:tcp:79"
This permits uid 425 to bind TCP sockets to ports 79 and 80. Currently no distinction is made for incoming vs. outgoing ports with TCP, although that would probably be easy to add.
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
111457 |
|
24-Feb-2003 |
marcel |
Remove support for running in SimOS. The support has rotted over time and there's no indication that it will improve anytime soon. By removing support for SimOS it is possible to build LINT on Alpha, which is considered more important at the moment.
Not objected to on: alpha@
|
#
111275 |
|
22-Feb-2003 |
sam |
Add a new config option IPSEC_FILTERGIF to control whether or not packets coming out of a GIF tunnel are re-processed by ipfw, et. al. By default they are not reprocessed. With the option they are.
This reverts 1.214. Prior to that change packets were not re-processed. After they were which caused problems because packets do not have distinguishing characteristics (like a special network if) that allows them to be filtered specially.
This is really a stopgap measure designed for immediate MFC so that 4.8 has consistent handling to what was in 4.7.
PR: 48159 Reviewed by: Guido van Rooij <guido@gvr.org> MFC after: 1 day
|
#
110417 |
|
05-Feb-2003 |
joerg |
Finally make vinum ready for the root filesystem in FreeBSD 5.x. (A similar patch has been in 4.x for a while, but is more hacky there.)
For this to work, vinum has to be loaded early (e. g. from boot/loader), for obvious reasons. If the kernel env variable (aka. loader variable) "vinum.autostart" is set, vinum then asks the sysctl kern.disks for all available disks in the system, and scans them for possible vinum headers.
For statically compiled kernels, this behaviour can be obtained even without boot/loader by using "options VINUM_AUTOSTART" (though this is not the recommended way).
Alternatively, the 4.x way to specify "vinum.drives" is also supported.
No further hacks (like the 4.x "vinum.root" variable) are needed, since in 5.x, mountroot() asks back at the drivers to have them resolve the name of the root FS into a dev_t (using the dev_clone eventhandler).
(The MFC reminder below is for a partial MFC for vinum.autostart, the rest is already there in 4.x.)
Timed out on: grog MFC after: 2 weeks
|
#
110293 |
|
03-Feb-2003 |
gordon |
Add config glue to add an optional GEOM_VOL to add optional volume support.
Reviewed by: jake (mentor)
|
#
110150 |
|
31-Jan-2003 |
phk |
Add a rudimentary class for slicing Apple partitioned disks.
More work is needed on this, stakeholders please contact me.
Not quite asked for by: rwatson
|
#
109968 |
|
28-Jan-2003 |
phk |
Bang! Bang! Bang! etc etc
Remove NODEVFS and NO_GEOM from options.
Approved by: trb@
|
#
109865 |
|
26-Jan-2003 |
jeff |
- Introduce the SCHED_ULE and SCHED_4BSD options for compile time selection of the scheduler. - Add SCHED_4BSD as the scheduler for all kernel config files in cvs.
|
#
109523 |
|
19-Jan-2003 |
phk |
Move NODEVFS and NO_GEOM to opt_global.h.
This allows me to mark code which they control with #ifdef without polluting files with #includes of opt_devfs.h and opt_geom.h.
Once these two options are removed, this will allow mechanical removal of the bits their removal makes obsolete.
|
#
109469 |
|
18-Jan-2003 |
nyan |
Fixed comment.
|
#
109256 |
|
14-Jan-2003 |
phk |
Add a very simple but functional GEOM mirror class.
This is committed more as an instructive tool than as a production facility, but this will change over time.
|
#
107275 |
|
26-Nov-2002 |
rwatson |
Hook up kernel options and build information for mac_lomac.
Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
107043 |
|
18-Nov-2002 |
jmallett |
Move SHOW_BUSYBUFS and PANIC_REBOOT_WAIT_TIME into the MI options file, since MI code uses them, and every platform provides them (except x86_64 whose options file was lacking one).
Reviewed by: bde, rwatson
|
#
106844 |
|
13-Nov-2002 |
mdodd |
Convert kernel compile option PCI_ALLOW_UNSUPPORTED_IO_RANGE to a loader tunable hw.pci.allow_unsupported_io_range.
Submitted by: Hiten Pandya <hiten@angelica.unixdaemons.com> Approved by: re (murray)
|
#
105950 |
|
25-Oct-2002 |
peter |
Split 4.x and 5.x signal handling so that we can keep 4.x signal handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound.
Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc.
Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re
|
#
105880 |
|
24-Oct-2002 |
rwatson |
Provide kernel options for the various MAC policy modules so that they may be statically linked into the kernel. Note that statically linked modules, unlike dynamically linked modules, get INVARIANTS, so if there are INVARIANTS failures, you'll bump into them rather than not. Add the options to NOTES.
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
105503 |
|
20-Oct-2002 |
scottl |
After much delay and anticipation, welcome RAIDFrame into the FreeBSD world. This should be considered highly experimental.
Approved-by: re
|
#
105464 |
|
19-Oct-2002 |
phk |
Add Geom Based Disk Encryption to the tree.
This is an encryption module designed for to secure denial of access to the contents of "cold disks" with or without destruction activation.
Major features:
* Based on AES, MD5 and ARC4 algorithms. * Four cryptographic barriers: 1) Pass-phrase encrypts the master key. 2) Pass-phrase + Lock data locates master key. 3) 128 bit key derived from 2048 bit master key protects sector key. 3) 128 bit random single-use sector keys protect data payload. * Up to four different changeable pass-phrases. * Blackening feature for provable destruction of master key material. * Isotropic disk contents offers no information about sector contents. * Configurable destination sector range allows steganographic deployment.
This commit adds the kernel part, separate commits will follow for the userland utility and documentation.
This software was developed for the FreeBSD Project by Poul-Henning Kamp and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research program.
Many thanks to Robert Watson, CBOSS Principal Investigator for making this possible.
Sponsored by: DARPA & NAI Labs.
|
#
105199 |
|
16-Oct-2002 |
sam |
Tie new "Fast IPsec" code into the build. This involves the usual configuration stuff as well as conditional code in the IPv4 and IPv6 areas. Everything is conditional on FAST_IPSEC which is mutually exclusive with IPSEC (KAME IPsec implmentation).
As noted previously, don't use FAST_IPSEC with INET6 at the moment.
Reviewed by: KAME, rwatson Approved by: silence Supported by: Vernier Networks
|
#
105054 |
|
13-Oct-2002 |
mike |
Remove the P1003_1B kernel option; it is no longer used.
|
#
105047 |
|
13-Oct-2002 |
mike |
Remove _KPOSIX_VERSION as a kernel option, nothing uses this any more.
|
#
104519 |
|
05-Oct-2002 |
phk |
NB: This commit does *NOT* make GEOM the default in FreeBSD NB: But it will enable it in all kernels not having options "NO_GEOM"
Put the GEOM related options into the intended order.
Add "options NO_GEOM" to all kernel configs apart from NOTES.
In some order of controlled fashion, the NO_GEOM options will be removed, architecture by architecture in the coming days.
There are currently three known issues which may force people to need the NO_GEOM option:
boot0cfg/fdisk: Tries to update the MBR while it is being used to control slices. GEOM does not allow this as a direct operation.
SCSI floppy drives: Appearantly the scsi-da driver return "EBUSY" if no media is inserted. This is wrong, it should return ENXIO.
PC98: It is unclear if GEOM correctly recognizes all variants of PC98 disklabels. (Help Wanted! I have neither docs nor HW)
These issues are all being worked.
Sponsored by: DARPA & NAI Labs.
|
#
104354 |
|
02-Oct-2002 |
scottl |
Some kernel threads try to do significant work, and the default KSTACK_PAGES doesn't give them enough stack to do much before blowing away the pcb. This adds MI and MD code to allow the allocation of an alternate kstack who's size can be speficied when calling kthread_create. Passing the value 0 prevents the alternate kstack from being created. Note that the ia64 MD code is missing for now, and PowerPC was only partially written due to the pmap.c being incomplete there. Though this patch does not modify anything to make use of the alternate kstack, acpi and usb are good candidates.
Reviewed by: jake, peter, jhb
|
#
103968 |
|
25-Sep-2002 |
scottl |
Do away with AAC_COMPAT_LINUX option entirely. The functionality will automatically be enabled if the kernel is compiled with COMPAT_LINUX.
Submitted by: jhb MFC after: 3 days
|
#
103952 |
|
25-Sep-2002 |
scottl |
The AAC_COMPAT_LINUX option was really annoying, since it made the aac driver dependent on the linux emulation module. This was especially bad for the release engineers who tried to move the aac driver from the kernel onto the drivers floppy. The linux compat bits for this driver are now in their own driver, aac_linux. It can be loaded as a module or compiled into the kernel. For the latter case, the AAC_COMPAT_LINUX option is needed, along with the COMPAT_LINUX option.
I've tested this in every configuration I can think of. This is an MFC candidate for 4.7.
Idea from: rwatson MFC after: 3 days
|
#
103788 |
|
22-Sep-2002 |
jeff |
- Add options ALQ and KTR_ALQ.
|
#
103648 |
|
19-Sep-2002 |
jhb |
Ahem, actually add the DDB_TRACE option and finish changing DDB_UNATTENDED to use its own header.
|
#
103575 |
|
18-Sep-2002 |
alfred |
Regen for added syscalls.
|
#
103082 |
|
07-Sep-2002 |
peter |
Move the KSTACK_PAGES option from MD to MI. Although not all platforms support this, we do have MI code that references it and is otherwise unaware of an override. The alternative is to put knowledge in these MI files about which platforms have the opt_kstack_pages.h option file. It is more likely that other platforms will gain the ability to tune the kstack size.
|
#
103026 |
|
06-Sep-2002 |
sobomax |
Add a new gre(4) driver, which could be used to create GRE (RFC1701) and MOBILE (RFC2004) IP tunnels.
Obrained from: NetBSD
|
#
102763 |
|
01-Sep-2002 |
scottl |
Remove options that don't actually exist (in this form).
|
#
102688 |
|
31-Aug-2002 |
gibbs |
Add support for ahd/ahc register pretty printing in diagnostics. This feature can be disabled via the AHD/AHC_REG_PRETTY_PRINT kernel option.
The ahc driver now uses the same debug options mechanism as ahd: AHC_DEBUG - Compile in debugging code AHC_DEBUG_OPTS - String of debug options as listed in aic7xxx.h
|
#
102195 |
|
20-Aug-2002 |
archie |
New L2TP netgraph node type.
Obtained from: Packet Design
|
#
101988 |
|
16-Aug-2002 |
rwatson |
Wrap maintenance of varios nmac{objectname} counters in MAC_DEBUG so we can avoid the cost of a large number of atomic operations if we're not interested in the object count statistics.
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
101606 |
|
09-Aug-2002 |
sos |
Add the ability to use ATAPI devices via CAM.
The CAM<>ATAPI layer was submitted by "Thomas Quinot <thomas@cuivre.fr.eu.org>" changes form the version on the net by me (formatting, ability to be used alone without the ATAPI native device driver, proper speed reporting...)
See /sys/conf/NOTES for usage.
Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org>
|
#
101245 |
|
02-Aug-2002 |
imp |
Add code that will download firmware to a Symbol LA4100-series of CF cards. Since the firmware is hard coded into the kernel, I've made it a kernel option (WI_SYMBOL_FIRMWARE).
Note: This only downloads into the RAM of these cards. It doesn't download into FLASH, and is somewhat limited. There needs to be a better way to deal, but this works for now. My Symbol LA4132 CF card works now.
Obtained from: NetBSD
|
#
100761 |
|
27-Jul-2002 |
rwatson |
Kernel options for Mandatory Access Control (MAC).
MAC support will be merged into the main tree over the next week in reasonable size chunks; much more to follow.
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
100702 |
|
26-Jul-2002 |
imp |
Make PCI_ENABLE_IO_MODES a sysctl hw.pci.enable_io_modes. It can also be set at boot time. It defaults to 1 now since it can be set in the boot loader. If this proves unwise, we can reset it to defaulting to 0.
|
#
100459 |
|
21-Jul-2002 |
peter |
Remove dependency on NPCI. Use 'options ATA_NOPCI' to compile without pci support. This really needs to be fixed properly some day, but judging by the fact that the nopci case hasn't compiled for quite a while, there does not seem to be much urgency.
Reviewed by: sos
|
#
100128 |
|
15-Jul-2002 |
jhb |
Move SMBFS from i386 and pc98 files and options files to MI files and options files.
|
#
100105 |
|
15-Jul-2002 |
jhb |
The puc(4) driver/bridge is MI, so don't bury it in MD options and files config files. It also depends on PCI.
|
#
100102 |
|
15-Jul-2002 |
jhb |
Sort all the SYSV IPC options. They are still all clumped together, but at least they are sorted relative to themselves now.
|
#
100101 |
|
15-Jul-2002 |
jhb |
- Properly sort GEOM and NODEVFS. - GEOM doesn't need to specify a filename, the correct one is chosen by default.
|
#
100100 |
|
15-Jul-2002 |
jhb |
Make WLCACHE and WLDEBUG MI options.
|
#
100099 |
|
15-Jul-2002 |
jhb |
Make NDGBPORTS an MI option since the dgb(4) driver is an MI driver. Remove comments about NDGBPORTS from the options* files. Please document options in NOTES, not in the options* files.
|
#
99854 |
|
12-Jul-2002 |
alfred |
Introduce syscall.master option 'COMPAT4' which allows one to wrap syscalls for FreeBSD 4 compatibility. Add kernel option COMPAT_FREEBSD4 to enable these syscalls.
|
#
99759 |
|
11-Jul-2002 |
ken |
Move the MSIZE and MCLSHIFT options out of the undocumented section in NOTES. Add some comments about the potential problems associated with NIC driver modules and changing these options.
Fix sorting problems in sys/conf/options with the MSIZE and MCLSHIFT options.
Reviewed by: bde
|
#
99617 |
|
08-Jul-2002 |
mp |
Back out previous TCBHASHSIZE change. This should not be a kernel option.
Pointed out by: bde
|
#
99569 |
|
08-Jul-2002 |
mp |
Document TCBHASHSIZE in NOTES and add it to the allowable kernel options.
PR: 32912 Submitted by: Carl Schmidt <carl@slackerbsd.org> MFC after: 3 days
|
#
98849 |
|
26-Jun-2002 |
ken |
At long last, commit the zero copy sockets code.
MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes.
ti.4: Update the ti(4) man page to include information on the TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options, and also include information about the new character device interface and the associated ioctls.
man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated links.
jumbo.9: New man page describing the jumbo buffer allocator interface and operation.
zero_copy.9: New man page describing the general characteristics of the zero copy send and receive code, and what an application author should do to take advantage of the zero copy functionality.
NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS, TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.
conf/files: Add uipc_jumbo.c and uipc_cow.c.
conf/options: Add the 5 options mentioned above.
kern_subr.c: Receive side zero copy implementation. This takes "disposable" pages attached to an mbuf, gives them to a user process, and then recycles the user's page. This is only active when ZERO_COPY_SOCKETS is turned on and the kern.ipc.zero_copy.receive sysctl variable is set to 1.
uipc_cow.c: Send side zero copy functions. Takes a page written by the user and maps it copy on write and assigns it kernel virtual address space. Removes copy on write mapping once the buffer has been freed by the network stack.
uipc_jumbo.c: Jumbo disposable page allocator code. This allocates (optionally) disposable pages for network drivers that want to give the user the option of doing zero copy receive.
uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are enabled if ZERO_COPY_SOCKETS is turned on.
Add zero copy send support to sosend() -- pages get mapped into the kernel instead of getting copied if they meet size and alignment restrictions.
uipc_syscalls.c:Un-staticize some of the sf* functions so that they can be used elsewhere. (uipc_cow.c)
if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid calling malloc() with M_WAITOK. Return an error if the M_NOWAIT malloc fails.
The ti(4) driver and the wi(4) driver, at least, call this with a mutex held. This causes witness warnings for 'ifconfig -a' with a wi(4) or ti(4) board in the system. (I've only verified for ti(4)).
ip_output.c: Fragment large datagrams so that each segment contains a multiple of PAGE_SIZE amount of data plus headers. This allows the receiver to potentially do page flipping on receives.
if_ti.c: Add zero copy receive support to the ti(4) driver. If TI_PRIVATE_JUMBOS is not defined, it now uses the jumbo(9) buffer allocator for jumbo receive buffers.
Add a new character device interface for the ti(4) driver for the new debugging interface. This allows (a patched version of) gdb to talk to the Tigon board and debug the firmware. There are also a few additional debugging ioctls available through this interface.
Add header splitting support to the ti(4) driver.
Tweak some of the default interrupt coalescing parameters to more useful defaults.
Add hooks for supporting transmit flow control, but leave it turned off with a comment describing why it is turned off.
if_tireg.h: Change the firmware rev to 12.4.11, since we're really at 12.4.11 plus fixes from 12.4.13.
Add defines needed for debugging.
Remove the ti_stats structure, it is now defined in sys/tiio.h.
ti_fw.h: 12.4.11 firmware.
ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13, and my header splitting patches. Revision 12.4.13 doesn't handle 10/100 negotiation properly. (This firmware is the same as what was in the tree previously, with the addition of header splitting support.)
sys/jumbo.h: Jumbo buffer allocator interface.
sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to indicate that the payload buffer can be thrown away / flipped to a userland process.
socketvar.h: Add prototype for socow_setup.
tiio.h: ioctl interface to the character portion of the ti(4) driver, plus associated structure/type definitions.
uio.h: Change prototype for uiomoveco() so that we'll know whether the source page is disposable.
ufs_readwrite.c:Update for new prototype of uiomoveco().
vm_fault.c: In vm_fault(), check to see whether we need to do a page based copy on write fault.
vm_object.c: Add a new function, vm_object_allocate_wait(). This does the same thing that vm_object allocate does, except that it gives the caller the opportunity to specify whether it should wait on the uma_zalloc() of the object structre.
This allows vm objects to be allocated while holding a mutex. (Without generating WITNESS warnings.)
vm_object_allocate() is implemented as a call to vm_object_allocate_wait() with the malloc flag set to M_WAITOK.
vm_object.h: Add prototype for vm_object_allocate_wait().
vm_page.c: Add page-based copy on write setup, clear and fault routines.
vm_page.h: Add page based COW function prototypes and variable in the vm_page structure.
Many thanks to Drew Gallatin, who wrote the zero copy send and receive code, and to all the other folks who have tested and reviewed this code over the years.
|
#
98401 |
|
18-Jun-2002 |
n_hibma |
Make the speed used by gdb over serial settable in the kernel configuration.
This facilitates the use in circumstances where you are using a serial console as well. GDB doesn't support anything higher than 9600 baud (19k2 if you are lucky), but the console does.
|
#
98190 |
|
13-Jun-2002 |
rwatson |
POSIX.1e capabilities aren't here yet, don't put an option for it in the options file.
|
#
98099 |
|
10-Jun-2002 |
phk |
Put geom_gpt.c under the GEOM option instead of having a special GEOM_GPT option for it.
|
#
98015 |
|
07-Jun-2002 |
jhb |
According to Bruce, this file shouldn't have comments to describe what options do. Comments should be in NOTES and having the comments in two places usually means that one place will just bitrot. Thus, remove the comment for KTRACE_REQUEST_POOL from the previous revision.
Requested by: bde
|
#
97993 |
|
07-Jun-2002 |
jhb |
Overhaul the ktrace subsystem a bit. For the most part, the actual vnode operations to dump a ktrace event out to an output file are now handled asychronously by a ktrace worker thread. This enables most ktrace events to not need Giant once p_tracep and p_traceflag are suitably protected by the new ktrace_lock.
There is a single todo list of pending ktrace requests. The various ktrace tracepoints allocate a ktrace request object and tack it onto the end of the queue. The ktrace kernel thread grabs requests off the head of the queue and processes them using the trace vnode and credentials of the thread triggering the event.
Since we cannot assume that the user memory referenced when doing a ktrgenio() will be valid and since we can't access it from the ktrace worker thread without a bit of hassle anyways, ktrgenio() requests are still handled synchronously. However, in order to ensure that the requests from a given thread still maintain relative order to one another, when a synchronous ktrace event (such as a genio event) is triggered, we still put the request object on the todo list to synchronize with the worker thread. The original thread blocks atomically with putting the item on the queue. When the worker thread comes across an asynchronous request, it wakes up the original thread and then blocks to ensure it doesn't manage to write a later event before the original thread has a chance to write out the synchronous event. When the original thread wakes up, it writes out the synchronous using its own context and then finally wakes the worker thread back up. Yuck. The sychronous events aren't pretty but they do work.
Since ktrace events can be triggered in fairly low-level areas (msleep() and cv_wait() for example) the ktrace code is designed to use very few locks when posting an event (currently just the ktrace_mtx lock and the vnode interlock to bump the refcoun on the trace vnode). This also means that we can't allocate a ktrace request object when an event is triggered. Instead, ktrace request objects are allocated from a pre-allocated pool and returned to the pool after a request is serviced.
The size of this pool defaults to 100 objects, which is about 13k on an i386 kernel. The size of the pool can be adjusted at compile time via the KTRACE_REQUEST_POOL kernel option, at boot time via the kern.ktrace_request_pool loader tunable, or at runtime via the kern.ktrace_request_pool sysctl.
If the pool of request objects is exhausted, then a warning message is printed to the console. The message is rate-limited in that it is only printed once until the size of the pool is adjusted via the sysctl.
I have tested all kernel traces but have not tested user traces submitted by utrace(2), though they should work fine in theory.
Since a ktrace request has several properties (content of event, trace vnode, details of originating process, credentials for I/O, etc.), I chose to drop the first argument to the various ktrfoo() functions. Currently the functions just assume the event is posted from curthread. If there is a great desire to do so, I suppose I could instead put back the first argument but this time make it a thread pointer instead of a vnode pointer.
Also, KTRPOINT() now takes a thread as its first argument instead of a process. This is because the check for a recursive ktrace event is now per-thread instead of process-wide.
Tested on: i386 Compiles on: sparc64, alpha
|
#
97937 |
|
06-Jun-2002 |
gibbs |
Hook up the ahd driver.
|
#
97728 |
|
02-Jun-2002 |
alfred |
bde noticed that SOMAXCONN breaks pretty badly as an option for LINT. so back it out.
|
#
97392 |
|
28-May-2002 |
marcel |
Add support to GEOM for GUID Partition Tables (GPTs). The support is currently conditional on both the GEOM and GEOM_GPT options to avoid getting GPT by default and having the MBR and GPT classes clash. The correct behaviour of the MBR class would be to back-off (reject) a MBR if it's a Protective MBR (a MBR with a single partition of type 0xEE that spans the whole disk (as far as the MBR is concerned). The correct behaviour if the GPT class would be to back-off (reject) a GPT if there's a MBR that's not a Protective MBR.
At this stage it's inconvenient to destroy a good MBR when working with GPTs that it's more convenient to have the MBR class back-off when it detects the GPT signature on disk and have the GPT class ignore the MBR.
In sys/gpt.h UUIDs (GUIDs) for the following FreeBSD partitions have been defined:
GPT_ENT_TYPE_FREEBSD FreeBSD slice with disklabel. This is the equivalent of the well-known FreeBSD MBR partition type. GPT_ENT_TYPE_FREEBSD_{SWAP|UFS|UFS2|VINUM} FreeBSD partitions in the context of disklabel. This is speculating on the idea to use the GPT to hold partitions instead if slices and removing the fixed (and low) limits we have on the number of partitions.
This commit lacks a GPT image for the regression suite.
|
#
97081 |
|
21-May-2002 |
jhb |
Add code to make default mutexes adaptive if the ADAPTIVE_MUTEXES kernel option is used (not on by default).
- In the case of trying to lock a mutex, if the MTX_CONTESTED flag is set, then we can safely read the thread pointer from the mtx_lock member while holding sched_lock. We then examine the thread to see if it is currently executing on another CPU. If it is, then we keep looping instead of blocking. - In the case of trying to unlock a mutex, it is now possible for a mutex to have MTX_CONTESTED set in mtx_lock but to not have any threads actually blocked on it, so we need to handle that case. In that case, we just release the lock as if MTX_CONTESTED was not set and return. - We do not adaptively spin on Giant as Giant is held for long times and it slows SMP systems down to a crawl (it was taking several minutes, like 5-10 or so for my test alpha and sparc64 SMP boxes to boot up when they adaptively spinned on Giant). - We only compile in the code to do this for SMP kernels, it doesn't make sense for UP kernels.
Tested on: i386, alpha, sparc64
|
#
96885 |
|
18-May-2002 |
rwatson |
Remove IFS from 5.0-CURRENT. This facilitates introducing UFS2 as IFS had its fingers deep in the belly of the UFS/FFS split. IFS will be reimplemented by the maintainer at a later date.
Requested by: adrian (maintainer)
|
#
96755 |
|
16-May-2002 |
trhodes |
More s/file system/filesystem/g
|
#
96616 |
|
14-May-2002 |
jeff |
Disable the shared locking namei() code for now. It breaks several stacking filesystems. This is on hold until the rest of VFS Locking is reviewed and deemed safe. It can be enabled with 'options LOOKUP_SHARED'.
|
#
96155 |
|
07-May-2002 |
bde |
Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It doesn't actually build yet.
|
#
95607 |
|
28-Apr-2002 |
anholt |
Hook the DRM up to the build and add it to NOTES.
Approved by: des
|
#
94658 |
|
14-Apr-2002 |
scottl |
Add a filesystem driver for the Universal Disk Format. For more info, see http://people.freebsd.org/~scottl/udf
MFC after: when asmodai gets the backport done Prodded by: phk asmodai des
|
#
94262 |
|
09-Apr-2002 |
jeff |
Turn #ifdef LOOKUP_SHARED into #ifndef LOOKUP_EXCLUSIVE to enable this behavior by default. Also, change the options line to reflect this.
If there are no problems reported this will become the only behavior and the knob will be removed in a month or so.
Demanded by: obrien
|
#
93838 |
|
04-Apr-2002 |
mjacob |
D'oh! I forgot to commit this a while back.
Add an option for enabling f/w crashdumps for the isp driver.
MFC after: 1 week
|
#
93719 |
|
03-Apr-2002 |
ru |
Dike out a highly insecure UCONSOLE option. TIOCCONS must be able to VOP_ACCESS() /dev/console to succeed.
Obtained from: OpenBSD
|
#
93609 |
|
01-Apr-2002 |
des |
Mutex profiling code, conditional on the MUTEX_PROFILING option. Adds the following sysctl variables:
debug.mutex.prof.enable enable / disable profiling debug.mutex.prof.acquisitions number of mutex acquisitions recorded debug.mutex.prof.records number of acquisition points recorded debug.mutex.prof.maxrecords max number of acquisition points debug.mutex.prof.rejected number of rejections (due to full table) debug.mutex.prof.hashsize hash size debug.mutex.prof.collisions number of hash collisions debug.mutex.prof.stats profiling statistics
The code records four numbers for each acquisition point (identified by source file name and line number): longest time held, total time held, number of non-recursive acquisitions, average time held. The measurements are in clock cycles (as returned by get_cyclecount(9)); this may cause measurements on some SMP systems to be unreliable. This can probably be worked around by replacing get_cyclecount(9) by some incarnation of nanotime(9).
This work was derived from initial patches by eivind.
|
#
93503 |
|
01-Apr-2002 |
jake |
ktr changes to improve performance and make writing a userland utility to dump the trace buffer feasible. - Remove KTR_EXTEND. This changes the format of the trace entries when activated, making writing a userland tool which is not tied to a specific kernel configuration difficult. - Use get_cyclecount() for timestamps. nanotime() is much too heavy weight and requires recursion protection due to ktr traces occuring as a result of ktr traces. KTR_VERBOSE may still require recursion protection, which is now conditional on it. - Allow KTR_CPU to be overridden by MD code. This is so that it is possible to trace early in startup before pcpu and/or curthread are setup. - Add a version number for the ktr interface. A userland tool can check this to detect mismatches. - Use an array for the parameters to make decoding in userland easier. - Add file and line recording to the non-extended traces now that the extended version is no more.
These changes will break gdb macros to decode the extended version of the trace buffer which are floating around. Users of these macros should either use the show ktr command in ddb, or use the userland utility which can be run on a core dump.
Approved by: jhb Tested on: i386, sparc64
|
#
93408 |
|
30-Mar-2002 |
dan |
Nuke CV_DEBUG in favour of INVARIANTS.
Approved by: jhb
|
#
93023 |
|
23-Mar-2002 |
nsouch |
Major rework of the iicbus/smbus framework:
- VIA chipset SMBus controllers added - alpm driver updated - Support for dynamic modules added - bktr FreeBSD smbus updated but not tested - cleanup
|
#
92130 |
|
12-Mar-2002 |
jeff |
This patch adds the "LOCKSHARED" option to namei which causes it to only acquire shared locks on leafs. The stat() and open() calls have been changed to make use of this new functionality. Using shared locks in these cases is sufficient and can significantly reduce their latency if IO is pending to these vnodes. Also, this reduces the number of exclusive locks that are floating around in the system, which helps reduce the number of deadlocks that occur.
A new kernel option "LOOKUP_SHARED" has been added. It defaults to off so this patch can be turned on for testing, and should eventually go away once it is proven to be stable. I have personally been running this patch for over a year now, so it is believed to be fully stable.
Reviewed by: jake, obrien Approved by: jake
|
#
92073 |
|
11-Mar-2002 |
phk |
Add the GEOM option.
|
#
90702 |
|
15-Feb-2002 |
bde |
Garbage-collect options ACPI_NO_ENABLE_ON_BOOT, AML_DEBUG, BLEED, DEVICE_SYSCTLS, KEY, LOUTB, NFS_MUIDHASHSIZ, NFS_UIDHASHSIZ, PCI_QUIET and SIMPLELOCK_DEBUG.
|
#
90551 |
|
11-Feb-2002 |
gallatin |
Enable polling to be configured into kernels on non i386 platforms. Note that poll_in_trap is only implemented on i386. I've tested this on alpha.
Approved by: luigi
|
#
89383 |
|
15-Jan-2002 |
imp |
Make PCI_ALLOW_UNSUPPORTED_IO_RANGE an option until the ISA address problem is fixed at the bridge level. This is needed for some newer laptops that have the cardbus bridge not on pci0.
|
#
88420 |
|
22-Dec-2001 |
iwasaki |
Add OS layer ACPI mutex and threading support. - Temporary fix a bug of Intel ACPI CA core code. - Add OS layer ACPI mutex support. This can be disabled by specifying option ACPI_NO_SEMAPHORES. - Add ACPI threading support. Now that we have a dedicate taskqueue for ACPI tasks and more ACPI task threads can be created by specifying option ACPI_MAX_THREADS. - Change acpi_EvaluateIntoBuffer() behavior slightly to reuse given caller's buffer unless AE_BUFFER_OVERFLOW occurs. Also CM battery's evaluations were changed to use acpi_EvaluateIntoBuffer(). - Add new utility function acpi_ConvertBufferToInteger(). - Add simple locking for CM battery and temperature updating. - Fix a minor problem on EC locking. - Make the thermal zone polling rate to be changeable. - Change minor things on AcpiOsSignal(); in ACPI_SIGNAL_FATAL case, entering Debugger is easier to investigate the problem rather than panic.
|
#
88374 |
|
21-Dec-2001 |
tmm |
Move the PCI_ENABLE_IO_MODES option from conf/options.i386 to conf/options.
|
#
86406 |
|
15-Nov-2001 |
jhb |
Axe NFS_NOSERVER since it doesn't do anything anymore. Remove NFSSERVER from your config file instead.
|
#
84783 |
|
10-Oct-2001 |
ps |
Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader tunable.
Reviewed by: peter MFC after: 2 weeks
|
#
84151 |
|
29-Sep-2001 |
iedowse |
Add an option ED_NO_MIIBUS, which causes the `ed' driver to be built without support for miibus PHYs. Most ed cards don't need miibus support, so it's useful to be able to avoid the bloat of all the mii devices for small fixed-purpose kernels.
|
#
84053 |
|
27-Sep-2001 |
brooks |
Add ng_ip_input. A new netgraph node for queuing IP packets into the main IP input processing code.
|
#
84004 |
|
27-Sep-2001 |
brooks |
NULL commit due to misunderstanding "cvs commit -m <blah>". The previous log message "/home/brooks/ng_gif.message" should have read:
Add a pair of new netgraph nodes. The ng_gif node is like ng_ether except that it works on gif interfaces. The ng_gif_demux node attaches to an ng_gif node to allow separate processing or discarding of different types of encapsulated traffic.
|
#
83998 |
|
26-Sep-2001 |
brooks |
/home/brooks/ng_gif.message
|
#
83651 |
|
18-Sep-2001 |
peter |
Cleanup and split of nfs client and server code. This builds on the top of several repo-copies.
|
#
82223 |
|
23-Aug-2001 |
jhb |
Add a new kernel option RESTARTABLE_PANICS. If this option is present, then one can restart from a panic by resetting the panicstr variable to NULL. This commit conditionalizes the previously committed functionality on this variable. It also removes the __dead2 attribute from the panic() function so that when one continues from a panic() the behavior will be predictable.
|
#
81933 |
|
19-Aug-2001 |
dillon |
Limit the amount of KVM reserved for the buffer cache and for swap-meta information. The default limits only effect machines with > 1GB of ram and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and kern.maxbcache. This has the effect of leaving more KVM available for sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad adds memory to a machine and then sees the kernel panic on boot due to running out of KVM.
Also change the default swap-meta auto-sizing calculation to allocate half of what it was previously allocating. The prior defaults were way too high. Note that we cannot afford to run out of swap-meta structures so we still stay somewhat conservative here.
|
#
81877 |
|
18-Aug-2001 |
peter |
Sigh. ufs_lookup() calls ffs_snapgone(), meaning that 'options EXT2FS' without 'options FFS' would fail to link.
|
#
80420 |
|
26-Jul-2001 |
peter |
Move MAXUSERS out of opt_param.h to make sure that other code doesn't use it rather than the tunable version.
|
#
80306 |
|
24-Jul-2001 |
brooks |
Allow ng_split to be compiled in staticly.
MFC after: 7 weeks
|
#
80053 |
|
20-Jul-2001 |
pirzyk |
Put a knob in the kernel config files to tweak the user max stack size.
PR: kern/28925 Reviewed by: bakul@bitblocks.com and tlambert2@mindspring.com on -arch. MFC after: 1 week
|
#
79561 |
|
10-Jul-2001 |
iedowse |
Bring in dirhash, a simple hash-based lookup optimisation for large directories. When enabled via "options UFS_DIRHASH", in-core hash arrays are maintained for large directories. These allow all directory operations to take place quickly instead of requiring long linear searches. For now anyway, dirhash is not enabled by default.
The in-core hash arrays have a memory requirement that is approximately half the size of the size of the on-disk directory file. A number of new sysctl variables allow control over which directories get hashed and over the maximum amount of memory that dirhash will use:
vfs.ufs.dirhash_minsize The minimum on-disk directory size for which hashing should be used. The default is 2560 (2.5k).
vfs.ufs.dirhash_maxmem The system-wide maximum total memory to be used by dirhash data structures. The default is 2097152 (2MB).
The current amount of memory being used by dirhash is visible through the read-only sysctl variable vfs.ufs.dirhash_maxmem. Finally, some extra sanity checks that are enabled by default, but which may have an impact on performance, can be disabled by setting vfs.ufs.dirhash_docheck to 0.
Discussed on: -fs, -hackers
|
#
79412 |
|
07-Jul-2001 |
dd |
Fill paragraphs after previous commit.
|
#
79411 |
|
07-Jul-2001 |
dd |
Note that options should be listed in NOTES, not LINT, although LINT is generated from NOTES. Also correct a bogus path; <machine>/conf/options.<machine> doesn't exist.
|
#
79100 |
|
02-Jul-2001 |
mjacob |
A slightly more complete change to timeouts:
1. Add SA_IO_TIMEOUT as an option (4 minutes default) to cover reads, writes, wfm, test unit ready.
2. Add internal SCSIOP_TIMEOUT (e.g., for mode sense) at 1 minute. This should not require an option, but is cleaner to parameterize.
MFC after: 1 week
|
#
78708 |
|
24-Jun-2001 |
mjacob |
Add CAM_NEW_TRAN_CODE as an option (to be included in opt_cam.h).
|
#
78060 |
|
11-Jun-2001 |
des |
Add a PSEUDOFS option to allow pseudofs to be built statically.
|
#
77602 |
|
01-Jun-2001 |
dirk |
Fix typo (opt_acc.h -> opt_aac.h) for AAC_COMPAT_LINUX.
|
#
77574 |
|
01-Jun-2001 |
kris |
Add ``options RANDOM_IP_ID'' which randomizes the ID field of IP packets. This closes a minor information leak which allows a remote observer to determine the rate at which the machine is generating packets, since the default behaviour is to increment a counter for each packet sent.
Reviewed by: -net Obtained from: OpenBSD
|
#
77416 |
|
29-May-2001 |
phk |
Remove MFS from configs idea of the world.
|
#
77135 |
|
24-May-2001 |
jhb |
Add a new kernel option 'BLEED' to be used for code that is still under development but is being developed in the tree for whatever reason.
Not objected to by: peter, jlemon
|
#
77111 |
|
24-May-2001 |
peter |
Remove DEV_SNP -> opt_snp.h
Forgotten by: dd
|
#
77031 |
|
23-May-2001 |
ru |
- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file systems were repo-copied from sys/miscfs to sys/fs.
- Renamed the following file systems and their modules: fdesc -> fdescfs, portal -> portalfs, union -> unionfs.
- Renamed corresponding kernel options: FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.
- Install header files for the above file systems.
- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland Makefiles.
|
#
76982 |
|
22-May-2001 |
ru |
Hide UNION in opt_dontuse.h (see vfs_syscalls.c,v 1.109).
|
#
76554 |
|
13-May-2001 |
phk |
Convert DEVFS from an "opt-in" to an "opt-out" option.
If for some reason DEVFS is undesired, the "NODEVFS" option is needed now.
Pending any significant issues, DEVFS will be made mandatory in -current on july 1st so that we can start reaping the full benefits of having it.
|
#
75733 |
|
20-Apr-2001 |
jesper |
Say goodbye to TCP_COMPAT_42
Reviewed by: wollman Requested by: wollman
|
#
75458 |
|
13-Apr-2001 |
alfred |
Make SOMAXCONN a kernel option.
Submitted by: Terry Lambert <terry@lambert.org>
|
#
75424 |
|
11-Apr-2001 |
rwatson |
o Introduce "options REGRESSION", a kernel option which enables interfaces and functionality intended for use during correctness and regression testing. Features enabled by "options REGRESSION" may in and of themselves introduce security or correctness problems if used improperly, and so are not intended for use in production systems, only in testing environments.
Obtained from: TrustedBSD Project
|
#
75332 |
|
09-Apr-2001 |
bp |
Add function prototypes and base module for kernel side iconv library. Add simple "xlat" converter which performs 8to8 table based conversion. Unicode converter will be added in the near future.
Reviewed by: silence on arch@ Files placement reviewed by: bde Obtained from: smbfs
|
#
74822 |
|
26-Mar-2001 |
rwatson |
Introduce support for POSIX.1e ACLs on UFS-based file systems. This implementation is still experimental, and while fairly broadly tested, is not yet intended for production use. Support for POSIX.1e ACLs on UFS will not be MFC'd to RELENG_4.
This implementation works by providing implementations of VOP_[GS]ETACL() for FFS, as well as modifying the appropriate access control and file creation routines. In this implementation, ACLs are backed into extended attributes; the base ACL (owner, group, other) permissions remain in the inode for performance and compatibility reasons, so only the extended and default ACLs are placed in extended attributes. The logic for ACL evaluation is provided by the fs-independent kern/kern_acl.c.
o Introduce UFS_ACL, a compile-time configuration option that enables support for ACLs on FFS (and potentially other UFS-based file systems). o Introduce ufs_getacl(), ufs_setacl(), ufs_aclcheck(), which respectively get, set, and check the ACLs on the passed vnode. o Introduce ufs_sync_acl_from_inode(), ufs_sync_inode_from_acl() to maintain access control information between inode permissions and extended attribute data. o Modify ufs_access() to load a file access ACL and invoke vaccess_acl_posix1e() if ACLs are available on the file system o Modify ufs_mkdir() and ufs_makeinode() to associate ACLs with newly created directories and files, inheriting from the parent directory's default ACL. o Enable these new vnode operations and conditionally compiled code paths if UFS_ACL is defined.
A few notes:
o This implementation is fairly widely tested, but still should be considered experimental. o Currently, ACLs are not exported via NFS, instead, the summarizing file mode/etc from the inode is. This results in conservative protection behavior, similar to the behavior of ACL-nonaware programs acting locally. o It is possible that underlying binary data formats associated with this implementation may change. Consumers of the implementation should expect to find their local configuration obsoleted in the next few months, resulting in possible loss of ACL data during an upgrade. o The extended attributes interface and implementation is still undergoing modification to address portable interface concerns, as well as performance. o Many applications do not yet correctly handle ACLs. In general, due to the POSIX.1e ACL model, behavior of ACL-unaware applications will be conservative with respects to file protection; some caution is recommended. o Instructions for configuring and maintaining ACLs on UFS will be committed in the near future; in the mean time it is possible to reference the README included in the last UFS ACL distribution placed in the TrustedBSD web site:
http://www.TrustedBSD.org/downloads/
Substantial debugging, hardware, travel, or connectivity support for this project was provided by: BSDi, Safeport Network Services, and NAI Labs. Significant coding contributions were made by Chris Faulhaber. Additional support was provided by Brian Feldman, Thomas Moestl, and Ilmar Habibulin.
Reviewed by: jedgar, keichii, mckusick, trustedbsd-discuss, freebsd-fs Obtained from: TrustedBSD Project
|
#
74663 |
|
22-Mar-2001 |
scottl |
Allow AAC_COMPAT_LINUX to be used when compiling aac support into the kernel. Requires that COMPAT_LINUX also be set.
|
#
74492 |
|
19-Mar-2001 |
des |
Axe TCP_RESTRICT_RST. It was never a particularly good idea except for a few very specific scenarios, and now that we have had net.inet.tcp.blackhole for quite some time there is really no reason to use it any more.
(first of three commits)
|
#
74433 |
|
19-Mar-2001 |
rwatson |
o Change options FFS_EXTATTR and options FFS_EXTATTR_AUTOSTART to options UFS_EXTATTR and UFS_EXTATTR_AUTOSTART respectively. This change reflects the fact that our EA support is implemented entirely at the UFS layer (modulo FFS start/stop/autostart hooks for mount and unmount events). This also better reflects the fact that [shortly] MFS will also support EAs, as well as possibly IFS.
o Consumers of the EA support in FFS are reminded that as a result, they must change kernel config files to reflect the new option names.
Obtained from: TrustedBSD Project
|
#
74373 |
|
16-Mar-2001 |
gibbs |
Add the AAC_DEBUG option to enable debugging in the aac driver.
Reviewed by: msmith
|
#
74306 |
|
15-Mar-2001 |
sos |
Hmm, the last commit apparently only made it halfways
|
#
74303 |
|
15-Mar-2001 |
sos |
Remove the ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC and ATA_ENABLE_TAGS options, use the tuneables listed in ata.4 instead.
|
#
74234 |
|
14-Mar-2001 |
rwatson |
o Implement "options FFS_EXTATTR_AUTOSTART", which depends on "options FFS_EXTATTR". When extended attribute auto-starting is enabled, FFS will scan the .attribute directory off of the root of each file system, as it is mounted. If .attribute exists, EA support will be started for the file system. If there are files in the directory, FFS will attempt to start them as attribute backing files for attributes baring the same name. All attributes are started before access to the file system is permitted, so this permits race-free enabling of attributes. For attributes backing support for security features, such as ACLs, MAC, Capabilities, this is vital, as it prevents the file system attributes from getting out of sync as a result of file system operations between mount-time and the enabling of the extended attribute. The userland extattrctl tool will still function exactly as previously. Files must be placed directly in .attribute, which must be directly off of the file system root: symbolic links are not permitted. FFS_EXTATTR will continue to be able to function without FFS_EXTATTR_AUTOSTART for sites that do not want/require auto-starting. If you're using the UFS_ACL code available from www.TrustedBSD.org, using FFS_EXTATTR_AUTOSTART is recommended.
o This support is implemented by adding an invocation of ufs_extattr_autostart() to ffs_mountfs(). In addition, several new supporting calls are introduced in ufs_extattr.c:
ufs_extattr_autostart(): start EAs on the specified mount ufs_extattr_lookup(): given a directory and filename, return the vnode for the file. ufs_extattr_enable_with_open(): invoke ufs_extattr_enable() after doing the equililent of vn_open() on the passed file. ufs_extattr_iterate_directory(): iterate over a directory, invoking ufs_extattr_lookup() and ufs_extattr_enable_with_open() on each entry.
o This feature is not widely tested, and therefore may contain bugs, caution is advised. Several changes are in the pipeline for this feature, including breaking out of EA namespaces into subdirectories of .attribute (this is waiting on the updated EA API), as well as a per-filesystem flag indicating whether or not EAs should be auto-started. This is required because administrators may not want .attribute auto-started on all file systems, especially if non-administrators have write access to the root of a file system.
Obtained from: TrustedBSD Project
|
#
74047 |
|
09-Mar-2001 |
phk |
Make md(4) and mdconfig(8) take over the role of vn(4) and vnconfig(8) entirely as previously advertised.
md(4) adopted all assets of vn(4) some time back and has proper devfs support and cloning abilities to boot.
|
#
73298 |
|
01-Mar-2001 |
des |
Add the LINPROCFS option.
Forgotten by: peter
|
#
72989 |
|
24-Feb-2001 |
jhb |
Add back in INVARIANT_SUPPORT and expand the comments in NOTES about it to include the reasoning Eivind justifiably thwapped me over the head with.
|
#
72980 |
|
24-Feb-2001 |
bp |
Introduce API for sequential reads/writes (build/dissect) of mbuf chains.
Reviewed by: Ian Dowse <iedowse@maths.tcd.ie>, Bosko Milekic <bmilekic@technokratis.com>, Julian Elischer <julian@elischer.org> and arch@/net@ Obtained from: smbfs
|
#
72871 |
|
22-Feb-2001 |
jhb |
Now that zerror() and SPLASSERT() have been laid to rest, INVARIANT_SUPPORT is no longer needed. R.I.P.
|
#
72011 |
|
04-Feb-2001 |
peter |
Clean up some leftovers from the root mount cleanup that was done some time ago. FFS_ROOT and CD9660_ROOT are obsolete.
|
#
71861 |
|
31-Jan-2001 |
peter |
Add hpfs and the config glue for it. It was being skipped from test coverage.
|
#
71806 |
|
29-Jan-2001 |
sos |
Add option ATA_ENABLE_WC for enabling write caching (now off by default).
|
#
71802 |
|
29-Jan-2001 |
peter |
Supply a stub bpf_validate() (always returning false - the script is not valid) if BPF is missing. The netgraph_bpf node forced bpf to be present, reflect that in the options. Stop doing a 'count bpf' - we provide stubs. Since a handful of drivers still refer to "bpf.h", provide a more accurate indication that the API is present always. (eg: netinet6)
|
#
71797 |
|
29-Jan-2001 |
peter |
Convert mca (microchannel bus support) from something that we count (bogus) to something that we test for the presence of.
|
#
71788 |
|
29-Jan-2001 |
peter |
Convert ata and atapi #if NATA* > 0 to options instead. Stop config trying to count the number of ata* devs since they were not used anyway.
|
#
71786 |
|
29-Jan-2001 |
peter |
Turn '#if NSNP > 0' into an option.
|
#
71785 |
|
29-Jan-2001 |
peter |
Send "#if NISA > 0" to the bit-bucket and replace it with an option. These were compile-time "is the isa code present?" tests and not 'how many isa busses' tests.
|
#
71088 |
|
15-Jan-2001 |
jasone |
Implement condition variables.
|
#
71042 |
|
14-Jan-2001 |
des |
Add {ACD,AST,ATAPI,ATA}_DEBUG.
Approved by: sos
|
#
71037 |
|
14-Jan-2001 |
markm |
Remove NOBLOCKRANDOM as a compile-time option. Instead, provide exactly the same functionality via a sysctl, making this feature a run-time option.
The default is 1(ON), which means that /dev/random device will NOT block at startup.
setting kern.random.sys.seeded to 0(OFF) will cause /dev/random to block until the next reseed, at which stage the sysctl will be changed back to 1(ON).
While I'm here, clean up the sysctls, and make them dynamic. Reviewed by: des Tested on Alpha by: obrien
|
#
70426 |
|
28-Dec-2000 |
des |
Retire kernfs (kernel part).
|
#
70074 |
|
15-Dec-2000 |
jkh |
Back out these two changes inadvertantly made with the last commit.
|
#
70071 |
|
15-Dec-2000 |
jkh |
SNAPDATE is an obsolete mechanism which has also been pretty much of a no-op all along anyway. There are other ways to set this for release building, so nuke it.
PR: 22979
|
#
69953 |
|
12-Dec-2000 |
msmith |
Next round of PCI subsystem updates:
- Break out the /dev/pci driver into a separate file. - Kill the COMPAT_OLDPCI support. - Make the EISA bridge attach a bit more like the old code; explicitly check for the existence of eisa0/isa0 and only attach if they don't already exist. Only make one bus_generic_attach() pass over the bridge, once both busses are attached. Note that the stupid Intel bridge's class is entirely unpredictable. - Add prototypes and re-layout the core PCI modules in line with current coding standards (not a major whitespace change, just moving the module data to the top of the file). - Remove redundant type-2 bridge support from the core PCI code; the PCI-CardBus code does this itself internally. Remove the now entirely redundant header-class-specific support, as well as the secondary and subordinate bus number fields. These are bridge attributes now. - Add support for PCI Extended Capabilities. - Add support for PCI Power Management. The interface currently allows a driver to query and set the power state of a device. - Add helper functions to allow drivers to enable/disable busmastering and the decoding of I/O and memory ranges. - Use PCI_SLOTMAX and PCI_FUNCMAX rather than magic numbers in some places. - Make the PCI-PCI bridge code a little more paranoid about valid I/O and memory decodes. - Add some more PCI register definitions for the command and status registers. Correct another bogus definition for type-1 bridges.
|
#
68831 |
|
16-Nov-2000 |
archie |
Add kernel option NETGRAPH_ONE2MANY.
|
#
68420 |
|
06-Nov-2000 |
jhb |
- Remove much of the inlining of the KTR tracepoints into a ktr_tracepoint() function declared in kern_ktr.c. The only inline checks left are the checks that compare KTR_COMPILE with the supplied mask and thus should be optimized away into either nothing or a direct call to ktr_tracepoint(). - Move several KTR-related options to opt_ktr.h now that they are only needed by kern_ktr.c and not by ktr.h. - Add in the ktr_verbose functionality if KTR_EXTEND is turned on. If the global variable 'ktr_verbose' is non-zero, then KTR messages will be dumped to the console. This variable can be set by either kernel code or via the 'debug.ktr_verbose' sysctl. It defaults to off unless the KTR_VERBOSE kernel option is specified in which case it defaults to on. This can be useful when the machine locks up spinning in a loop with interrupts disabled as you might be able to see what it is doing when it locks up.
Requested by: phk
|
#
68086 |
|
31-Oct-2000 |
gibbs |
Add the aic7xxx option AHC_DEBUG_SEQUENCER. This enables some diagnostic code in the firmware downloaded to the aic7xxx RISC engine.
|
#
67689 |
|
27-Oct-2000 |
markm |
As the blocking model has seems to be troublesome for many, disable it for now with an option.
This option is already deprecated, and will be removed when the entropy-harvesting code is fast enough to warrant it.
|
#
67677 |
|
27-Oct-2000 |
jhb |
Add and document the WITNESS_SKIPSPIN and WITNESS_DDB kernel options.
|
#
67352 |
|
20-Oct-2000 |
jhb |
- Make the mutex code almost completely machine independent. This greatly reducues the maintenance load for the mutex code. The only MD portions of the mutex code are in machine/mutex.h now, which include the assembly macros for handling mutexes as well as optionally overriding the mutex micro-operations. For example, we use optimized micro-ops on the x86 platform #ifndef I386_CPU. - Change the behavior of the SMP_DEBUG kernel option. In the new code, mtx_assert() only depends on INVARIANTS, allowing other kernel developers to have working mutex assertiions without having to include all of the mutex debugging code. The SMP_DEBUG kernel option has been renamed to MUTEX_DEBUG and now just controls extra mutex debugging code. - Abolish the ugly mtx_f hack. Instead, we dynamically allocate seperate mtx_debug structures on the fly in mtx_init, except for mutexes that are initiated very early in the boot process. These mutexes are declared using a special MUTEX_DECLARE() macro, and use a new flag MTX_COLD when calling mtx_init. This is still somewhat hackish, but it is less evil than the mtx_f filler struct, and the mtx struct is now the same size with and without mutex debugging code. - Add some micro-micro-operation macros for doing the actual atomic operations on the mutex mtx_lock field to make it easier for other archs to override/optimize mutex ops if needed. These new tiny ops also clean up the code in some places by replacing long atomic operation function calls that spanned 2-3 lines with a short 1-line macro call. - Don't call mi_switch() from mtx_enter_hard() when we block while trying to obtain a sleep mutex. Calling mi_switch() would bogusly release Giant before switching to the next process. Instead, inline most of the code from mi_switch() in the mtx_enter_hard() function. Note that when we finally kill Giant we can back this out and go back to calling mi_switch().
|
#
67244 |
|
17-Oct-2000 |
roger |
Add new bktr options
|
#
67106 |
|
14-Oct-2000 |
adrian |
Initial commit of IFS - a inode-namespaced FFS. Here is a short description:
How it works: --
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.) I didn't see the need in duplicating all of sys/ufs/ffs to get this off the ground.
File creation is done through a special file - 'newfile' . When newfile is called, the system allocates and returns an inode. Note that newfile is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644); fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS routines. IFS replaces some of the vfsops, and a handful of vnops - most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR(). Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it. Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC). Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against this particular inode, and unravelling THAT code isn't trivial. Therefore, useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
|
#
66591 |
|
03-Oct-2000 |
sos |
add ATA_ENABLE_TAGS option
|
#
66502 |
|
01-Oct-2000 |
iwasaki |
Remove ACPI_NO_OSDFUNC_INLINE option from kernel configuration. Now that it's enabled in acpireg.h only if DIAGNOSTIC option is specified. ACPICA OSD functions will be compiled in machine/acpi_machdep.c again tentatively (if DIAGNOSTIC option is specified). # Should we have acpica_osd.c ?
|
#
66277 |
|
22-Sep-2000 |
ps |
Remove the NCPU, NAPIC, NBUS, NINTR config options. Make NAPIC, NBUS, NINTR dynamic and set NCPU to a maximum of 16 under SMP.
Reviewed by: peter
|
#
65946 |
|
16-Sep-2000 |
phk |
I have no idea how a '#' became a '*'...
Spotted by: Bernd Walter <ticso@cicely5.cicely.de>
|
#
65932 |
|
16-Sep-2000 |
phk |
Make LINT compile.
|
#
65854 |
|
14-Sep-2000 |
markm |
Take out the RANDOMDEV option. The entropy device is a (pseudo-)device now.
|
#
65557 |
|
06-Sep-2000 |
jasone |
Major update to the way synchronization is done in the kernel. Highlights include:
* Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.)
* Per-CPU idle processes.
* Interrupts are run in their own separate kernel threads and can be preempted (i386 only).
Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
|
#
65515 |
|
06-Sep-2000 |
phk |
Add refcounts to the "global" DEVFS inode slots, this allows us to recycle inodes after a destroy_dev() but not until all mounts have picked up the change.
Add support for an overflow table for DEVFS inodes. The static table defaults to 1024 inodes, if that fills, an overflow table of 32k inodes is allocated. Both numbers can be changed at compile time, the size of the overflow table also with the sysctl vfs.devfs.noverflow.
Use atomic instructions to barrier between make_dev()/destroy_dev() and the mounts.
Add lockmgr() locking of directories for operations accessing or modifying the directory TAILQs.
Various nitpicking here and there.
|
#
65345 |
|
01-Sep-2000 |
msmith |
List opt_asr.h for creation, as it's expected by the 'asr' driver in a static kernel build.
|
#
65310 |
|
31-Aug-2000 |
archie |
New netgraph node type for Ethernet bridging. No ipfw support yet.
|
#
65292 |
|
31-Aug-2000 |
takawata |
Merge rest piece of ACPI driver.To activate acpi driver ,add
device acpi
line. Merge finished. But still experimental phase.Need more hack!
Obtained from:ACPI for FreeBSD project
|
#
63891 |
|
26-Jul-2000 |
jhb |
Remove the SHM_PHYS_BACKED option.
Approved by: peter (in principle)
|
#
63577 |
|
19-Jul-2000 |
kris |
Temporary hack for the benefit of the X-Bone project (http://www.isi.edu/xbone). I expect this to go away in due course.
Submitted by: Lars Eggert <larse@ISI.EDU>
|
#
63309 |
|
17-Jul-2000 |
sheldonh |
Rename MDNSECT to MD_NSECT and declare it as something that isn't default in NOTES.
Requested by: bde Approved by: phk
|
#
63256 |
|
16-Jul-2000 |
itojun |
s/IPSEC_IPV6FWD/IPSEC/. this avoids unexpected behavior on ipv6 fowarding. (even if you ask for tunnel-mode encryption packets will go out in clear) sync with kame.
|
#
63142 |
|
14-Jul-2000 |
sheldonh |
Actually allow ``options MDNSECT=<numsects>'' in kernel configs to specify the default maximum size of malloc(9)-backed md(4) devices and complete the documentation of this option.
|
#
62568 |
|
04-Jul-2000 |
jhb |
Replace the PQ_*CACHE options with a single PQ_CACHESIZE option that you set equal to the number of kilobytes in your cache. The old options are still supported for backwards compatibility.
Submitted by: Kelly Yancey <kbyanc@posi.net>
|
#
62143 |
|
26-Jun-2000 |
archie |
Make the ng_ether(4) node type dynamically loadable like the rest. This means 'options NETGRAPH' is no longer necessary in order to get netgraph-enabled Ethernet interfaces. This supports loading/unloading the ng_ether.ko and attaching/detaching the Ethernet interface in any order.
Add two new hooks 'upper' and 'lower' to allow access to the protocol demux engine and the raw device, respectively. This enables bridging to be defined as a netgraph node, if so desired.
Reviewed by: freebsd-net@freebsd.org
|
#
62058 |
|
25-Jun-2000 |
markm |
Get the build bits right for the new Architecture Independant null- and entropy drivers. Reviewed by: dfr(mostly)
|
#
61932 |
|
22-Jun-2000 |
cokane |
Converted all TDFX_VERBOSE ifdefs to DEBUG, now it gets debugged with the rest of the kernel. Added new option TDFX_LINUX for optional LINUX_EMULATION, so that perhaps some people don't have to use linux emu to run the driver if they don't want to.
|
#
61930 |
|
22-Jun-2000 |
cokane |
Stick the tdfx entry in here, after some cleaning.
|
#
61837 |
|
19-Jun-2000 |
alfred |
return of the accept filter part II
accept filters are now loadable as well as able to be compiled into the kernel.
two accept filters are provided, one that returns sockets when data arrives the other when an http request is completed (doesn't work with 0.9 requests)
Reviewed by: jmg
|
#
61784 |
|
18-Jun-2000 |
mjacob |
Remove all but one (ISP_TARGET_MODE) option for isp.
|
#
61649 |
|
14-Jun-2000 |
ps |
Add option ALT_BREAK_TO_DEBUGGER.
Implement the Solaris way to break into DDB over a serial console instead of sending a break. Sending the character sequence CR ~ ^b will break the kernel into DDB (if DDB is enabled).
Reviewed by: peter
|
#
61470 |
|
10-Jun-2000 |
peter |
Add ISP_COMPILE_12160_FW and ISP_COMPILE_12160_FW options to opt_isp.h
|
#
61359 |
|
07-Jun-2000 |
rwatson |
Introduce additional POSIX.1e-related stubs
o options CAPABILITIES o kern/kern_cap.c -- syscall stubs returning ENOSYS
syscalls.master changes to follow
Obtained from: TrustedBSD Project
|
#
60798 |
|
22-May-2000 |
dan |
sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT.
Suggested by: des/nbm
|
#
60797 |
|
22-May-2000 |
dan |
Add option ICMP_BANDLIM_SUPPRESS_OUTPUT to the mix. With this option, badport_bandlim() will not muck up your console with printf() messages.
|
#
60758 |
|
21-May-2000 |
peter |
Provide a temporary undocumented option: SHM_PHYS_BACKED. This will become sysctl and/or flags controlled later. It's mainly here for an easy place to test the physical memory backed objects.
|
#
60641 |
|
16-May-2000 |
darrenr |
add IPFILTER_DEFAULT_BLOCK and put it in opt_ipfilter.h
|
#
60318 |
|
10-May-2000 |
darrenr |
options PFIL_HOOKS -> opt_pfil_hooks.h
|
#
60276 |
|
09-May-2000 |
jhb |
Move UKBD_DFLT_KEYMAP into the options file since USB is machine independent. This allows the ukbd0 driver to compile on the Alpha.
Approved by: o`brien (in principle)
|
#
59839 |
|
01-May-2000 |
peter |
Move the MSG* and SEM* options to opt_sysvipc.h Remove evil allocation macros from machdep.c (why was that there???) and use malloc() instead. Move paramters out of param.h and into the code itself. Move a bunch of internal definitions from public sys/*.h headers (without #ifdef _KERNEL even) into the code itself.
I had hoped to make some of this more dynamic, but the cost of doing wakeups on all sleeping processes on old arrays was too frightening. The other possibility is to initialize on the first use, and allow dynamic sysctl changes to parameters right until that point. That would allow /etc/rc.sysctl to change SEM* and MSG* defaults as we presently do with SHM*, but without the nightmare of changing a running system.
|
#
59241 |
|
15-Apr-2000 |
rwatson |
Introduce extended attribute support for FFS, allowing arbitrary (name, value) pairs to be associated with inodes. This support is used for ACLs, MAC labels, and Capabilities in the TrustedBSD security extensions, which are currently under development.
In this implementation, attributes are backed to data vnodes in the style of the quota support in FFS. Support for FFS extended attributes may be enabled using the FFS_EXTATTR kernel option (disabled by default). Userland utilities and man pages will be committed in the next batch. VFS interfaces and man pages have been in the repo since 4.0-RELEASE and are unchanged.
o ufs/ufs/extattr.h: UFS-specific extattr defines o ufs/ufs/ufs_extattr.c: bulk of support routines o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes o contrib/softupdates/ffs_softdep.c: extattr.h includes o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR
o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h (This should not be the case, and will be fixed in a future commit)
Currently attributes are not supported in MFS. This will be fixed.
Reviewed by: adrian, bp, freebsd-fs, other unthanked souls Obtained from: TrustedBSD Project
|
#
59112 |
|
09-Apr-2000 |
archie |
Add new options NETGRAPH_MPPC_COMPRESSION and NETGRAPH_MPPC_ENCRYPTION.
(Note: NETGRAPH_MPPC_COMPRESSION is disabled until we find a non-proprietary implementation of the MPPC compression algorithm.)
|
#
58820 |
|
30-Mar-2000 |
peter |
Make sysv-style shared memory tuneable params fully runtime adjustable via sysctl. It's done pretty simply but it should be quite adequate. Also move SHMMAXPGS from $machine/include/vmparam.h as the comments that went with it were wrong... we don't allocate KVM space for the pages so that comment is bogus.. The only practical limit is how much physical ram you want to lock up as this stuff isn't paged out or swap backed.
|
#
58287 |
|
19-Mar-2000 |
peter |
Connect the ISA and PCI compatability shims to an option. In this case it's options COMPAT_OLDISA and COMPAT_OLDPCI. This is meant to be a fairly strong incentive to update the older drivers to newbus, but doesn't (quite) leave anybody hanging with no hardware support. I was talking with a few folks and I was encouraged to simply break or disable the shims but that was a bit too drastic for my liking.
|
#
58133 |
|
16-Mar-2000 |
n_hibma |
Please welcome the URio driver. Written by Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>
|
#
57979 |
|
13-Mar-2000 |
ru |
Remove option MD5, it has been standardized almost two years ago.
|
#
57400 |
|
23-Feb-2000 |
guido |
Remove option IPFILTER_KLD. In case you wanted to kldload ipfilter, the module would only work in kernels built with this option.
|
#
57395 |
|
23-Feb-2000 |
jasone |
Add the VFS_AIO config option and leave it off by default. Unless the VFS_AIO option is specified, all aio-related syscalls return ENOSYS.
The aio code is very fragile right now, and is unsuitable for default inclusion in a production shell box.
Approved by: jkh
|
#
56815 |
|
29-Jan-2000 |
shin |
Add ip6fw. Yes it is almost code freeze, but as the result of many thought, now I think this should be added before 4.0...
make world check, kernel build check is done.
Reviewed by: green Obtained from: KAME project
|
#
56685 |
|
27-Jan-2000 |
sos |
remove the ATA_16BIT_ONLY options, its now automatic.
|
#
56424 |
|
23-Jan-2000 |
bp |
Allow if_ef driver to be compiled into kernel.
|
#
56292 |
|
19-Jan-2000 |
jkh |
Import simple driver for a parallel port radio clock which receives the German legal time (commonly available in Europe).
Submitted by: Sascha Schumann <sascha@schumann.cx>
|
#
56029 |
|
15-Jan-2000 |
mjacob |
add options collateral for SES/SAF-TE driver
|
#
55910 |
|
13-Jan-2000 |
peter |
Add missing 'DEVICE_SYSCTLS' to opt_bus.h. This is the (experimental?) code that exports the bus heirarchy to hw.devices.*
|
#
55667 |
|
09-Jan-2000 |
bde |
Removed defunct options EXTRA_SIO and KEY_DEBUG.
|
#
55516 |
|
06-Jan-2000 |
imp |
FDC_YE has been removed as a valid option.
Noticed by: bde
|
#
55009 |
|
22-Dec-1999 |
shin |
IPSEC support in the kernel. pr_input() routines prototype is also changed to support IPSEC and IPV6 chained protocol headers.
Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
|
#
54686 |
|
16-Dec-1999 |
obrien |
Add options used by the `sym' (Symbios SCSI) driver. SYM_SETUP_LP_PROBE_MAP Low Priority Probe Map (bits) SYM_SETUP_SCSI_DIFF HVD support for 825a, 875, 885 SYM_SETUP_PCI_PARITY PCI parity checking SYM_SETUP_MAX_LUN Number of LUNs supported
Submitted by: Gerard Roudier <groudier@club-internet.fr>
|
#
54331 |
|
08-Dec-1999 |
archie |
New netgraph node type 'pptpgre': this performs GRE encapsulation for the PPTP protocol as specified in RFC 2637.
|
#
54263 |
|
07-Dec-1999 |
shin |
udp IPv6 support, IPv6/IPv4 tunneling support in kernel, packet divert at kernel for IPv6/IPv4 translater daemon
This includes queue related patch submitted by jburkhol@home.com.
Submitted by: queue related patch from jburkhol@home.com Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
|
#
54219 |
|
06-Dec-1999 |
guido |
Add ifilter klld module to ipfilter based kernels Allow kld based kernel with option IPFILTER_LKM.
|
#
54097 |
|
03-Dec-1999 |
archie |
New netgraph node type, ng_bpf(8). This node type allows you to apply bpf(4) filters to data travelling through a netgraph network.
|
#
53722 |
|
26-Nov-1999 |
phk |
Retire MFS_ROOT and MFS_ROOT_SIZE options from the MFS implementation.
Add MD_ROOT and MD_ROOT_SIZE options to the md driver.
Make the md driver handle MFS_ROOT and MFS_ROOT_SIZE options for compatibility.
Add md driver to GENERIC, PCCARD and LINT.
This is a cleanup which removes the need for some of the worse hacks in MFS: We really want to have a rootvnode but MFS on a preloaded image doesn't really have one. md is a true device, so it is less trouble.
This has been tested with make release, and if people remember to add the "md" pseudo-device to their kernels, PicoBSD should be just fine as well. If people have no other use for MFS, it can be removed from the kernel.
|
#
53642 |
|
23-Nov-1999 |
guido |
Add kernel parts of revived ipfilter (3.3.3.)
|
#
53626 |
|
23-Nov-1999 |
shin |
Removed IPSEC and IPV6FIREWALL because they are not ready yet.
|
#
53616 |
|
23-Nov-1999 |
shin |
Temporaly re-enable IPSEC and IPV6FIREWALL to make the kernel buildable with INET6 (I'll fix those dependency later, Sorry)
PR: kern/15053 Submitted by: ssar@stacken.kth.se
|
#
53582 |
|
22-Nov-1999 |
shin |
Temporaly remove IPSEC and IPV6FIREWALL related options because they are not ready for build yet.
Commented by: des
|
#
53541 |
|
22-Nov-1999 |
shin |
KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP for IPv6 yet)
With this patch, you can assigne IPv6 addr automatically, and can reply to IPv6 ping.
Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
|
#
53485 |
|
21-Nov-1999 |
mjacob |
Add in new Qlogic isp config options:
ISP_COMPILE_1020_FW compile in Qlogic 1020/1040 PCI SCSI f/w ISP_COMPILE_1080_FW compile in Qlogic 1080/1240/1280 PCI LVD SCSI f/w ISP_COMPILE_2100_FW compile in Qlogic 2100 Fibre Channel f/w ISP_COMPILE_2200_FW compile in Qlogic 2200 Fibre Channel f/w ISP_COMPILE_FW compile in all firmware (overrides the others)
These are not on by default, thus saving about 200KBytes.
Additionally:
SCSI_ISP_WWN to define a WWN to use
|
#
53251 |
|
16-Nov-1999 |
archie |
Add option NETGRAPH_KSOCKET.
|
#
52945 |
|
06-Nov-1999 |
eivind |
Change spaces to tabs where appropriate
|
#
52944 |
|
06-Nov-1999 |
eivind |
Options cleanup. * GC unused options * Move options that exist on all architectures to conf/options * Add missing options to LINT * Sort undocumented options list in LINT
Reviewed by: green
|
#
52918 |
|
06-Nov-1999 |
sos |
Fix IRQ allocation bug on controllers using a shared interrupt.
Fix a bug which could cause panics in ad/atapi-interrupt.
Add support for UDMA66 on Promise Ultra/Fasttrak controllers.
Get rid of ATA_IGNORE_INTR, and introduce ATA_WAIT_INTR instead.
Add a delay in the dump routine in ata-disk.c, some controllers seem to need this. Also dont use the timeout watchdog when dumping.
Disable DMA on ATAPI devices as default, add option ATA_ENABLE_ATAPI_DMA for those that has HW that works.
Add support for some not-up-to-spec ATAPI devices that returns data together with completition status on data moving cmd's.
|
#
52904 |
|
05-Nov-1999 |
shin |
KAME related header files additions and merges. (only those which don't affect c source files so much)
Reviewed by: cvs-committers Obtained from: KAME project
|
#
52810 |
|
02-Nov-1999 |
archie |
Add options NETGRAPH_PPP and NETGRAPH_PPPOE.
|
#
52497 |
|
25-Oct-1999 |
julian |
Add an option for the van Jacobson Compression Netgraph node.
|
#
52419 |
|
21-Oct-1999 |
julian |
Whistle's Netgraph link-layer (sometimes more) networking infrastructure. Been in production for 3 years now. Gives Instant Frame relay to if_sr and if_ar drivers, and PPPOE support soon. See: ftp://ftp.whistle.com/pub/archie/netgraph/index.html for on-line manual pages.
Reviewed by: Doug Rabson (dfr@freebsd.org) Obtained from: Whistle CVS tree
|
#
52094 |
|
10-Oct-1999 |
peter |
Put IPFILTER_LKM into opt_ipfilter.h and delete the other two IPFILTER options that previously went there.
|
#
52068 |
|
09-Oct-1999 |
sos |
Add the options for the ATA driver.
|
#
51881 |
|
02-Oct-1999 |
mjacob |
add SA_1FM_AT_EOD option for scsi_sa- this causes a default behaviour of one filemark at end of media for tapes otherwise neither quirked nor known.
|
#
51853 |
|
02-Oct-1999 |
bp |
ncplib continued: add appropriate options to LINT.
|
#
51532 |
|
22-Sep-1999 |
dillon |
Back out a portion of the last commit. DFLTPHYS and MAXPHYS cannot be set by a kernel conf option due to the struct buf structural dependancy (sizing of b_pages[]) creating a conflict with modules (which are not compiled with kernel config options overrides).
We'll be able to sysctl these two later on when the buffer subsystem is revamped.
|
#
51528 |
|
22-Sep-1999 |
dillon |
Change default block size for user VBLK device access from 2K to PAGE_SIZE (4K on an i386, 8K on an alpha).
Make BLKDEV_IOSIZE, DFLTPHYS, and MAXPHYS kernel-configurable.
|
#
51279 |
|
14-Sep-1999 |
des |
Fix some more disordering, as well as the description string for the net.inet.tcp.drop_synfin sysctl, which for some mysterious reason said "Drop TCP packets with FIN+ACK set" (instead of "...with SYN+FIN set")
|
#
51209 |
|
12-Sep-1999 |
des |
Add the net.inet.tcp.restrict_rst and net.inet.tcp.drop_synfin sysctl variables, conditional on the TCP_RESTRICT_RST and TCP_DROP_SYNFIN kernel options, respectively. See the comments in LINT for details.
|
#
51102 |
|
08-Sep-1999 |
peter |
Zap EXPORTMFS -> opt_mfs.h - the option went away (turned on) in April this year. (mfs_vfsops.c rev 1.58)
|
#
50893 |
|
04-Sep-1999 |
bde |
Removed defunct option NULLFS_DIAGNOSTIC.
|
#
50830 |
|
03-Sep-1999 |
julian |
Revert a bunch of contraversial changes by PHK. After a quick think and discussion among various people some form of some of these changes will probably be recommitted.
The reversion requested was requested by dg while discussions proceed. PHK has indicated that he can live with this, and it has been agreed that some form of some of these changes may return shortly after further discussion.
|
#
50623 |
|
30-Aug-1999 |
phk |
Make bdev userland access work like cdev userland access unless the highly non-recommended option ALLOW_BDEV_ACCESS is used.
(bdev access is evil because you don't get write errors reported.)
Kill si_bsize_best before it kills Matt :-)
Use the specfs routines rather having cloned copies in devfs.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50073 |
|
20-Aug-1999 |
ken |
Fix short timeout problems with the pt(4) driver:
- increase the default timeout from 10 seconds to 60 seconds - add a new kernel option, SCSI_PT_DEFAULT_TIMEOUT, that lets users specify the default timeout for the pt driver to use - add two new ioctls, one to get the timeout for a given pt device, the other to set the timeout for a given pt device. The idea is that userland applications using the device can set the timeout to suit their purposes. The ioctls are defined in a new header file, sys/ptio.h
PR: 10266 Reviewed by: gibbs, joerg
|
#
49930 |
|
16-Aug-1999 |
gibbs |
Add CAM_DEBUG_DELAY option.
|
#
49602 |
|
10-Aug-1999 |
des |
Re-order list.
|
#
48596 |
|
05-Jul-1999 |
mjacob |
add another ISP option
|
#
48281 |
|
27-Jun-1999 |
mjacob |
add config option for fibre channel full duplex
|
#
47926 |
|
15-Jun-1999 |
des |
Kill option FAILSAFE.
PR: i386/12187 Approved by: bde
|
#
47757 |
|
05-Jun-1999 |
dfr |
Floppy driver options moved to conf/options.
|
#
47581 |
|
28-May-1999 |
roger |
remote the bt848/bt878 comments
Suggested by: Bruce
|
#
47522 |
|
26-May-1999 |
roger |
Updated options for the Bt848/Bt878 driver This includes the BKTR_430_FX_MODE and BKTR_SIS_VIA_MODE options which make Bt878/879 cards work better on 430FX and old SiS/VIA/OPTi boards
|
#
47508 |
|
25-May-1999 |
gibbs |
Turn the 'ahc dump eeprom' flag into a real option.
|
#
46806 |
|
09-May-1999 |
phk |
Major lobotomy of config(8). The
config kernel mumble mumble
line has been obsoleted and removed and with it went all knowledge of devices on the part of config.
You can still configure a root device (which is used if you give the "-r" flag) but now with an option:
options ROOTDEVNAME=\"da0s2e\"
The string is parsed by the same code as at the "boot -a" prompt.
At the same time, make the "boot -a" prompt both more able and more informative.
ALPHA/PC98 people: You will have to adapt a few simple changes (defining rootdev and dumpdev somewhere else) before config works for you again, sorry, but it's all in the name of progress.
|
#
46794 |
|
09-May-1999 |
peter |
Move opt_sio.h options to conf/options and activate in isa/sio.c
|
#
46502 |
|
05-May-1999 |
jb |
Add an INIT_PATH option to allow the init_path (for sys/kern/init_main.c) to be customised in an embedded system which doesn't want to run either init of sysinstall.
|
#
45822 |
|
19-Apr-1999 |
peter |
Zap LKM option and support. Farewell old friend.
|
#
45605 |
|
11-Apr-1999 |
n_hibma |
Make debugging more selective. Remove debugging options from GENERIC
|
#
45515 |
|
09-Apr-1999 |
des |
Allow setting MAXFILES in the kernel config.
|
#
45486 |
|
08-Apr-1999 |
n_hibma |
In preparation of the commit of the umass driver and to make life easier for testers.
|
#
44814 |
|
16-Mar-1999 |
mjacob |
Add options to turn off support for Qlogic 1020/1040, Qlogic 1080/1240, or Qlogic 2100 cards. This to save substantial f/w code space if you really care.
Add in options to enable expanded lun or fabric f/w downloads for Qlogic 2100.
|
#
44432 |
|
02-Mar-1999 |
semenu |
Add new kernel option:
options NTFS
|
#
44219 |
|
22-Feb-1999 |
des |
Add support for stealth forwarding (forwarding packets without touching their ttl). This can be used - in combination with the proper ipfw incantations - to make a firewall or router invisible to traceroute and other exploration tools.
This behaviour is controlled by a sysctl variable (net.inet.ip.stealth) and hidden behind a kernel option (IPSTEALTH).
Reviewed by: eivind, bde
|
#
43989 |
|
14-Feb-1999 |
nsouch |
Rename nlpt to lpt.
Remove from ppi.c the old depreciated module stuff. Print info when if_plip can't use interrupts.
|
#
43786 |
|
08-Feb-1999 |
mjacob |
add isp host adapter specific options
|
#
43203 |
|
25-Jan-1999 |
nsouch |
Terminate commit for the Intel PIIX4 SMBus support. Already committed files are sys/pci/intpm*
Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
|
#
43172 |
|
25-Jan-1999 |
peter |
NO_LKM is no longer an option. LKM support is an option itself.
|
#
43109 |
|
23-Jan-1999 |
nsouch |
Replace DEBUG by PLIP_DEBUG option
|
#
42957 |
|
21-Jan-1999 |
dillon |
This is a rather large commit that encompasses the new swapper, changes to the VM system to support the new swapper, VM bug fixes, several VM optimizations, and some additional revamping of the VM code. The specific bug fixes will be documented with additional forced commits. This commit is somewhat rough in regards to code cleanup issues.
Reviewed by: "John S. Dyson" <root@dyson.iquest.net>, "David Greenman" <dg@root.com>
|
#
42900 |
|
20-Jan-1999 |
eivind |
Add 'options DEBUG_LOCKS', which stores extra information in struct lock, and add some macros and function parameters to make sure that the information get to the point where it can be put in the lock structure.
While I'm here, add DEBUG_VFS_LOCKS to LINT.
|
#
42758 |
|
17-Jan-1999 |
peter |
LKM kernel support becomes optional on "options LKM". (Bear in mind that the default kernel is now ELF and cannot load these LKM's).
|
#
42691 |
|
15-Jan-1999 |
bde |
Use a fast interrupt handler for the PCI version of the cy driver if option CY_PCI_FASTINTR is configured and mapping the irq to a fastintr is possible. Unfortunately, this has to be optional because pci_map_int_right() doesn't handle the INTR_EXCL flag right -- INTR_EXCL is honoured even if the interrupt needs to be non-exclusive for other devices to work.
|
#
42643 |
|
14-Jan-1999 |
kjc |
add HZ missing in options. changing HZ used to break xntpd's PLL but it should be ok now (unless xntpd is misconfigured).
|
#
42487 |
|
10-Jan-1999 |
nsouch |
Forgotten options needed to build last ppbus commit.
Submitted by: "D. Rock" <rock@wurzelausix.CS.Uni-SB.DE>
|
#
42467 |
|
10-Jan-1999 |
phk |
Back out last change to sysctl.
It was nay'ed before committing on the grounds that this is not the way to do it, and has been decided as such several times in the past.
There is not point in loading gobs of ascii into the kernel when the only use of that ascii is presentation to the user.
Next thing we'd be adding all section 4 man pages to the loaded kernel as well.
The argument about KLD's is bogus, klds can store a file in /usr/share/doc/sysctl/dev/foo/thisvar.txt with a description and sysctl or other facilities can pick it up there.
Proper documentation will take several K worth of text for many sysctl variables, we don't want that in the kernel under any circumstances.
I will welcome any well thought out attempt at improving the situation wrt. sysctl documentation, but this wasn't it.
|
#
42466 |
|
10-Jan-1999 |
des |
Add kernel support for sysctl descriptions. The NO_SYSCTL_DESCRIPTIONS option disables them if they're not wanted; in that case, sysctl_sysctl_descr will always return an empty string.
Apporved by: jkh
|
#
42408 |
|
08-Jan-1999 |
eivind |
Split DIAGNOSTIC -> DIAGNOSTIC, INVARIANTS, and INVARIANT_SUPPORT as discussed on -hackers.
Introduce 'KASSERT(assertion, ("panic message", args))' for simple check + panic.
Reviewed by: msmith
|
#
42124 |
|
28-Dec-1998 |
peter |
Config glue for 'pseudo-device vinum'
|
#
41946 |
|
19-Dec-1998 |
msmith |
Move the "generic" SMP options from options.i386 to conf/options. This has the useful side-effect of ensuring that opt_smp.h is always generated, so we can assume it will always be available.
Prompted by: Andrew Gallatin <gallatin@cs.duke.edu>
|
#
41790 |
|
14-Dec-1998 |
luigi |
Bring dummynet+bridging in -current. Everything will be ready when LINT is updated.
|
#
41528 |
|
05-Dec-1998 |
dillon |
Obtained from: "Kenneth D. Merry" <ken@plutotech.com>
ICMP_BANDLIM option moved from i386/conf/options.i386 to generic conf/options since it is platform indpendant.
|
#
41366 |
|
26-Nov-1998 |
n_hibma |
Initial commit of ported NetBSD USB stack
|
#
41306 |
|
23-Nov-1998 |
phk |
Make timecounters more resistant to badly behaved SW/HW which locks out interrupts for too long. If you still see the "calcru: negative time..." message you can increase NTIMECOUNTER (see LINT).
Sideeffect is that a timecounter is required to not wrap around in less than (1 + delta) seconds instead of the (1/hz + delta) required until now.
Many thanks to: msmith, wpaul, wosch & bde
|
#
40931 |
|
05-Nov-1998 |
dg |
Implemented zero-copy TCP/IP extensions via sendfile(2) - send a file to a stream socket. sendfile(2) is similar to implementations in HP-UX, Linux, and other systems, but the API is more extensive and addresses many of the complaints that the Apache Group and others have had with those other implementations. Thanks to Marc Slemko of the Apache Group for helping me work out the best API for this. Anyway, this has the "net" result of speeding up sends of files over TCP/IP sockets by about 10X (that is to say, uses 1/10th of the CPU cycles) when compared to a traditional read/write loop.
|
#
40691 |
|
28-Oct-1998 |
dfr |
Add BUS_DEBUG option in opt_bus.h
|
#
40258 |
|
12-Oct-1998 |
bde |
Fixed bitrot in mfs options. MFS_ROOT split into MFS_ROOT and MFS_ROOT_SIZE, and MFS_AUTOLOAD went away.
|
#
40147 |
|
09-Oct-1998 |
peter |
Remove DDB_ELF_SYMBOLS and DDB_KLD_SYMBOLS options. KLD will be the sole interface to symbols in an elf kernel.
|
#
40026 |
|
07-Oct-1998 |
gibbs |
Add ADW_ALLOW_MEMIO and DPT_ALLOW_MEMIO. Until our configuration framework properly detects broken PCI-PCI bridges, users will have to manually enable memory mapped I/O for these drivers. <sigh>
|
#
39884 |
|
02-Oct-1998 |
ken |
Patches from DES to create three new kernel config options to control timeouts in the SA driver (timeouts for space, rewind and erase). Folks can lengthen the timeouts if their hardware is especially slow, or shorten them if they want to be notified of errors a little sooner.
Also, get rid of two OD driver options. The od driver has been made obsolete by the da driver.
Reviewed by: ken, gibbs Submitted by: Dag-Erling Coidan Smørgrav <des@FreeBSD.ORG>
|
#
39770 |
|
29-Sep-1998 |
abial |
Make #define NO_SWAPPING a normal kernel config option.
Reviewed by: jkh
|
#
39648 |
|
25-Sep-1998 |
peter |
Goodbye BOUNCE_BUFFERS, for a hack it has served us well.
The last consumer of this code (the old SCSI system) has left us and the CAM code does it's own bouncing. The isa dma system has been doing it's own bouncing for a while too.
Reviewed by: core
|
#
39445 |
|
17-Sep-1998 |
mjacob |
(requested by gibbs) Remove the SCSI_CAM option (and rework the isp driver that had depended on it for compilation within or without CAM to use __FreeBSD_version instead).
|
#
39271 |
|
15-Sep-1998 |
phk |
(this is an extract from src/share/examples/atm/README)
=================================== HARP | Host ATM Research Platform ===================================
HARP 3
What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research.
HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software.
HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages.
HARP implements support for the IETF Classical IP model for using IP over ATM networks, including:
o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol
What's supported ---------------- The following are supported by HARP 3:
o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters
o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs)
o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP"
o ATM Sockets interface - The file atm-sockets.txt contains further information
What's not supported -------------------- The following major features of the above list are not currently supported:
o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters
This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA).
Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
|
#
39239 |
|
15-Sep-1998 |
gibbs |
Update for CAM.
|
#
39187 |
|
14-Sep-1998 |
sos |
Remove the SLICE code. This clearly needs alot more thought, and we dont need this to hunt us down in 3.0-RELEASE.
|
#
39085 |
|
11-Sep-1998 |
rvb |
All the references to cfs, in symbols, structs, and strings have been changed to coda. (Same for CFS.)
|
#
38708 |
|
31-Aug-1998 |
sos |
Fixed bug in Miro Tuner detection. Missing Goto. Removed Hauppauge EEPROM 0x10 detection as I think 0x10 should be a PAL tuner, not NTSC. Reinstated some Tuner Guesswork code from 1.27
Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
|
#
38707 |
|
31-Aug-1998 |
sos |
Renamed BT848[SG]CAPAREA to BT848_[SG]CAPAREA. Added PR kern/7177 for SECAM Video Highway Xtreme with single crystal PLL configuration submitted by Vsevolod Lobko <seva@alex-ua.com>. In kernel configuration file add options OVERRIDE_CARD=2 options OVERRIDE_TUNER=11 options BKTR_USE_PLL
Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
|
#
38706 |
|
31-Aug-1998 |
sos |
Added Capture Area ioctl - BT848[SG]CAPAREA. Normally the full 640x480 (768x576 PAL) image is grabbed. This ioctl allows a smaller area from anywhere within the video image to be grabbed, eg a 400x300 image from (50,10). See restrictions in BT848SCAPAREA.
Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
|
#
38554 |
|
26-Aug-1998 |
sos |
Add OVERRIDE_CARD to the bktr options list
|
#
38195 |
|
08-Aug-1998 |
jkh |
A few misc changes to get the spigot and meteor board working in 3.0.
Submitted by: Jim Lowe <james@miller.cs.uwm.edu>
|
#
38115 |
|
04-Aug-1998 |
eivind |
Update DPT driver from 1.4.3 to 1.4.5
Submitted by: Simon Shapiro <shimon@simon-shapiro.org>
|
#
37575 |
|
11-Jul-1998 |
bde |
Prepare to handle MAXUSERS as a normal option.
|
#
37411 |
|
06-Jul-1998 |
julian |
Forgot to register the IPFIREWALL_FORWARD option.
|
#
37333 |
|
02-Jul-1998 |
julian |
Remove unused option
|
#
37296 |
|
30-Jun-1998 |
bde |
Nuked opt_defunct.h and kern_opt.c. config(8) now generates good enough warnings about all unknown options.
|
#
37286 |
|
30-Jun-1998 |
jmg |
move OVERRIDE_TUNER from i386 to general options... it's not i386 specific
|
#
37284 |
|
30-Jun-1998 |
jmg |
document PCI_QUIET that prevents pci from compiling in so many strings
|
#
37282 |
|
30-Jun-1998 |
jmg |
document some VM paging options for cache sizes: PQ_NOOPT no coloring PQ_LARGECACHE used for 512k/16k cache PQ_HUGECACHE used for 1024k/16k cache
|
#
37281 |
|
30-Jun-1998 |
jmg |
make NO_SCSI_SENSE a proper option (already documented in LINT)
|
#
37280 |
|
30-Jun-1998 |
jmg |
document and make EXPORTMFS a new style option
|
#
37272 |
|
30-Jun-1998 |
jmg |
convert some nfs tunables to options, these are: NFS_MINATTRTIMO VREG attrib cache timeout in sec NFS_MAXATTRTIMO NFS_MINDIRATTRTIMO VDIR attrib cache timeout in sec NFS_MAXDIRATTRTIMO NFS_GATHERDELAY Default write gather delay (msec) NFS_UIDHASHSIZ Tune the size of nfssvc_sock with this NFS_WDELAYHASHSIZ and with this NFS_MUIDHASHSIZ Tune the size of nfsmount with this NFS_NOSERVER (already documented in LINT) NFS_DEBUG turn on NFS debugging
also, because NFS_ROOT is used by very different files, it has been renamed to opt_nfsroot.h instead of the old opt_nfs.h....
|
#
37222 |
|
27-Jun-1998 |
dfr |
Add options for selecting ELF or KLD symbols in DDB.
|
#
36735 |
|
07-Jun-1998 |
dfr |
This commit fixes various 64bit portability problems required for FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change.
The prototype FreeBSD/alpha machdep will follow in a couple of days time.
|
#
36678 |
|
05-Jun-1998 |
julian |
Reverse the default sense of the IPFW/DIVERT reinjection code so that the new behaviour is now default. Solves the "infinite loop in diversion" problem when more than one diversion is active. Man page changes follow.
The new code is in -stable as the NON default option.
|
#
36369 |
|
25-May-1998 |
julian |
Add optional code to change the way that divert and ipfw work together. Prior to this change, Accidental recursion protection was done by the diverted daemon feeding back the divert port number it got the packet on, as the port number on a sendto(). IPFW knew not to redivert a packet to this port (again). Processing of the ruleset started at the beginning again, skipping that divert port.
The new semantic (which is how we should have done it the first time) is that the port number in the sendto() is the rule number AFTER which processing should restart, and on a recvfrom(), the port number is the rule number which caused the diversion. This is much more flexible, and also more intuitive. If the user uses the same sockaddr received when resending, processing resumes at the rule number following that that caused the diversion. The user can however select to resume rule processing at any rule. (0 is restart at the beginning)
To enable the new code use
option IPFW_DIVERT_RESTART
This should become the default as soon as people have looked at it a bit
|
#
36319 |
|
23-May-1998 |
jkh |
Add CVS option Submitted by: Robert Baron <rvb@sicily.odyssey.cs.cmu.edu>
|
#
36179 |
|
19-May-1998 |
phk |
Make the size of the msgbuf (dmesg) a "normal" option.
|
#
35324 |
|
20-Apr-1998 |
julian |
Get rid of DEVFS_ROOT it no longer has any effect.
SLICE is in some ways a replacement but is destined to also go away.
|
#
35323 |
|
20-Apr-1998 |
julian |
Make the devfs SLICE option a standard type option. (hopefully it will go away eventually anyhow)
|
#
34925 |
|
28-Mar-1998 |
dufault |
Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and _KPOSIX_PRIORITY_SCHEDULING options to work. Changes:
Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones;
Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;
Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;
Add options to LINT;
Minor fixes to P1003_1B code during testing.
|
#
34746 |
|
21-Mar-1998 |
peter |
Make this compile.. There are some unpleasing hacks in here. A major unifdef session is sorely tempting but would destroy any remaining chance of tracking the original sources.
|
#
34693 |
|
19-Mar-1998 |
dyson |
Add ENABLE_VFS_IOOPT kernel option.
|
#
34573 |
|
14-Mar-1998 |
tegge |
Add a BOOTP_WIRED_TO option, for use on machines with multiple network cards where the first detected card should not be used for bootp. Submitted by: Doug Ambrisko <ambrisko@whistle.com>
|
#
34471 |
|
10-Mar-1998 |
eivind |
Document options policy.
Reviewed by: bde
|
#
34266 |
|
08-Mar-1998 |
julian |
Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman) Submitted by: Kirk McKusick (mcKusick@mckusick.com) Obtained from: WHistle development tree
|
#
34030 |
|
04-Mar-1998 |
dufault |
Reviewed by: msmith, bde long ago POSIX.4 headers and sysctl variables. Nothing should change unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
|
#
33870 |
|
27-Feb-1998 |
itojun |
make sys/netkey/key{,_debug}.c compile. I believe it works but not tested. I'll polish the code later on.
|
#
33757 |
|
23-Feb-1998 |
dyson |
Try to dynamically size the VM_KMEM_SIZE (but is still able to be overridden in a way identically as before.) I had problems with the system properly handling the number of vnodes when there is alot of system memory, and the default VM_KMEM_SIZE. Two new options "VM_KMEM_SIZE_SCALE" and "VM_KMEM_SIZE_MAX" have been added to support better auto-sizing for systems with greater than 128MB.
Add some accouting for vm_zone memory allocations, and provide properly for vm_zone allocations out of the kmem_map. Also move the vm_zone allocation stats to the VM OID tree from the KERN OID tree.
|
#
33445 |
|
16-Feb-1998 |
eivind |
Add HW_WDOG to LINT, and turn it into a new-style option.
|
#
33277 |
|
12-Feb-1998 |
eivind |
Make NO_LKM a new-style option.
Forgotten by: dima
|
#
33135 |
|
06-Feb-1998 |
eivind |
Throw DEBUG and DIAGNOSTIC in opt_global.h
|
#
33108 |
|
04-Feb-1998 |
eivind |
Turn DIAGNOSTIC into a new-style option.
|
#
33072 |
|
04-Feb-1998 |
eivind |
Change LINT_PCCARD_HACK to COMPILING_LINT, and put it in its own header file "opt_lint.h". This should prevent the next person needing the same trick from inventing their own option, too.
|
#
33071 |
|
04-Feb-1998 |
eivind |
Make SPX_HACK a new-style option.
|
#
33069 |
|
04-Feb-1998 |
eivind |
Put SCSI_2_DEF in opt_scsi.h. This cause a lot more recompliation than necessary when this option change, but I don't think it is worth its own header file.
|
#
33068 |
|
04-Feb-1998 |
eivind |
Make FAILSAFE a new-style option.
|
#
32929 |
|
31-Jan-1998 |
eivind |
Make the debug options new-style.
This also zaps a DPT option from lint; it wasn't referenced from anywhere.
|
#
32925 |
|
31-Jan-1998 |
eivind |
Make POWERFAIL_NMI, PPS_SYNC and NATM new style options.
This also fixes a couple of defunct options; submitted by bde.
|
#
32889 |
|
30-Jan-1998 |
phk |
Retire LFS.
If you want to play with it, you can find the final version of the code in the repository the tag LFS_RETIREMENT.
If somebody makes LFS work again, adding it back is certainly desireable, but as it is now nobody seems to care much about it, and it has suffered considerable bitrot since its somewhat haphazard integration.
R.I.P
|
#
32808 |
|
26-Jan-1998 |
julian |
Move DPT related options out of i386 specific files so DPT devices can be used on other PCI (alpha?) machines.
Suggested by: several people
|
#
32752 |
|
25-Jan-1998 |
eivind |
Make TCP_COMPAT_42 a new style option.
|
#
32751 |
|
25-Jan-1998 |
eivind |
Turn NSWAPDEV into a new-style option.
|
#
32749 |
|
25-Jan-1998 |
eivind |
Make MD5 a new-style option. This one was eeeeeaaaaaasssssyyyyy ;-)
|
#
32726 |
|
24-Jan-1998 |
eivind |
Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.
This introduce an xxxFS_BOOT for each of the rootable filesystems. (Presently not required, but encouraged to allow a smooth move of option *FS to opt_dontuse.h later.)
LFS is temporarily disabled, and will be re-enabled tomorrow.
|
#
32358 |
|
09-Jan-1998 |
eivind |
Make the BOOTP family new-style options (in opt_bootp.h)
|
#
32356 |
|
08-Jan-1998 |
eivind |
NETATALK -> opt_atalk.h
|
#
32350 |
|
08-Jan-1998 |
eivind |
Make INET a proper option.
This will not make any of object files that LINT create change; there might be differences with INET disabled, but hardly anything compiled before without INET anyway. Now the 'obvious' things will give a proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The only thing that _should_ work (but can't be made to compile reasonably easily) is sppp :-(
This commit move struct arpcom from <netinet/if_ether.h> to <net/if_arp.h>.
|
#
31790 |
|
16-Dec-1997 |
eivind |
EXT2FS and MSDOSFS to the opt_dontuse bin.
|
#
31778 |
|
16-Dec-1997 |
eivind |
Make COMPAT_43 and COMPAT_SUNOS new-style options.
|
#
31749 |
|
15-Dec-1997 |
eivind |
Convert SUIDDIR fully to a new-style option.
Forgotten by: julian
|
#
31742 |
|
15-Dec-1997 |
eivind |
Throw options IPX, IPXIP and IPTUNNEL into opt_ipx.h.
The #ifdef IPXIP in netipx/ipx_if.h is OK (used from ipx_usrreq.c and ifconfig.c only).
I also fixed a typo IPXTUNNEL -> IPTUNNEL (and #ifdef'ed out the code inside, as it never could have compiled - doh.)
|
#
31144 |
|
12-Nov-1997 |
julian |
Reviewed by: hackers@freebsd.org in general Obtained from: Whistle Communications tree
Add an option to the way UFS works dependent on the SUID bit of directories This changes makes things a whole lot simpler on systems running as fileservers for PCs and MACS. to enable the new code you must 1/ enable option SUIDDIR on the kernel. 2/ mount the filesystem with option suiddir. hopefully this makes it difficult enough for people to do this accidentally. see the new chmod(2) man page for detailed info.
|
#
30966 |
|
05-Nov-1997 |
joerg |
Make IPDIVERT a supported option. Alas, in_var.h depends on it, i hope i've found out all files that actually depend on this dependancy. IMHO, it's not very good practice to change the size of internal structs depending on kernel options.
|
#
30526 |
|
17-Oct-1997 |
peter |
Convert PPP_FILTER to an option
|
#
29725 |
|
22-Sep-1997 |
joerg |
Make MFS a supported option, finally.
|
#
29514 |
|
16-Sep-1997 |
joerg |
Make TCPDEBUG a new-style option.
|
#
29268 |
|
10-Sep-1997 |
peter |
Allow a compile-time override of the ipfw deny rule. For a 'firewall' you don't want this (and the documentation explains why), but if you use ipfw as an as-needed casual filter as needed which normally runs as 'allow all' then having the kernel and /sbin/ipfw get out of sync is a *MAJOR* pain in the behind.
PR: 4141 Submitted by: Heikki Suonsivu <hsu@mail.clinet.fi>
|
#
28425 |
|
19-Aug-1997 |
peter |
Use two NetBSD-style options (PPP_DEFLATE and PPP_BSDCOMP) to control whether or not to compile the two ppp compression methods.
|
#
26447 |
|
04-Jun-1997 |
pst |
Document a non-standard gdbremote protocol extension (kludge, really) that I snuck in to our GDB last year. This allows you to debug headless machines by sharing the console port between the debugger and the system console. It's not 100% reliabile, but it works well. It's optional and disabled by default. Submitted by: Juniper Networks
|
#
25460 |
|
04-May-1997 |
joerg |
This mega-commit brings the following:
. It makes cd9660 root f/s working again. . It makes CD9660 a new-style option. . It adds support to mount an ISO9660 multi-session CD-ROM as the root filesystem (the last session actually, but that's what is expected behaviour).
Sigh. The CDIOREADTOCENTRYS did a copyout() of its own, and thus has been unusable for me for this work. Too bad it didn't simply stuff the max 100 entries into the struct ioc_read_toc_entry, but relied on a user supplied data buffer instead. :-( I now had to reinvent the wheel, and created a CDIOREADTOCENTRY ioctl command that can be used in a kernel context.
While doing this, i noticed the following bogosities in existing CD-ROM drivers:
wcd: This driver is likely to be totally bogus when someone tries two succeeding CDIOREADTOCENTRYS (or now CDIOREADTOCENTRY) commands with requesting MSF format, since it apparently operates on an internal table.
scd: This driver apparently returns just a single TOC entry only for the CDIOREADTOCENTRYS command.
I have only been able to test the CDIOREADTOCENTRY command with the cd(4) driver. I hereby request the respective maintainers of the other CD-ROM drivers to verify my code for their driver. When it comes to merging this CD-ROM multisession stuff into RELENG_2_2 i will only consider drivers where i've got a confirmation that it actually works.
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
22548 |
|
10-Feb-1997 |
wollman |
Fix spelling of net.inet.ip.forwarding. Add ARP_PROXYALL to defunct options.
|
#
22037 |
|
27-Jan-1997 |
bde |
Removed bogus options CHILD_MAX and OPEN_MAX.
Put obsolete GATEWAY option back in opt_defunct.h. It's the only significant option that has gone away since 2.1.6, so warning about it might be useful.
|
#
22034 |
|
27-Jan-1997 |
bde |
Removed non-options MSGMAX, SEMAEM, SEMUSZ and SEMVMX.
|
#
21770 |
|
16-Jan-1997 |
bde |
Removed option EXTRAVNODES. All versions of FreeBSD-2.x have a sysctl variable `kern.maxvnodes' which gives much better control over vnode allocation than EXTRAVNODES (except in -current between 1995/10/28 and 1996/11/12, kern.maxvnodes was read-only and thus useless).
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
20939 |
|
26-Dec-1996 |
peter |
Put INCLUDE_CONFIG_FILE into opt_config.h rather than the CFLAGS line
|
#
20867 |
|
23-Dec-1996 |
bde |
Sorted options.
|
#
20866 |
|
23-Dec-1996 |
bde |
Fixed spelling of SCSI_NCR_MAX*.
|
#
20821 |
|
22-Dec-1996 |
joerg |
Make DFLDSIZ and MAXDSIZ fully-supported options.
"Don't forget to do a ``make depend''" :-)
|
#
20516 |
|
15-Dec-1996 |
se |
Add options for NCR driver.
|
#
19228 |
|
28-Oct-1996 |
phk |
DEVFS_ROOT -> opt_devfs.h
|
#
17167 |
|
14-Jul-1996 |
joerg |
Turn SCSIDEBUG into a new-style option.
|
#
16621 |
|
23-Jun-1996 |
bde |
Finished converting ipfw to use opt_ipfw.h.
|
#
16406 |
|
16-Jun-1996 |
joerg |
Miscellaneous cleanup and minor fixes by Shunsuke and by me.
. use new-style options . introduce an option OD_AUTO_TURNOFF . try to use the native geometry as reported by the drive instead of a faked on -- MOs do have a ``classical'' geometry . make the scsi_start_unit() actually working . some cosmetic fixes
Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
|
#
16333 |
|
12-Jun-1996 |
gpalmer |
Convert ipfw to use opt_ipfw.h
|
#
16025 |
|
30-May-1996 |
peter |
Add an option "EXTRA_VNODES" to cause an extra number of vnode structures to be allocated at boot time. This is an expensive option, as they consume physical ram and are not pageable etc. In certain situations, this kind of option is quite useful, especially for news servers that access a large number of directories at random and torture the name cache. Defining 5000 or 10000 extra vnodes should cut down the amount of vnode recycling somewhat, which should allow better name and directory caching etc.
This is a "your mileage may vary" option, with no real indication of what works best for your machine except trial and error. Too many will cost you ram that you could otherwise use for disk buffers etc.
This is based on something John Dyson mentioned to me a while ago.
|
#
15729 |
|
11-May-1996 |
bde |
Hide options for emulators and static file systems in opt_dontuse.h. These options only apply at config time. Using them at compile time would break the corresponding lkms.
|
#
15631 |
|
05-May-1996 |
pst |
Add DDB_UNATTENDED to opt_ddb.h where it belongs.
|
#
14913 |
|
29-Mar-1996 |
bde |
Added newlines and punctuation.
Removed defunct options. It will be easy to keep track of bogus options by looking at CFLAGS when all real options are moved out of CFLAGS.
|
#
14337 |
|
02-Mar-1996 |
wollman |
Add RCS Id.
|
#
14328 |
|
02-Mar-1996 |
peter |
Add more options into the conf/options and i386/conf/options.i386 files and the #include hooks so that 'make depend' is more useful. This covers most of the options I regularly use (but not all) and some other easy ones.
|
#
13265 |
|
05-Jan-1996 |
wollman |
Convert BOUNCE_BUFFERS and BOUNCEPAGES to new option scheme.
|
#
13260 |
|
05-Jan-1996 |
wollman |
Convert QUOTA to new-style option.
|
#
13257 |
|
05-Jan-1996 |
wollman |
convert FDESC, KERNFS, NULLFS, PORTAL, UMAPFS, and UNION to the new style of options.
|
#
13228 |
|
04-Jan-1996 |
wollman |
Convert DDB to new-style option.
|
#
13226 |
|
04-Jan-1996 |
wollman |
Convert SYSV IPC to new-style options. (I hope I got everything...) The LKMs will need an extra file, to come later.
|
#
13206 |
|
03-Jan-1996 |
wollman |
Convert PROCFS to the new style of options by the simple expedient of adding it to this file.
|
#
13203 |
|
03-Jan-1996 |
wollman |
Converted two options over to the new scheme: USER_LDT and KTRACE.
|