#
259065 |
|
07-Dec-2013 |
gjb |
- Copy stable/10 (r259064) to releng/10.0 as part of the 10.0-RELEASE cycle. - Update __FreeBSD_version [1] - Set branch name to -RC1
[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so start releng/10.0 at '100' so the branch is started with a value ending in zero.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
257457 |
|
31-Oct-2013 |
brooks |
MFC r256861:
MFP4: 223121 (FDT infrastructure portion)
Implement support for interrupt-parent nodes in simplebus. The current implementation requires that device declarations have an interrupt-parent node and that it point to a device that has registered itself as a interrupt controller in fdt_ic_list_head and implements the fdt_ic interface.
Sponsored by: DARPA/AFRL Approved by: re (gjb)
|
#
257456 |
|
31-Oct-2013 |
brooks |
MFC r256865
Remove the isf(4) driver. It was created by accident and is subset of the cfi(4) driver. It remained in the tree longer than would be ideal due to the time required to bring cfi(4) to feature parity.
Sponsored by: DARPA/AFRL Approved by: re (gjb)
|
#
256821 |
|
21-Oct-2013 |
gibbs |
MFC 256813:
The Xen userland event channel driver isn't complete. Disabled it from the kernel build until it is ready.
sys/conf/files: Remove the entry for xen/evtchn/evtchn_dev.c so it is not included in any kernel builds.
Noticed by: smh Approved by: re (hrs) ------------------------------------------------------------------------
|
#
256791 |
|
20-Oct-2013 |
np |
MFC r256459.
cxgbe(4): Update T4 and T5 firmwares to 1.9.12.0
Approved by: re (glebius)
|
#
256381 |
|
12-Oct-2013 |
markm |
Merge from project branch via main. Uninteresting commits are trimmed.
Refactor of /dev/random device. Main points include:
* Userland seeding is no longer used. This auto-seeds at boot time on PC/Desktop setups; this may need some tweeking and intelligence from those folks setting up embedded boxes, but the work is believed to be minimal.
* An entropy cache is written to /entropy (even during installation) and the kernel uses this at next boot.
* An entropy file written to /boot/entropy can be loaded by loader(8)
* Hardware sources such as rdrand are fed into Yarrow, and are no longer available raw.
------------------------------------------------------------------------ r256240 | des | 2013-10-09 21:14:16 +0100 (Wed, 09 Oct 2013) | 4 lines
Add a RANDOM_RWFILE option and hide the entropy cache code behind it. Rename YARROW_RNG and FORTUNA_RNG to RANDOM_YARROW and RANDOM_FORTUNA. Add the RANDOM_* options to LINT.
------------------------------------------------------------------------ r256239 | des | 2013-10-09 21:12:59 +0100 (Wed, 09 Oct 2013) | 2 lines
Define RANDOM_PURE_RNDTEST for rndtest(4).
------------------------------------------------------------------------ r256204 | des | 2013-10-09 18:51:38 +0100 (Wed, 09 Oct 2013) | 2 lines
staticize struct random_hardware_source
------------------------------------------------------------------------ r256203 | markm | 2013-10-09 18:50:36 +0100 (Wed, 09 Oct 2013) | 2 lines
Wrap some policy-rich code in 'if NOTYET' until we can thresh out what it really needs to do.
------------------------------------------------------------------------ r256184 | des | 2013-10-09 10:13:12 +0100 (Wed, 09 Oct 2013) | 2 lines
Re-add /dev/urandom for compatibility purposes.
------------------------------------------------------------------------ r256182 | des | 2013-10-09 10:11:14 +0100 (Wed, 09 Oct 2013) | 3 lines
Add missing include guards and move the existing ones out of the implementation namespace.
------------------------------------------------------------------------ r256168 | markm | 2013-10-08 23:14:07 +0100 (Tue, 08 Oct 2013) | 10 lines
Fix some just-noticed problems:
o Allow this to work with "nodevice random" by fixing where the MALLOC pool is defined.
o Fix the explicit reseed code. This was correct as submitted, but in the project branch doesn't need to set the "seeded" bit as this is done correctly in the "unblock" function.
o Remove some debug ifdeffing.
o Adjust comments.
------------------------------------------------------------------------ r256159 | markm | 2013-10-08 19:48:11 +0100 (Tue, 08 Oct 2013) | 6 lines
Time to eat crow for me.
I replaced the sx_* locks that Arthur used with regular mutexes; this turned out the be the wrong thing to do as the locks need to be sleepable. Revert this folly.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com> (In original diff)
------------------------------------------------------------------------ r256138 | des | 2013-10-08 12:05:26 +0100 (Tue, 08 Oct 2013) | 10 lines
Add YARROW_RNG and FORTUNA_RNG to sys/conf/options.
Add a SYSINIT that forces a reseed during proc0 setup, which happens fairly late in the boot process.
Add a RANDOM_DEBUG option which enables some debugging printf()s.
Add a new RANDOM_ATTACH entropy source which harvests entropy from the get_cyclecount() delta across each call to a device attach method.
------------------------------------------------------------------------ r256135 | markm | 2013-10-08 07:54:52 +0100 (Tue, 08 Oct 2013) | 8 lines
Debugging. My attempt at EVENTHANDLER(multiuser) was a failure; use EVENTHANDLER(mountroot) instead.
This means we can't count on /var being present, so something will need to be done about harvesting /var/db/entropy/... .
Some policy now needs to be sorted out, and a pre-sync cache needs to be written, but apart from that we are now ready to go.
Over to review.
------------------------------------------------------------------------ r256094 | markm | 2013-10-06 23:45:02 +0100 (Sun, 06 Oct 2013) | 8 lines
Snapshot.
Looking pretty good; this mostly works now. New code includes:
* Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested.
* Use EVENTHANDLER to do above just before we go multiuser. Untested.
------------------------------------------------------------------------ r256088 | markm | 2013-10-06 14:01:42 +0100 (Sun, 06 Oct 2013) | 2 lines
Fix up the man page for random(4). This mainly removes no-longer-relevant details about HW RNGs, reseeding explicitly and user-supplied entropy.
------------------------------------------------------------------------ r256087 | markm | 2013-10-06 13:43:42 +0100 (Sun, 06 Oct 2013) | 6 lines
As userland writing to /dev/random is no more, remove the "better than nothing" bootstrap mode.
Add SWI harvesting to the mix.
My box seeds Yarrow by itself in a few seconds! YMMV; more to follow.
------------------------------------------------------------------------ r256086 | markm | 2013-10-06 13:40:32 +0100 (Sun, 06 Oct 2013) | 11 lines
Debug run. This now works, except that the "live" sources haven't been tested. With all sources turned on, this unlocks itself in a couple of seconds! That is no my box, and there is no guarantee that this will be the case everywhere.
* Cut debug prints.
* Use the same locks/mutexes all the way through.
* Be a tad more conservative about entropy estimates.
------------------------------------------------------------------------ r256084 | markm | 2013-10-06 13:35:29 +0100 (Sun, 06 Oct 2013) | 5 lines
Don't use the "real" assembler mnemonics; older compilers may not understand them (like when building CURRENT on 9.x).
# Submitted by: Konstantin Belousov <kostikbel@gmail.com>
------------------------------------------------------------------------ r256081 | markm | 2013-10-06 10:55:28 +0100 (Sun, 06 Oct 2013) | 12 lines
SNAPSHOT.
Simplify the malloc pools; We only need one for this device.
Simplify the harvest queue.
Marginally improve the entropy pool hashing, making it a bit faster in the process.
Connect up the hardware "live" source harvesting. This is simplistic for now, and will need to be made rate-adaptive.
All of the above passes a compile test but needs to be debugged.
------------------------------------------------------------------------ r256042 | markm | 2013-10-04 07:55:06 +0100 (Fri, 04 Oct 2013) | 25 lines
Snapshot. This passes the build test, but has not yet been finished or debugged.
Contains:
* Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below).
* Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason.
* Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob.
* Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present.
* Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item)
------------------------------------------------------------------------ r255319 | markm | 2013-09-06 18:51:52 +0100 (Fri, 06 Sep 2013) | 4 lines
Yarrow wants entropy estimations to be conservative; the usual idea is that if you are certain you have N bits of entropy, you declare N/2.
------------------------------------------------------------------------ r255075 | markm | 2013-08-30 18:47:53 +0100 (Fri, 30 Aug 2013) | 4 lines
Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the usual harvest queues. It was a nifty idea, but too heavyweight.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com>
------------------------------------------------------------------------ r255071 | markm | 2013-08-30 12:42:57 +0100 (Fri, 30 Aug 2013) | 4 lines
Separate out the Software RNG entropy harvesting queue and thread into its own files.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com>
------------------------------------------------------------------------ r254934 | markm | 2013-08-26 20:07:03 +0100 (Mon, 26 Aug 2013) | 2 lines
Remove the short-lived namei experiment.
------------------------------------------------------------------------ r254928 | markm | 2013-08-26 19:35:21 +0100 (Mon, 26 Aug 2013) | 2 lines
Snapshot; Do some running repairs on entropy harvesting. More needs to follow.
------------------------------------------------------------------------ r254927 | markm | 2013-08-26 19:29:51 +0100 (Mon, 26 Aug 2013) | 15 lines
Snapshot of current work;
1) Clean up namespace; only use "Yarrow" where it is Yarrow-specific or close enough to the Yarrow algorithm. For the rest use a neutral name.
2) Tidy up headers; put private stuff in private places. More could be done here.
3) Streamline the hashing/encryption; no need for a 256-bit counter; 128 bits will last for long enough.
There are bits of debug code lying around; these will be removed at a later stage.
------------------------------------------------------------------------ r254784 | markm | 2013-08-24 14:54:56 +0100 (Sat, 24 Aug 2013) | 39 lines
1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page
2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose()
3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand"
Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors.
4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs.
The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function)
5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block
6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow
# Submitted by: Arthur Mesh <arthurmesh@gmail.com>
Submitted by: Dag-Erling Smørgrav <des@FreeBSD.org>, Arthur Mesh <arthurmesh@gmail.com> Reviewed by: des@FreeBSD.org Approved by: re (delphij) Approved by: secteam (des,delphij)
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
256079 |
|
06-Oct-2013 |
kib |
Remove the uipc_cow.c file, which is not used since the zero copy sockets removal.
Noted by: alc Sponsored by: The FreeBSD Foundation Approved by: re (delphij)
|
#
255932 |
|
28-Sep-2013 |
alfred |
Update OFED to Linux 3.7 and update Mellanox drivers.
Update the OFED Infiniband core to the version supplied in Linux version 3.7.
The update to OFED is nearly all additional defines and functions with the exception of the addition of additional parameters to ib_register_device() and the reg_user_mr callback.
In addition the ibcore (Infiniband core) and ipoib (IP over Infiniband) have both been made into completely loadable modules to facilitate testing of the OFED stack in FreeBSD.
Finally the Mellanox Infiniband drivers are now updated to the latest version shipping with Linux 3.7.
Submitted by: Mellanox FreeBSD driver team: Oded Shanoon (odeds mellanox.com), Meny Yossefi (menyy mellanox.com), Orit Moskovich (oritm mellanox.com)
Approved by: re
|
#
255736 |
|
20-Sep-2013 |
davidch |
Substantial rewrite of bxe(4) to add support for the BCM57712 and BCM578XX controllers.
Approved by: re MFC after: 4 weeks
|
#
255570 |
|
14-Sep-2013 |
trasz |
Bring in the new iSCSI target and initiator.
Reviewed by: ken (parts) Approved by: re (delphij) Sponsored by: FreeBSD Foundation
|
#
255362 |
|
07-Sep-2013 |
markm |
Bring in some behind-the-scenes development, mainly By Arthur Mesh, the rest by me.
o Namespace cleanup; the Yarrow name is now restricted to where it really applies; this is in anticipation of being augmented or replaced by Fortuna in the future. Fortuna is mentioned, but behind #if logic, and is ignorable for now.
o The harvest queue is pulled out into its own modules.
o Entropy harvesting is emproved, both by being made more conservative, and by separating (a bit!) the sources. Available entropy crumbs are marginally improved.
o Selection of sources is made clearer. With recent revelations, this will receive more work in the weeks and months to come.
Submitted by: Arthur Mesh (partly) <arthurmesh@gmail.com>
|
#
255332 |
|
06-Sep-2013 |
cy |
Update ipfilter 4.1.28 --> 5.1.2.
Approved by: glebius (mentor) BSD Licensed by: Darren Reed <darrenr@reed.wattle.id.au> (author)
|
#
255219 |
|
04-Sep-2013 |
pjd |
Change the cap_rights_t type from uint64_t to a structure that we can extend in the future in a backward compatible (API and ABI) way.
The cap_rights_t represents capability rights. We used to use one bit to represent one right, but we are running out of spare bits. Currently the new structure provides place for 114 rights (so 50 more than the previous cap_rights_t), but it is possible to grow the structure to hold at least 285 rights, although we can make it even larger if 285 rights won't be enough.
The structure definition looks like this:
struct cap_rights { uint64_t cr_rights[CAP_RIGHTS_VERSION + 2]; };
The initial CAP_RIGHTS_VERSION is 0.
The top two bits in the first element of the cr_rights[] array contain total number of elements in the array - 2. This means if those two bits are equal to 0, we have 2 array elements.
The top two bits in all remaining array elements should be 0. The next five bits in all array elements contain array index. Only one bit is used and bit position in this five-bits range defines array index. This means there can be at most five array elements in the future.
To define new right the CAPRIGHT() macro must be used. The macro takes two arguments - an array index and a bit to set, eg.
#define CAP_PDKILL CAPRIGHT(1, 0x0000000000000800ULL)
We still support aliases that combine few rights, but the rights have to belong to the same array element, eg:
#define CAP_LOOKUP CAPRIGHT(0, 0x0000000000000400ULL) #define CAP_FCHMOD CAPRIGHT(0, 0x0000000000002000ULL)
#define CAP_FCHMODAT (CAP_FCHMOD | CAP_LOOKUP)
There is new API to manage the new cap_rights_t structure:
cap_rights_t *cap_rights_init(cap_rights_t *rights, ...); void cap_rights_set(cap_rights_t *rights, ...); void cap_rights_clear(cap_rights_t *rights, ...); bool cap_rights_is_set(const cap_rights_t *rights, ...);
bool cap_rights_is_valid(const cap_rights_t *rights); void cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src); void cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src); bool cap_rights_contains(const cap_rights_t *big, const cap_rights_t *little);
Capability rights to the cap_rights_init(), cap_rights_set(), cap_rights_clear() and cap_rights_is_set() functions are provided by separating them with commas, eg:
cap_rights_t rights;
cap_rights_init(&rights, CAP_READ, CAP_WRITE, CAP_FSTAT);
There is no need to terminate the list of rights, as those functions are actually macros that take care of the termination, eg:
#define cap_rights_set(rights, ...) \ __cap_rights_set((rights), __VA_ARGS__, 0ULL) void __cap_rights_set(cap_rights_t *rights, ...);
Thanks to using one bit as an array index we can assert in those functions that there are no two rights belonging to different array elements provided together. For example this is illegal and will be detected, because CAP_LOOKUP belongs to element 0 and CAP_PDKILL to element 1:
cap_rights_init(&rights, CAP_LOOKUP | CAP_PDKILL);
Providing several rights that belongs to the same array's element this way is correct, but is not advised. It should only be used for aliases definition.
This commit also breaks compatibility with some existing Capsicum system calls, but I see no other way to do that. This should be fine as Capsicum is still experimental and this change is not going to 9.x.
Sponsored by: The FreeBSD Foundation
|
#
255046 |
|
29-Aug-2013 |
gibbs |
Introduce a new, HVM compatible, paravirtualized timer driver for Xen. Use this new driver for both PV and HVM instances.
This driver requires a Xen hypervisor that supports vector callbacks, VCPUOP hypercalls, and reports that it has a "safe PV clock".
New timer driver: Submitted by: will Sponsored by: Spectra Logic Corporation
PV port to new driver, and bug fixes: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D
sys/dev/xen/timer/timer.c: - Register a PV timer device driver which (currently) implements device_{identify,probe,attach} and stubs device_detach. The detach routine requires functionality not provided by timecounters(4). The suspend and resume routines need additional work (due to Xen requiring that the hypercalls be executed on the target VCPU), and aren't needed for our purposes.
- Make sure there can only be one device instance of this driver, and that it only registers one eventtimers(4) and one timecounters(4) device interface. Make both interfaces use PCPU data as needed.
- Match, with a few style cleanups & API differences, the Xen versions of the "fetch time" functions.
- Document the magic scale_delta() better for the i386 version.
- When registering the event timer, bind a separate event channel for the timer VIRQ to the device's event timer interrupt handler for each active VCPU. Describe each interrupt as "xen_et:c%d", so they can be identified per CPU in "vmstat -i" or "show intrcnt" in KDB.
- When scheduling a timer into the hypervisor, try up to 60 times if the hypervisor rejects the time as being in the past. In the common case, this retry shouldn't happen, and if it does, it should only happen once. This is because the event timer advertises a minimum period of 100usec, which is only less than the usual hypercall round trip time about 1 out of every 100 tries. (Unlike other similar drivers, this one actually checks whether the hypervisor accepted the singleshot timer set hypercall.)
- Implement a RTC PV clock based on the hypervisor wallclock.
sys/conf/files: - Add dev/xen/timer/timer.c if the kernel configuration includes either the XEN or XENHVM options.
sys/conf/files.i386: sys/i386/include/xen/xen_clock_util.h: sys/i386/xen/clock.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/xen_rtc.c: - Remove previous PV timer used in i386 XEN PV kernels, the new timer introduced in this change is used instead (so we share the same code between PVHVM and PV).
MFC after: 2 weeks
|
#
255040 |
|
29-Aug-2013 |
gibbs |
Implement vector callback for PVHVM and unify event channel implementations
Re-structure Xen HVM support so that: - Xen is detected and hypercalls can be performed very early in system startup. - Xen interrupt services are implemented using FreeBSD's native interrupt delivery infrastructure. - the Xen interrupt service implementation is shared between PV and HVM guests. - Xen interrupt handlers can optionally use a filter handler in order to avoid the overhead of dispatch to an interrupt thread. - interrupt load can be distributed among all available CPUs. - the overhead of accessing the emulated local and I/O apics on HVM is removed for event channel port events. - a similar optimization can eventually, and fairly easily, be used to optimize MSI.
Early Xen detection, HVM refactoring, PVHVM interrupt infrastructure, and misc Xen cleanups:
Sponsored by: Spectra Logic Corporation
Unification of PV & HVM interrupt infrastructure, bug fixes, and misc Xen cleanups:
Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D
sys/x86/x86/local_apic.c: sys/amd64/include/apicvar.h: sys/i386/include/apicvar.h: sys/amd64/amd64/apic_vector.S: sys/i386/i386/apic_vector.s: sys/amd64/amd64/machdep.c: sys/i386/i386/machdep.c: sys/i386/xen/exception.s: sys/x86/include/segments.h: Reserve IDT vector 0x93 for the Xen event channel upcall interrupt handler. On Hypervisors that support the direct vector callback feature, we can request that this vector be called directly by an injected HVM interrupt event, instead of a simulated PCI interrupt on the Xen platform PCI device. This avoids all of the overhead of dealing with the emulated I/O APIC and local APIC. It also means that the Hypervisor can inject these events on any CPU, allowing upcalls for different ports to be handled in parallel.
sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: Map Xen per-vcpu area during AP startup.
sys/amd64/include/intr_machdep.h: sys/i386/include/intr_machdep.h: Increase the FreeBSD IRQ vector table to include space for event channel interrupt sources.
sys/amd64/include/pcpu.h: sys/i386/include/pcpu.h: Remove Xen HVM per-cpu variable data. These fields are now allocated via the dynamic per-cpu scheme. See xen_intr.c for details.
sys/amd64/include/xen/hypercall.h: sys/dev/xen/blkback/blkback.c: sys/i386/include/xen/xenvar.h: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/xen/gnttab.c: Prefer FreeBSD primatives to Linux ones in Xen support code.
sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: sys/dev/xen/balloon/balloon.c: sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/console/xencons_ring.c: sys/dev/xen/control/control.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/xenpci/xenpci.c: sys/i386/i386/machdep.c: sys/i386/include/pmap.h: sys/i386/include/xen/xenfunc.h: sys/i386/isa/npx.c: sys/i386/xen/clock.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/mptable.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/xen_rtc.c: sys/xen/evtchn/evtchn_dev.c: sys/xen/features.c: sys/xen/gnttab.c: sys/xen/gnttab.h: sys/xen/hvm.h: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_if.m: sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusvar.h: sys/xen/xenstore/xenstore.c: sys/xen/xenstore/xenstore_dev.c: sys/xen/xenstore/xenstorevar.h: Pull common Xen OS support functions/settings into xen/xen-os.h.
sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: Remove constants, macros, and functions unused in FreeBSD's Xen support.
sys/xen/xen-os.h: sys/i386/xen/xen_machdep.c: sys/x86/xen/hvm.c: Introduce new functions xen_domain(), xen_pv_domain(), and xen_hvm_domain(). These are used in favor of #ifdefs so that FreeBSD can dynamically detect and adapt to the presence of a hypervisor. The goal is to have an HVM optimized GENERIC, but more is necessary before this is possible.
sys/amd64/amd64/machdep.c: sys/dev/xen/xenpci/xenpcivar.h: sys/dev/xen/xenpci/xenpci.c: sys/x86/xen/hvm.c: sys/sys/kernel.h: Refactor magic ioport, Hypercall table and Hypervisor shared information page setup, and move it to a dedicated HVM support module.
HVM mode initialization is now triggered during the SI_SUB_HYPERVISOR phase of system startup. This currently occurs just after the kernel VM is fully setup which is just enough infrastructure to allow the hypercall table and shared info page to be properly mapped.
sys/xen/hvm.h: sys/x86/xen/hvm.c: Add definitions and a method for configuring Hypervisor event delievery via a direct vector callback.
sys/amd64/include/xen/xen-os.h: sys/x86/xen/hvm.c:
sys/conf/files: sys/conf/files.amd64: sys/conf/files.i386: Adjust kernel build to reflect the refactoring of early Xen startup code and Xen interrupt services.
sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: sys/dev/xen/control/control.c: sys/dev/xen/evtchn/evtchn_dev.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/xen/xenstore/xenstore.c: sys/xen/evtchn/evtchn_dev.c: sys/dev/xen/console/console.c: sys/dev/xen/console/xencons_ring.c Adjust drivers to use new xen_intr_*() API.
sys/dev/xen/blkback/blkback.c: Since blkback defers all event handling to a taskqueue, convert this task queue to a "fast" taskqueue, and schedule it via an interrupt filter. This avoids an unnecessary ithread context switch.
sys/xen/xenstore/xenstore.c: The xenstore driver is MPSAFE. Indicate as much when registering its interrupt handler.
sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbusvar.h: Remove unused event channel APIs.
sys/xen/evtchn.h: Remove all kernel Xen interrupt service API definitions from this file. It is now only used for structure and ioctl definitions related to the event channel userland device driver.
Update the definitions in this file to match those from NetBSD. Implementing this interface will be necessary for Dom0 support.
sys/xen/evtchn/evtchnvar.h: Add a header file for implemenation internal APIs related to managing event channels event delivery. This is used to allow, for example, the event channel userland device driver to access low-level routines that typical kernel consumers of event channel services should never access.
sys/xen/interface/event_channel.h: sys/xen/xen_intr.h: Standardize on the evtchn_port_t type for referring to an event channel port id. In order to prevent low-level event channel APIs from leaking to kernel consumers who should not have access to this data, the type is defined twice: Once in the Xen provided event_channel.h, and again in xen/xen_intr.h. The double declaration is protected by __XEN_EVTCHN_PORT_DEFINED__ to ensure it is never declared twice within a given compilation unit.
sys/xen/xen_intr.h: sys/xen/evtchn/evtchn.c: sys/x86/xen/xen_intr.c: sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/xenpci/xenpcivar.h: New implementation of Xen interrupt services. This is similar in many respects to the i386 PV implementation with the exception that events for bound to event channel ports (i.e. not IPI, virtual IRQ, or physical IRQ) are further optimized to avoid mask/unmask operations that aren't necessary for these edge triggered events.
Stubs exist for supporting physical IRQ binding, but will need additional work before this implementation can be fully shared between PV and HVM.
sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: sys/i386/xen/mp_machdep.c sys/x86/xen/hvm.c: Add support for placing vcpu_info into an arbritary memory page instead of using HYPERVISOR_shared_info->vcpu_info. This allows the creation of domains with more than 32 vcpus.
sys/i386/i386/machdep.c: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/exception.s: Add support for new event channle implementation.
|
#
254889 |
|
25-Aug-2013 |
markj |
Implement the ip, tcp, and udp DTrace providers. The probe definitions use dynamic translation so that their arguments match the definitions for these providers in Solaris and illumos. Thus, existing scripts for these providers should work unmodified on FreeBSD.
Tested by: gnn, hiren MFC after: 1 month
|
#
254657 |
|
22-Aug-2013 |
trasz |
Move the old iSCSI initiator source to a more appropriate place (sys/dev/iscsi_initiator/ instead of sys/dev/iscsi/initiator/), to make room for the new one. This is also more logical location (kernel module being named iscsi_initiator.ko, for example). There is no ongoing work on this I know of, so it shouldn't make life harder for anyone.
There are no functional changes, apart from "svn mv" and adjusting paths.
|
#
254481 |
|
18-Aug-2013 |
pjd |
Implement 32bit versions of the cap_ioctls_limit(2) and cap_ioctls_get(2) system calls as unsigned longs have different size on i386 and amd64.
Reported by: jilles Sponsored by: The FreeBSD Foundation
|
#
254260 |
|
12-Aug-2013 |
pfg |
Add read-only support for extents in ext2fs.
Basic support for extents was implemented by Zheng Liu as part of his Google Summer of Code in 2010. This support is read-only at this time.
In addition to extents we also support the huge_file extension for read-only purposes. This works nicely with the additional support for birthtime/nanosec timestamps and dir_index that have been added lately.
The implementation may not work for all ext4 filesystems as it doesn't support some features that are being enabled by default on recent linux like flex_bg. Nevertheless, the feature should be very useful for migration or simple access in filesystems that have been converted from ext2/3 or don't use incompatible features.
Special thanks to Zheng Liu for his dedication and continued work to support ext2 in FreeBSD.
Submitted by: Zheng Liu (lz@) Reviewed by: Mike Ma, Christoph Mallon (previous version) Sponsored by: Google Inc. MFC after: 3 weeks
|
#
254147 |
|
09-Aug-2013 |
obrien |
* Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah
* Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones.
* If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed.
* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one.
Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: so (des)
|
#
253845 |
|
31-Jul-2013 |
obrien |
Back out r253779 & r253786.
|
#
253789 |
|
30-Jul-2013 |
rpaulo |
Import OpenBSD's rsu(4) WLAN driver. Support chipsets are the Realtek RTL8188SU, RTL8191SU, and RTL8192SU.
Many thanks to Idwer Vollering for porting/writing the man page and for testing.
Reviewed by: adrian, hselasky Obtained from: OpenBSD Tested by: kevlo, Idwer Vollering <vidwer at gmail.com>
|
#
253779 |
|
29-Jul-2013 |
obrien |
Decouple yarrow from random(4) device.
* Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option. The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow.
* random(4) device doesn't really depend on rijndael-*. Yarrow, however, does.
* Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah
* Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones.
* If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed.
* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one.
Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: obrien
|
#
253719 |
|
27-Jul-2013 |
alfred |
Fix watchdog pretimeout.
The original API calls for pow2ns, however the new APIs from Linux call for seconds.
We need to be able to convert to/from 2^Nns to seconds in both userland and kernel to fix this and properly compare units.
|
#
253691 |
|
26-Jul-2013 |
np |
Add support for packet-sniffing tracers to cxgbe(4). This works with all T4 and T5 based cards and is useful for analyzing TSO, LRO, TOE, and for general purpose monitoring without tapping any cxgbe or cxl ifnet directly.
Tracers on the T4/T5 chips provide access to Ethernet frames exactly as they were received from or transmitted on the wire. On transmit, a tracer will capture a frame after TSO segmentation, hw VLAN tag insertion, hw L3 & L4 checksum insertion, etc. It will also capture frames generated by the TCP offload engine (TOE traffic is normally invisible to the kernel). On receive, a tracer will capture a frame before hw VLAN extraction, runt filtering, other badness filtering, before the steering/drop/L2-rewrite filters or the TOE have had a go at it, and of course before sw LRO in the driver.
There are 4 tracers on a chip. A tracer can trace only in one direction (tx or rx). For now cxgbetool will set up tracers to capture the first 128B of every transmitted or received frame on a given port. This is a small subset of what the hardware can do. A pseudo ifnet with the same name as the nexus driver (t4nex0 or t5nex0) will be created for tracing. The data delivered to this ifnet is an additional copy made inside the chip. Normal delivery to cxgbe<n> or cxl<n> will be made as usual.
/* watch cxl0, which is the first port hanging off t5nex0. */ # cxgbetool t5nex0 tracer 0 tx0 (watch what cxl0 is transmitting) # cxgbetool t5nex0 tracer 1 rx0 (watch what cxl0 is receiving) # cxgbetool t5nex0 tracer list # tcpdump -i t5nex0 <== all that cxl0 sees and puts on the wire
If you were doing TSO, a tcpdump on cxl0 may have shown you ~64K "frames" with no L3/L4 checksum but this will show you the frames that were actually transmitted.
/* all done */ # cxgbetool t5nex0 tracer 0 disable # cxgbetool t5nex0 tracer 1 disable # cxgbetool t5nex0 tracer list # ifconfig t5nex0 destroy
|
#
253572 |
|
23-Jul-2013 |
loos |
Add the support for 802.1q and port based vlans for arswitch.
Tested on: RB450G (standalone ar8316), RSPRO (standalone ar8316) and TPLink MR-3220 (ar724x integrated switch).
Approved by: adrian (mentor) Obtained from: zrouter
|
#
253316 |
|
13-Jul-2013 |
rpaulo |
Fix the urtwnfw definitions. We can now use urtwnfw in kernel config files.
|
#
253210 |
|
11-Jul-2013 |
andre |
Improve SYN cookies by encoding the MSS, WSCALE (window scaling) and SACK information into the ISN (initial sequence number) without the additional use of timestamp bits and switching to the very fast and cryptographically strong SipHash-2-4 MAC hash algorithm to protect the SYN cookie against forgeries.
The purpose of SYN cookies is to encode all necessary session state in the 32 bits of our initial sequence number to avoid storing any information locally in memory. This is especially important when under heavy spoofed SYN attacks where we would either run out of memory or the syncache would fill with bogus connection attempts swamping out legitimate connections.
The original SYN cookies method only stored an indexed MSS values in the cookie. This isn't sufficient anymore and breaks down in the presence of WSCALE information which is only exchanged during SYN and SYN-ACK. If we can't keep track of it then we may severely underestimate the available send or receive window. This is compounded with large windows whose size information on the TCP segment header is even lower numerically. A number of years back SYN cookies were extended to store the additional state in the TCP timestamp fields, if available on a connection. While timestamps are common among the BSD, Linux and other *nix systems Windows never enabled them by default and thus are not present for the vast majority of clients seen on the Internet.
The common parameters used on TCP sessions have changed quite a bit since SYN cookies very invented some 17 years ago. Today we have a lot more bandwidth available making the use window scaling almost mandatory. Also SACK has become standard making recovering from packet loss much more efficient.
This change moves all necessary information into the ISS removing the need for timestamps. Both the MSS (16 bits) and send WSCALE (4 bits) are stored in 3 bit indexed form together with a single bit for SACK. While this is significantly less than the original range, it is sufficient to encode all common values with minimal rounding.
The MSS depends on the MTU of the path and with the dominance of ethernet the main value seen is around 1460 bytes. Encapsulations for DSL lines and some other overheads reduce it by a few more bytes for many connections seen. Rounding down to the next lower value in some cases isn't a problem as we send only slightly more packets for the same amount of data.
The send WSCALE index is bit more tricky as rounding down under-estimates the available send space available towards the remote host, however a small number values dominate and are carefully selected again.
The receive WSCALE isn't encoded at all but recalculated based on the local receive socket buffer size when a valid SYN cookie returns. A listen socket buffer size is unlikely to change while active.
The index values for MSS and WSCALE are selected for minimal rounding errors based on large traffic surveys. These values have to be periodically validated against newer traffic surveys adjusting the arrays tcp_sc_msstab[] and tcp_sc_wstab[] if necessary.
In addition the hash MAC to protect the SYN cookies is changed from MD5 to SipHash-2-4, a much faster and cryptographically secure algorithm.
Reviewed by: dwmalone Tested by: Fabian Keil <fk@fabiankeil.de>
|
#
253139 |
|
10-Jul-2013 |
hiren |
Adding urtwn(4) firmware and related changes.
Reviewed by: rpaulo Approved by: sbruno (mentor)
|
#
252906 |
|
06-Jul-2013 |
pfg |
Add files related to ext2 HTree implementation
These should've been added along with r252890
Reported by: gonzo PointyHat: pfg MFC after: 1 week
|
#
252661 |
|
03-Jul-2013 |
np |
- Include the T5 firmware with the driver. - Update the T4 firmware to the latest. - Minor reorganization and updates to the version macros, etc.
Obtained from: Chelsio MFC after: 1 day
|
#
252594 |
|
03-Jul-2013 |
peter |
Add an entry for filemon.
|
#
252356 |
|
28-Jun-2013 |
davide |
- Trim an unused and bogus Makefile for mount_smbfs. - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch.
|
#
252330 |
|
28-Jun-2013 |
jeff |
- Add a general purpose resource allocator, vmem, from NetBSD. It was originally inspired by the Solaris vmem detailed in the proceedings of usenix 2001. The NetBSD version was heavily refactored for bugs and simplicity. - Use this resource allocator to allocate the buffer and transient maps. Buffer cache defrags are reduced by 25% when used by filesystems with mixed block sizes. Ultimately this may permit dynamic buffer cache sizing on low KVA machines.
Discussed with: alc, kib, attilio Tested by: pho Sponsored by: EMC / Isilon Storage Division
|
#
252064 |
|
21-Jun-2013 |
gonzo |
Rename run(4) firmware file from runfw to run.fw. Previous name was the same as top-level target name for "device runfw" kernel option and caused cyclic dependancy that lead to kernel build breakage
Module change is not strictly required and done for name unification sake
PR: conf/175751 Submitted by: Issei <i10a at herbmint.jp>
|
#
251964 |
|
18-Jun-2013 |
jfv |
Add quad port probe support, this gives the admin proper information about the slot (which should be a PCIE Gen 3 slot for this adapter) by looking back thru the PCI parent devices to the slot device.
The fix above also corrects the bandwidth display to GT/s rather than the incorrect Gb/s
Next, allow the use of ALTQ if you select the compile option IXGBE_LEGACY_TX.
Allow the use of 'unsupported' optic modules by a compile option as well.
Add a phy reset capability into the stop code, this is so a static configured driver will still behave properly when taken down (not being able to unload it).
This revision synchronizes the shared code with Intel internal current code, and note that it now includes DCB supporting code, this was necessitated by some internal changes with the code, but it also will provide the opportunity to develop this feature in the core driver down the road.
I have edited the README to get rid of some of the worse anachronisms in it as well, its by no means as robust as I might wish at this point however.
Oh, I also have included some conditional stuff in the code so it will be compatible in both the 9.X and 10 environments.
Performance has been a focus in recent changes and I believe this revision driver will perform very well in most workloads.
MFC after: 2 weeks
|
#
251842 |
|
17-Jun-2013 |
scottl |
This is an addendum to r251837. Missed adding the new references to cam_compat.c to the various makefiles.
Obtained from: Netflix
|
#
251655 |
|
12-Jun-2013 |
adrian |
Migrate the LNA mixing diversity machinery from the AR9285 HAL to the driver.
The AR9485 chip and AR933x SoC both implement LNA diversity. There are a few extra things that need to happen before this can be flipped on for those chips (mostly to do with setting up the different bias values and LNA1/LNA2 RSSI differences) but the first stage is putting this code into the driver layer so it can be reused.
This has the added benefit of making it easier to expose configuration options and diagnostic information via the ioctl API. That's not yet being done but it sure would be nice to do so.
Tested:
* AR9285, with LNA diversity enabled * AR9285, with LNA diversity disabled in EEPROM
|
#
251538 |
|
08-Jun-2013 |
rpaulo |
Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n wireless cards. This driver requires microcode which is available in FreeBSD ports: net/urtwn-firmware-kmod.
Hiren ported the urtwn(4) man page from OpenBSD and Glen just commited a port for the firmware.
TODO: - 802.11n support - Stability fixes - the driver can sustain lots of traffic but has trouble coping with simultaneous iperf sessions. - fix debugging
MFC after: 2 months Tested by: kevlo, hiren, gjb
|
#
251487 |
|
07-Jun-2013 |
adrian |
Bring over the initial static bluetooth coexistence configuration for the WB195 combo NIC - an AR9285 w/ an AR3011 USB bluetooth NIC.
The AR3011 is wired up using a 3-wire coexistence scheme to the AR9285.
The code in if_ath_btcoex.c sets up the initial hardware mapping and coexistence configuration. There's nothing special about it - it's static; it doesn't try to configure bluetooth / MAC traffic priorities or try to figure out what's actually going on. It's enough to stop basic bluetooth traffic from causing traffic stalls and diassociation from the wireless network.
To use this code, you must have the above NIC. No, it won't work for the AR9287+AR3012, nor the AR9485, AR9462 or AR955x combo cards.
Then you set a kernel hint before boot or before kldload, where 'X' is the unit number of your AR9285 NIC:
# kenv hint.ath.X.btcoex_profile=wb195
This will then appear in your boot messages:
[100482] athX: Enabling WB195 BTCOEX
This code is going to evolve pretty quickly (well, depending upon my spare time) so don't assume the btcoex API is going to stay stable.
In order to use the bluetooth side, you must also load in firmware using ath3kfw and the binary firmware file (ath3k-1.fw in my case.)
Tested:
* AR9280, no interference * WB195 - AR9285 + AR3011 combo; STA mode; basic bluetooth inquiries were enough to cause traffic stalls and disassociations. This has stopped with the btcoex profile code.
TODO:
* Importantly - the AR9285 needs ASPM disabled if bluetooth coexistence is enabled. No, I don't know why. It's likely some kind of bug to do with the AR3011 sending bluetooth coexistence signals whilst the device is asleep. Since we don't actually sleep the MAC just yet, it shouldn't be a problem. That said, to be totally correct:
+ ASPM should be disabled - upon attach and wakeup + The PCIe powersave HAL code should never be called
Look at what the ath9k driver does for inspiration.
* Add WB197 (AR9287+AR3012) support * Add support for the AR9485, which is another combo like the AR9285 * The later NICs have a different signaling mechanism between the MAC and the bluetooth device; I haven't even begun to experiment with making that HAL code work. But it should be a lot more automatic.
* The hardware can do much more interesting traffic weighting with bluetooth and wifi traffic. None of this is currently used. Ideally someone would code up something to watch the bluetooth traffic GPIO (via an interrupt) and then watch it go high/low; then figure out what the bluetooth traffic is and adjust things appropriately.
* If I get the time I may add in some code to at least track this stuff and expose statistics. But it's up to someone else to experiment with the bluetooth coexistence support and add the interesting stuff (like "real" detection of bulk, audio, etc bluetooth traffic patterns and change wifi parameters appropriately - eg, maximum aggregate length, transmit power, using quiet time to control TX duty cycle, etc.)
|
#
250963 |
|
24-May-2013 |
achim |
Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver.
Approved by: scottl (mentor)
|
#
250840 |
|
21-May-2013 |
marcel |
Add basic support for FDT to i386 & amd64. This change includes: 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now.
FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this.
Obtained from: Juniper Networks, Inc.
|
#
250838 |
|
20-May-2013 |
jkim |
Merge ACPICA 20130517.
|
#
250551 |
|
12-May-2013 |
jeff |
- Add a new general purpose path-compressed radix trie which can be used with any structure containing a uint64_t index. The tree code auto-generates type safe wrappers. - Eliminate the buf splay and replace it with pctrie. This is not only significantly faster with large files but also allows for the possibility of shared locking.
Reviewed by: alc, attilio Sponsored by: EMC / Isilon Storage Division
|
#
250386 |
|
08-May-2013 |
adrian |
Bring in a basic ethernet switch driver for the IP17x series of switches.
These are notably found on some AR71xx based Mikrotik boards.
Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> Reviewed by: ray
|
#
250173 |
|
02-May-2013 |
adrian |
Add the AR9300 HAL into the kernel and module builds.
Tested:
* make universe (honest!)
|
#
250114 |
|
30-Apr-2013 |
brooks |
MFP4 changes 222065 and 222068:
Add a simplebus attachment for cfi(4)'s FDT support and move cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported.
Sponsored by: DARPA, AFRL
|
#
249663 |
|
19-Apr-2013 |
jkim |
Merge ACPICA 20130418.
|
#
249651 |
|
19-Apr-2013 |
adrian |
Implement a very basic multi-PHY aware switch device.
This is intended to be used as a stop-gap for switch devices which expose multiple ethernet PHYs but we don't have a driver for - here, etherswitchcfg and the general switch configuration API can be used to interface to said PHYs.
Submitted by: Luiz Otavio O Souza <loos.br@gmail.com>
|
#
249596 |
|
17-Apr-2013 |
ken |
Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to sys/nfs, since it is now shared by the two NFS servers.
Suggested by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks
|
#
249592 |
|
17-Apr-2013 |
ken |
Revamp the old NFS server's File Handle Affinity (FHA) code so that it will work with either the old or new server.
The FHA code keeps a cache of currently active file handles for NFSv2 and v3 requests, so that read and write requests for the same file are directed to the same group of threads (reads) or thread (writes). It does not currently work for NFSv4 requests. They are more complex, and will take more work to support.
This improves read-ahead performance, especially with ZFS, if the FHA tuning parameters are configured appropriately. Without the FHA code, concurrent reads that are part of a sequential read from a file will be directed to separate NFS threads. This has the effect of confusing the ZFS zfetch (prefetch) code and makes sequential reads significantly slower with clients like Linux that do a lot of prefetching.
The FHA code has also been updated to direct write requests to nearby file offsets to the same thread in the same way it batches reads, and the FHA code will now also send writes to multiple threads when needed.
This improves sequential write performance in ZFS, because writes to a file are now more ordered. Since NFS writes (generally less than 64K) are smaller than the typical ZFS record size (usually 128K), out of order NFS writes to the same block can trigger a read in ZFS. Sending them down the same thread increases the odds of their being in order.
In order for multiple write threads per file in the FHA code to be useful, writes in the NFS server have been changed to use a LK_SHARED vnode lock, and upgrade that to LK_EXCLUSIVE if the filesystem doesn't allow multiple writers to a file at once. ZFS is currently the only filesystem that allows multiple writers to a file, because it has internal file range locking. This change does not affect the NFSv4 code.
This improves random write performance to a single file in ZFS, since we can now have multiple writers inside ZFS at one time.
I have changed the default tuning parameters to a 22 bit (4MB) window size (from 256K) and unlimited commands per thread as a result of my benchmarking with ZFS.
The FHA code has been updated to allow configuring the tuning parameters from loader tunable variables in addition to sysctl variables. The read offset window calculation has been slightly modified as well. Instead of having separate bins, each file handle has a rolling window of bin_shift size. This minimizes glitches in throughput when shifting from one bin to another.
sys/conf/files: Add nfs_fha_new.c and nfs_fha_old.c. Compile nfs_fha.c when either the old or the new NFS server is built.
sys/fs/nfs/nfsport.h, sys/fs/nfs/nfs_commonport.c: Bring in changes from Rick Macklem to newnfs_realign that allow it to operate in blocking (M_WAITOK) or non-blocking (M_NOWAIT) mode.
sys/fs/nfs/nfs_commonsubs.c, sys/fs/nfs/nfs_var.h: Bring in a change from Rick Macklem to allow telling nfsm_dissect() whether or not to wait for mallocs.
sys/fs/nfs/nfsm_subs.h: Bring in changes from Rick Macklem to create a new nfsm_dissect_nonblock() inline function and NFSM_DISSECT_NONBLOCK() macro.
sys/fs/nfs/nfs_commonkrpc.c, sys/fs/nfsclient/nfs_clkrpc.c: Add the malloc wait flag to a newnfs_realign() call.
sys/fs/nfsserver/nfs_nfsdkrpc.c: Setup the new NFS server's RPC thread pool so that it will call the FHA code.
Add the malloc flag argument to newnfs_realign().
Unstaticize newnfs_nfsv3_procid[] so that we can use it in the FHA code.
sys/fs/nfsserver/nfs_nfsdsocket.c: In nfsrvd_dorpc(), add NFSPROC_WRITE to the list of RPC types that use the LK_SHARED lock type.
sys/fs/nfsserver/nfs_nfsdport.c: In nfsd_fhtovp(), if we're starting a write, check to see whether the underlying filesystem supports shared writes. If not, upgrade the lock type from LK_SHARED to LK_EXCLUSIVE.
sys/nfsserver/nfs_fha.c: Remove all code that is specific to the NFS server implementation. Anything that is server-specific is now accessed through a callback supplied by that server's FHA shim in the new softc.
There are now separate sysctls and tunables for the FHA implementations for the old and new NFS servers. The new NFS server has its tunables under vfs.nfsd.fha, the old NFS server's tunables are under vfs.nfsrv.fha as before.
In fha_extract_info(), use callouts for all server-specific code. Getting file handles and offsets is now done in the individual server's shim module.
In fha_hash_entry_choose_thread(), change the way we decide whether two reads are in proximity to each other. Previously, the calculation was a simple shift operation to see whether the offsets were in the same power of 2 bucket. The issue was that there would be a bucket (and therefore thread) transition, even if the reads were in close proximity. When there is a thread transition, reads wind up going somewhat out of order, and ZFS gets confused.
The new calculation simply tries to see whether the offsets are within 1 << bin_shift of each other. If they are, the reads will be sent to the same thread.
The effect of this change is that for sequential reads, if the client doesn't exceed the max_reqs_per_nfsd parameter and the bin_shift is set to a reasonable value (22, or 4MB works well in my tests), the reads in any sequential stream will largely be confined to a single thread.
Change fha_assign() so that it takes a softc argument. It is now called from the individual server's shim code, which will pass in the softc.
Change fhe_stats_sysctl() so that it takes a softc parameter. It is now called from the individual server's shim code. Add the current offset to the list of things printed out about each active thread.
Change the num_reads and num_writes counters in the fha_hash_entry structure to 32-bit values, and rename them num_rw and num_exclusive, respectively, to reflect their changed usage.
Add an enable sysctl and tunable that allows the user to disable the FHA code (when vfs.XXX.fha.enable = 0). This is useful for before/after performance comparisons.
nfs_fha.h: Move most structure definitions out of nfs_fha.c and into the header file, so that the individual server shims can see them.
Change the default bin_shift to 22 (4MB) instead of 18 (256K). Allow unlimited commands per thread.
sys/nfsserver/nfs_fha_old.c, sys/nfsserver/nfs_fha_old.h, sys/fs/nfsserver/nfs_fha_new.c, sys/fs/nfsserver/nfs_fha_new.h: Add shims for the old and new NFS servers to interface with the FHA code, and callbacks for the
The shims contain all of the code and definitions that are specific to the NFS servers.
They setup the server-specific callbacks and set the server name for the sysctl and loader tunable variables.
sys/nfsserver/nfs_srvkrpc.c: Configure the RPC code to call fhaold_assign() instead of fha_assign().
sys/modules/nfsd/Makefile: Add nfs_fha.c and nfs_fha_new.c.
sys/modules/nfsserver/Makefile: Add nfs_fha_old.c.
Reviewed by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks
|
#
249508 |
|
15-Apr-2013 |
ivoras |
Introduce glabel labels based on GEOM ident attributes. In this initial implementation, error on the side of conservatism and only create labels for GEOMs of classes DISK and MULTIPATH.
Discussed with: trasz Approved by: silence from freebsd-geom@
|
#
249268 |
|
08-Apr-2013 |
glebius |
Merge from projects/counters: counter(9).
Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data.
See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details.
In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc.
|
#
249203 |
|
06-Apr-2013 |
marius |
- Make ata_str2mode() static, it's not used outside of ata-all.c. - Move ata_timeout() to ata-all.c so we don't need to expose both this function and ata_cam_end_transaction() but only the former. - Move ata_cmd2str() from ata-queue.c to ata-all.c so we can get rid of the former. - Add some missing prototypes.
MFC after: 3 days
|
#
249112 |
|
04-Apr-2013 |
jkim |
Merge ACPICA 20130328.
|
#
249083 |
|
04-Apr-2013 |
mav |
Remove all legacy ATA code parts, not used since options ATA_CAM enabled in most kernels before FreeBSD 9.0. Remove such modules and respective kernel options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the atacontrol utility and some man pages. Remove useless now options ATA_CAM.
No objections: current@, stable@ MFC after: never
|
#
249072 |
|
03-Apr-2013 |
brooks |
MFP4 change 217313 and part of 222068:
Add a simple nexus attachment for cfi(4).
|
#
248659 |
|
23-Mar-2013 |
mm |
Fix kernel build with options ZFS after r24571 (libzfs_core).
Submitted by: Bjoern A. Zeeb <bz@FreeBSD.org>
|
#
248449 |
|
17-Mar-2013 |
attilio |
Sync back vmcontention branch into HEAD: Replace the per-object resident and cached pages splay tree with a path-compressed multi-digit radix trie. Along with this, switch also the x86-specific handling of idle page tables to using the radix trie.
This change is supposed to do the following: - Allowing the acquisition of read locking for lookup operations of the resident/cached pages collections as the per-vm_page_t splay iterators are now removed. - Increase the scalability of the operations on the page collections.
The radix trie does rely on the consumers locking to ensure atomicity of its operations. In order to avoid deadlocks the bisection nodes are pre-allocated in the UMA zone. This can be done safely because the algorithm needs at maximum one new node per insert which means the maximum number of the desired nodes is the number of available physical frames themselves. However, not all the times a new bisection node is really needed.
The radix trie implements path-compression because UFS indirect blocks can lead to several objects with a very sparse trie, increasing the number of levels to usually scan. It also helps in the nodes pre-fetching by introducing the single node per-insert property.
This code is not generalized (yet) because of the possible loss of performance by having much of the sizes in play configurable. However, efforts to make this code more general and then reusable in further different consumers might be really done.
The only KPI change is the removal of the function vm_page_splay() which is now reaped. The only KBI change, instead, is the removal of the left/right iterators from struct vm_page, which are now reaped.
Further technical notes broken into mealpieces can be retrieved from the svn branch: http://svn.freebsd.org/base/user/attilio/vmcontention/
Sponsored by: EMC / Isilon storage division In collaboration with: alc, jeff Tested by: flo, pho, jhb, davide Tested by: ian (arm) Tested by: andreast (powerpc)
|
#
248290 |
|
14-Mar-2013 |
brooks |
FDT_DTS_FILE is expanded in a Makefile so use :R to remove the suffix rather than using echo|cut to remove everything after the first '.'.
|
#
248084 |
|
09-Mar-2013 |
attilio |
Switch the vm_object mutex to be a rwlock. This will enable in the future further optimizations where the vm_object lock will be held in read mode most of the time the page cache resident pool of pages are accessed for reading purposes.
The change is mostly mechanical but few notes are reported: * The KPI changes as follow: - VM_OBJECT_LOCK() -> VM_OBJECT_WLOCK() - VM_OBJECT_TRYLOCK() -> VM_OBJECT_TRYWLOCK() - VM_OBJECT_UNLOCK() -> VM_OBJECT_WUNLOCK() - VM_OBJECT_LOCK_ASSERT(MA_OWNED) -> VM_OBJECT_ASSERT_WLOCKED() (in order to avoid visibility of implementation details) - The read-mode operations are added: VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(), VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED() * The vm/vm_pager.h namespace pollution avoidance (forcing requiring sys/mutex.h in consumers directly to cater its inlining functions using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h consumers now must include also sys/rwlock.h. * zfs requires a quite convoluted fix to include FreeBSD rwlocks into the compat layer because the name clash between FreeBSD and solaris versions must be avoided. At this purpose zfs redefines the vm_object locking functions directly, isolating the FreeBSD components in specific compat stubs.
The KPI results heavilly broken by this commit. Thirdy part ports must be updated accordingly (I can think off-hand of VirtualBox, for example).
Sponsored by: EMC / Isilon storage division Reviewed by: jeff Reviewed by: pjd (ZFS specific review) Discussed with: alc Tested by: pho
|
#
247289 |
|
25-Feb-2013 |
np |
cxgbe(4): Update firmware to 1.8.4.0.
MFC after: 5 days
|
#
247133 |
|
21-Feb-2013 |
gallatin |
Improve mxge's receive performance for IPv6:
- Add support for IPv6 rx csum offload - Finally switch mxge from using its own driver lro, to using tcp_lro
MFC after: 7 days Sponsored by: Myricom Inc.
|
#
246849 |
|
15-Feb-2013 |
jkim |
Merge ACPICA 20130214.
|
#
246764 |
|
13-Feb-2013 |
ian |
Add a dependency so that when compiling in a static dtb, the kernel gets re-linked after changing the .dts source.
Reviewed by: cognet, arm@
|
#
246713 |
|
12-Feb-2013 |
kib |
Reform the busdma API so that new types may be added without modifying every architecture's busdma_machdep.c. It is done by unifying the bus_dmamap_load_buffer() routines so that they may be called from MI code. The MD busdma is then given a chance to do any final processing in the complete() callback.
The cam changes unify the bus_dmamap_load* handling in cam drivers.
The arm and mips implementations are updated to track virtual addresses for sync(). Previously this was done in a type specific way. Now it is done in a generic way by recording the list of virtuals in the map.
Submitted by: jeff (sponsored by EMC/Isilon) Reviewed by: kan (previous version), scottl, mjacob (isp(4), no objections for target mode changes) Discussed with: ian (arm changes) Tested by: marius (sparc64), mips (jmallet), isci(4) on x86 (jharris), amd64 (Fabian Keil <freebsd-listen@fabiankeil.de>)
|
#
246586 |
|
09-Feb-2013 |
delphij |
MFV r245512:
* Illumos zfs issue #3035 [1] LZ4 compression support in ZFS.
LZ4 is a new high-speed BSD-licensed compression algorithm created by Yann Collet that delivers very high compression and decompression performance compared to lzjb (>50% faster on compression, >80% faster on decompression and around 3x faster on compression of incompressible data), while giving better compression ratio [1].
This version of LZ4 corresponds to upstream's [2] revision 85.
Please note that for obvious reasons this is not backward read compatible. This means once a pool have LZ4 compressed data, these data can no longer be read by older ZFS implementations.
Local changes:
- On-stack hash table disabled and using kernel slab allocator instead, at this time. This requires larger kernel thread stack for zio workers. This may change in the future should we adjusted the zio workers' thread stack size. - likely and unlikely will be undefined if they are already defined, this is required for i386 XEN build. - Removed De Bruijn sequence based __builtin_ctz family of builtins in favor of the latter. Both GCC and clang supports these builtins. - Changed the way the LZ4 code detects endianness. - Manual pages modifications to mention the feature based on Illumos counterpart. - Boot loader changes to make it support LZ4 decompression.
[1] https://www.illumos.org/issues/3035 [2] http://code.google.com/p/lz4/source/list
Obtained from: Illumos (13921:9d721847e469) Tested on: FreeBSD/amd64 MFC after: 1 month
|
#
245582 |
|
17-Jan-2013 |
jkim |
Merge ACPICA 20130117.
|
#
245378 |
|
13-Jan-2013 |
rwatson |
Partially merge Perforce changeset 219942 to head:
Implement an FDT attachment for altera_avgen(4).
Portions of the changeset updating DTS and device.hints will be merged separately.
Sponsored by: DARPA, AFRL
|
#
245376 |
|
13-Jan-2013 |
rwatson |
Merge Perforce changeset 219940 to head:
Rework altera_avgen(4) to cleanly(ish) separate nexus bus attachment from the driver itself. This should allow us to plug in an fdt attachment more easily.
Sponsored by: DARPA, AFRL
|
#
245371 |
|
13-Jan-2013 |
rwatson |
Partially merge Perforce changeset 219930 to head:
Add an Intel StrataFlash (isf) driver FDT attachment.
Portions of the original changeset hooking up FDT use for BERI will be merged separately.
Sponsored by: DARPA, AFRL
|
#
245369 |
|
13-Jan-2013 |
rwatson |
Merge Perforce changeset 219927 to head:
Implement an FDT attachment for the Altera SD Card driver
Sponsored by: DARPA, AFRL
|
#
245362 |
|
13-Jan-2013 |
bryanv |
Add VirtIO to the i386 and amd64 GENERIC kernels
This also removes the kludge from r239009 that covered only the network driver.
Reviewed by: grehan Approved by: grehan (mentor) MFC after: 1 week
|
#
244957 |
|
02-Jan-2013 |
hselasky |
Add missing dependancy.
Submitted by: Michael Butler MFC after: 1 week
|
#
244952 |
|
02-Jan-2013 |
adrian |
Link if_ath_spectral.c into the build.
|
#
244945 |
|
01-Jan-2013 |
adrian |
Add missing update to link ar5416_spectral.c into the build.
|
#
244453 |
|
19-Dec-2012 |
cognet |
Get the old NFSCLIENT to compile by adding now needed files.
|
#
244267 |
|
15-Dec-2012 |
rwatson |
Four .c files from OpenBSM are used, in modified form, by the kernel to implement the BSM audit trail format. Rename the kernel versions of the files to match the userspace filenames so that it's easier to work out what they correspond to, and therefore ensure they are kept in-sync.
Obtained from: TrustedBSD Project
|
#
243839 |
|
03-Dec-2012 |
adrian |
Add the AR5416/AR9285 bluetooth coexistence code into the main kernel build.
|
#
243347 |
|
20-Nov-2012 |
jkim |
Merge ACPICA 20121114.
|
#
243245 |
|
18-Nov-2012 |
trasz |
Add UFS writesuspension mechanism, designed to allow userland processes to modify on-disk metadata for filesystems mounted for write.
Reviewed by: kib, mckusick Sponsored by: FreeBSD Foundation
|
#
243066 |
|
15-Nov-2012 |
rpaulo |
Enable back the clang warning in if_ath.c.
|
#
242949 |
|
13-Nov-2012 |
obrien |
Be more consistent.
|
#
242944 |
|
13-Nov-2012 |
obrien |
Garbage collect the explicit "compile-with", they are no longer needed.
|
#
242830 |
|
09-Nov-2012 |
rdivacky |
Dont compile some files in drm with -finline-limit=1350. GCC 4.2.1 doesnt need that and clang does not support that. This effectively reverts r126542.
|
#
242160 |
|
26-Oct-2012 |
imp |
Siba, in theory, is a architecturally neutral bus, so place it in files. It used to be in files.mips before the clean-room rewrite and really doesn't belong there. If we need to grow arch specific code, we can move it into $ARCH/$ACH/siba_machdep.c.
|
#
242066 |
|
25-Oct-2012 |
imp |
Hoist the MI compat_freebsd32 files up into files from files.*.
|
#
242008 |
|
24-Oct-2012 |
imp |
Move common fdt into files. Duplicate in files.powerpc the files shared with aim. Config is smart enough to cope with multiple lines of the same path with different options. This reduces the needless duplication.
|
#
242006 |
|
24-Oct-2012 |
imp |
Sort a few mis-sorted items.
|
#
241971 |
|
23-Oct-2012 |
andre |
Change the dependency of kern/uipc_cow.c from zero_copy_sockets to socket_send_cow. Missed in r241931.
Submitted by: pluknet
|
#
241739 |
|
19-Oct-2012 |
marius |
Fix kernel build with options ZFS after r240868.
|
#
241706 |
|
18-Oct-2012 |
attilio |
It seems that it is preferable to keep support for glabel also for filesystems that we don't support natively. Revert part of r241636 to do so.
This patch is not targeted for MFC.
Requested by: gleb, jhb
|
#
241680 |
|
18-Oct-2012 |
attilio |
Disconnect non-MPSAFE SMBFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netsmb, which is a base requirement for SMBFS.
In the while SMBFS regular users can use FUSE interface and smbnetfs port to work with their SMBFS partitions.
Also, there are ongoing efforts by vendor to support in-kernel smbfs, so there are good chances that it will get relinked once properly locked.
This is not targeted for MFC.
|
#
241636 |
|
17-Oct-2012 |
attilio |
Disconnect non-MPSAFE NTFS from the build in preparation for dropping GIANT from VFS. This code is particulary broken and fragile and other in-kernel implementations around, found in other operating systems, don't really seem clean and solid enough to be imported at all. If someone wants to reconsider in-kernel NTFS implementation for inclusion again, a fair effort for completely fixing and cleaning it up is expected.
In the while NTFS regular users can use FUSE interface and ntfs-3g port to work with their NTFS partitions.
This is not targeted for MFC.
|
#
241629 |
|
17-Oct-2012 |
attilio |
Disconnect non-MPSAFE NWFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netncp, which is a base requirement for NWFS.
In the possibility of a future maintenance of the code and later readd to the FreeBSD base, maybe we should think about a better location for netncp. I'm not entirely sure the / top location is actually right, however I will let network people to comment on that more specifically.
This is not targeted for MFC.
|
#
241608 |
|
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE CODAFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
#
241607 |
|
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE XFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
#
241606 |
|
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE PORTALFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
#
241604 |
|
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE HPFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
#
241600 |
|
15-Oct-2012 |
gonzo |
Split sdhci driver in two parts: sdhci and sdhci_pci. sdchi encapsulates a generic SD Host Controller logic that relies on actual hardware driver for register access.
sdhci_pci implements driver for PCI SDHC controllers using new SDHCI interface
No kernel config modifications are required, but if you load sdhc as a module you must switch to sdhci_pci instead.
|
#
241519 |
|
13-Oct-2012 |
attilio |
Import a FreeBSD port of the FUSE Linux module. This has been developed during 2 summer of code mandates and being revived by gnn recently. The functionality in this commit mirrors entirely content of fusefs-kmod port, which doesn't need to be installed anymore for -CURRENT setups.
In order to get some sparse technical notes, please refer to: http://lists.freebsd.org/pipermail/freebsd-fs/2012-March/013876.html
or to the project branch: svn://svn.freebsd.org/base/projects/fuse/
which also contains granular history of changes happened during port refinements. This commit does not came from the branch reintegration itself because it seems svn is not behaving properly for this functionaly at the moment.
Partly Sponsored by: Google, Summer of Code program 2005, 2011 Originally submitted by: ilya, Csaba Henk <csaba-ml AT creo DOT hu > In collabouration with: pho Tested by: flo, gnn, Gustau Perez, Kevin Oberman <rkoberman AT gmail DOT com> MFC after: 2 months
|
#
240494 |
|
14-Sep-2012 |
glebius |
o Create directory sys/netpfil, where all packet filters should reside, and move there ipfw(4) and pf(4).
o Move most modified parts of pf out of contrib.
Actual movements:
sys/contrib/pf/net/*.c -> sys/netpfil/pf/ sys/contrib/pf/net/*.h -> sys/net/ contrib/pf/pfctl/*.c -> sbin/pfctl contrib/pf/pfctl/*.h -> sbin/pfctl contrib/pf/pfctl/pfctl.8 -> sbin/pfctl contrib/pf/pfctl/*.4 -> share/man/man4 contrib/pf/pfctl/*.5 -> share/man/man5
sys/netinet/ipfw -> sys/netpfil/ipfw
The arguable movement is pf/net/*.h -> sys/net. There are future plans to refactor pf includes, so I decided not to break things twice.
Not modified bits of pf left in contrib: authpf, ftp-proxy, tftp-proxy, pflogd.
The ipfw(4) movement is planned to be merged to stable/9, to make head and stable match.
Discussed with: bz, luigi
|
#
240451 |
|
13-Sep-2012 |
np |
Allow cxgbe to be built into a kernel with "device cxgbe."
MFC after: 1 week
|
#
240375 |
|
11-Sep-2012 |
hselasky |
Add device entry for DWC OTG.
|
#
240325 |
|
10-Sep-2012 |
jhb |
Remove some more NetBSD compat shims and other unused bits from these drivers: - Remove scsi_low_pisa.*, they were unused. - Remove <compat/netbsd/physio_proc.h> and calls to the stubs in that header. They were empty nops. - Retire sl_xname and use device_get_nameunit() and device_printf() with the underlying device_t instead. - Remove unused {ct,ncv,nsp,stg}print() functions. - Remove empty SOFT_INTR_REQUIRED() macro and the unused sl_irq member.
|
#
240086 |
|
04-Sep-2012 |
glebius |
- Move jenkins.h to jenkins_hash.c - Provide missing function that can do hashing of arbitrary sized buffer. - Refetch lookup3.c and do only minimal edits to it, so that diff between our jenkins_hash.c and lookup3.c is minimal. - Add declarations for jenkins_hash(), jenkins_hash32() to sys/hash.h. - Document these functions in hash(9)
Obtained from: http://burtleburtle.net/bob/c/lookup3.c
|
#
240011 |
|
02-Sep-2012 |
dim |
Partially revert r239959, after actually fixing most of the clang warnings in sys/gnu/fs/xfs. The only warnings that still need to be suppressed are those about array bound overruns of flexible array members in xfs_dir2_{block,sf}.c, which are too expensive (in terms of cascading code changes) to fix.
MFC after: 1 week X-MFC-With: r239959
|
#
239959 |
|
31-Aug-2012 |
dim |
Work around several warnings from clang in the xfs filesystem, when linking it statically into the kernel. With our gcc in base there are no warnings, so also remove the WERROR= from the module makefile.
Noted by: Eir Nym <eirnym@gmail.com> MFC after: 1 week
|
#
239955 |
|
31-Aug-2012 |
jhb |
Add common rules for building firmware object files (NORMAL_FW to run uudecode, and NORMAL_FWO to use ld to build the .fwo file) and use those instead of explicit ld/uudecode invocations in sys/conf/files. Apart from increasing readability, this makes it possible to adjust the flags used for firmware objects in one place.
MFC after: 2 weeks
|
#
239919 |
|
30-Aug-2012 |
gonzo |
Add PrimeCell UART (PL011) driver
Obtained from: Semihalf
|
#
239873 |
|
29-Aug-2012 |
dim |
After r239868, also remove the comment about the workaround for ah_eeprom_9287.c.
|
#
239868 |
|
29-Aug-2012 |
dim |
Remove workaround for the clang 3.2 warning in ah_eeprom_9287.c, since the fix has been applied now.
|
#
239685 |
|
25-Aug-2012 |
brooks |
Add isf(4), a driver for the Intel StrataFlash family of NOR flash parts.
The driver attempts to support all documented parts, but has only been tested with the 512Mbit part on the Terasic DE4 FPGA board. It should be trivial to adapt the driver's attach routine to other embedded boards using with any parts in the family.
Also import isfctl(8) which can be used to erase sections of the flash.
Sponsored by: DARPA, AFRL
|
#
239675 |
|
25-Aug-2012 |
rwatson |
Add a device driver for the Altera University Program SD Card IP Core, which can be synthesised in Altera FPGAs. An altera_sdcardc device probes during the boot, and /dev/altera_sdcard devices come and go as inserted and removed. The device driver attaches directly to the Nexus, as is common for system-on-chip device drivers.
This IP core suffers a number of significant limitations, including a lack of interrupt-driven I/O -- we must implement timer-driven polling, only CSD 0 cards (up to 2G) are supported, there are serious memory access issues that require the driver to verify writes to memory-mapped buffers, undocumented alignment requirements, and erroneous error returns. The driver must therefore work quite hard, despite a fairly simple hardware-software interface. The IP core also supports at most one outstanding I/O at a time, so is not a speed demon.
However, with the above workarounds, and subject to performance problems, it works quite reliably in practice, and we can use it for read-write mounts of root file systems, etc.
Sponsored by: DARPA, AFRL
|
#
239674 |
|
25-Aug-2012 |
rwatson |
Add altera_avgen(4), a generic device driver to be used by hard and soft CPU cores on Altera FPGAs. The device driver allows memory-mapped devices on Altera's Avalon SoC bus to be exported to userspace via device nodes. device.hints directories dictate device name, permissible access methods, physical address and length, and I/O alignment. Devices can be accessed using read(2)/write(2), but also memory mapped in userspace using mmap(2).
Devices attach directly to the Nexus, as is common for embedded device drivers; in the future something more mature might be desirable. There is currently no facility to support directing device-originated interrupts to userspace.
In the future, this device driver may be renamed to socgen(4), as it can in principle also be used with other system-on-chip (SoC) busses, such as Axi on ASICs and FPGAs. However, we have only tested it on Avalon busses with memory-mapped ROMs, frame buffers, etc.
Sponsored by: DARPA, AFRL
|
#
239507 |
|
21-Aug-2012 |
hrs |
Add s35390a_rtc(4) driver for Seiko Instruments S-35390A RTC.
Submitted by: Yusuke Tanaka
|
#
239462 |
|
20-Aug-2012 |
dim |
Upgrade our copy of llvm/clang to trunk r162107. With thanks to Benjamin Kramer and Joerg Sonnenberger for their input and fixes.
|
#
239340 |
|
16-Aug-2012 |
jkim |
Merge ACPICA 20120816.
|
#
239275 |
|
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 5
- Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY
Submitted by: Ben Gray, Damjan Marion, Tim Kientzle
|
#
239009 |
|
03-Aug-2012 |
luigi |
support building vtnet as an embedded driver
|
#
238805 |
|
26-Jul-2012 |
mav |
Refactor enclosure manegement support in ahci(4). Move it out into separate subdevice ahciem. Emulate SEMB SES device from AHCI LED interface to expose it to users in form of ses(4) CAM device. If we ever see AHCI controllers supporting SES of SAF-TE over I2C as described by specification, they should fit well into this new picture.
Sponsored by: iXsystems, Inc.
|
#
238710 |
|
23-Jul-2012 |
adrian |
Begin separating out the TX DMA setup in preparation for TX EDMA support.
* Introduce TX DMA setup/teardown methods, mirroring what's done in the RX path.
Although the TX DMA descriptor is setup via ath_desc_alloc() / ath_desc_free(), there TX status descriptor ring will be allocated in this path.
* Remove some of the TX EDMA capability probing from the RX path and push it into the new TX EDMA path.
|
#
238561 |
|
18-Jul-2012 |
alc |
Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar code resides. Rename vm_contig_grow_cache() to vm_pageout_grow_cache().
Reviewed by: kib
|
#
238381 |
|
11-Jul-2012 |
jkim |
Merge ACPICA 20120711.
|
#
238148 |
|
05-Jul-2012 |
jfv |
Sync with Intel internal source: shared code update and small changes in core required Add support for new i210/i211 devices Improve queue calculation based on mac type
MFC after:5 days
|
#
238056 |
|
03-Jul-2012 |
adrian |
Link in the new RX EDMA routines.
|
#
237981 |
|
02-Jul-2012 |
mav |
Add acpi_asus_wmi(4) -- driver for random extras found on WMI-compatible Asus laptops. It is alike to acpi_asus(4), but uses WMI interface instead of separate ACPI device.
On Asus EeePC T101MT netbook it allows to handle hotkeys and on/off WLAN, Bluetooth, LCD backlight, camera, cardreader and touchpad.
On Asus UX31A ultrabook it allows to handle hotkeys, on/off WLAN, Bluetooth, Wireless LED, control keyboard backlight brightness, monitor temperature and fan speed. LCD brightness control doesn't work now for unknown reason, possibly requiring some video card initialization.
Sponsored by: iXsystems, Inc.
|
#
237483 |
|
23-Jun-2012 |
marius |
Unbreak options ZFS after r236884.
|
#
237477 |
|
23-Jun-2012 |
kib |
Move the code dealing with shared page into a dedicated kern_sharedpage.c source file from kern_exec.c.
MFC after: 29 days
|
#
237263 |
|
19-Jun-2012 |
np |
- Updated TOE support in the kernel.
- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features.
- iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon.
Build-tested with make universe.
30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE
Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe
Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe
Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)
|
#
236317 |
|
30-May-2012 |
kib |
Add a rangelock implementation, intended to be used to range-locking the i/o regions of the vnode data space. The implementation is quite simple-minded, it uses the list of the lock requests, ordered by arrival time. Each request may be for read or for write. The implementation is fair FIFO.
MFC after: 2 month
|
#
235920 |
|
24-May-2012 |
jfv |
Fix to kern/168294 - add flow director support into the static kernel build of ixgbe. Thanks Sergey for pointing this out.
|
#
235911 |
|
24-May-2012 |
mav |
MFprojects/zfsd: Revamp the CAM enclosure services driver. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location information\for disk elements into the CAM device database.
Sponsored by: Spectra Logic Corporation Sponsored by: iXsystems, Inc. Submitted by: gibbs, will, mav
|
#
235778 |
|
22-May-2012 |
gber |
Add a new geom class which allows to divide NAND Flash chip into partitions.
Partitions are created based on data in dts file which are extracted and interpreted by slicer.
Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
#
235680 |
|
20-May-2012 |
adrian |
Migrate most of the beacon handling functions out to if_ath_beacon.c.
This is also in preparation for supporting AR9300 and later NICs.
|
#
235679 |
|
20-May-2012 |
adrian |
Migrate the TDMA management functions out of if_ath.c into if_ath_tdma.c.
There's some TX path TDMA code in if_ath_tx.c which should be migrated out, but first I should likely try and verify/fix/repair the TDMA support in 9.x and -HEAD.
|
#
235676 |
|
20-May-2012 |
adrian |
Migrate the bulk of the RX routines out from if_ath.c to if_ath_rx.[ch].
* migrate the rx processing out into if_ath_rx.c * migrate the TSF functions into if_ath_tsf.h, as inlines
This is in prepration for supporting the EDMA RX routines, required to support the AR93xx series NICs.
TODO:
* ath_start() shouldn't be private, but it's called as part of the RX path. I should likely migrate ath_rx_tasklet() back into if_ath.c and then return this to be 'static'. The RX code really shouldn't need to see TX routines (and vice versa.)
* ath_beacon_* should be in if_ath_beacon.[ch].
* ath_tdma_* should be in if_ath_tdma.[ch] ...
|
#
235537 |
|
17-May-2012 |
gber |
Import work done under project/nand (@235533) into head.
The NAND Flash environment consists of several distinct components: - NAND framework (drivers harness for NAND controllers and NAND chips) - NAND simulator (NANDsim) - NAND file system (NAND FS) - Companion tools and utilities - Documentation (manual pages)
This work is still experimental. Please use with caution.
Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
#
235323 |
|
12-May-2012 |
adrian |
Further arswitch work:
* Add in the AR724x support. It probes the same as an AR8216/AR8316, so just add in a hint to force the probe success rather than auto-detecting it.
* Add in the missing entries from conf/files, lacking in the previous commit.
The register values and CPU port / mirror port initialisation value was obtained from Linux OpenWRT ag71xx_ar7240.c.
The DELAY(1000) to let things settle is my local workaround. For some reason, PHY4 doesn't seem to probe very reliably without it. It's quite possible that we're missing some MDIO bus initialisation code in if_arge for the AR724x case. As I dislike DELAY() workarounds in general, it's definitely worth trying to figure out why this is the case.
Tested on: AP93 (AR7240) reference design
Obtained from: Linux OpenWRT
|
#
235233 |
|
10-May-2012 |
bschmidt |
Add support for Ralink RT2800/RT3000 chipsets.
Thanks to ray@, Sevan and Sergey Dyatko for feedback and testing!
Obtained from: OpenBSD MFC after: 3 weeks
|
#
234861 |
|
01-May-2012 |
adrian |
Bring over the first part of the etherswitch framework - an MDIO bus and MDIO/MII rendezvous proxy.
* Add an 'mdio' bus, which is the "IO" side of an MII bus (but by design can be anything which implements the underlying register access API.) * Add 'miiproxy' and 'mdioproxy', which provides a rendezvous mechanism for MII busses to appear hanging off arbitrary busses (ie, that aren't necessarily a traditional looking MII bus.)
MII busses can now hang off anything that implements an mdiobus.
For the AR71xx SoC, there's one MDIO bus but two MII busses. So to properly support two or more real PHYs, this can be done:
# arge0 MDIO bus - there's no arge1 MDIO bus for AR71xx hint.argemdio.0.at="nexus0" hint.argemdio.0.maddr=0x19000000 hint.argemdio.0.msize=0x1000 hint.argemdio.0.order=0
# Create two mdioproxy instances hint.mdioproxy.0.at="mdio0" hint.mdioproxy.1.at="mdio0"
# .. and with a follow-up patch hint.arge.0.mdio=mdioproxy0 hint.arge.1.mdio=mdioproxy0
TODO:
* Do a sweep or two and add appropriate locking in mdio/mdioproxy/miiproxy.
Submitted by: Stefan Bethke <stb@lassitu.de> Reviewed by: ray
|
#
234848 |
|
30-Apr-2012 |
mav |
Add to GEOM RAID class module, supporting the DDF metadata format, as defined by the SNIA Common RAID Disk Data Format Specification v2.0.
Supports multiple volumes per array and multiple partitions per disk. Supports standard big-endian and Adaptec's little-endian byte ordering. Supports all single-layer RAID levels. Dual-layer RAID levels except RAID10 are not supported now because of GEOM RAID design limitations.
Some work is still to be done, but the present code already manages basic interoperation with RAID BIOS of the Adaptec 1430SA SATA RAID controller.
MFC after: 1 month Sponsored by: iXsystems, Inc.
|
#
234792 |
|
29-Apr-2012 |
marius |
Drag in subr_acl_nfs4.c for ZFS automatically, otherwise it's unintuitive that "options zfs" requires "options ufs_acl".
|
#
234458 |
|
19-Apr-2012 |
mav |
Add to GEOM RAID class module for reading non-degraded RAID5 volumes and some environment to differentiate 4 possible RAID5 on-disk layouts.
Tested with Intel and AMD RAID BIOSes.
MFC after: 2 weeks
|
#
234248 |
|
13-Apr-2012 |
marius |
Add a driver for the NXP (Philips) PCF8563 RTC.
Obtained from: NetBSD (pcf8563reg.h)
|
#
234183 |
|
12-Apr-2012 |
jhb |
Add OFED and the associated options and drivers to x86 LINT builds: - Mark 'sdp' as requiring 'inet'. - Always include "opt_inet.h" and "opt_inet6.h" and modify the IB driver Makefiles to honor WITH/WITHOUT_INET/INET6/_SUPPORT options to determine what should be enabled during a module build. - Fix the mlxen(4) driver and the core IB code to compile without if INET is disabled (including when both INET and INET6 are disabled).
Reviewed by: bz MFC after: 2 weeks
|
#
233711 |
|
30-Mar-2012 |
ambrisko |
MFhead_mfi r227068 First cut of new HW support from LSI and merge into FreeBSD. Supports Drake Skinny and ThunderBolt cards. MFhead_mfi r227574 Style MFhead_mfi r227579 Use bus_addr_t instead of uintXX_t. MFhead_mfi r227580 MSI support MFhead_mfi r227612 More bus_addr_t and remove "#ifdef __amd64__". MFhead_mfi r227905 Improved timeout support from Scott. MFhead_mfi r228108 Make file. MFhead_mfi r228208 Fixed botched merge of Skinny support and enhanced handling in call back routine. MFhead_mfi r228279 Remove superfluous !TAILQ_EMPTY() checks before TAILQ_FOREACH(). MFhead_mfi r228310 Move mfi_decode_evt() to taskqueue. MFhead_mfi r228320 Implement MFI_DEBUG for 64bit S/G lists. MFhead_mfi r231988 Restore structure layout by reverting the array header to use [0] instead of [1]. MFhead_mfi r232412 Put wildcard pattern later in the match table. MFhead_mfi r232413 Use lower case for hexadecimal numbers to match surrounding style. MFhead_mfi r232414 Add more Thunderbolt variants. MFhead_mfi r232888 Don't act on events prior to boot or when shutting down. Add hw.mfi.detect_jbod_change to enable or disable acting on JBOD type of disks being added on insert and removed on removing. Switch hw.mfi.msi to 1 by default since it works better on newer cards. MFhead_mfi r233016 Release driver lock before taking Giant when deleting children. Use TAILQ_FOREACH_SAFE when items can be deleted. Make code a little simplier to follow. Fix a couple more style issues. MFhead_mfi r233620 Update mfi_spare/mfi_array with the actual number of elements for array_ref and pd. Change these max. #define names to avoid name space collisions. This will require an update to mfiutil It avoids mfiutil having to do a magic calculation.
Add a note and #define to state that a "SYSTEM" disk is really what the firmware calls a "JBOD" drive.
Thanks to the many that helped, LSI for the initial code drop, mav, delphij, jhb, sbruno that all helped with code and testing.
|
#
233628 |
|
28-Mar-2012 |
fabient |
Add software PMC support.
New kernel events can be added at various location for sampling or counting. This will for example allow easy system profiling whatever the processor is with known tools like pmcstat(8).
Simultaneous usage of software PMC and hardware PMC is possible, for example looking at the lock acquire failure, page fault while sampling on instructions.
Sponsored by: NETASQ MFC after: 1 month
|
#
233578 |
|
27-Mar-2012 |
peter |
Allow (with a license warning) "options ZFS" to work in static kernels.
The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers.
This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload.
Reviewed by: pjd (glanced at)
|
#
233539 |
|
27-Mar-2012 |
jchandra |
Driver for OpenCores I2C controller.
Add a Simple polled driver iicoc for the OpenCores I2C controller. This is used in Netlogic XLP processors.
Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)
|
#
233537 |
|
27-Mar-2012 |
jchandra |
Move driver for DS1374 RTC to sys/dev/iicbus
The earlier version of the driver is sys/mips/rmi/dev/iic/ds1374u.c Convert all references to ds1374u to ds1374, and use DEVMETHOD_END. Also update the license header as Netlogic is now Broadcom.
|
#
233354 |
|
23-Mar-2012 |
dim |
Work around the following clang warning in mps(4):
sys/dev/mps/mps_sas.c:861:1: error: function 'mpssas_discovery_timeout' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] mpssas_discovery_timeout(void *data) ^
Because the driver is obtained from upstream, we don't want to modify it; just silence the warning instead, it is harmless.
MFC after: 3 days
|
#
233178 |
|
19-Mar-2012 |
ae |
Connect geom_part_ldm to the kernel build.
MFC after: 1 month
|
#
232939 |
|
13-Mar-2012 |
adrian |
(Re)-make these ACL routines optional.
They're only currently used by ZFS and UFS_ACL. They're just wasting space on embedded platforms with neither enabled.
|
#
232337 |
|
01-Mar-2012 |
mav |
Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4). Cards are expensive and so rare, so leave the driver as module.
Submitted by: Ruslan Bukin <br@bsdpad.com> MFC after: 2 weeks
|
#
232073 |
|
23-Feb-2012 |
dim |
Revert r231978, so I can apply a more proper fix to silence unneeded internal declaration warnings in several sys/cam/ctl files.
MFC after: 1 week
|
#
231978 |
|
21-Feb-2012 |
dim |
When building with clang, disable -Wunneeded-internal-declaration for several sys/cam/ctl files, since these get the following warnings:
In file included from sys/cam/ctl/ctl_backend.c:60: sys/cam/ctl/ctl_private.h:300:30: error: variable 'page_index_template' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] static struct ctl_page_index page_index_template[] = { ^
These warnings are tricky to fix without a lot of overhaul, and they are harmless, so disable them for now.
MFC after: 1 week
|
#
231927 |
|
20-Feb-2012 |
adrian |
Break out the radar code into a separate source file.
This mirrors the internal HAL organisation and reduces the differences between the HAL codebases slightly.
Obtained from: Atheros
|
#
231844 |
|
16-Feb-2012 |
jkim |
Merge ACPICA 20120215.
|
#
231652 |
|
14-Feb-2012 |
luigi |
properly sort dev/oce entries
|
#
231437 |
|
10-Feb-2012 |
luigi |
Add a driver for Emulex OneConnect ethernet cards (10 Gbit PCIe) A manpage will come in a future commit.
Submitted by: Naresh Raju Gottumukkala (emulex)
|
#
231118 |
|
07-Feb-2012 |
dim |
Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor set via ${CPP} is used, instead of always using hardcoded /usr/bin/cpp.
MFC after: 1 week
|
#
230996 |
|
04-Feb-2012 |
pjd |
After multiple requests for back out, after multiple promisses from adrian@ to fix it (without fixing it), after making one of my servers unbootable, after now making also my laptop unbootable and after running out of patiance back out r229800 until better solution is found.
|
#
230916 |
|
02-Feb-2012 |
ken |
Fix the netback driver build for i386.
netback.c: Add missing VM includes.
xen/xenvar.h, xen/xenpmap.h: Move some XENHVM macros from <machine/xen/xenpmap.h> to <machine/xen/xenvar.h> on i386 to match the amd64 headers.
conf/files: Add netback to the build.
Submitted by: jhb MFC after: 3 days
|
#
230902 |
|
02-Feb-2012 |
ken |
Unbreak the i386 full PV (XEN kernel) build by reverting rev 230878 and taking the netback driver out of the build temporarily.
|
#
230897 |
|
01-Feb-2012 |
pfg |
Use new OSS-based BSD-licensed header for cs sound driver.
The cs driver requires a table with firmware values. An alternative firmware is available in a similar Open Sound System driver. This is actually a partial revert of Revision 77504.
Special thanks to joel@ for patiently testing several replacement attempts.
The csa driver and the complete sound system are now free of the GPL.
Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks
|
#
230878 |
|
01-Feb-2012 |
ken |
Add the netback driver to the build.
MFC after: 3 days
|
#
230775 |
|
30-Jan-2012 |
jfv |
New hardware support: Intel X540 adapter support added. Some shared code reorganization along with the new adapter. Sync changes to OACTIVE in igb into this driver. Misc small fixes.
|
#
230592 |
|
26-Jan-2012 |
ken |
Bring in the LSI-supported version of the mps(4) driver.
This involves significant changes to the mps(4) driver, but is not a complete rewrite.
Some of the changes in this version of the driver: - Integrated RAID (IR) support. - Support for WarpDrive controllers. - Support for SCSI protection information (EEDP). - Support for TLR (Transport Level Retries), needed for tape drives. - Improved error recovery code. - ioctl interface compatible with LSI utilities.
mps.4: Update the mps(4) driver man page somewhat for the driver changes. The list of supported hardware still needs to be updated to reflect the full list of supported cards.
conf/files: Add the new driver files.
mps/mpi/*: Updated version of the MPI header files, with a BSD style copyright.
mps/*: See above for a description of the new driver features.
modules/mps/Makefile: Add the new mps(4) driver files.
Submitted by: Kashyap Desai <Kashyap.Desai@lsi.com> Reviewed by: ken MFC after: 1 week
|
#
230401 |
|
20-Jan-2012 |
pfg |
Replace GPLd headers from the Maestro3 driver with BSD licensed versions derived from /usr/ports/audio/oss.
The particular headers used were taken from the attic/drv/oss_allegro directory and are mostly identical to the previous files.
The Maestro3 driver is now free from the GPL.
NOTE: due to lack of testers this driver is being considered for deprecation and removal.
PR: kern/153920 Approved by: jhb (mentor) MFC after: 2 weeks
|
#
230130 |
|
15-Jan-2012 |
mav |
Major snd_hda driver rewrite: - Huge old hdac driver was split into three independent pieces: HDA controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function driver (hdaa). - Support for multichannel recording was added. Now, as specification defines, driver checks input associations for pins with sequence numbers 14 and 15, and if found (usually) -- works as before, mixing signals together. If it doesn't, it configures input association as multichannel. - Signal tracer was improved to look for cases where several DACs/ADCs in CODEC can work with the same audio signal. If such case found, driver registers additional playback/record stream (channel) for the pcm device. - New controller streams reservation mechanism was implemented. That allows to have more pcm devices then streams supported by the controller (usually 4 in each direction). Now it limits only number of simultaneously transferred audio streams, that is rarely reachable and properly reported if happens. - Codec pins and GPIO signals configuration was exported via set of writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger driver reconfiguration in run-time. - Driver now decodes pins location and connector type names. In some cases it allows to hint user where on the system case connectors, related to the pcm device, are located. Number of channels supported by pcm device, reported now (if it is not 2), should also make search easier. - Added workaround for digital mic on some Asus laptops/netbooks.
MFC after: 2 months Sponsored by: iXsystems, Inc.
|
#
229997 |
|
11-Jan-2012 |
ken |
Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written for Copan Systems under Linux starting in 2003. It has been shipping in Copan (now SGI) products since 2005.
It was ported to FreeBSD in 2008, and thanks to an agreement between SGI (who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is available under a BSD-style license. The intent behind the agreement was that Spectra would work to get CTL into the FreeBSD tree.
Some CTL features:
- Disk and processor device emulation. - Tagged queueing - SCSI task attribute support (ordered, head of queue, simple tags) - SCSI implicit command ordering support. (e.g. if a read follows a mode select, the read will be blocked until the mode select completes.) - Full task management support (abort, LUN reset, target reset, etc.) - Support for multiple ports - Support for multiple simultaneous initiators - Support for multiple simultaneous backing stores - Persistent reservation support - Mode sense/select support - Error injection support - High Availability support (1) - All I/O handled in-kernel, no userland context switch overhead.
(1) HA Support is just an API stub, and needs much more to be fully functional.
ctl.c: The core of CTL. Command handlers and processing, character driver, and HA support are here.
ctl.h: Basic function declarations and data structures.
ctl_backend.c, ctl_backend.h: The basic CTL backend API.
ctl_backend_block.c, ctl_backend_block.h: The block and file backend. This allows for using a disk or a file as the backing store for a LUN. Multiple threads are started to do I/O to the backing device, primarily because the VFS API requires that to get any concurrency.
ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a small amount of memory to act as a source and sink for reads and writes from an initiator. Therefore it cannot be used for any real data, but it can be used to test for throughput. It can also be used to test initiators' support for extremely large LUNs.
ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes, and command handler functions defined for supported opcodes.
ctl_debug.h: Debugging support.
ctl_error.c, ctl_error.h: CTL-specific wrappers around the CAM sense building functions.
ctl_frontend.c, ctl_frontend.h: These files define the basic CTL frontend port API.
ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM. This frontend allows for using CTL without any target-capable hardware. So any LUNs you create in CTL are visible in CAM via this port.
ctl_frontend_internal.c, ctl_frontend_internal.h: This is a frontend port written for Copan to do some system-specific tasks that required sending commands into CTL from inside the kernel. This isn't entirely relevant to FreeBSD in general, but can perhaps be repurposed.
ctl_ha.h: This is a stubbed-out High Availability API. Much more is needed for full HA support. See the comments in the header and the description of what is needed in the README.ctl.txt file for more details.
ctl_io.h: This defines most of the core CTL I/O structures. union ctl_io is conceptually very similar to CAM's union ccb.
ctl_ioctl.h: This defines all ioctls available through the CTL character device, and the data structures needed for those ioctls.
ctl_mem_pool.c, ctl_mem_pool.h: Generic memory pool implementation used by the internal frontend.
ctl_private.h: Private data structres (e.g. CTL softc) and function prototypes. This also includes the SCSI vendor and product names used by CTL.
ctl_scsi_all.c, ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.
ctl_ser_table.c: Command serialization table. This defines what happens when one type of command is followed by another type of command.
ctl_util.c, ctl_util.h: CTL utility functions, primarily designed to be used from userland. See ctladm for the primary consumer of these functions. These include CDB building functions.
scsi_ctl.c: CAM target peripheral driver and CTL frontend port. This is the path into CTL for commands from target-capable hardware/SIMs.
README.ctl.txt: CTL code features, roadmap, to-do list.
usr.sbin/Makefile: Add ctladm.
ctladm/Makefile, ctladm/ctladm.8, ctladm/ctladm.c, ctladm/ctladm.h, ctladm/util.c: ctladm(8) is the CTL management utility. It fills a role similar to camcontrol(8). It allow configuring LUNs, issuing commands, injecting errors and various other control functions.
usr.bin/Makefile: Add ctlstat.
ctlstat/Makefile ctlstat/ctlstat.8, ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8). It reports I/O statistics for CTL.
sys/conf/files: Add CTL files.
sys/conf/NOTES: Add device ctl.
sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB length field is now 2 bytes long.
Add several mode page definitions for CTL.
sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.
sys/dev/ciss/ciss.c, sys/dev/ata/atapi-cam.c, sys/cam/scsi/scsi_targ_bh.c, scsi_target/scsi_cmds.c, mlxcontrol/interface.c: Update for 2 byte inquiry length field.
scsi_da.h: Add versions of the format and rigid disk pages that are in a more reasonable format for CTL.
amd64/conf/GENERIC, i386/conf/GENERIC, ia64/conf/GENERIC, sparc64/conf/GENERIC: Add device ctl.
i386/conf/PAE: The CTL frontend SIM at least does not compile cleanly on PAE.
Sponsored by: Copan Systems, SGI and Spectra Logic MFC after: 1 month
|
#
229989 |
|
11-Jan-2012 |
jkim |
Merge ACPICA 20120111.
|
#
229981 |
|
11-Jan-2012 |
pfg |
Replace GPL'd headers in the emu10kx snd driver code.
This uses the emuxkireg.h already used in the emu10k1 snd driver. Special thanks go to Alexander Motin as he was able to find some errors and reverse engineer some wrong values in the emuxkireg header.
The emu10kx driver is now free from the GPL.
PR: 153901 Tested by: mav, joel Approved by: jhb (mentor) MFC after: 2 weeks
|
#
229800 |
|
07-Jan-2012 |
adrian |
Make these two files conditionally build on UFS_ACL, as it doesn't seem to be used elsewhere.
Since UFS_ACL is enabled by default for GENERIC kernels, this shouldn't break anything - but please beat me to fix things if it does.
This reduces the footprint of the kernel on small embedded systems (think <1MB flash for the compressed kernel image) just enough to actually fit.
|
#
229537 |
|
04-Jan-2012 |
ray |
GEOM_UNCOMPRESS module, can be used with uzip images and with new ulzma images.
Approved by: adrian (mentor)
|
#
229533 |
|
04-Jan-2012 |
ray |
Update contrib/xz-embedded to build with new GEOM_UNCOMPRESS module.
Approved by: adrian (mentor)
|
#
229430 |
|
03-Jan-2012 |
pfg |
Replace a GPL'd header in the emu10k1 snd driver code.
This brings in the emuxkireg.h from NetBSD (dev/pci) which is used for the same purpose but is smaller. The emu10k1 is now free from the GPL.
PR: 153901 Obtained from: NetBSD Approved by: core (mentor implicit) MFC after: 2 weeks
|
#
229366 |
|
03-Jan-2012 |
ed |
Implement extensions on top of standards instead of the other way around.
Now that index() and rindex() have become unused, simply turn them into wrappers around strchr() and strrchr(), respectively.
|
#
229204 |
|
01-Jan-2012 |
ed |
Remove the now unused skpc() function.
It was only used by ufs and ext2 and I have really strong doubts that there are other pieces of code that also use this function. If it turns out that external drivers use this code as well, I'd be happy to migrate or revert.
Bump __FreeBSD_version while there.
|
#
229198 |
|
01-Jan-2012 |
ed |
Introducing memcchr(3).
It seems two of the file system drivers we have in the tree, namely ufs and ext3, use a function called `skpc()'. The meaning of this function does not seem to be documented in FreeBSD, but it turns out one needs to be a VAX programmer to understand what it does.
SPKC is an instruction on the VAX that does the opposite of memchr(). It searches for the non-equal character. Add a new function called memcchr() to the tree that has the following advantages over skpc():
- It has a name that makes more sense than skpc(). Just like strcspn() matches the complement of strspn(), memcchr() is the complement of memchr().
- It is faster than skpc(). Similar to our strlen() in libc, it compares entire words, instead of single bytes. It seems that for this routine this yields a sixfold performance increase on amd64.
- It has a man page.
|
#
228994 |
|
30-Dec-2011 |
dim |
Disable several instances instances of clang's -Wself-assign warning. All of these are harmless, and are in fact used to shut up warnings from lint.
While here, remove -Wno-missing-prototypes from the xfs module Makefile, as I could not reproduce those warnings either with gcc or clang.
MFC after: 1 week
|
#
228978 |
|
29-Dec-2011 |
dim |
For several files in sys/dev/drm, disable -Wunused-value when building with clang. There are several macros in these files that return values, and in some cases nothing is done with them, but it is completely harmless. For some other files, also disable -Wconstant-conversion, since that triggers a false positive with the DMA_BIT_MASK() macro.
MFC after: 1 week
|
#
228887 |
|
26-Dec-2011 |
adrian |
First pass of LED related code changes.
Migrate the LED code out of if_ath.c and into if_ath_led.c. These routines are _all_ software based LED blinking.
|
#
228783 |
|
21-Dec-2011 |
dim |
When building with clang, disable -Wshift-count-negative and -Wshift-count-overflow for sys/dev/ath/ath_hal/ah_regdomain.c, as it gets multiple instances of the following warnings:
In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99: sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:69:15: warning: shift count is negative [-Wshift-count-negative] .chan11a = BM4(F1_4950_4980, ^~~~~~~~~~~~~~~~~ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:41:4: note: expanded from: W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) } ^ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:34:45: note: expanded from: (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0)) ^ ~~~~~~~~~
and:
In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99: sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:629:15: error: shift count >= width of type [-Werror,-Wshift-count-overflow] .chan11a = BM4(W2_5260_5320, ^~~~~~~~~~~~~~~~~ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:40:34: note: expanded from: { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd), \ ^ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:32:44: note: expanded from: (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0)) ^ ~~~~
Both warnings are false positives, caused by LLVM PR 10030. For global initializations, clang fails to detect that the branch of the ternary operator causing the warning is dead.
MFC after: 1 week
|
#
228781 |
|
21-Dec-2011 |
dim |
When building with clang, disable -Warray-bounds for sys/dev/asr/asr.c, as it gets the following warning:
sys/dev/asr/asr.c:1836:29: warning: array index of '58' indexes past the end of an array (that contains 1 element) [-Warray-bounds] while ((len > 0) && (sg < &((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE) ^ sys/dev/asr/i2omsg.h:934:8: note: array 'Simple' declared here I2O_SGE_SIMPLE_ELEMENT Simple[1]; ^
This is a false positive, since I2O_SG_ELEMENT::Simple is not declared as a C99 flexible array member, but in the old (but more portable) way. At run-time, the proper number of array elements will hopefully have been allocated.
MFC after: 1 week
|
#
228779 |
|
21-Dec-2011 |
dim |
Start selectively disabling a few kernel build warnings for clang, since there are some places in the kernel where fixing them is too disruptive, or where there is a false positive.
In this case, disable -Wconstant-conversion for two aic7xxx-related files, as they get the following warning on i386 (and possibly on other 32-bit arches):
sys/dev/aic7xxx/ahc_pci.c:112:10: warning: implicit conversion from 'long long' to 'bus_addr_t' (aka 'unsigned int') changes value from 549755813887 to 4294967295 [-Wconstant-conversion] ? 0x7FFFFFFFFFLL ~~^~~~~~~~~~~~~~
This is a false positive, since the code only passes the 0x7FFFFFFFFFLL argument, if sizeof(bus_addr_t) is larger than 4 (e.g. on 64 bit arches, or when PAE is enabled on i386). The code could be refactored to do compile-time checks, but that is more disruptive.
MFC after: 1 week
|
#
228642 |
|
17-Dec-2011 |
avg |
retire libkern gets
Inspired by: bde MFC after: 2 months X-MFC-Note: if deemed a part of KPI, just call cngets internally
|
#
228110 |
|
28-Nov-2011 |
jkim |
Merge ACPICA 20111123.
|
#
228085 |
|
28-Nov-2011 |
philip |
Limit building sfxge(4) in-kernel to amd64 for the time being. We can put it back after I fix the breakages on some of our more exotic platforms.
While here, add the driver to the amd64 NOTES, so it can be picked up in LINT builds.
|
#
227982 |
|
25-Nov-2011 |
marius |
Deorbit the broken amd(4) (see PR 124667), which was superseded by esp(4) as of r227006.
|
#
227922 |
|
24-Nov-2011 |
adrian |
Don't compile in the AR9130 embedded WMAC code into the HAL by default.
This won't work unless AH_SUPPORT_AR9130 which can't be enabled - it breaks the other 11n chipsets for now.
Sponsored by: Hobnob, Inc.
|
#
227845 |
|
22-Nov-2011 |
luigi |
forgot to merge NETMAP entries in sys/conf !
|
#
227776 |
|
20-Nov-2011 |
lstewart |
- Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() system calls to provide feed-forward clock management capabilities to userspace processes. ffclock_getcounter() returns the current value of the kernel's feed-forward clock counter. ffclock_getestimate() returns the current feed-forward clock parameter estimates and ffclock_setestimate() updates the feed-forward clock parameter estimates.
- Document the syscalls in the ffclock.2 man page.
- Regenerate the script-derived syscall related files.
Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project.
For more information, see http://www.synclab.org/radclock/
Submitted by: Julien Ridoux (jridoux at unimelb edu au)
|
#
227745 |
|
19-Nov-2011 |
lstewart |
Provide high-level functions to access the feed-forward absolute and difference clocks. Each routine can output an upper bound on the absolute time or time interval requested. Different flavours of absolute time can be requested, for example with or without leap seconds, monotonic or not, etc.
Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project.
For more information, see http://www.synclab.org/radclock/
Submitted by: Julien Ridoux (jridoux at unimelb edu au)
|
#
227650 |
|
18-Nov-2011 |
kevlo |
Add unicode support to msdosfs and smbfs; original pathes from imura, bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>.
Tested by me in production for several days at work.
|
#
227569 |
|
16-Nov-2011 |
philip |
Add the sfxge(4) device driver, providing support for 10Gb Ethernet adapters based on Solarflare SFC9000 family controllers. The driver supports jumbo frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side Scaling (RSS) using MSI-X interrupts.
This work was sponsored by Solarflare Communications, Inc.
My sincere thanks to Ben Hutchings for doing a lot of the hard work!
Sponsored by: Solarflare Communications, Inc. MFC after: 3 weeks
|
#
227006 |
|
01-Nov-2011 |
marius |
Add a PCI front-end to esp(4) allowing it to support AMD Am53C974 and replace amd(4) with the former in the amd64, i386 and pc98 GENERIC kernel configuration files. Besides duplicating functionality, amd(4), which previously also supported the AMD Am53C974, unlike esp(4) is no longer maintained and has accumulated enough bit rot over time to always cause a panic during boot as long as at least one target is attached to it (see PR 124667).
PR: 124667 Obtained from: NetBSD (based on) MFC after: 3 days
|
#
226995 |
|
01-Nov-2011 |
marius |
- Import the common MII bitbang'ing code from NetBSD and convert drivers to take advantage of it instead of duplicating it. This reduces the size of the i386 GENERIC kernel by about 4k. The only potential in-tree user left unconverted is xe(4), which generally should be changed to use miibus(4) instead of implementing PHY handling on its own, as otherwise it makes not much sense to add a dependency on miibus(4)/mii_bitbang(4) to xe(4) just for the MII bitbang'ing code. The common MII bitbang'ing code also is useful in the embedded space for using GPIO pins to implement MII access. - Based on lessons learnt with dc(4) (see r185750), add bus barriers to the MII bitbang read and write functions of the other drivers converted in order to ensure the intended ordering. Given that register access via an index register as well as register bank/window switching is subject to the same problem, also add bus barriers to the respective functions of smc(4), tl(4) and xl(4). - Sprinkle some const.
Thanks to the following testers: Andrew Bliznak (nge(4)), nwhitehorn@ (bm(4)), yongari@ (sis(4) and ste(4)) Thanks to Hans-Joerg Sirtl for supplying hardware to test stge(4).
Reviewed by: yongari (subset of drivers) Obtained from: NetBSD (partially)
|
#
226154 |
|
08-Oct-2011 |
marius |
- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY drivers that only ever attach to a particular MAC driver, i.e. inphy(4), ruephy(4) and xlphy(4), to the directory where the respective MAC driver lives and only compile it into the kernel when the latter is also there, also removing it from miibus.ko and moving it into the module of the respective MAC driver. - While at it, rename exphy.c, which comes from NetBSD where the MAC driver it corresponds to also is named ex(4) instead of xl(4) but that in FreeBSD actually identifies itself as xlphy(4), and its function names accordingly for consistency. - Additionally while at it, fix some minor style issues like whitespace in the register headers and add multi-inclusion protection to inphyreg.h.
|
#
226029 |
|
04-Oct-2011 |
jkim |
Add strnlen() to libkern.
|
#
226026 |
|
04-Oct-2011 |
delphij |
Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many thanks for their contiued support to FreeBSD.
This is version 10.80.00.003 from codeset 10.2.1 [1]
Obtained from: LSI http://kb.lsi.com/Download16574.aspx [1]
|
#
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
|
#
223864 |
|
08-Jul-2011 |
hselasky |
Add new USB 3G driver.
Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca> MFC after: 14 days
|
#
223637 |
|
28-Jun-2011 |
bz |
Update packet filter (pf) code to OpenBSD 4.5.
You need to update userland (world and ports) tools to be in sync with the kernel.
Submitted by: mlaier Submitted by: eri
|
#
223520 |
|
24-Jun-2011 |
jhb |
Split out host_pcib_get_busno() from the generic PCI-PCI bridge driver to start a new file that will hold utility APIs used by various Host-PCI bridge drivers and drivers that provide PCI domains.
|
#
223467 |
|
23-Jun-2011 |
hselasky |
- Add more USB templates for various USB device classes - Add basic template support for USB 3.0 - Export definition of template sysctl numbers through usb_ioctl.h
MFC after: 7 days
|
#
222956 |
|
10-Jun-2011 |
jeff |
- Eliminate an incorrect include path from the mthca build.
|
#
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.
|
#
222696 |
|
04-Jun-2011 |
hselasky |
Rename recently added USB serial driver.
Suggested by: YongHyeon PYUN MFC after: 7 days
|
#
222585 |
|
01-Jun-2011 |
adrian |
Flesh out the radar detection related operations for the ath driver.
This is in no way a complete DFS/radar detection implementation! It merely creates an abstracted interface which allows for future development of the DFS radar detection code.
Note: Net80211 already handles the bulk of the DFS machinery, all we need to do here is figure out that a radar event has occured and inform it as such. It then drives the DFS state engine for us.
The "null" DFS radar detection module is included by default; it doesn't require a device line.
This commit:
* Adds a simple abstracted layer for radar detection state - sys/dev/ath/ath_dfs/; * Implements a null DFS module which doesn't do anything; (ie, implements the exact behaviour at the moment); * Adds hooks to the ath driver to process received radar events and gives the DFS module a chance to determine whether a radar has been detected.
Obtained from: Atheros
|
#
222578 |
|
01-Jun-2011 |
hselasky |
Add support for new USB serial driver.
Submitted by: Lev Serebryakov, lev @ MFC after: 14 days
|
#
222509 |
|
30-May-2011 |
np |
L2 table code. This is enough to get the T4's switch + L2 rewrite filters working. (All other filters - switch without L2 info rewrite, steer, and drop - were already fully-functional).
Some contrived examples of "switch" filters with L2 rewriting:
# cxgbetool t4nex0 iport 0 dport 80 action switch vlan +9 eport 3 Intercept all packets received on physical port 0 with TCP port 80 as destination, insert a vlan tag with VID 9, and send them out of port 3.
# cxgbetool t4nex0 sip 192.168.1.1/32 ivlan 5 action switch \ vlan =9 smac aa:bb:cc:dd:ee:ff eport 0 Intercept all packets (received on any port) with source IP address 192.168.1.1 and VLAN id 5, rewrite the VLAN id to 9, rewrite source mac to aa:bb:cc:dd:ee:ff, and send it out of port 0.
MFC after: 1 week
|
#
222325 |
|
26-May-2011 |
adrian |
Introduce AR9287 support to the FreeBSD HAL.
|
#
221300 |
|
01-May-2011 |
bschmidt |
Add files for wpi(4)
|
#
221262 |
|
30-Apr-2011 |
bz |
Fis a problem with r221258 that mac is still needed in case for ient6 only for mac_inet.c.
Reported by: Luiz Otavio O Souza (lists.br gmail.com) MFC after: 4 days
|
#
221260 |
|
30-Apr-2011 |
bz |
After r221249 allow SCTP to be compiled in an IPv6 only environment as well.
Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 10 days
|
#
221258 |
|
30-Apr-2011 |
bz |
Add some more missing optional dependencies on inet6, not only inet, to get the files for an IPv6 only kernel as well, remove extra inet6 option where not needed.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
221250 |
|
30-Apr-2011 |
bz |
Make the TCP code compile without INET. Sort #includes and add #ifdef INETs. Add some comments at #endifs given more nestedness. To make the compiler happy, some default initializations were added in accordance with the style on the files.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
221248 |
|
30-Apr-2011 |
bz |
Make the UDP code compile without INET. Expose udp_usrreq.c to IPv6 only as well compiling out most functions adding or extending #ifdef INET coverage.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
221167 |
|
28-Apr-2011 |
gnn |
Exar driver for X3100 10GbE Server/Storage adapters
Features: Jumbo frames (up to 9600), LRO (Large Receive Offload), TSO (TCP segmentation offload), RTH (Receive Traffic Hash).
Submitted by: Sriram Rapuru at Exar MFC after: 2 weeks
|
#
221163 |
|
28-Apr-2011 |
adrian |
Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL.
The AR9130 is an AR9160/AR5416 family WMAC which is glued directly to the AR913x SoC peripheral bus (APB) rather than via a PCI/PCIe bridge.
The specifics:
* A new build option is required to use the AR9130 - AH_SUPPORT_AR9130. This is needed due to the different location the RTC registers live with this chip; hopefully this will be undone in the future. This does currently mean that enabling this option will break non-AR9130 builds, so don't enable it unless you're specifically building an image for the AR913x SoC.
* Add the new probe, attach, EEPROM and PLL methods specific to Howl.
* Add a work-around to ah_eeprom_v14.c which disables some of the checks for endian-ness and magic in the EEPROM image if an eepromdata block is provided. This'll be fixed at a later stage by porting the ath9k probe code and making sure it doesn't break in other setups (which my previous attempt at this did.)
* Sprinkle Howl modifications throughput the interrupt path - it doesn't implement the SYNC interrupt registers, so ignore those.
* Sprinkle Howl chip powerup/down throughout the reset path; the RTC methods were
* Sprinkle some other Howl workarounds in the reset path.
* Hard-code an alternative setup for the AR_CFG register for Howl, that sets up things suitable for Big-Endian MIPS (which is the only platform this chip is glued to.)
This has been tested on the AR913x based TP-Link WR-1043nd mode, in legacy, HT/20 and HT/40 modes.
Caveats:
* 2ghz has only been tested. I've not seen any 5ghz radios glued to this chipset so I can't test it.
* AR5416_INTERRUPT_MITIGATION is not supported on the AR9130. At least, it isn't implemented in ath9k. Please don't enable this.
* This hasn't been tested in MBSS mode or in RX/TX block-aggregation mode.
|
#
221134 |
|
27-Apr-2011 |
bz |
MfP4 CH=192029:
Expose ip_icmp.c to INET6 as well and only export badport_bandlim() along with the two sysctls in the non-INET case. The bandlim types work for all cases I reviewed in IPv6 as well and the sysctls are available as we export net.inet.* from in_proto.c.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
221032 |
|
25-Apr-2011 |
rmacklem |
Fix the experimental NFS client so that it does not bogusly set the f_flags field of "struct statfs". This had the interesting effect of making the NFSv4 mounts "disappear" after r221014, since NFSMNT_NFSV4 and MNT_IGNORE became the same bit. Move the files used for a diskless NFS root from sys/nfsclient to sys/nfs in preparation for them to be used by both NFS clients. Also, move the declaration of the three global data structures from sys/nfsclient/nfs_vfsops.c to sys/nfs/nfs_diskless.c so that they are defined when either client uses them.
Reviewed by: jhb MFC after: 2 weeks
|
#
221020 |
|
25-Apr-2011 |
bz |
After r220885 compile the various NIC drivers depending on INET unconditionally backing out r193997, so that they are available for IPv6-only setups as well.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 5 days
|
#
220930 |
|
21-Apr-2011 |
pjd |
Add g_eli_key_cache.c to GELI.
MFC after: 2 weeks
|
#
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.
|
#
220893 |
|
20-Apr-2011 |
bschmidt |
Add firmware images for the 6000 series g2a and g2b adapters.
|
#
220892 |
|
20-Apr-2011 |
bschmidt |
Update iwn(4) firmware blobs: - bump iwn1000fw to 39.31.5.1 - bump iwn5000fw to 8.83.5.1 - bump iwn6050fw to 41.28.5.1
|
#
220746 |
|
17-Apr-2011 |
bz |
Make in_proto.c dependent on either inet or inet6.
While it does not provide any functionality for IPv6, it provides the sysctl nodes for net.inet.* that a lot of functionality shared between IPv4 and IPv6 depends on. We cannot change these anymore without breaking a lot of management and tuning.
In case of IPv6 only, we compile out everything but the sysctl node declarations.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC After: 5 days
|
#
220663 |
|
15-Apr-2011 |
jkim |
Merge ACPICA 20110413.
|
#
220593 |
|
13-Apr-2011 |
adrian |
Bring over the antenna diversity logic support for Kite.
Again, this is just the code ported from ath9k and included in the build, it isn't yet enabled.
|
#
220587 |
|
13-Apr-2011 |
adrian |
Add the initial AR9285 PHY glue for supporting antenna diversity. This code isn't currently used anywhere; it's just linked into the build.
|
#
220559 |
|
12-Apr-2011 |
adrian |
Introduce geom_map, a GEOM provider designed for use by embedded flash stores.
Some devices - notably those with uboot - don't have an explicit partition table (eg like Redboot's FIS.) geom_map thus provides an easy way to export the hard-coded flash layout as geom providers for use by filesystems and other tools.
It also includes a "search" function which allows for dynamic creation of partition layouts where the device only has a single hard-coded partition. For example, if there is a "kernel+rootfs" partition, a single image can be created which appends the rootfs after the kernel with an appropriate search string. geom_map can be told to search for said search string and create a partition beginning after it.
Submitted by: Aleksandr Rybalko <ray@dlink.ua>
|
#
220185 |
|
31-Mar-2011 |
adrian |
Break out the ath PCI logic into a separate device/module.
Introduce the AHB glue for Atheros embedded systems. Right now it's hard-coded for the AR9130 chip whose support isn't yet in this HAL; it'll be added in a subsequent commit.
Kernel configuration files now need both 'ath' and 'ath_pci' devices; both modules need to be loaded for the ath device to work.
|
#
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)
|
#
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.
|
#
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.
|
#
219647 |
|
14-Mar-2011 |
davidch |
- Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE. (BCM57710, BCM57711, BCM57711E)
MFC after: One month
|
#
219580 |
|
12-Mar-2011 |
bz |
INET6 for some time needed in_pcb.c so make sure we compile it in case of no inet.
MFC after: 2 weeks
|
#
219481 |
|
11-Mar-2011 |
adrian |
Port over the AR9285 PA calibration and initial calibration code from Linux ath9k.
The ath9k ar9002_hw_init_cal() isn't entirely clear about what is supposed to be called for what chipsets, so I'm ignoring the rest of it and just porting the AR9285 init cal path as-is and leaving the rest alone. Subsequent commits may also tidy up the Merlin (AR9285) and other chipset support.
Obtained from: Linux ath9k
|
#
219393 |
|
08-Mar-2011 |
adrian |
Implement open-loop TX power control (OLC) for Merlin (AR9280) and generally tidy up the TX power programming code.
Enforce that the TX power offset for Merlin is -5 dBm, rather than any other value programmable in the EEPROM. This requires some further code to be ported over from ath9k, so until that is done and tested, fail to attach NICs whose TX power offset isn't -5 dBm.
This improves both legacy and HT transmission on my merlin board. It allows for stable MCS TX up to MCS15.
Specifics:
* Refactor out a bunch of the TX power calibration code - setting/obtaining the power detector / gain boundaries, programming the PDADC * Take the -5 dBm TX power offset into account on Merlin - "0" in the per-rate TX power register means -5 dBm, not 0 dBm * When doing OLC * Enforce min (0) and max (AR5416_MAX_RATE_POWER) when fiddling with the TX power, to avoid the TX power values from wrapping when low. * Implement the 1 dBm cck power offset when doing OLC * Implement temperature compensation for 2.4ghz mode when doing OLC * Implement an AR9280 specific TX power calibration routine which includes the OLC twiddles, leaving the earlier chipset path (AR5416, AR9160) alone
Whilst here, use these refactored routines for the AR9285 TX power calibration/programming code and enforce correct overflow/underflow handling when fiddling with TX power values.
Obtained from: linux ath9k
|
#
219304 |
|
05-Mar-2011 |
trasz |
Add two new system calls, setloginclass(2) and getloginclass(2). This makes it possible for the kernel to track login class the process is assigned to, which is required for RCTL. This change also make setusercontext(3) call setloginclass(2) and makes it possible to retrieve current login class using id(1).
Reviewed by: kib (as part of a larger patch)
|
#
219221 |
|
03-Mar-2011 |
hselasky |
- Remove dependency to ucom from ulpt.
MFC after: 14 days Approved by: thompsa (mentor)
|
#
219185 |
|
02-Mar-2011 |
adrian |
Break the keycache management functions out into if_ath_keycache.c .
|
#
219182 |
|
02-Mar-2011 |
glebius |
Add support for NetFlow version 9 into ng_netflow(4) node.
Submitted by: Alexander V. Chernikov <melifaro ipfw.ru>
|
#
219180 |
|
02-Mar-2011 |
adrian |
Migrate the sysctl related routines (statistics, debugging, etc) out of if_ath.c and into if_ath_sysctl.c .
|
#
219130 |
|
01-Mar-2011 |
rwatson |
Hook up sys_capability.c to the build.
Sponsored by: Google, Inc. Reviewed by: anderson Discussed with: benl, kris, pjd Obtained from: Capsicum Project MFC after: 3 months
|
#
218792 |
|
18-Feb-2011 |
np |
cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters.
MFC after: 3 weeks
|
#
218765 |
|
17-Feb-2011 |
hselasky |
- Fix build of manual page and inclusion of mos driver into kernel config file. - Fix style compliancy by wrapping some long lines in if_mos.c
Approved by: thompsa (mentor)
|
#
218590 |
|
11-Feb-2011 |
jkim |
Merge ACPICA 20110211.
|
#
218368 |
|
06-Feb-2011 |
bschmidt |
Fix cut&paste mistake.
MFC after: 1 week
|
#
218290 |
|
04-Feb-2011 |
jhb |
Correct include path.
Submitted by: arundel MFC after: 1 week
|
#
218159 |
|
01-Feb-2011 |
adrian |
Include some preliminary TX HT rate scenario setup code.
The AR5416 and later TX descriptors have new fields for supporting 11n bits (eg 20/40mhz mode, short/long GI) and enabling/disabling RTS/CTS protection per rate.
These functions will be responsible for initialising the TX descriptors for the AR5416 and later chips for both HT and legacy frames.
Beacon frames will remain using the non-11n TX descriptor setup for now; Linux ath9k does much the same.
Note that these functions aren't yet used anywhere; a few more framework changes are needed before all of the right rate information is available for TX.
|
#
218065 |
|
29-Jan-2011 |
adrian |
Migrate the TX path code out of if_ath and into a separate source file.
There's two reasons for this:
* the raw and non-raw TX path shares a lot of duplicate code which should be refactored; * the 11n-ready chip TX path needs a little reworking.
|
#
218058 |
|
29-Jan-2011 |
adrian |
Break out the debug macros from if_ath.c into if_ath_debug.[ch] .
This is prep work for breaking out the TX path into a separate set of source files.
|
#
217760 |
|
23-Jan-2011 |
tuexen |
Add stream scheduling support. This work is based on a patch received from Robin Seggelmann.
MFC after: 3 months.
|
#
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.
|
#
217515 |
|
17-Jan-2011 |
jkim |
Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits.
MFC after: 1 month
|
#
217288 |
|
11-Jan-2011 |
thompsa |
Allow runfw(4) to be compiled in to the kernel.
Submitted by: Akinori Furukoshi
|
#
216931 |
|
03-Jan-2011 |
rmacklem |
Fix the nlm so that it no longer depends on the regular nfs client and, as such, can be loaded for the experimental nfs client without the regular client.
Reviewed by: jhb MFC after: 2 weeks
|
#
216829 |
|
30-Dec-2010 |
yongari |
Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet. The controller is commonly found on DM&P Vortex86 x86 SoC. The driver supports all hardware features except flow control. The flow control was intentionally disabled due to silicon bug.
DM&P Electronics, Inc. provided all necessary information including sample board to write driver and answered many questions I had. Many thanks for their support of FreeBSD.
H/W donated by: DM&P Electronics, Inc.
|
#
216828 |
|
30-Dec-2010 |
yongari |
Add RDC Semiconductor R6040 10/100 PHY driver.
|
#
216615 |
|
21-Dec-2010 |
lstewart |
- Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), and in many respects can be thought of as a more generic superset of pfil. Hhook provides a way for kernel subsystems to export hook points that Khelp modules can hook to provide enhanced or new functionality to the kernel. The KPI has been designed to ensure hook points pose no noticeable overhead when no hook functions are registered.
- Introduce the Khelp (Kernel Helpers) KPI. Khelp provides a framework for managing Khelp modules, which indirectly use the Hhook KPI to register their hook functions with hook points of interest within the kernel. Khelp modules aim to provide a structured way to dynamically extend the kernel at runtime in an ABI preserving manner. Depending on the subsystem providing hook points, a Khelp module may be able to associate per-object data for maintaining relevant state between hook calls.
- pjd's Object Specific Data (OSD) KPI is used to manage the per-object data allocated to Khelp modules. Create a new "OSD_KHELP" OSD type for use by the Khelp framework.
- Bump __FreeBSD_version to 900028 to mark the introduction of the new KPIs.
In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz, others along the way MFC after: 3 months
|
#
216559 |
|
19-Dec-2010 |
bschmidt |
Update firmware for wpi(4) from version 2.14.4 to 15.32.2.9.
PR: kern/142907 Submitted by: Craig Butler <craig001 at lerwick.hopto.org> MFC after: 2 weeks
|
#
216471 |
|
15-Dec-2010 |
jkim |
Merge ACPICA 20101209.
|
#
216088 |
|
30-Nov-2010 |
ken |
Add Serial Management Protocol (SMP) passthrough support to CAM.
This includes support in the kernel, camcontrol(8), libcam and the mps(4) driver for SMP passthrough.
The CAM SCSI probe code has been modified to fetch Inquiry VPD page 0x00 to determine supported pages, and will now fetch page 0x83 in addition to page 0x80 if supported.
Add two new CAM CCBs, XPT_SMP_IO, and XPT_GDEV_ADVINFO. The SMP CCB is intended for SMP requests and responses. The ADVINFO is currently used to fetch cached VPD page 0x83 data from the transport layer, but is intended to be extensible to fetch other types of device-specific data.
SMP-only devices are not currently represented in the CAM topology, and so the current semantics are that the SIM will route SMP CCBs to either the addressed device, if it contains an SMP target, or its parent, if it contains an SMP target. (This is noted in cam_ccb.h, since it will change later once we have the ability to have SMP-only devices in CAM's topology.)
smp_all.c, smp_all.h: New helper routines for SMP. This includes SMP request building routines, response parsing routines, error decoding routines, and structure definitions for a number of SMP commands.
libcam/Makefile: Add smp_all.c to libcam, so that SMP functionality is available to userland applications.
camcontrol.8, camcontrol.c: Add smp passthrough support to camcontrol. Several new subcommands are now available:
'smpcmd' functions much like 'cmd', except that it allows the user to send generic SMP commands.
'smprg' sends the SMP report general command, and displays the decoded output. It will automatically fetch extended output if it is available.
'smppc' sends the SMP phy control command, with any number of potential options. Among other things, this allows the user to reset a phy on a SAS expander, or disable a phy on an expander.
'smpmaninfo' sends the SMP report manufacturer information and displays the decoded output.
'smpphylist' displays a list of phys on an expander, and the CAM devices attached to those phys, if any.
cam.h, cam.c: Add a status value for SMP errors (CAM_SMP_STATUS_ERROR).
Add a missing description for CAM_SCSI_IT_NEXUS_LOST.
Add support for SMP commands to cam_error_string().
cam_ccb.h: Rename the CAM_DIR_RESV flag to CAM_DIR_BOTH. SMP commands are by nature bi-directional, and we may need to support bi-directional SCSI commands later.
Add the XPT_SMP_IO CCB. Since SMP commands are bi-directional, there are pointers for both the request and response.
Add a fill routine for SMP CCBs.
Add the XPT_GDEV_ADVINFO CCB. This is currently used to fetch cached page 0x83 data from the transport later, but is extensible to fetch many other types of data.
cam_periph.c: Add support in cam_periph_mapmem() for XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs.
cam_xpt.c: Add support for executing XPT_SMP_IO CCBs.
cam_xpt_internal.h: Add fields for VPD pages 0x00 and 0x83 in struct cam_ed.
scsi_all.c: Add scsi_get_sas_addr(), a function that parses VPD page 0x83 data and pulls out a SAS address.
scsi_all.h: Add VPD page 0x00 and 0x83 structures, and a prototype for scsi_get_sas_addr().
scsi_pass.c: Add support for mapping buffers in XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs.
scsi_xpt.c: In the SCSI probe code, first ask the device for VPD page 0x00. If any VPD pages are supported, that page is required to be implemented. Based on the response, we may probe for the serial number (page 0x80) or device id (page 0x83).
Add support for the XPT_GDEV_ADVINFO CCB.
sys/conf/files: Add smp_all.c.
mps.c: Add support for passing in a uio in mps_map_command(), so we can map a S/G list at once.
Add support for SMP passthrough commands in mps_data_cb(). SMP is a special case, because the first buffer in the S/G list is outbound and the second buffer is inbound.
Add support for warning the user if the busdma code comes back with more buffers than will work for the command. This will, for example, help the user determine why an SMP command failed if busdma comes back with three buffers.
mps_pci.c: Add sys/uio.h.
mps_sas.c: Add the SAS address and the parent handle to the list of fields we pull from device page 0 and cache in struct mpssas_target. These are needed for SMP passthrough.
Add support for the XPT_SMP_IO CCB. For now, this CCB is routed to the addressed device if it supports SMP, or to its parent if it does not and the parent does. This is necessary because CAM does not currently support SMP-only nodes in the topology.
Make SMP passthrough support conditional on __FreeBSD_version >= 900026. This will make it easier to MFC this change to the driver without MFCing the CAM changes as well.
mps_user.c: Un-staticize mpi_init_sge() so we can use it for the SMP passthrough code.
mpsvar.h: Add a uio and iovecs into struct mps_command for SMP passthrough commands.
Add a cm_max_segs field to struct mps_command so that we can warn the user if busdma comes back with too many segments.
Clear the cm_reply when a command gets freed. If it is not cleared, reply frames will eventually get freed into the pool multiple times and corrupt the pool. (This fix is from scottl.)
Add a prototype for mpi_init_sge().
sys/param.h: Bump __FreeBSD_version to 900026 for the for the inclusion of the XPT_GDEV_ADVINFO and XPT_SMP_IO CAM CCBs.
|
#
215911 |
|
26-Nov-2010 |
jfv |
Update ixgbe driver to verion 2.3.6 - This adds a VM SRIOV interface, ixv, it is however transparent to the user, it links with the ixgbe.ko, but when ixgbe is loaded in a virtualized guest with SRIOV configured this will be detected. - Sync shared code to latest - Many bug fixes and improvements, thanks to everyone who has been using the driver and reporting issues.
|
#
215649 |
|
21-Nov-2010 |
weongyo |
Adds a USB packet filter feature to the stack that it could capture packets which go through each USB host controllers. Its implementations are almost based on BPF code and very similar with it except it's little bit customized for USB packet only. The userland program usbdump(8) would be committed soon.
Discussed with: hps, thompsa, yongari
|
#
215166 |
|
12-Nov-2010 |
lstewart |
This commit marks the first formal contribution of the "Five New TCP Congestion Control Algorithms for FreeBSD" FreeBSD Foundation funded project. More details about the project are available at: http://caia.swin.edu.au/freebsd/5cc/
- Add a KPI and supporting infrastructure to allow modular congestion control algorithms to be used in the net stack. Algorithms can maintain per-connection state if required, and connections maintain their own algorithm pointer, which allows different connections to concurrently use different algorithms. The TCP_CONGESTION socket option can be used with getsockopt()/setsockopt() to programmatically query or change the congestion control algorithm respectively from within an application at runtime.
- Integrate the framework with the TCP stack in as least intrusive a manner as possible. Care was also taken to develop the framework in a way that should allow integration with other congestion aware transport protocols (e.g. SCTP) in the future. The hope is that we will one day be able to share a single set of congestion control algorithm modules between all congestion aware transport protocols.
- Introduce a new congestion recovery (TF_CONGRECOVERY) state into the TCP stack and use it to decouple the meaning of recovery from a congestion event and recovery from packet loss (TF_FASTRECOVERY) a la RFC2581. ECN and delay based congestion control protocols don't generally need to recover from packet loss and need a different way to note a congestion recovery episode within the stack.
- Remove the net.inet.tcp.newreno sysctl, which simplifies some portions of code and ensures the stack always uses the appropriate mechanisms for recovering from packet loss during a congestion recovery episode.
- Extract the NewReno congestion control algorithm from the TCP stack and massage it into module form. NewReno is always built into the kernel and will remain the default algorithm for the forseeable future. Implementations of additional different algorithms will become available in the near future.
- Bump __FreeBSD_version to 900025 and note in UPDATING that rebuilding code that relies on the size of "struct tcpcb" is required.
Many thanks go to the Cisco University Research Program Fund at Community Foundation Silicon Valley and the FreeBSD Foundation. Their support of our work at the Centre for Advanced Internet Architectures, Swinburne University of Technology is greatly appreciated.
In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: Cisco URP, FreeBSD Foundation Reviewed by: rpaulo Tested by: David Hayes (and many others over the years) MFC after: 3 months
|
#
214655 |
|
02-Nov-2010 |
obrien |
Shorten long lines.
|
#
214333 |
|
25-Oct-2010 |
bz |
Factor out DDB commands from r204145, r204279 into if_debug.c for further enhancements (1). Switch to a standard 2-clause BSD license for this (2).
Unfortunately we have to un-static the ifindex_table for this but do not publicly export it.
Suggested by: rwatson (1) a while back. Approved by: thompsa (2) for the change from r204279. MFC after: 6 days
|
#
214303 |
|
24-Oct-2010 |
bz |
Add initial inet DDB support for show in_ifaddr and show sin commands which proved to be useful while debugging address list problems.
MFC after: 6 days
|
#
214077 |
|
19-Oct-2010 |
gibbs |
Improve the Xen para-virtualized device infrastructure of FreeBSD:
o Add support for backend devices (e.g. blkback) o Implement extensions to the Xen para-virtualized block API to allow for larger and more outstanding I/Os. o Import a completely rewritten block back driver with support for fronting I/O to both raw devices and files. o General cleanup and documentation of the XenBus and XenStore support code. o Robustness and performance updates for the block front driver. o Fixes to the netfront driver.
Sponsored by: Spectra Logic Corporation
sys/xen/xenbus/init.txt: Deleted: This file explains the Linux method for XenBus device enumeration and thus does not apply to FreeBSD's NewBus approach.
sys/xen/xenbus/xenbus_probe_backend.c: Deleted: Linux version of backend XenBus service routines. It was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m, xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus support.
sys/xen/xenbus/xenbusvar.h: sys/xen/xenbus/xenbus_xs.c: sys/xen/xenbus/xenbus_comms.c: sys/xen/xenbus/xenbus_comms.h: sys/xen/xenstore/xenstorevar.h: sys/xen/xenstore/xenstore.c: Split XenStore into its own tree. XenBus is a software layer built on top of XenStore. The old arrangement and the naming of some structures and functions blurred these lines making it difficult to discern what services are provided by which layer and at what times these services are available (e.g. during system startup and shutdown).
sys/xen/xenbus/xenbus_client.c: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_probe.c: sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: Split up XenBus code into methods available for use by client drivers (xenbus.c) and code used by the XenBus "bus code" to enumerate, attach, detach, and service bus drivers.
sys/xen/reboot.c: sys/dev/xen/control/control.c: Add a XenBus front driver for handling shutdown, reboot, suspend, and resume events published in the XenStore. Move all PV suspend/reboot support from reboot.c into this driver.
sys/xen/blkif.h: New file from Xen vendor with macros and structures used by a block back driver to service requests from a VM running a different ABI (e.g. amd64 back with i386 front).
sys/conf/files: Adjust kernel build spec for new XenBus/XenStore layout and added Xen functionality.
sys/dev/xen/balloon/balloon.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/blkfront/blkfront.c: sys/xen/xenbus/... sys/xen/xenstore/... o Rename XenStore APIs and structures from xenbus_* to xs_*. o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation of objects returned by these APIs. o Adjust for changes in the bus interface for Xen drivers.
sys/xen/xenbus/... sys/xen/xenstore/... Add Doxygen comments for these interfaces and the code that implements them.
sys/dev/xen/blkback/blkback.c: o Rewrite the Block Back driver to attach properly via newbus, operate correctly in both PV and HVM mode regardless of domain (e.g. can be in a DOM other than 0), and to deal with the latest metadata available in XenStore for block devices.
o Allow users to specify a file as a backend to blkback, in addition to character devices. Use the namei lookup of the backend path to automatically configure, based on file type, the appropriate backend method.
The current implementation is limited to a single outstanding I/O at a time to file backed storage.
sys/dev/xen/blkback/blkback.c: sys/xen/interface/io/blkif.h: sys/xen/blkif.h: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Extend the Xen blkif API: Negotiable request size and number of requests.
This change extends the information recorded in the XenStore allowing block front/back devices to negotiate for optimal I/O parameters. This has been achieved without sacrificing backward compatibility with drivers that are unaware of these protocol enhancements. The extensions center around the connection protocol which now includes these additions:
o The back-end device publishes its maximum supported values for, request I/O size, the number of page segments that can be associated with a request, the maximum number of requests that can be concurrently active, and the maximum number of pages that can be in the shared request ring. These values are published before the back-end enters the XenbusStateInitWait state.
o The front-end waits for the back-end to enter either the InitWait or Initialize state. At this point, the front end limits it's own capabilities to the lesser of the values it finds published by the backend, it's own maximums, or, should any back-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures including allocation of the shared ring, publishes its maximum capabilities to the XenStore and transitions to the Initialized state.
o The back-end waits for the front-end to enter the Initalized state. At this point, the back end limits it's own capabilities to the lesser of the values it finds published by the frontend, it's own maximums, or, should any front-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures, attaches to the shared ring and transitions to the Connected state.
o The front-end waits for the back-end to enter the Connnected state, transitions itself to the connected state, and can commence I/O.
Although an updated front-end driver must be aware of the back-end's InitWait state, the back-end has been coded such that it can tolerate a front-end that skips this step and transitions directly to the Initialized state without waiting for the back-end.
sys/xen/interface/io/blkif.h: o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is the maximum number possible without changing the blkif request header structure (nr_segs is a uint8_t).
o Add two new constants: BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively indicate the number of segments that can fit in the first ring-buffer entry of a request, and for each subsequent (sg element only) ring-buffer entry associated with the "header" ring-buffer entry of the request.
o Add the blkif_request_segment_t typedef for segment elements.
o Add the BLKRING_GET_SG_REQUEST() macro which wraps the RING_GET_REQUEST() macro and returns a properly cast pointer to an array of blkif_request_segment_ts.
o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the number of ring entries that will be consumed by a blkif request with the given number of segments.
sys/xen/blkif.h: o Update for changes in interface/io/blkif.h macros.
o Update the BLKIF_MAX_RING_REQUESTS() macro to take the ring size as an argument to allow this calculation on multi-page rings.
o Add a companion macro to BLKIF_MAX_RING_REQUESTS(), BLKIF_RING_PAGES(). This macro determines the number of ring pages required in order to support a ring with the supplied number of request blocks.
sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: o Negotiate with the other-end with the following limits: Reqeust Size: MAXPHYS Max Segments: (MAXPHYS/PAGE_SIZE) + 1 Max Requests: 256 Max Ring Pages: Sufficient to support Max Requests with Max Segments.
o Dynamically allocate request pools and segemnts-per-request.
o Update ring allocation/attachment code to support a multi-page shared ring.
o Update routines that access the shared ring to handle multi-block requests.
sys/dev/xen/blkfront/blkfront.c: o Track blkfront allocations in a blkfront driver specific malloc pool.
o Strip out XenStore transaction retry logic in the connection code. Transactions only need to be used when the update to multiple XenStore nodes must be atomic. That is not the case here.
o Fully disable blkif_resume() until it can be fixed properly (it didn't work before this change).
o Destroy bus-dma objects during device instance tear-down.
o Properly handle backend devices with powef-of-2 sector sizes larger than 512b.
sys/dev/xen/blkback/blkback.c: Advertise support for and implement the BLKIF_OP_WRITE_BARRIER and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and the BIO_ORDERED attribute of bios.
sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Fix various bugs in blkfront.
o gnttab_alloc_grant_references() returns 0 for success and non-zero for failure. The check for < 0 is a leftover Linuxism.
o When we negotiate with blkback and have to reduce some of our capabilities, print out the original and reduced capability before changing the local capability. So the user now gets the correct information.
o Fix blkif_restart_queue_callback() formatting. Make sure we hold the mutex in that function before calling xb_startio().
o Fix a couple of KASSERT()s.
o Fix a check in the xb_remove_* macro to be a little more specific.
sys/xen/gnttab.h: sys/xen/gnttab.c: Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID.
sys/dev/xen/netfront/netfront.c: Use GRANT_REF_INVALID instead of driver private definitions of the same constant.
sys/xen/gnttab.h: sys/xen/gnttab.c: Add the gnttab_end_foreign_access_references() API.
This API allows a client to batch the release of an array of grant references, instead of coding a private for loop. The implementation takes advantage of this batching to reduce lock overhead to one acquisition and release per-batch instead of per-freed grant reference.
While here, reduce the duration the gnttab_list_lock is held during gnttab_free_grant_references() operations. The search to find the tail of the incoming free list does not rely on global state and so can be performed without holding the lock.
sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/evtchn/evtchn.c: sys/xen/xen_intr.h: o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode. This allows an HVM domain to serve back end devices to other domains. This API is already implemented for PV mode.
o Synchronize the API between HVM and PV.
sys/dev/xen/xenpci/xenpci.c: o Scan the full region of CPUID space in which the Xen VMM interface may be implemented. On systems using SuSE as a Dom0 where the Viridian API is also exported, the VMM interface is above the region we used to search.
o Pass through bus_alloc_resource() calls so that XenBus drivers attaching on an HVM system can allocate unused physical address space from the nexus. The block back driver makes use of this facility.
sys/i386/xen/xen_machdep.c: Use the correct type for accessing the statically mapped xenstore metadata.
sys/xen/interface/hvm/params.h: sys/xen/xenstore/xenstore.c: Move hvm_get_parameter() to the correct global header file instead of as a private method to the XenStore.
sys/xen/interface/io/protocols.h: Sync with vendor.
sys/xeninterface/io/ring.h: Add macro for calculating the number of ring pages needed for an N deep ring.
To avoid duplication within the macros, create and use the new __RING_HEADER_SIZE() macro. This macro calculates the size of the ring book keeping struct (producer/consumer indexes, etc.) that resides at the head of the ring.
Add the __RING_PAGES() macro which calculates the number of shared ring pages required to support a ring with the given number of requests.
These APIs are used to support the multi-page ring version of the Xen block API.
sys/xeninterface/io/xenbus.h: Add Comments.
sys/xen/xenbus/... o Refactor the FreeBSD XenBus support code to allow for both front and backend device attachments.
o Make use of new config_intr_hook capabilities to allow front and back devices to be probed/attached in parallel.
o Fix bugs in probe/attach state machine that could cause the system to hang when confronted with a failure either in the local domain or in a remote domain to which one of our driver instances is attaching.
o Publish all required state to the XenStore on device detach and failure. The majority of the missing functionality was for serving as a back end since the typical "hot-plug" scripts in Dom0 don't handle the case of cleaning up for a "service domain" that is not itself.
o Add dynamic sysctl nodes exposing the generic ivars of XenBus devices.
o Add doxygen style comments to the majority of the code.
o Cleanup types, formatting, etc.
sys/xen/xenbus/xenbusb.c: Common code used by both front and back XenBus busses.
sys/xen/xenbus/xenbusb_if.m: Method definitions for a XenBus bus.
sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusb_back.c: XenBus bus specialization for front and back devices.
MFC after: 1 month
|
#
214069 |
|
19-Oct-2010 |
bschmidt |
Fix an undefined behaviour if the desired ratectl algo is not available. This can happen if the algos are built as modules but are not loaded. If the selected ratectl algo is not available, try to load it (The load module functions does nothing currently). Add a dummy ratectl algo which always selects the first available rate. Use that one if the desired algo is not available.
MFC after: 1 week
|
#
213805 |
|
13-Oct-2010 |
hselasky |
USB Network: - Add new driver for iPhone tethering - Supports the iPhone 3G/3GS/4G ethernet protocol
Approved by: thompsa (mentor)
|
#
213437 |
|
04-Oct-2010 |
hselasky |
Link the XHCI (USB 3.0 hardware driver) into the default kernel build.
Approved by: thompsa (mentor)
|
#
213365 |
|
02-Oct-2010 |
marcel |
Split the root mount logic from the (generic) mount code and move it (the root mount code) into a new file called vfs_mountroot.c
The split is almost trivial, as the code is almost perfectly non-intertwined. The only adjustment needed was to move the UMA zone allocation out of vfs_mountroot() [in vfs_mountroot.c] and into vfs_mount.c, where it had to be done as a SYSINIT [see vfs_mount_init()].
There are no functional changes with this commit.
|
#
213237 |
|
28-Sep-2010 |
gonzo |
Initial GPIO bus support. Includes: - GPIO bus controller interface - GPIO bus interface - Implementation of GPIO led(4) compatible device - Implementation of iic(4) bus over GPIO (author: Luiz Otavio O Souza)
Tested by: Luiz Otavio O Souza, Alexandr Rybalko
|
#
213215 |
|
27-Sep-2010 |
jh |
Add reference counting for devfs paths containing user created symbolic links. The reference counting is needed to be able to determine if a specific devfs path exists. For true device file paths we can traverse the cdevp_list but a separate directory list is needed for user created symbolic links.
Add a new directory entry flag DE_USER to mark entries which should unreference their parent directory on deletion.
A new function to traverse cdevp_list and the directory list will be introduced in a separate commit.
Idea from: kib Reviewed by: kib
|
#
213103 |
|
24-Sep-2010 |
attilio |
Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general in the kernel (just as inet_ntoa() and inet_aton()) are and sync their prototype accordingly with already mentioned functions.
Sponsored by: Sandvine Incorporated Reviewed by: emaste, rstone Approved by: dfr MFC after: 2 weeks
|
#
212761 |
|
16-Sep-2010 |
jkim |
Merge ACPICA 20100915.
|
#
212429 |
|
10-Sep-2010 |
obrien |
Add real dependancies on the uuencoded firmwares. Now when one does 'make kernel ; make kernel' the second invocation only does: `kernel.ko' is up to date. rather than reproduce all the .fw files and relink the kernel.
|
#
212420 |
|
10-Sep-2010 |
ken |
MFp4 (//depot/projects/mps/...)
Bring in a driver for the LSI Logic MPT2 6Gb SAS controllers.
This driver supports basic I/O, and works with SAS and SATA drives and expanders.
Basic error recovery works (i.e. timeouts and aborts) as well.
Integrated RAID isn't supported yet, and there are some known bugs.
So this isn't ready for production use, but is certainly ready for testing and additional development. For the moment, new commits to this driver should go into the FreeBSD Perforce repository first (//depot/projects/mps/...) and then get merged into -current once they've been vetted.
This has only been added to the amd64 GENERIC, since that is the only architecture I have tested this driver with.
Submitted by: scottl Discussed with: imp, gibbs, will Sponsored by: Yahoo, Spectra Logic Corporation
|
#
211063 |
|
08-Aug-2010 |
bschmidt |
License ACK is not required for the wpifw module nor when building it into the kernel.
PR: conf/148758 Submitted by: Joe Talbott <josepht at dragonflybsd.org> MFC after: 3 days
|
#
210976 |
|
06-Aug-2010 |
jkim |
Merge ACPICA 20100806.
|
#
210477 |
|
25-Jul-2010 |
rpaulo |
Remove the acpi_aiboost driver. It has been replaced by aibs(4).
|
#
210455 |
|
24-Jul-2010 |
rmacklem |
Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separate module that can be used by both the regular and experimental nfs clients. This fixes the problem reported by jh@ where /dev/nfslock would be registered twice when both nfs clients were used. I also defined the size of the lm_fh field to be the correct value, as it should be the maximum size of an NFSv3 file handle.
Reviewed by: jh MFC after: 2 weeks
|
#
210113 |
|
15-Jul-2010 |
bschmidt |
- Update 6000 firmware to 9.221.4.1 - Add 6050 firmware
MFC after: 2 weeks
|
#
209616 |
|
30-Jun-2010 |
jfv |
OK, I was a bit sleep this morning and checked in the core changes but left out the shared code, lol. Well, and a couple fixes to the core... hopefully this will all be complete now.
Happy happy joy joy :)
|
#
209523 |
|
25-Jun-2010 |
rpaulo |
Import the acpi_aibs(4) driver written by Constantine A. Murenin. It has more features than acpi_aiboost(4) and it will eventually replace acpi_aiboost(4).
Submitted by: Constantine A. Murenin <cnst at FreeBSD.org> Reviewed by: freebsd-acpi, imp MFC after: 1 month
|
#
209371 |
|
20-Jun-2010 |
mav |
Implement new event timers infrastructure. It provides unified APIs for writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware.
Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project.
For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected.
This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2.
Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup.
|
#
209128 |
|
13-Jun-2010 |
raj |
Connect FDT infrastructure to the build system.
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
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
|
#
208554 |
|
25-May-2010 |
glebius |
Add uep(4), driver for USB onscreen touch panel from eGalax.
The driver is stub. It just creates device entry and feeds reassembled packets from hardware into it.
If in future we would port wsmouse(4) from NetBSD, or make sysmouse(4) to support absolute motion events, then the driver can be extended to act as system mouse. Meanwhile, it just presents a /dev/uep0, that can be utilized by X driver, that I am going to commit to ports tree soon.
The name for the driver is chosen to be the same as in NetBSD, however, due to different USB stacks this driver isn't a port.
|
#
208453 |
|
23-May-2010 |
kib |
Reorganize syscall entry and leave handling.
Extend struct sysvec with three new elements: sv_fetch_syscall_args - the method to fetch syscall arguments from usermode into struct syscall_args. The structure is machine-depended (this might be reconsidered after all architectures are converted). sv_set_syscall_retval - the method to set a return value for usermode from the syscall. It is a generalization of cpu_set_syscall_retval(9) to allow ABIs to override the way to set a return value. sv_syscallnames - the table of syscall names.
Use sv_set_syscall_retval in kern_sigsuspend() instead of hardcoding the call to cpu_set_syscall_retval().
The new functions syscallenter(9) and syscallret(9) are provided that use sv_*syscall* pointers and contain the common repeated code from the syscall() implementations for the architecture-specific syscall trap handlers.
Syscallenter() fetches arguments, calls syscall implementation from ABI sysent table, and set up return frame. The end of syscall bookkeeping is done by syscallret().
Take advantage of single place for MI syscall handling code and implement ptrace_lwpinfo pl_flags PL_FLAG_SCE, PL_FLAG_SCX and PL_FLAG_EXEC. The SCE and SCX flags notify the debugger that the thread is stopped at syscall entry or return point respectively. The EXEC flag augments SCX and notifies debugger that the process address space was changed by one of exec(2)-family syscalls.
The i386, amd64, sparc64, sun4v, powerpc and ia64 syscall()s are changed to use syscallenter()/syscallret(). MIPS and arm are not converted and use the mostly unchanged syscall() implementation.
Reviewed by: jhb, marcel, marius, nwhitehorn, stas Tested by: marcel (ia64), marius (sparc64), nwhitehorn (powerpc), stas (mips) MFC after: 1 month
|
#
208183 |
|
17-May-2010 |
mav |
Make mvs_if.c to not be always linked statically into the kernel. Link it same way as mvs.c.
|
#
207536 |
|
02-May-2010 |
mav |
Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers driver for CAM ATA subsystem. This driver supports same hardware as atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides many additional features, such as NCQ, PMP, etc.
|
#
207344 |
|
28-Apr-2010 |
jkim |
Merge ACPICA 20100428.
|
#
206625 |
|
14-Apr-2010 |
yongari |
Add driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. This driver was written by Alexander Pohoyda and greatly enhanced by Nikolay Denev. I don't have these hardwares but this driver was tested by Nikolay Denev and xclin.
Because SiS didn't release data sheet for this controller, programming information came from Linux driver and OpenSolaris. Unlike other open source driver for SiS190/191, sge(4) takes full advantage of TX/RX checksum offloading and does not require additional copy operation in RX handler. The controller seems to have advanced offloading features like VLAN hardware tag insertion/stripping, TCP segmentation offload(TSO) as well as jumbo frame support but these features are not available yet. Special thanks to xclin <xclin<> cs dot nctu dot edu dot tw> who sent fix for receiving VLAN oversized frames.
|
#
206446 |
|
10-Apr-2010 |
bschmidt |
Update firmware for the 6000 series Intel cards to version 9.193.4.1.
Approved by: rpaulo (mentor) MFC after: 2 weeks
|
#
206426 |
|
09-Apr-2010 |
rpaulo |
Building wlan_amrr is now mandatory. This is an interim fix.
|
#
206358 |
|
07-Apr-2010 |
rpaulo |
net80211 rate control framework (net80211 ratectl).
This framework allows drivers to abstract the rate control algorithm and just feed the framework with the usable parameters. The rate control framework will now deal with passing the parameters to the selected algorithm. Right now we have AMRR (the default) and RSSADAPT but there's no way to select one with ifconfig, yet. The objective is to have more rate control algorithms in the net80211 stack so all drivers[0] can use it. Ideally, we'll have the well-known sample rate control algorithm in the net80211 at some point so all drivers can use it (not just ath).
[0] all drivers that do rate control in software, that is.
Reviewed by: bschmidt, thompsa, weyongo MFC after: 1 months
|
#
205999 |
|
31-Mar-2010 |
mav |
ng_gif depends on gif.
|
#
205869 |
|
29-Mar-2010 |
jfv |
Update to igb and em:
em revision 7.0.0: - Using driver devclass, seperate legacy (pre-pcie) code into a seperate source file. This will at least help protect against regression issues. It compiles along with em, and is transparent to end use, devices in each appear to be 'emX'. When using em in a modular form this also allows the legacy stuff to be defined out. - Add tx and rx rings as in igb, in the 82574 this becomes actual multiqueue for the first time (2 queues) while in other PCIE adapters its just make code cleaner. - Add RX mbuf handling logic that matches igb, this will eliminate packet drops due to temporary mbuf shortage.
igb revision 1.9.3: - Following the ixgbe code, use a new approach in what was called 'get_buf', the routine now has been made independent of rxeof, it now does the update to the engine TDT register, this design allows temporary mbuf resources to become non-critical, not requiring a packet to be discarded, instead it just returns and does not increment the tail pointer. - With the above change it was also unnecessary to keep 'spare' maps around, since we do not have the discard issue. - Performance tweaks and improvements to the code also.
MFC in a week
|
#
205417 |
|
21-Mar-2010 |
luigi |
Add a priority-based packet scheduler.
Sponsored by: The ONELAB2 Project Submitted by: Riccardo Panicucci
|
#
204773 |
|
05-Mar-2010 |
jkim |
Merge ACPICA 20100304.
|
#
204662 |
|
03-Mar-2010 |
weongyo |
Hook up the bwn driver.
Pointed by: nwhitehorn
|
#
204593 |
|
02-Mar-2010 |
alfred |
put inclusion of net/zlib.c under "device gzio" instead of "zlib" since right now there is no reason to only include "zlib".
Requested by: jhb
|
#
204591 |
|
02-Mar-2010 |
luigi |
Bring in the most recent version of ipfw and dummynet, developed and tested over the past two months in the ipfw3-head branch. This also happens to be the same code available in the Linux and Windows ports of ipfw and dummynet.
The major enhancement is a completely restructured version of dummynet, with support for different packet scheduling algorithms (loadable at runtime), faster queue/pipe lookup, and a much cleaner internal architecture and kernel/userland ABI which simplifies future extensions.
In addition to the existing schedulers (FIFO and WF2Q+), we include a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new, very fast version of WF2Q+ called QFQ.
Some test code is also present (in sys/netinet/ipfw/test) that lets you build and test schedulers in userland.
Also, we have added a compatibility layer that understands requests from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries, and replies correctly (at least, it does its best; sometimes you just cannot tell who sent the request and how to answer). The compatibility layer should make it possible to MFC this code in a relatively short time.
Some minor glitches (e.g. handling of ipfw set enable/disable, and a workaround for a bug in RELENG_7's /sbin/ipfw) will be fixed with separate commits.
CREDITS: This work has been partly supported by the ONELAB2 project, and mostly developed by Riccardo Panicucci and myself. The code for the qfq scheduler is mostly from Fabio Checconi, and Marta Carbone and Francesco Magno have helped with testing, debugging and some bug fixes.
|
#
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
|
#
204176 |
|
21-Feb-2010 |
ed |
Decompose the most lousy named file in sys/kern; kern_subr.c.
Although this file has historically been used as a dumping ground for random functions, nowadays it only contains functions related to copying bits {from,to} userspace and hash table utility functions.
Behold, subr_uio.c and subr_hash.c.
|
#
203930 |
|
15-Feb-2010 |
rpaulo |
Bring back AR9285 support. This fixes most of the issues and should be pretty usable.
MFC after: 1 month
|
#
203859 |
|
14-Feb-2010 |
rpaulo |
Also build ah_eeprom_v4k.c when ar9280 is selected.
|
#
203288 |
|
31-Jan-2010 |
rnoland |
Welcome drm support for VIA unichrome chips.
MFC after: 2 weeks
|
#
203287 |
|
31-Jan-2010 |
rnoland |
Import simple drm memory manager.
This is required for the VIA driver and at least some parts are needed for GEM.
MFC after: 2 weeks
|
#
203159 |
|
29-Jan-2010 |
rpaulo |
Add support for the AR9285 chipset, which is found on many netbooks available today.
This card is a low power 802.11bgn that only does 11n rates up to MCS 7 (that's 65 Mbps in 20Mhz mode and 135 in 40Mhz mode). 802.11n is not yet supported, but will be in the future.
The driver still has a problem regarding to the setting of txpower on the card, so don't expect good performance yet. After fixing this problem, an MFC is possible.
Special thanks to iXsystems and S Smirnov <tonve at yandex.ru> for help with the purchase of a netbook with this card.
Sponsored by: iXsystems, Inc.
|
#
203134 |
|
28-Jan-2010 |
thompsa |
Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.
This driver was written for OpenBSD by Damien Bergamini and ported over by Akinori Furukoshi.
|
#
202437 |
|
16-Jan-2010 |
trasz |
Add gmountver, disk mount verification GEOM class.
Note that due to e.g. write throttling ('wdrain'), it can stall all the disk I/O instead of just the device it's configured for. Using it for removable media is therefore not a good idea.
Reviewed by: pjd (earlier version)
|
#
202283 |
|
14-Jan-2010 |
lulf |
Bring in the ext2fs work done by Aditya Sarawgi during and after Google Summer of Code 2009:
- BSDL block and inode allocation policies for ext2fs. This involves the use FFS1 style block and inode allocation for ext2fs. Preallocation was removed since it was GPL'd. - Make ext2fs MPSAFE by introducing locks to per-mount datastructures. - Fixes for kern/122047 PR. - Various small bugfixes. - Move out of gnu/ directory.
Sponsored by: Google Inc. Submitted by: Aditya Sarawgi <sarawgi.aditya AT SPAMFREE gmail DOT com>
|
#
202181 |
|
13-Jan-2010 |
thompsa |
Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than using PPP over serial. uhsoctl(1) is used to initiate and close the WAN connection.
Obtained from: Fredrik Lindberg <fli@shapeshifter.se>
|
#
201983 |
|
10-Jan-2010 |
imp |
Merge r192355 from projects/mips to head by hand:
r192355 | gonzo | 2009-05-18 17:20:56 -0600 (Mon, 18 May 2009) | 2 lines - Add support for MX25Lxxx SPI flash (readonly atm)
|
#
201209 |
|
29-Dec-2009 |
rpaulo |
iwn(4) update. Notable changes: * new firmware * untested support for 1000 and 6000 series * bgscan support * remove unnecessary RXON changes * allow setting of country/regdomain by enforcing channel flags read from the EEPROM * suspend/resume fixes * RF kill switch fixes * LED adjustments * several bus_dma*() related fixes * addressed some LORs * many other bug fixes
Submitted by: Bernhard Schmidt <bschmidt at techwires.net> Obtained from: Brandon Gooch <jamesbrandongooch at gmail dot com> (LED related changes), Benjamin Kaduk <kaduk at mit dot edu> (LOR fixes), OpenBSD
|
#
200590 |
|
15-Dec-2009 |
luigi |
more splitting of ip_fw2.c, now extract the 'table' routines and the sockopt routines (the upper half of the kernel).
Whoever is the author of the 'table' code (Ruslan/glebius/oleg ?) please change the attribution in ip_fw_table.c. I have copied the copyright line from ip_fw2.c but it carries my name and I have neither written nor designed the feature so I don't deserve the credit.
MFC after: 1 month
|
#
200580 |
|
15-Dec-2009 |
luigi |
Start splitting ip_fw2.c and ip_fw.h into smaller components. At this time we pull out from ip_fw2.c the logging functions, and support for dynamic rules, and move kernel-only stuff into netinet/ipfw/ip_fw_private.h
No ABI change involved in this commit, unless I made some mistake. ip_fw.h has changed, though not in the userland-visible part.
Files touched by this commit:
conf/files now references the two new source files
netinet/ip_fw.h remove kernel-only definitions gone into netinet/ipfw/ip_fw_private.h.
netinet/ipfw/ip_fw_private.h new file with kernel-specific ipfw definitions
netinet/ipfw/ip_fw_log.c ipfw_log and related functions
netinet/ipfw/ip_fw_dynamic.c code related to dynamic rules
netinet/ipfw/ip_fw2.c removed the pieces that goes in the new files
netinet/ipfw/ip_fw_nat.c minor rearrangement to remove LOOKUP_NAT from the main headers. This require a new function pointer.
A bunch of other kernel files that included netinet/ip_fw.h now require netinet/ipfw/ip_fw_private.h as well. Not 100% sure i caught all of them.
MFC after: 1 month
|
#
199974 |
|
30-Nov-2009 |
jhb |
Remove extra parantheses from usb_ethernet.c and usb_serial.c lines. config(8) doesn't parse parantheses and instead treated them as being part of the device driver name (e.g. '(u3g' vs 'u3g'). While here, fix the style of these long lines to match the wrapping used for other long lines in this file.
Submitted by: Brett Glass MFC after: 1 week
|
#
199822 |
|
26-Nov-2009 |
mav |
Drop USB mass storage devices support from ata(4). It is out of the build as long as I remember, and completely superseded by better maintained umass(4). It's main idea was to optionally avoid CAM dependency for such devices, but with move ATA to CAM, it is not actual any more.
No objections: hselasky@, thompsa@, arch@
|
#
199535 |
|
19-Nov-2009 |
mav |
Tune CAM ATA kernel options a bit. Move PMP support from da to scbus and add ada device option, according to man page.
|
#
199337 |
|
16-Nov-2009 |
jkim |
Merge ACPICA 20091112.
|
#
199208 |
|
11-Nov-2009 |
attilio |
Move inet_aton() (specular to inet_ntoa(), already present in libkern) into libkern in order to made it usable by other modules than alias_proxy.
Obtained from: Sandvine Incorporated Sponsored by: Sandvine Incorporated MFC: 1 week
|
#
199177 |
|
11-Nov-2009 |
ru |
Added option NETGRAPH_VLAN.
Submitted by: pluknet
|
#
199086 |
|
09-Nov-2009 |
rpaulo |
Driver for the Apple Touchpad present on MacBook (non-Pro & Pro).
Submitted by: Rohit Grover <rgrover1 at gmail.com> MFC after: 2 months
|
#
198623 |
|
29-Oct-2009 |
mav |
Add missing ATA kernel options dependencies.
MFC after: 3 days
|
#
198468 |
|
25-Oct-2009 |
rpaulo |
Update firmware images according to the latest iwn updated. "device iwnfw" includes all firmware images, but you can pick just one by using the model number, e.g.: "device iwn4965fw".
|
#
198389 |
|
23-Oct-2009 |
mav |
MFp4: Move Port Multiplier support code out of ATA XPT into pmp periph driver. This is convinient, as PMP itself is a bus target and has own state.
|
#
198256 |
|
19-Oct-2009 |
thompsa |
Remove the newly added uch341 driver, it will be merged into uchcom instead.
Suggested by: takawata Submitted by: HPS
|
#
197969 |
|
11-Oct-2009 |
marcel |
Scan for option ROMs on i386 and amd64 only.
|
#
197791 |
|
05-Oct-2009 |
np |
cxgb(4) updates, including: - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates.
Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month
|
#
197709 |
|
02-Oct-2009 |
nyan |
Fix build nfscl and/or nfsd.
MFC after: 3 days
|
#
197557 |
|
28-Sep-2009 |
thompsa |
Add support for ChipHead 341 serial port adapter.
Submitted by: Hans Petter Selasky
|
#
197428 |
|
23-Sep-2009 |
kib |
Add per-process osrel node to the procfs, to allow read and set p_osrel value for the process.
Approved by: des (procfs maintainer) MFC after: 3 weeks
|
#
197408 |
|
22-Sep-2009 |
rdivacky |
Don't build ufs_gjournal.c at all if UFS_GJOURNAL option is not given instead of building an almost empty C file.
Approved by: pjd Approved by: ed (mentor, implicit)
|
#
197405 |
|
22-Sep-2009 |
trasz |
Add pieces of infrastructure required for NFSv4 ACL support in UFS.
Reviewed by: rwatson
|
#
197399 |
|
22-Sep-2009 |
delphij |
Hide x86bios stuff in i386/amd64 specific files as atkbdc would get these stuff into build.
|
#
197384 |
|
21-Sep-2009 |
delphij |
Allow atkbd to obtain keyboard repeat rate from BIOS on amd64.
Submitted by: swell.k at gmail.com
|
#
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>
|
#
197381 |
|
21-Sep-2009 |
delphij |
Revert part that should not be in my previous commit.
Pointy hat to: delphij
|
#
197380 |
|
21-Sep-2009 |
delphij |
Automatically depend on x86emu when vesa or dpms is being built into kernel. With this change the user no longer need to remember building this option.
Submitted by: swell.k at gmail.com
|
#
197105 |
|
11-Sep-2009 |
jkim |
Catch up with ACPICA 20090903.
|
#
197019 |
|
09-Sep-2009 |
delphij |
- Port x86emu to FreeBSD. - Connect x86emu to build.
Tested with: make universe Submitted by: swell.k at gmail com
|
#
196775 |
|
03-Sep-2009 |
ed |
Move libteken out of the syscons directory.
I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator.
Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately.
|
#
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
|
#
196470 |
|
23-Aug-2009 |
rnoland |
Add kernel support for Radeon R6/7xx 3D.
You will still need Mesa from git and possibly an updated DDX driver, but this is working fairly well now.
MFC after: 2 weeks
|
#
196019 |
|
01-Aug-2009 |
rwatson |
Merge the remainder of kern_vimage.c and vimage.h into vnet.c and vnet.h, we now use jails (rather than vimages) as the abstraction for virtualization management, and what remained was specific to virtual network stacks. Minor cleanups are done in the process, and comments updated to reflect these changes.
Reviewed by: bz Approved by: re (vimage blanket)
|
#
196003 |
|
31-Jul-2009 |
weongyo |
add upgt
Approved by: re (kib)
|
#
195892 |
|
26-Jul-2009 |
bz |
Update epair(4) to the new netisr implementation and polish things a bit: - use dpcpu data to track the ifps with packets queued up, - per-cpu locking and driver flags - along with .nh_drainedcpu and NETISR_POLICY_CPU. - Put the mbufs in flight reference count, preventing interfaces from going away, under INVARIANTS as this is a general problem of the stack and should be solved in if.c/netisr but still good to verify the internal queuing logic. - Permit changing the MTU to virtually everythinkg like we do for loopback.
Hook epair(4) up to the build.
Approved by: re (kib)
|
#
195840 |
|
24-Jul-2009 |
jhb |
Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to a device pager (OBJT_DEVICE) object in that it uses fictitious pages to provide aliases to other memory addresses. The primary difference is that it uses an sglist(9) to determine the physical addresses for a given offset into the object instead of invoking the d_mmap() method in a device driver.
Reviewed by: alc Approved by: re (kensmith) MFC after: 2 weeks
|
#
195801 |
|
21-Jul-2009 |
mav |
Add `siis` CAM driver for SiliconImage SiI3124/3132/3531 SATA2 controllers.
Driver supports Serial ATA and ATAPI devices, Port Multipliers (including FIS-based switching), hardware command queues (31 command per port) and Native Command Queuing. This is probably the second on popularity, after AHCI, type of SATA2 controllers, that benefits from using CAM, because of hardware command queuing support.
Approved by: re (kib)
|
#
195765 |
|
19-Jul-2009 |
sam |
add urtw
Approved by: re (kib)
|
#
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)
|
#
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
|
#
195534 |
|
10-Jul-2009 |
scottl |
Separate the parallel scsi knowledge out of the core of the XPT, and modularize it so that new transports can be created.
Add a transport for SATA
Add a periph+protocol layer for ATA
Add a driver for AHCI-compliant hardware.
Add a maxio field to CAM so that drivers can advertise their max I/O capability. Modify various drivers so that they are insulated from the value of MAXPHYS.
The new ATA/SATA code supports AHCI-compliant hardware, and will override the classic ATA driver if it is loaded as a module at boot time or compiled into the kernel. The stack now support NCQ (tagged queueing) for increased performance on modern SATA drives. It also supports port multipliers.
ATA drives are accessed via 'ada' device nodes. ATAPI drives are accessed via 'cd' device nodes. They can all be enumerated and manipulated via camcontrol, just like SCSI drives. SCSI commands are not translated to their ATA equivalents; ATA native commands are used throughout the entire stack, including camcontrol. See the camcontrol manpage for further details. Testing this code may require that you update your fstab, and possibly modify your BIOS to enable AHCI functionality, if available.
This code is very experimental at the moment. The userland ABI/API has changed, so applications will need to be recompiled. It may change further in the near future. The 'ada' device name may also change as more infrastructure is completed in this project. The goal is to eventually put all CAM busses and devices until newbus, allowing for interesting topology and management options.
Few functional changes will be seen with existing SCSI/SAS/FC drivers, though the userland ABI has still changed. In the future, transports specific modules for SAS and FC may appear in order to better support the topologies and capabilities of these technologies.
The modularization of CAM and the addition of the ATA/SATA modules is meant to break CAM out of the mold of being specific to SCSI, letting it grow to be a framework for arbitrary transports and protocols. It also allows drivers to be written to support discrete hardware without jeopardizing the stability of non-related hardware. While only an AHCI driver is provided now, a Silicon Image driver is also in the works. Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware is possible and encouraged. Help with new transports is also encouraged.
Submitted by: scottl, mav Approved by: re
|
#
195381 |
|
05-Jul-2009 |
sam |
add missing bit of r195379
Approved by: re (kensmith)
|
#
195377 |
|
05-Jul-2009 |
sam |
Revamp 802.11 action frame handling: o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev
Reviewed by: rpaulo Approved by: re (kensmith)
|
#
195363 |
|
05-Jul-2009 |
mav |
Mark atanvidia depending on ataahci since rev.188846.
Approved by: re (kib)
|
#
195202 |
|
30-Jun-2009 |
dfr |
Remove the old kernel RPC implementation and the NFS_LEGACYRPC option.
Approved by: re
|
#
194984 |
|
25-Jun-2009 |
raj |
Make ata-{dma,sata}.c dependent on atacore build option.
Discussed with: mav
|
#
194844 |
|
24-Jun-2009 |
raj |
Move non-PCI prototypes from ata-pci.h -> ata-all.h.
This removes unnecessary PCI #includes dependency for systems with ATA controllers living at non-PCI buses.
Submitted by: Piotr Ziecik Obtained from: Semihalf
|
#
194763 |
|
23-Jun-2009 |
marius |
- Initialize the ifnet structure, especially if_dname, before probing the PHYs as some PHY drivers use it (but probably shouldn't). How gem(4) has worked with brgphy(4) on powerpc without this so far is unclear to me. - Introduce a dying flag which is set during detach and checked in gem_ioctl() in order to prevent active BPF listeners to clear promiscuous mode which may lead to the tick callout being restarted which will trigger a panic once it's actually gone. - In gem_stop() reset rather than just disable the transmitter and receiver in order to ensure we're not unloading DMA maps still in use by the hardware. [1] - The blanking time is specified in PCI clocks so we should use twice the value when operating at 66MHz. - Spell some 2 as ETHER_ALIGN and a 19 as GEM_STATUS_TX_COMPLETION_SHFT to make the actual intentions clear. - As we don't unload the peak attempts counter ignore its overflow interrupts. - Remove a stale setting of a variable to GEM_TD_INTERRUPT_ME which isn't used afterwards. - For optimum performance increment the TX kick register in multiples of 4 if possible as suggested by the documentation. - Partially revert r164931; drivers should only clear the watchdog timer if all outstanding TX descriptors are done. - Fix some debugging strings. - Add a missing BUS_DMASYNC_POSTWRITE in gem_rint(). - As the error paths in the interrupt handler are generally unlikely predict them as false. - Add support for the SBus version of the GEM controller. [2] - Add some lock assertions. - Improve some comments. - Fix some more or less cosmetic issues in the code of the PCI front-end. - Change some softc members to be unsigned where more appropriate and remove unused ones.
Approved by: re (kib) Obtained from: NetBSD (partially) [2], OpenBSD [1] MFC after: 2 weeks
|
#
194743 |
|
23-Jun-2009 |
gallatin |
Implement minimal set of changes suggested by bz to make mxge no longer depend on INET.
|
#
194701 |
|
23-Jun-2009 |
rpaulo |
* Driver for ACPI WMI (Windows Management Instrumentation) * Driver for ACPI HP extra functionations, which required ACPI WMI driver.
Submitted by: Michael <freebsdusb at bindone.de> Approved by: re MFC after: 2 weeks
|
#
194683 |
|
23-Jun-2009 |
zec |
Connect ng_pipe to the default build.
Approved by: julian (mentor)
|
#
194521 |
|
19-Jun-2009 |
kmacy |
Greatly simplify cxgb by removing almost all of the custom mbuf management logic
- remove mbuf iovec - useful, but adds too much complexity when isolated to the driver
- remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead
- remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers
- remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets
- remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters
- add hysteresis to descriptor coalescing logic
- add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP
- add once per second watchdog to effectively close the very rare races occurring from coalescing
- incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints)
- enable prefetches in get_packet and tx cleaning
Reviewed by: navdeep@ MFC after: 2 weeks
|
#
194246 |
|
15-Jun-2009 |
marius |
Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn Gigabit Ethernet controllers. These are the successors of the Sun GEM controllers and still have a similar but extended transmit logic. As such this driver is based on gem(4). Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE) card which was vital for getting this driver to work on architectures not using Open Firmware.
Approved by: re (kib) MFC after: 2 weeks
|
#
194092 |
|
12-Jun-2009 |
ivoras |
Add support for labels derived from GPT metadata.
Approved by: gnn (mentor) Reviewed by: pjd PR: 128398 Submitted by: Marius Nuennerich < marius at nuenneri.ch >
|
#
193997 |
|
11-Jun-2009 |
bz |
All these Ethernet NICs depend on INET, mostly for unconditional cksum related function calls, sometimes related to offload features from what I could see.xi It would be good if the offload functionality would be properly #ifdefed but the other calls to cksum related functions are a more general problem also elswhere in the network stack.
|
#
193996 |
|
11-Jun-2009 |
bz |
if_igb.c as well as ixgbe.c uncondtionally depend on INET specific functions, especially but not solely tcp_lro_*.
|
#
193994 |
|
11-Jun-2009 |
bz |
As sys/kern/uipc_accf.c depends on inet, all three accf_* implementations do as well for accept_filt_generic_mod_event(). In addition accf_http also needs inet for the sysctl mib path.
|
#
193993 |
|
11-Jun-2009 |
bz |
ng_ipfw depends on inet and ipfirewall as well. ng_nat depends on inet and libalias and most of libalias depends on inet. Update dependencies to porperly reflect this.
|
#
193991 |
|
11-Jun-2009 |
bz |
ip_dummynet.c depends on INET. Note: this may be more because of improper #ifdefs these days.
|
#
193990 |
|
11-Jun-2009 |
bz |
netinet/if_ether.c (doing ARP) depends on INET as well.
|
#
193988 |
|
11-Jun-2009 |
bz |
if_enc(4) is only useful with ipsec and either inet or inet6.
|
#
193987 |
|
11-Jun-2009 |
bz |
stf(4) supports `6to4' IPv6 in IPv4 encapsulation accroding to RFC3056. It thus needs both INET and INET6 to do its duty.
|
#
193986 |
|
11-Jun-2009 |
bz |
if_bridge(4) unfortunately is missing a lot of #ifdef INETs and thus INET is a mandatory dependency at the moment.
|
#
193983 |
|
11-Jun-2009 |
bz |
carp(4) allows people to share a set of IP addresses and can only use IPv4/v6 for inter-node communication (according to my reading).
Properly wrap the carp callouts in INET || INET6 and refelect this in sys/conf/files as well. While in theory this should be ok, it might be a bit optimistic to think that carp could build with inet6 only[1].
Discussed with: mlaier [1]
|
#
193960 |
|
10-Jun-2009 |
bz |
pflog, pfsync depend on pf and pf depends on inet. Actually it could/should be inet|inet6 but the code is not there and as long as our inet6 depends on inet this is fine.
|
#
193957 |
|
10-Jun-2009 |
bz |
Unfortunately fs/nfsserver depends on INET at the moment. It seems to be nfs_nfsdport.c and nfs_nfsdcache.c are the problem only but we need to mark all or we will run into problems at link time. One is because of calling an INET specific function, the other is because of VIMAGE putting all tcp* into struct vnet_inet.
Both are general problems throughout the entire stack and not a fault of the NFS implementation and will need to be addressed in the future.
|
#
193956 |
|
10-Jun-2009 |
bz |
if_gre.c insists on INET: #error "Huh? if_gre without inet?" According to my reading we still only support encapsulating datagrams into IPv4 and not IPv6 so there is no optional | gre inet6 yet.
|
#
193954 |
|
10-Jun-2009 |
bz |
ipfirewall insists on INET: #error IPFIREWALL requires INET. Track it here to not build ipfirewall with no INET in the kernel.
|
#
193950 |
|
10-Jun-2009 |
bz |
ip_divert.c requires both INET and IPFIREWALL to be present: #error "IPDIVERT requires INET." #error "IPDIVERT requires IPFIREWALL" so properly track those depencies here.
|
#
193949 |
|
10-Jun-2009 |
bz |
IPsec depends on either IPv4 (inet) or IPv6 (inet6) so properly track dependencies and automatically disable building ipsec if neither of the two is in the kernel config.
|
#
193889 |
|
10-Jun-2009 |
ariff |
Move all sound related scripts to its own 'sound' subdir.
Suggested by: jmallett
|
#
193887 |
|
10-Jun-2009 |
yongari |
Oops, fix directory name.
|
#
193880 |
|
10-Jun-2009 |
yongari |
Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had.
HW donated by: Atheros Communications, Inc.
|
#
193863 |
|
09-Jun-2009 |
kmacy |
revert to opt-in flowtable
|
#
193856 |
|
09-Jun-2009 |
kmacy |
make flowtable opt-out
|
#
193824 |
|
09-Jun-2009 |
bz |
For now only compile flowtable.c if both options FLOWTABLE and INET are given. This will also work when we add IPv6 support as for now INET6 depends on INET.
|
#
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.
|
#
193532 |
|
05-Jun-2009 |
luigi |
move kernel ipfw-related sources to a separate directory, adjust conf/files and modules' Makefiles accordingly.
No code or ABI changes so this and most of previous related changes can be easily MFC'ed
MFC after: 5 days
|
#
193530 |
|
05-Jun-2009 |
jkim |
Import ACPICA 20090521.
|
#
193513 |
|
05-Jun-2009 |
ed |
Remove clists from the kernel.
Clists were originally used by the TTY layer as a text buffer interface. The advantage of clists were that it would allocate a small set of additional buffers that could be shared between TTYs when needed. In the modern days we can just allocate some more KBs of memory to keep the TTYs satisfied. The global cfreelist also requires synchronisation, which may not be useful when trying to improve scalability.
The MPSAFE TTY layer uses its own text buffers (ttyinq and ttyoutq). We had a small amount of drivers in the tree that still uses clists, like the old USB stack and some keyboard drivers. With the old USB stack gone and the keyboard drivers changed to use a circular buffer, we can safely remove clists from the kernel.
|
#
193260 |
|
01-Jun-2009 |
jhb |
Add a simple API to manage scatter/gather lists of phyiscal addresses. Each list describes a logical memory object that is backed by one or more physical address ranges. To minimize locking, the sglist objects themselves are immutable once they are shared.
These objects may be used in the future to facilitate I/O requests using physically-addressed buffers. For the immediate future I plan to use them to implement a new type of VM object and pager.
Reviewed by: jeff, scottl MFC after: 1 month
|
#
193240 |
|
01-Jun-2009 |
sam |
driver for Marvell 88W8363 Wireless LAN controller
|
#
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)
|
#
192909 |
|
27-May-2009 |
thompsa |
Hook ubt and ubtbcmfw back up to the build.
|
#
192908 |
|
27-May-2009 |
zml |
fail(9) support:
Add support for kernel fault injection using KFAIL_POINT_* macros and fail_point_* infrastructure. Add example fail point in vfs_bio.c to simulate VM buf pressure.
Approved by: dfr (mentor)
|
#
192901 |
|
27-May-2009 |
thompsa |
Delete the old USB stack. The new stack has settled in and has all the drivers/functionality and then some.
|
#
192859 |
|
26-May-2009 |
sson |
Add the ksyms(4) pseudo driver. The ksyms driver allows a process to get a quick snapshot of the kernel's symbol table including the symbols from any loaded modules (the symbols are all merged into one symbol table). Unlike like other implementations, this ksyms driver maps memory in the process memory space to store the snapshot at the time /dev/ksyms is opened. It also checks to see if the process has already a snapshot open and won't allow it to open /dev/ksyms it again until it closes first. This prevents kernel and process memory from being exhausted. Note that /dev/ksyms is used by the lockstat(1) command.
Reviewed by: gallatin kib (freebsd-arch) Approved by: gnn (mentor)
|
#
192853 |
|
26-May-2009 |
sson |
Add the OpenSolaris dtrace lockstat provider. The lockstat provider adds probes for mutexes, reader/writer and shared/exclusive locks to gather contention statistics and other locking information for dtrace scripts, the lockstat(1M) command and other potential consumers.
Reviewed by: attilio jhb jb Approved by: gnn (mentor)
|
#
192746 |
|
25-May-2009 |
rwatson |
Complete move of SPX reassembly from spx_usrreq.c to spx_reass.c.
MFC after: 1 month
|
#
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
|
#
192468 |
|
20-May-2009 |
sam |
Overhaul monitor mode handling: o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi
Reviewed by: cbzimmer, rpaulo, thompsa
|
#
192096 |
|
14-May-2009 |
rwatson |
Remove usb_ethersubr.c missed reference -- we don't build ousb with LINT, so the tinderbox didn't pick this up.
|
#
191985 |
|
11-May-2009 |
imp |
Fix typo in bwi driver.
|
#
191816 |
|
05-May-2009 |
zec |
Change the curvnet variable from a global const struct vnet *, previously always pointing to the default vnet context, to a dynamically changing thread-local one. The currvnet context should be set on entry to networking code via CURVNET_SET() macros, and reverted to previous state via CURVNET_RESTORE(). Recursions on curvnet are permitted, though strongly discuouraged.
This change should have no functional impact on nooptions VIMAGE kernel builds, where CURVNET_* macros expand to whitespace.
The curthread->td_vnet (aka curvnet) variable's purpose is to be an indicator of the vnet context in which the current network-related operation takes place, in case we cannot deduce the current vnet context from any other source, such as by looking at mbuf's m->m_pkthdr.rcvif->if_vnet, sockets's so->so_vnet etc. Moreover, so far curvnet has turned out to be an invaluable consistency checking aid: it helps to catch cases when sockets, ifnets or any other vnet-aware structures may have leaked from one vnet to another.
The exact placement of the CURVNET_SET() / CURVNET_RESTORE() macros was a result of an empirical iterative process, whith an aim to reduce recursions on CURVNET_SET() to a minimum, while still reducing the scope of CURVNET_SET() to networking only operations - the alternative would be calling CURVNET_SET() on each system call entry. In general, curvnet has to be set in three typicall cases: when processing socket-related requests from userspace or from within the kernel; when processing inbound traffic flowing from device drivers to upper layers of the networking stack, and when executing timer-driven networking functions.
This change also introduces a DDB subcommand to show the list of all vnet instances.
Approved by: julian (mentor)
|
#
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@
|
#
191723 |
|
01-May-2009 |
sam |
add uath
|
#
191672 |
|
29-Apr-2009 |
bms |
Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit: import from p4 bms_netdev. Summary of changes:
* Connect netinet6/in6_mcast.c to build. The legacy KAME KPIs are mostly preserved. * Eliminate now dead code from ip6_output.c. Don't do mbuf bingo, we are not going to do RFC 2292 style CMSG tricks for multicast options as they are not required by any current IPv6 normative reference. * Refactor transports (UDP, raw_ip6) to do own mcast filtering. SCTP, TCP unaffected by this change. * Add ip6_msource, in6_msource structs to in6_var.h. * Hookup mld_ifinfo state to in6_ifextra, allocate from domifattach path. * Eliminate IN6_LOOKUP_MULTI(), it is no longer referenced. Kernel consumers which need this should use in6m_lookup(). * Refactor IPv6 socket group memberships to use a vector (like IPv4). * Update ifmcstat(8) for IPv6 SSM. * Add witness lock order for IN6_MULTI_LOCK. * Move IN6_MULTI_LOCK out of lower ip6_output()/ip6_input() paths. * Introduce IP6STAT_ADD/SUB/INC/DEC as per rwatson's IPv4 cleanup. * Update carp(4) for new IPv6 SSM KPIs. * Virtualize ip6_mrouter socket. Changes mostly localized to IPv6 MROUTING. * Don't do a local group lookup in MROUTING. * Kill unused KAME prototypes in6_purgemkludge(), in6_restoremkludge(). * Preserve KAME DAD timer jitter behaviour in MLDv1 compatibility mode. * Bump __FreeBSD_version to 800084. * Update UPDATING.
NOTE WELL: * This code hasn't been tested against real MLDv2 queriers (yet), although the on-wire protocol has been verified in Wireshark. * There are a few unresolved issues in the socket layer APIs to do with scope ID propagation. * There is a LOR present in ip6_output()'s use of in6_setscope() which needs to be resolved. See comments in mld6.c. This is believed to be benign and can't be avoided for the moment without re-introducing an indirect netisr.
This work was mostly derived from the IGMPv3 implementation, and has been sponsored by a third party.
|
#
191418 |
|
23-Apr-2009 |
rwatson |
During if_detach(), invoke if_dead() to set the ifnet's function pointers to "dead" implementations that no-op rather than invoking the device driver. This would generally be unexpected and possibly quite badly handled by most device drivers after if_detach() has completed.
Reviewed by: bms MFC after: 3 weeks
|
#
191270 |
|
19-Apr-2009 |
rwatson |
Merge OpenBSM 1.1 changes to the FreeBSD 8.x kernel:
- Add and use mapping of fcntl(2) commands to new BSM constant space. - Adopt (int) rather than (long) arguments to a number of auditon(2) commands, as has happened in Solaris, and add compatibility code to handle the old comments.
Note that BSM_PF_IEEE80211 is partially but not fully removed, as the userspace OpenBSM 1.1alpha5 code still depends on it. Once userspace is updated, I'll GCC the kernel constant.
MFC after: 2 weeks Sponsored by: Apple, Inc. Obtained from: TrustedBSD Project Portions submitted by: sson
|
#
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.
|
#
191198 |
|
17-Apr-2009 |
rwatson |
Remove legacy versions of USB network interface drivers relying on IFF_NEEDSGIANT, as that is no longer supported.
|
#
190971 |
|
12-Apr-2009 |
rmacklem |
Change nfsserver so that it uses the nfssvc() system call provided in sys/nfs/nfs_nfssvc.c by registering with it using the nfsd_call_nfsserver function pointer. Also, add the build glue for nfs_nfssvc.c optionally based on "nfsserver" and also as a loadable module.
Submitted by: rmacklem Reviewed by: kib Approved by: kib (mentor)
|
#
190875 |
|
09-Apr-2009 |
jfv |
Add additional file to ixgbe files list, and uncomment NOTES entry
MFC after: 2 weeks
|
#
190755 |
|
05-Apr-2009 |
thompsa |
Remove usb_sw_transfer.[ch] which are now empty after r190735.
|
#
190558 |
|
30-Mar-2009 |
imp |
New PHY driver for the internal PHY found in the AX88790. There's a number of quirks for this device, and this implements just the basics. The 2.5s powerdown recommended in the datasheet will be next...
|
#
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
|
#
190381 |
|
24-Mar-2009 |
sam |
use IEEE80211_SUPPORT_TDMA option to control whether code is configured; this allows us to remove an #ifdef
|
#
190379 |
|
24-Mar-2009 |
sam |
require wlan for ancillary modules; they are required to link
|
#
190100 |
|
19-Mar-2009 |
thompsa |
Remove the uscanner(4) driver, this follows the removal of the kernel scanner driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and contained no logic, the default interface is now libusb (supported by sane).
Reviewed by: HPS
|
#
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@
|
#
189747 |
|
12-Mar-2009 |
sam |
preliminary ar9280 support: o add 9280 attach that sets up ini, cal, etc. o new rf backend for 9280 and later parts o split ini setup and spur mitigation support out to methods and provide 9280-specific support o minor fixups to shared code to handle 9280-specific work
Obtained from: Atheros (ini values and some code)
|
#
189699 |
|
11-Mar-2009 |
dfr |
Merge in support for Xen HVM on amd64 architecture.
|
#
189608 |
|
09-Mar-2009 |
sam |
add geom_redboot, a geom module that exports RedBoot FIS partitions as named slices in dev/redboot/*
|
#
189606 |
|
09-Mar-2009 |
sam |
Add cfid, a disk interface to CFI flash devices; this enables construction of flash-based filesystems.
Note this is not interlocked against the raw CFI device.
|
#
189499 |
|
07-Mar-2009 |
rnoland |
Import support for ATI Radeon R600 and R700 series chips.
Tested on an HD3850 (RV670) on loan from Warren Block.
Currently, you need one of the following for this to be useful:
x11-drivers/xf86-video-radeonhd-devel (not tested) xf86-video-ati from git (EXA works, xv is too fast) xf86-video-radeonhd from git (EXA works, xv works)
There is no 3d support available from dri just yet.
MFC after: 2 weeks
|
#
188966 |
|
23-Feb-2009 |
thompsa |
Use the correct config names for the netgraph bluetooth modules.
|
#
188961 |
|
23-Feb-2009 |
thompsa |
- comment out slhci in NOTES for the moment - rearrange the ucom entry so its recognised by config(8)
|
#
188957 |
|
23-Feb-2009 |
thompsa |
Move the uaudio and ata-usb drivers into their correct locations.
|
#
188955 |
|
23-Feb-2009 |
thompsa |
Move two missed usb drivers out to the graveyard location under sys/legacy/dev.
|
#
188944 |
|
23-Feb-2009 |
thompsa |
Change over the usb kernel options to the new stack (retaining existing naming). The old usb stack can be compiled in my prefixing the name with 'o'.
|
#
188746 |
|
18-Feb-2009 |
thompsa |
Switch over to usbdevs.h generated at compile time.
|
#
188636 |
|
15-Feb-2009 |
marcel |
Actually include geom_part_ebr.c when options GEOM_PART_EBR is present.
Pointy hat: marcel
|
#
188423 |
|
09-Feb-2009 |
thompsa |
Hook uslcom2 up to the build.
|
#
188422 |
|
09-Feb-2009 |
thompsa |
Remove usb2_config_td.[ch], they are no longer used.
|
#
188314 |
|
08-Feb-2009 |
wkoszek |
Fix several filenames for "make clean" target.
|
#
188298 |
|
08-Feb-2009 |
piso |
Fix LIBALIAS option for a static kernel.
|
#
187214 |
|
14-Jan-2009 |
rwatson |
Merge OpenBSM alpha 5 from OpenBSM vendor branch to head, both contrib/openbsm (svn merge) and src/sys/{bsm,security/audit} (manual merge). Hook up bsm_domain.c and bsm_socket_type.c to the libbsm build along with man pages, add audit_bsm_domain.c and audit_bsm_socket_type.c to the kernel environment.
OpenBSM history for imported revisions below for reference.
MFC after: 1 month Sponsored by: Apple Inc. Obtained from: TrustedBSD Project
OpenBSM 1.1 alpha 5
- Stub libauditd(3) man page added. - All BSM error number constants with BSM_ERRNO_. - Interfaces to convert between local and BSM socket types and protocol families have been added: au_bsm_to_domain(3), au_bsm_to_socket_type(3), au_domain_to_bsm(3), and au_socket_type_to_bsm(3), along with definitions of constants in audit_domain.h and audit_socket_type.h. This improves interoperability by converting local constant spaces, which vary by OS, to and from Solaris constants (where available) or OpenBSM constants for protocol domains not present in Solaris (a fair number). These routines should be used when generating and interpreting extended socket tokens. - Fix build warnings with full gcc warnings enabled on most supported platforms. - Don't compile error strings into bsm_errno.c when building it in the kernel environment. - When started by launchd, use the label com.apple.auditd rather than org.trustedbsd.auditd.
|
#
187188 |
|
13-Jan-2009 |
thompsa |
Hook up the u3g2 driver.
Submitted by: Hans Petter Selasky
|
#
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
|
#
186851 |
|
07-Jan-2009 |
rafan |
- Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel module. These files cause manual interaction when building ports/audio/aureal-kmod which provides a usable i386-only driver (it requires linking against some linux object files distributed by vendor which bankrupted back in 2000).
MFC after: 1 week
|
#
186681 |
|
01-Jan-2009 |
ed |
Replace syscons terminal renderer by a new renderer that uses libteken.
Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm.
A lot of random notes, which could be of interest to users/developers:
- Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features:
- Keypad application mode (DECKPAM) - Character sets (SCS)
- libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code:
- teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues.
- teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input.
- libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments.
- I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8?
- I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion.
- To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'.
- Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them.
Discussed on: current@, hackers@ Discussed with: philip (at 25C3)
|
#
186650 |
|
31-Dec-2008 |
rwatson |
Commit two files missed in previous commit: hook up audit_bsm_errno.c and adapt for kernel build environment.
Obtained from: TrustedBSD Project Sponsored by: Apple, Inc.
|
#
186486 |
|
25-Dec-2008 |
julian |
Hook up the ether_echo node and fix the man page
|
#
186402 |
|
22-Dec-2008 |
alfred |
Fix typo for udav include. Add link to the u3g2 driver.
|
#
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
|
#
186119 |
|
15-Dec-2008 |
qingli |
This main goals of this project are: 1. separating L2 tables (ARP, NDP) from the L3 routing tables 2. removing as much locking dependencies among these layers as possible to allow for some parallelism in the search operations 3. simplify the logic in the routing code,
The most notable end result is the obsolescent of the route cloning (RTF_CLONING) concept, which translated into code reduction in both IPv4 ARP and IPv6 NDP related modules, and size reduction in struct rtentry{}. The change in design obsoletes the semantics of RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland applications such as "arp" and "ndp" have been modified to reflect those changes. The output from "netstat -r" shows only the routing entries.
Quite a few developers have contributed to this project in the past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and Andre Oppermann. And most recently:
- Kip Macy revised the locking code completely, thus completing the last piece of the puzzle, Kip has also been conducting active functional testing - Sam Leffler has helped me improving/refactoring the code, and provided valuable reviews - Julian Elischer setup the perforce tree for me and has helped me maintaining that branch before the svn conversion
|
#
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
|
#
185605 |
|
04-Dec-2008 |
kmacy |
Integrate 185578 from dfr Use newbus to managed devices
|
#
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.
|
#
185162 |
|
22-Nov-2008 |
kmacy |
- bump __FreeBSD version to reflect added buf_ring, memory barriers, and ifnet functions
- add memory barriers to <machine/atomic.h> - update drivers to only conditionally define their own
- add lockless producer / consumer ring buffer - remove ring buffer implementation from cxgb and update its callers
- add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to allow drivers to efficiently manage multiple hardware queues (i.e. not serialize all packets through one ifq) - expose if_qflush to allow drivers to flush any driver managed queues
This work was supported by Bitgravity Inc. and Chelsio Inc.
|
#
185029 |
|
17-Nov-2008 |
pjd |
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
|
#
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.
|
#
184870 |
|
12-Nov-2008 |
yongari |
Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernet controller. The controller is also known as L1E(AR8121) and L2E(AR8113/AR8114). Unlike its predecessor Attansic L1, AR8121/AR8113/AR8114 uses completely different Rx logic such that it requires separate driver. Datasheet for AR81xx is not available to open source driver writers but it shares large part of Tx and PHY logic of L1. I still don't understand some part of register meaning and some MAC statistics counters but the driver seems to have no critical issues for performance and stability.
The AR81xx requires copy operation to pass received frames to upper stack such that ale(4) consumes a lot of CPU cycles than that of other controller. A couple of silicon bugs also adds more CPU cycles to address the known hardware bug. However, if you have fast CPU you can still saturate the link. Currently ale(4) supports the following hardware features. - MSI. - TCP Segmentation offload. - Hardware VLAN tag insertion/stripping with checksum offload. - Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload. - Tx/Rx interrupt moderation. - Hardware statistics counters. - Jumbo frame. - WOL.
AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC or P5Q series of ASUS motherboards. Special thanks to Jeremy Chadwick who sent the hardware to me. Without his donation writing a driver for AR81xx would never have been possible. Big thanks to all people who reported feedback or tested patches.
HW donated by: koitsu Tested by: bsam, Joao Barros <joao.barros <> gmail DOT com > Jan Henrik Sylvester <me <> janh DOT de > Ivan Brawley < ivan <> brawley DOT id DOT au >, CURRENT ML
|
#
184610 |
|
04-Nov-2008 |
alfred |
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB stack, including Host Controller and Device Controller drivers and updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver unloading" problem. The new BSD licensed libusb20 library is fully compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode, using the same API like the USB host side. In other words the new USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config file.
2.b) Add the following USB device options to your kernel configuration file:
# USB core support device usb2_core
# USB controller support device usb2_controller device usb2_controller_ehci device usb2_controller_ohci device usb2_controller_uhci
# USB mass storage support device usb2_storage device usb2_storage_mass
# USB ethernet support, requires miibus device usb2_ethernet device usb2_ethernet_aue device usb2_ethernet_axe device usb2_ethernet_cdce device usb2_ethernet_cue device usb2_ethernet_kue device usb2_ethernet_rue device usb2_ethernet_dav
# USB wireless LAN support device usb2_wlan device usb2_wlan_rum device usb2_wlan_ral device usb2_wlan_zyd
# USB serial device support device usb2_serial device usb2_serial_ark device usb2_serial_bsa device usb2_serial_bser device usb2_serial_chcom device usb2_serial_cycom device usb2_serial_foma device usb2_serial_ftdi device usb2_serial_gensa device usb2_serial_ipaq device usb2_serial_lpt device usb2_serial_mct device usb2_serial_modem device usb2_serial_moscom device usb2_serial_plcom device usb2_serial_visor device usb2_serial_vscom
# USB bluetooth support device usb2_bluetooth device usb2_bluetooth_ng
# USB input device support device usb2_input device usb2_input_hid device usb2_input_kbd device usb2_input_ms
# USB sound and MIDI device support device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net Reviewed by: imp, alfred
|
#
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
|
#
184573 |
|
02-Nov-2008 |
scottl |
Move the CAM passthrough code into a true module so that it doesn't have to be compiled into the main AMR driver. It's code that is nice to have but not required for normal operation, and it is reported to cause problems for some people.
|
#
184562 |
|
02-Nov-2008 |
imp |
Move mn over. One of the last stragglers in sys/pci. There's no module built for this hardware, so no changes needed.
|
#
184521 |
|
01-Nov-2008 |
ed |
Reimplement the /dev/console device node.
One of the pieces of code that I had left alone during the development of the MPSAFE TTY layer, was tty_cons.c. This file actually has two different functions:
- It contains low-level console input/output routines (cnputc(), etc).
- It creates /dev/console and wraps all its cdevsw calls to the appropriate TTY.
This commit reimplements the second set of functions by moving it directly into the TTY layer. /dev/console is now a character device node that's basically a regular TTY, but does a lookup of `si_drv1' each time you open it. d_write has also been changed to call log_console(). d_close() is not present, because we must make sure we don't revoke the TTY after writing a log message to it.
Even though I'm not convinced this is in line with the future directions of our console code, it is a good move for now. It removes recursive locking from the top half of the TTY layer. The previous implementation called into the TTY layer with Giant held.
I'm renaming tty_cons.c to kern_cons.c now. The code hardly contains any TTY related bits, so we'd better give it a less misleading name.
Tested by: Andrzej Tobola <ato iem pw edu pl>, Carlos A.M. dos Santos <unixmania gmail com>, Eygene Ryabinkin <rea-fbsd codelabs ru>
|
#
184487 |
|
30-Oct-2008 |
sobomax |
Make it possible to compile kernel with KTR but without DDB.
|
#
184425 |
|
28-Oct-2008 |
rwatson |
Break out strictly credential-related portions of mac_process.c into a new file, mac_cred.c.
Obtained from: TrustedBSD Project
|
#
184362 |
|
27-Oct-2008 |
bz |
Add the files missed with r184331 to make mac_bsdextended compile again.
|
#
184251 |
|
25-Oct-2008 |
marcel |
Add a driver for flash memory that implements to the Common Flash Memory Interface (CFI). The flash memory can be read and written to through /dev/cfi# and an ioctl() exists so processes can read the query information. The driver supports the AMD and Intel command set, though only the AMD command has been tested.
Obtained from: Juniper Networks, Inc.
|
#
184138 |
|
21-Oct-2008 |
mav |
Import sdhci (PCI SD Host Controller) driver. Driver supports PCI devices with class 8 and subclass 5 according to SD Host Controller Specification.
Update NOTES, enable module and static build. Enable related mmc and mmcsd modules build.
Discussed on: mobile@, current@
|
#
183735 |
|
09-Oct-2008 |
n_hibma |
Say hello to the u3g driver, implementing support for 3G modems.
This was located in the ubsa driver, but should be moved into a separate driver:
- 3G modems provide multiple serial ports to allow AT commands while the PPP connection is up. - 3G modems do not provide baud rate or other serial port settings. - Huawei cards need specific initialisation. - ubsa is for Belkin adapters, an Linuxy choice for another device like 3G.
Speeds achieved here with a weak signal at best is ~40kb/s (UMTS). No spooky STALLED messages as well.
Next: Move over all entries for Sierra and Novatel cards once I have found testers, and implemented serial port enumeration for Sierra (or rather have Andrea Guzzo do it). They list all endpoints in 1 iface instead of 4 ifaces.
Submitted by: aguzzo@anywi.com MFC after: 3 weeks
|
#
183724 |
|
09-Oct-2008 |
sos |
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support atacbus: PC98 cbus support ataisa: ISA bus support atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver atapifd: ATAPI floppy/flashdisk driver atapist: ATAPI tape driver
atausb: ATA<>USB bridge atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore device atapci device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual. However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
|
#
183590 |
|
04-Oct-2008 |
antoine |
- Spell cam correctly (scbus), this makes it possible to compile hptiop in GENERIC and LINT. [1] - Rename hpt_dbg_level to hpt_iop_dbg_level to avoid multiple definition of hpt_dbg_level (hptmv also has hpt_dbg_level).
PR: 127551 [1] Reviewed by: scottl@ MFC after: 1 month
|
#
183567 |
|
03-Oct-2008 |
stas |
- Add driver for Attansic L2 FastEthernet controller found on Asus EeePC and some Asus mainboards.
Reviewed by: yongari, rpaulo, jhb Tested by: many Approved by: kib (mentor) MFC after: 1 week
|
#
183299 |
|
23-Sep-2008 |
obrien |
The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp and bcmp are not the same thing. 'man bcmp' states that the return is "non-zero" if the two byte strings are not identical. Where as, 'man memcmp' states that the return is the "difference between the first two differing bytes (treated as unsigned char values" if the two byte strings are not identical.
So provide a proper memcmp(9), but it is a C implementation not a tuned assembly implementation. Therefore bcmp(9) should be preferred over memcmp(9).
|
#
183292 |
|
23-Sep-2008 |
kmacy |
Update cxgb include paths to not require prefixing with dev/cxgb
Submitted by: Chelsio Inc.
|
#
182080 |
|
23-Aug-2008 |
rnoland |
Update drm kernel drivers.
This is a sync to mesa/drm pre-gem, with a few fixes on top of that. It also contains one local patch supplied by kib@ that I can't apply to git.master shared code.
Approved by: flz Obtained from: mesa/drm git.master MFC after: 2 weeks
|
#
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
|
#
181776 |
|
15-Aug-2008 |
kmacy |
Integrate configuration bits for compling xen.
MFC after: 1 month
|
#
181741 |
|
14-Aug-2008 |
imp |
Move wb driver from sys/pci to sys/dev/wb.
|
#
181740 |
|
14-Aug-2008 |
imp |
Move pcn driver from sys/pci to sys/dev/pcn.
|
#
181739 |
|
14-Aug-2008 |
imp |
Move the ste driver from sys/pci to sys/dev/ste.
|
#
181738 |
|
14-Aug-2008 |
imp |
Move the tl driver form sys/pci to sys/dev/tl.
|
#
181616 |
|
11-Aug-2008 |
kmacy |
Remove cxgb private lro implementation and switch to using system implementation.
Obtained from: Chelsio Inc. MFC after: 1 week
|
#
181601 |
|
11-Aug-2008 |
raj |
Rename ds1339 -> ds133x to better fit the upcoming driver extensions.
|
#
181524 |
|
10-Aug-2008 |
imp |
Move sis to sys/dev/sis for consistency.
|
#
181522 |
|
10-Aug-2008 |
imp |
Move the xl driver form sys/pci to sys/dev/xl for consistency.
|
#
181042 |
|
31-Jul-2008 |
emax |
Fix LINT
MFC after: 3 months
|
#
181028 |
|
30-Jul-2008 |
jfv |
Alter kernel build to work with new dev/e1000 structure. This makes both em and igb, or either alone build and work in the static kernel.
MFC after:ASAP
|
#
180940 |
|
28-Jul-2008 |
jhb |
Remove a stale reference to sys/dev/ixgbe/tcp_lro.c.
|
#
180812 |
|
25-Jul-2008 |
stas |
- Connect ds1339 to the build infrastructure.
Reviewed by: raj Approved by: imp
|
#
180801 |
|
25-Jul-2008 |
ed |
Move ttyinfo() into its own C file.
The ttyinfo() routine generates the fancy output when pressing ^T. Right now it is stored in tty.c. In the MPSAFE TTY code it is already stored in tty_info.c. To make integration of the MPSAFE TTY code a little easier, take the same approach.
This makes the TTY code a little bit more readable, because having the proc_*/thread_* routines in tty.c is very distractful.
Approved by: philip (mentor)
|
#
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.
|
#
180583 |
|
18-Jul-2008 |
kmacy |
import vendor fixes to cxgb
|
#
180267 |
|
04-Jul-2008 |
jhb |
Remove the sbsh(4) driver. No one responded to requests for testing the MPSAFE patches on current@ and stable@. This driver also has a fundamental issue in that it sleeps when sending commands to the card including in the if_init/if_start routines (which can be called from interrupt context). As such, the driver shouldn't be working reliably even on 4.x.
|
#
180261 |
|
04-Jul-2008 |
jhb |
Remove the cnw(4) driver. No one responded to calls to test it on current@ and stable@. It also is a driver for an older non-802.11 wireless PC card that is quite slow in comparison to say, wi(4). I know Warner wants this driver axed as well.
|
#
180025 |
|
26-Jun-2008 |
dfr |
Re-implement the client side of rpc.lockd in the kernel. This implementation provides the correct semantics for flock(2) style locks which are used by the lockf(1) command line tool and the pidfile(3) library. It also implements recovery from server restarts and ensures that dirty cache blocks are written to the server before obtaining locks (allowing multiple clients to use file locking to safely share data).
Sponsored by: Isilon Systems PR: 94256 MFC after: 2 weeks
|
#
180012 |
|
25-Jun-2008 |
ru |
Enable GCC stack protection (aka Propolice) for userland: - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64.
Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work.
Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
|
#
179895 |
|
20-Jun-2008 |
delphij |
Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabit Ethernet device driver, written by sephe@
Obtained from: DragonFly Sponsored by: iXsystems MFC after: 2 weeks
|
#
179787 |
|
14-Jun-2008 |
rwatson |
When NETATALK is compiled into the kernel, at_rmx.c is required regardless of whether NETATALKDEBUG is enabled, so make building it conditional on NETATALK instead. This problem appears to have been present from the time that the netatalk implementation was imported.
PR: 124456 Submitted by: Nathan Whitehorn <whitehorn at wisc dot edu> MFC after: 3 days
|
#
179736 |
|
11-Jun-2008 |
jfv |
Add LRO into kernel build
|
#
179592 |
|
06-Jun-2008 |
benno |
This is a rewritten driver for the SMSC LAN91C111. It's based in part on the sn(4) driver and also looking at newer drivers. The reason for the rewrite is to support MII and to try and resolve some performance issues found when trying to use the sn(4) driver on the Gumstix network boards.
For reference, the SMSC LAN91C111 is a non-PCI ethernet part whose lineage dates back to Ye Olde Days of ISA. It seems to get some use in the embedded space these days on parts lacking on-board MACs or on-board PCI controllers, such as the XScale PXA line of ARM CPUs.
This also includes a driver for the SMSC LAN83C183 10/100 PHY.
Man page to follow.
|
#
179353 |
|
27-May-2008 |
ed |
Rename `tty_subr.c' to `subr_clist.c'.
Because clists are also used outside the TTY layer, rename the file containing the clist routines to something more accurate.
The mpsafetty TTY layer doesn't use clists. It uses its own buffers, which also implement the unbuffered copying to userspace. We cannot simply remove the clist routines then, because this would break various drivers that are present within the kernel.
Approved by: philip (mentor)
|
#
179338 |
|
26-May-2008 |
yongari |
Hook up jme(4) to the build.
|
#
179336 |
|
26-May-2008 |
yongari |
Connect jmphy(4) to the build.
|
#
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
|
#
179101 |
|
18-May-2008 |
yongari |
Hook up age(4) to the build.
|
#
179099 |
|
18-May-2008 |
yongari |
Connect atphy(4) to the build.
|
#
179091 |
|
18-May-2008 |
jb |
Add a couple of files which depend of the KDTRACE_HOOKS option.
The syscall names are required by KDTRACE_HOOKS too.
And the unzip
|
#
179055 |
|
16-May-2008 |
jfv |
This is driver version 1.4.4 of the Intel ixgbe driver. -It has new hardware support -It uses a new method of TX cleanup called Head Write Back -It includes the provisional generic TCP LRO feature contributed by Myricom and made general purpose by me. This should move into the stack upon approval but for this driver drop its in here. -Also bug fixes and etc...
MFC in a week if no serious issues arise.
|
#
178814 |
|
06-May-2008 |
jhb |
Add a new personality to mpt(4) devices to allow userland applications to perform various operations on a controller. Specifically, for each mpt(4) device, create a character device in devfs which accepts ioctl requests for reading and writing configuration pages and performing RAID actions.
MFC after: 1 week Reviewed by: scottl
|
#
178676 |
|
29-Apr-2008 |
sam |
Intel 4965 wireless driver (derived from openbsd driver of the same name)
|
#
178522 |
|
25-Apr-2008 |
sam |
add rules for statically embedding ipw, iwi, ral, and wpi firmware modules
|
#
178372 |
|
21-Apr-2008 |
phk |
Make genclock standard on all platforms.
Thanks to: grehan & marcel for platform support on ia64 and ppc.
|
#
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)
|
#
178352 |
|
20-Apr-2008 |
sam |
move awi to the Attic; it will not make the jump to the new world order
Reviewed by: imp
|
#
178302 |
|
19-Apr-2008 |
kmacy |
move cxgb_lt2.[ch] from NIC to TOE move most offload functionality from NIC to TOE factor out all socket and inpcb direct access factor out access to locking in incpb, pcbinfo, and sockbuf
|
#
178251 |
|
16-Apr-2008 |
rrs |
Allow SCTP to compile without INET6. PR: 116816 Obtained from tuexen@fh-muenster.de: MFC after: 2 weeks
|
#
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
|
#
177896 |
|
03-Apr-2008 |
jfv |
Fix the build breakage, need the | between dependencies, I didn't realize that :(
|
#
177867 |
|
02-Apr-2008 |
jfv |
This update primarily addresses the ability to have both the em and the igb driver static in the kernel. But it also reflects some other bug fixes in my development stream at Intel. PR 122373 is also fixed in this code.
|
#
177801 |
|
31-Mar-2008 |
sam |
add include path required to find ah_osdep.h
PR: kern/122145 MFC after: 3 days
|
#
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
|
#
177548 |
|
24-Mar-2008 |
csjp |
Introduce support for zero-copy BPF buffering, which reduces the overhead of packet capture by allowing a user process to directly "loan" buffer memory to the kernel rather than using read(2) to explicitly copy data from kernel address space.
The user process will issue new BPF ioctls to set the shared memory buffer mode and provide pointers to buffers and their size. The kernel then wires and maps the pages into kernel address space using sf_buf(9), which on supporting architectures will use the direct map region. The current "buffered" access mode remains the default, and support for zero-copy buffers must, for the time being, be explicitly enabled using a sysctl for the kernel to accept requests to use it.
The kernel and user process synchronize use of the buffers with atomic operations, avoiding the need for system calls under load; the user process may use select()/poll()/kqueue() to manage blocking while waiting for network data if the user process is able to consume data faster than the kernel generates it. Patchs to libpcap are available to allow libpcap applications to transparently take advantage of this support. Detailed information on the new API may be found in bpf(4), including specific atomic operations and memory barriers required to synchronize buffer use safely.
These changes modify the base BPF implementation to (roughly) abstrac the current buffer model, allowing the new shared memory model to be added, and add new monitoring statistics for netstat to print. The implementation, with the exception of some monitoring hanges that break the netstat monitoring ABI for BPF, will be MFC'd.
Zerocopy bpf buffers are still considered experimental are disabled by default. To experiment with this new facility, adjust the net.bpf.zerocopy_enable sysctl variable to 1.
Changes to libpcap will be made available as a patch for the time being, and further refinements to the implementation are expected.
Sponsored by: Seccuris Inc. In collaboration with: rwatson Tested by: pwood, gallatin MFC after: 4 months [1]
[1] Certain portions will probably not be MFCed, specifically things that can break the monitoring ABI.
|
#
177435 |
|
20-Mar-2008 |
jeff |
- Restore runq to manipulating threads directly by putting runq links and rqindex back in struct thread. - Compile kern_switch.c independently again and stop #include'ing it from schedulers. - Remove the ts_thread backpointers and convert most code to go from struct thread to struct td_sched. - Cleanup the ts_flags #define garbage that was causing us to sometimes do things that expanded to td->td_sched->ts_thread->td_flags in 4BSD. - Export the kern.sched sysctl node in sysctl.h
|
#
177342 |
|
18-Mar-2008 |
alc |
Almost seven years ago, vm/vm_page.c was split into three parts: vm/vm_contig.c, vm/vm_page.c, and vm/vm_pageq.c. Today, vm/vm_pageq.c has withered to the point that it contains only four short functions, two of which are only used by vm/vm_page.c. Since I can't foresee any reason for vm/vm_pageq.c to grow, it is time to fold the remaining contents of vm/vm_pageq.c back into vm/vm_page.c.
Add some comments. Rename one of the functions, vm_pageq_enqueue(), that is now static within vm/vm_page.c to vm_page_enqueue(). Eliminate PQ_MAXCOUNT as it no longer serves any purpose.
|
#
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.
|
#
177048 |
|
11-Mar-2008 |
yongari |
Update file list and Makefile after repocopying vr(4) from src/sys/pci to src/sys/dev.
|
#
176868 |
|
06-Mar-2008 |
rink |
Commit cmx(4), a driver for Omnikey CardMan 4040 PCMCIA smartcard readers.
PR: kern/114582 Submitted by: Daniel Roethlisberger <daniel@roe.ch> Reviewed by: imp, myself Tested by: johans, myself MFC after: 2 weeks
|
#
176829 |
|
05-Mar-2008 |
rink |
Import uslcom(4) from OpenBSD - this is a driver for Silicon Laboratories CP2101/CP2102 based USB serial adapters.
Reviewed by: imp, emaste Obtained from: OpenBSD MFC after: 2 weeks
|
#
176776 |
|
03-Mar-2008 |
raj |
Connect MPC85XX to the PowerPC build.
The kernel config file is KERNCONF=MPC85XX, so the usual procedure applies:
1. make buildworld TARGET_ARCH=powerpc 2. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX
This default config uses kernel-level FPU emulation. For the soft-float world approach:
1. make buildworld TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 2. disable FPU_EMU option in sys/powerpc/conf/MPC85XX 3. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX
Approved by: cognet (mentor) MFp4: e500
|
#
176730 |
|
02-Mar-2008 |
jeff |
Add cpuset, an api for thread to cpu binding and cpu resource grouping and assignment. - Add a reference to a struct cpuset in each thread that is inherited from the thread that created it. - Release the reference when the thread is destroyed. - Add prototypes for syscalls and macros for manipulating cpusets in sys/cpuset.h - Add syscalls to create, get, and set new numbered cpusets: cpuset(), cpuset_{get,set}id() - Add syscalls for getting and setting affinity masks for cpusets or individual threads: cpuid_{get,set}affinity() - Add types for the 'level' and 'which' parameters for the cpuset. This will permit expansion of the api to cover cpu masks for other objects identifiable with an id_t integer. For example, IRQs and Jails may be coming soon. - The root set 0 contains all valid cpus. All thread initially belong to cpuset 1. This permits migrating all threads off of certain cpus to reserve them for special applications.
Sponsored by: Nokia Discussed with: arch, rwatson, brooks, davidxu, deischen Reviewed by: antoine
|
#
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.
|
#
176680 |
|
01-Mar-2008 |
jfv |
Somehow missed the stanza for 575 in the em driver
|
#
176669 |
|
29-Feb-2008 |
piso |
Move ipfw's nat code into its own kld: ipfw_nat.
|
#
176667 |
|
29-Feb-2008 |
jfv |
This change introduces a split to the Intel E1000 driver, now rather than just em, there is an igb driver (this follows behavior with our Linux drivers). All adapters up to the 82575 are supported in em, and new client/desktop support will continue to be in that adapter.
The igb driver is for new server NICs like the 82575 and its followons. Advanced features for virtualization and performance will be in this driver.
Also, both drivers now have shared code that is up to the latest we have released. Some stylistic changes as well.
Enjoy :)
|
#
176572 |
|
26-Feb-2008 |
kmacy |
Move firmware in to separate module that can be compiled statically in to the kernel Add utility for converting future firmware revs to a C header file
|
#
176418 |
|
20-Feb-2008 |
thompsa |
Rename geom_lvm(4) to geom_linux_lvm(4).
Requested by: des, phk
|
#
176240 |
|
13-Feb-2008 |
rwatson |
Remove coda_namecache from "options vcoda", it is no longer required.
MFC after: 1 month Spotted by: Tinderbox
|
#
176167 |
|
11-Feb-2008 |
thompsa |
Hook geom_lvm(4) up to the build.
|
#
175702 |
|
26-Jan-2008 |
marius |
Add a driver for the National Semiconductor DP83815, DP83843 and DP83847 PHYs. The main reason for using a specific driver for these PHYs are reset quirks similar to the nsphy(4) driven DP83840A.
PR: 112654 Obtained from: NetBSD MFC after: 2 weeks Thanks to: mlaier for testing w/ DP83815
|
#
175521 |
|
21-Jan-2008 |
yongari |
Update file list and Makefile after repocopying sf(4) from src/sys/pci to src/sys/dev.
|
#
175365 |
|
15-Jan-2008 |
gallatin |
Add optional support to mxge for MSI-X interrupts and multiple receive queues (which we call slices). The NIC will steer traffic into up to hw.mxge.max_slices different receive rings based on a configurable hash type (hw.mxge.rss_hash_type).
Currently the driver defaults to using a single slice, so the default behavior is unchanged. Also, transmit from non-zero slices is disabled currently.
|
#
175308 |
|
13-Jan-2008 |
kmacy |
Add cxgb_multiq.c to the cxgb build for static linking
|
#
175164 |
|
08-Jan-2008 |
jhb |
Add a new file descriptor type for IPC shared memory objects and use it to implement shm_open(2) and shm_unlink(2) in the kernel: - Each shared memory file descriptor is associated with a swap-backed vm object which provides the backing store. Each descriptor starts off with a size of zero, but the size can be altered via ftruncate(2). The shared memory file descriptors also support fstat(2). read(2), write(2), ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared memory file descriptors. - shm_open(2) and shm_unlink(2) are now implemented as system calls that manage shared memory file descriptors. The virtual namespace that maps pathnames to shared memory file descriptors is implemented as a hash table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash of the pathname. - As an extension, the constant 'SHM_ANON' may be specified in place of the path argument to shm_open(2). In this case, an unnamed shared memory file descriptor will be created similar to the IPC_PRIVATE key for shmget(2). Note that the shared memory object can still be shared among processes by sharing the file descriptor via fork(2) or sendmsg(2), but it is unnamed. This effectively serves to implement the getmemfd() idea bandied about the lists several times over the years. - The backing store for shared memory file descriptors are garbage collected when they are not referenced by any open file descriptors or the shm_open(2) virtual namespace.
Submitted by: dillon, peter (previous versions) Submitted by: rwatson (I based this on his version) Reviewed by: alc (suggested converting getmemfd() to shm_open())
|
#
174982 |
|
29-Dec-2007 |
alc |
Add the superpage reservation system. This is "part 2 of 2" of the machine-independent support for superpages. (The earlier part was the rewrite of the physical memory allocator.) The remainder of the code required for superpages support is machine-dependent and will be added to the various pmap implementations at a later date.
Initially, I am only supporting one large page size per architecture. Moreover, I am only enabling the reservation system on amd64. (In an emergency, it can be disabled by setting VM_NRESERVLEVELS to 0 in amd64/include/vmparam.h or your kernel configuration file.)
|
#
174921 |
|
26-Dec-2007 |
rwatson |
Add textdump(4) facility, which provides an alternative form of kernel dump using mechanically generated/extracted debugging output rather than a simple memory dump. Current sources of debugging output are:
- DDB output capture buffer, if there is captured output to save - Kernel message buffer - Kernel configuration, if included in kernel - Kernel version string - Panic message
Textdumps are stored in swap/dump partitions as with regular dumps, but are laid out as ustar files in order to allow multiple parts to be stored as a stream of sequentially written blocks. Blocks are written out in reverse order, as the size of a textdump isn't known a priori. As with regular dumps, they will be extracted using savecore(8).
One new DDB(4) command is added, "textdump", which accepts "set", "unset", and "status" arguments. By default, normal kernel dumps are generated unless "textdump set" is run in order to schedule a textdump. It can be canceled using "textdump unset" to restore generation of a normal kernel dump.
Several sysctls exist to configure aspects of textdumps; debug.ddb.textdump.pending can be set to check whether a textdump is pending, or set/unset in order to control whether the next kernel dump will be a textdump from userspace.
While textdumps don't have to be generated as a result of a DDB script run automatically as part of a kernel panic, this is a particular useful way to use them, as instead of generating a complete memory dump, a simple transcript of an automated DDB session can be captured using the DDB output capture and textdump facilities. This can be used to generate quite brief kernel bug reports rich in debugging information but not dependent on kernel symbol tables or precisely synchronized source code. Most textdumps I generate are less than 100k including the full message buffer. Using textdumps with an interactive debugging session is also useful, with capture being enabled/disabled in order to record some but not all of the DDB session.
MFC after: 3 months
|
#
174914 |
|
26-Dec-2007 |
rwatson |
Add a simple scripting facility to DDB(4), allowing the user to define a set of named scripts. Each script consists of a list of DDB commands separated by ";"s that will be executed verbatim. No higher level language constructs, such as branching, are provided for: scripts are executed by sequentially injecting commands into the DDB input buffer.
Four new commands are present in DDB: "run" to run a specific script, "script" to define or print a script, "scripts" to list currently defined scripts, and "unscript" to delete a script, modeled on shell alias commands. Scripts may also be manipulated using sysctls in the debug.ddb.scripting MIB space, although users will prefer to use the soon-to-be-added ddb(8) tool for usability reasons.
Scripts with certain names are automatically executed on various DDB events, such as entering the debugger via a panic, a witness error, watchdog, breakpoint, sysctl, serial break, etc, allowing customized handling.
MFC after: 3 months
|
#
174910 |
|
25-Dec-2007 |
rwatson |
Add a new DDB(4) facility, output capture. Input and output from DDB may be captured to a memory buffer for later inspection using sysctl(8), or in the future, to a textdump.
A new DDB command, "capture", is added, which accepts arguments "on", "off", "reset", and "status".
A new DDB sysctl tree, debug.ddb.capture, is added, which can be used to resize the capture buffer and extract buffer contents.
MFC after: 3 months
|
#
174705 |
|
17-Dec-2007 |
kmacy |
build tcp_offload.c instead of tcp_ofld.c
|
#
174556 |
|
12-Dec-2007 |
kmacy |
Add driver independent interface to offload active established TCP connections
Reviewed by: silby
|
#
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)
|
#
174135 |
|
01-Dec-2007 |
phk |
Remove XRPU driver, after asking all the users.
|
#
173834 |
|
21-Nov-2007 |
rwatson |
Alphabetize pts before pty.
MFC after: 3 days
|
#
173573 |
|
12-Nov-2007 |
jhb |
Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version was bumped to 800004 to note the change though userland apps should not be affected since they use <sys/agpio.h> rather than the headers in sys/dev/agp.
Discussed with: anholt Repocopy by: simon
|
#
173444 |
|
08-Nov-2007 |
ups |
Initial checkin for rmlock (read mostly lock) a multi reader single writer lock optimized for almost exclusive reader access. (see also rmlock.9)
TODO: Convert to per cpu variables linkerset as soon as it is available. Optimize UP (single processor) case.
|
#
173095 |
|
28-Oct-2007 |
rwatson |
Move towards more explicit support for various network protocol stacks in the TrustedBSD MAC Framework:
- Add mac_atalk.c and add explicit entry point mac_netatalk_aarp_send() for AARP packet labeling, rather than using a generic link layer entry point.
- Add mac_inet6.c and add explicit entry point mac_netinet6_nd6_send() for ND6 packet labeling, rather than using a generic link layer entry point.
- Add expliict entry point mac_netinet_arp_send() for ARP packet labeling, and mac_netinet_igmp_send() for IGMP packet labeling, rather than using a generic link layer entry point.
- Remove previous genering link layer entry point, mac_mbuf_create_linklayer() as it is no longer used.
- Add implementations of new entry points to various policies, largely by replicating the existing link layer entry point for them; remove old link layer entry point implementation.
- Make MAC_IFNET_LOCK(), MAC_IFNET_UNLOCK(), and mac_ifnet_mtx global to the MAC Framework rather than static to mac_net.c as it is now needed outside of mac_net.c.
Obtained from: TrustedBSD Project
|
#
173063 |
|
27-Oct-2007 |
sam |
fix build
|
#
172967 |
|
25-Oct-2007 |
obrien |
Align.
|
#
172674 |
|
15-Oct-2007 |
netchild |
Backout sensors framework.
Requested by: phk Discussed on: cvs-all
|
#
172632 |
|
14-Oct-2007 |
netchild |
Import it(4) and lm(4), supporting most popular Super I/O Hardware Monitors.
Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts)
|
#
172631 |
|
14-Oct-2007 |
netchild |
Import OpenBSD's sysctl hardware sensors framework.
This commit includes the following core components:
* sample configuration file for sensorsd * rc(8) script and glue code for sensorsd(8) * sysctl(3) doc fixes for CTL_HW tree * sysctl(3) documentation for hardware sensors * sysctl(8) documentation for hardware sensors * support for the sensor structure for sysctl(8) * rc.conf(5) documentation for starting sensorsd(8) * sensor_attach(9) et al documentation * /sys/kern/kern_sensors.c o sensor_attach(9) API for drivers to register ksensors o sensor_task_register(9) API for the update task o sysctl(3) glue code o hw.sensors shadow tree for sysctl(8) internal magic * <sys/sensors.h> * HW_SENSORS definition for <sys/sysctl.h> * sensors display for systat(1), including documentation * sensorsd(8) and all applicable documentation
The userland part of the framework is entirely source-code compatible with OpenBSD 4.1, 4.2 and -current as of today.
All sensor readings can be viewed with `sysctl hw.sensors`, monitored in semi-realtime with `systat -sensors` and also logged with `sensorsd`.
Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts)
|
#
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)
|
#
171792 |
|
08-Aug-2007 |
marcel |
Compile ipfilter:ip_lookup.c without -Werror. The file contains a test that assumes that char is signed by default and causes a warning with GCC 4.2 on PowerPC. A patch has been sent to the maintainer that addresses this.
Approved by: re (blanket)
|
#
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
|
#
171552 |
|
23-Jul-2007 |
rwatson |
Continue effort to align UDPv4 and UDPv6 implementations by merging udp6_output() from udp6_output.c to udp6_usrreq.c, matching the UDPv4 structure, and allowing us to remove udp6_output.c.
Reviewed by: bz, gnn Approved by: re (bmah)
|
#
171500 |
|
19-Jul-2007 |
gallatin |
- Enable static building of mxge(4) and its firmware.
- Add custom .c wrappers for the firmware, rather than the standard firmware(9) generated firmware objects to work around toolchain problems on ia64 involving linking objects produced by ld -b -binary into the kernel.
- Move from using Myricom's ".dat" firmware blobs to using Myricom's zlib compressed ".h" firmware header files. This is done to facilitate the custom wrappers, and saves a fair amount of wired memory in the case where the firmware is built in, or preloaded.
- Fix two compile issues in mxge which only appear on non-i386/amd64.
Reviewed by: mlaier, mav (earlier version with just zlib support) Glanced at by: sam Approved by: re (kensmith)
|
#
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)
|
#
171416 |
|
12-Jul-2007 |
rwatson |
Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda by removing files from src/sys/coda, and updating include paths in the new location, kernel configuration, and Makefiles. In one case add $FreeBSD$.
Discussed with: anderson, Jan Harkes <jaharkes@cs.cmu.edu> Approved by: re (kensmith) Repo-copy madness: simon
|
#
171383 |
|
11-Jul-2007 |
jfv |
New driver for Intel 10G PCI-Express adapter (82598), driver is still in Beta, but we want early users to have access to it in 7.0, Feedback welcome. Enjoy. -Jack
Approved by: re
|
#
171257 |
|
05-Jul-2007 |
mlaier |
Remove unused variable from pf_subr.c to make it -Werror buildable.
Approved by: re (kensmith)
|
#
171239 |
|
05-Jul-2007 |
peter |
Compile pf/pf_subr.c and netnatm/cc_conn.c without -Werror for the time being.
Approved by: re (rwatson)
|
#
171199 |
|
04-Jul-2007 |
avatar |
Reintroducing !INET6 + IPSEC building fix which was accidentally reverted in rev. 1.1229.
Approved by: re (kensmith)
|
#
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)
|
#
171173 |
|
03-Jul-2007 |
mlaier |
Link pf 4.1 to the build: - move ftp-proxy from libexec to usr.sbin - add tftp-proxy - new altq mtag link
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
|
#
171161 |
|
03-Jul-2007 |
avatar |
Fixing !INET6 + FAST_IPSEC builds.
Reviewed by: gnn Approved by: re (kensmith)
|
#
171138 |
|
01-Jul-2007 |
gnn |
Remove a dangling file reference that is no longer needed with the removal of KAME IPsec
Reviewed by: bz Approved by: re Supported by: Secure Computing
|
#
171133 |
|
01-Jul-2007 |
gnn |
Commit IPv6 support for FAST_IPSEC to the tree. This commit includes only the kernel files, the rest of the files will follow in a second commit.
Reviewed by: bz Approved by: re Supported by: Secure Computing
|
#
171095 |
|
29-Jun-2007 |
sam |
Neterion Xframe 10GbE Server/Storage adapter driver.
The nxge driver provides support for Neterion Xframe-I and Xframe-II adapters. The driver supports TCP Segmentation Offload (TSO/LSO), Jumbo frames (5 buffer mode), Header separation (2 and 3 Receive buffer modes), VLAN, and Promiscuous mode.
Submitted by: Neterion Reviewed by: rwatson Approved by: re (kensmith)
|
#
171087 |
|
29-Jun-2007 |
delphij |
MFp4:
- Remove unnecessary NULL checks after M_WAITOK allocations. - Use VOP_ACCESS instead of hand-rolled suser_cred() calls. [1] - Use malloc(9) KPI to allocate memory for string. The optimization taken from NetBSD is not valid for FreeBSD because our malloc(9) already act that way. [2]
Requested by: rwatson [1] Submitted by: Howard Su [2] Approved by: re (tmpfs blanket)
|
#
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)
|
#
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)
|
#
170654 |
|
13-Jun-2007 |
kmacy |
- import new common code for the T304 - update to firmware version 4.1.0
- switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames
Sponsored by: Chelsio MFC after: 3 days
|
#
170651 |
|
13-Jun-2007 |
marcel |
Add the MBR partitioning scheme to g_part. This does not yet support the ability to install boot code.
|
#
170613 |
|
12-Jun-2007 |
bms |
Import rewrite of IPv4 socket multicast layer to support source-specific and protocol-independent host mode multicast. The code is written to accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work.
This change only pertains to FreeBSD's use as a multicast end-station and does not concern multicast routing; for an IGMPv3/MLDv2 router implementation, consider the XORP project.
The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6, which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html
Summary * IPv4 multicast socket processing is now moved out of ip_output.c into a new module, in_mcast.c. * The in_mcast.c module implements the IPv4 legacy any-source API in terms of the protocol-independent source-specific API. * Source filters are lazy allocated as the common case does not use them. They are part of per inpcb state and are covered by the inpcb lock. * struct ip_mreqn is now supported to allow applications to specify multicast joins by interface index in the legacy IPv4 any-source API. * In UDP, an incoming multicast datagram only requires that the source port matches the 4-tuple if the socket was already bound by source port. An unbound socket SHOULD be able to receive multicasts sent from an ephemeral source port. * The UDP socket multicast filter mode defaults to exclusive, that is, sources present in the per-socket list will be blocked from delivery. * The RFC 3678 userland functions have been added to libc: setsourcefilter, getsourcefilter, setipv4sourcefilter, getipv4sourcefilter. * Definitions for IGMPv3 are merged but not yet used. * struct sockaddr_storage is now referenced from <netinet/in.h>. It is therefore defined there if not already declared in the same way as for the C99 types. * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF which are then interpreted as interface indexes) is now deprecated. * A patch for the Rhyolite.com routed in the FreeBSD base system is available in the -net archives. This only affects individuals running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces. * Make IPv6 detach path similar to IPv4's in code flow; functionally same. * Bump __FreeBSD_version to 700048; see UPDATING.
This work was financially supported by another FreeBSD committer.
Obtained from: p4://bms_netdev Submitted by: Wilbert de Graaf (original work) Reviewed by: rwatson (locking), silence from fenner, net@ (but with encouragement)
|
#
170530 |
|
11-Jun-2007 |
sam |
Update 802.11 wireless support: o major overhaul of the way channels are handled: channels are now fully enumerated and uniquely identify the operating characteristics; these changes are visible to user applications which require changes o make scanning support independent of the state machine to enable background scanning and roaming o move scanning support into loadable modules based on the operating mode to enable different policies and reduce the memory footprint on systems w/ constrained resources o add background scanning in station mode (no support for adhoc/ibss mode yet) o significantly speedup sta mode scanning with a variety of techniques o add roaming support when background scanning is supported; for now we use a simple algorithm to trigger a roam: we threshold the rssi and tx rate, if either drops too low we try to roam to a new ap o add tx fragmentation support o add first cut at 802.11n support: this code works with forthcoming drivers but is incomplete; it's included now to establish a baseline for other drivers to be developed and for user applications o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates prepending mbufs for traffic generated locally o add support for Atheros protocol extensions; mainly the fast frames encapsulation (note this can be used with any card that can tx+rx large frames correctly) o add sta support for ap's that beacon both WPA1+2 support o change all data types from bsd-style to posix-style o propagate noise floor data from drivers to net80211 and on to user apps o correct various issues in the sta mode state machine related to handling authentication and association failures o enable the addition of sta mode power save support for drivers that need net80211 support (not in this commit) o remove old WI compatibility ioctls (wicontrol is officially dead) o change the data structures returned for get sta info and get scan results so future additions will not break user apps o fixed tx rate is now maintained internally as an ieee rate and not an index into the rate set; this needs to be extended to deal with multi-mode operation o add extended channel specifications to radiotap to enable 11n sniffing
Drivers: o ath: add support for bg scanning, tx fragmentation, fast frames, dynamic turbo (lightly tested), 11n (sniffing only and needs new hal) o awi: compile tested only o ndis: lightly tested o ipw: lightly tested o iwi: add support for bg scanning (well tested but may have some rough edges) o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data o wi: lightly tested
This work is based on contributions by Atheros, kmacy, sephe, thompsa, mlaier, kevlo, and others. Much of the scanning work was supported by Atheros. The 11n work was supported by Marvell.
|
#
170526 |
|
11-Jun-2007 |
yongari |
Connect icsphy(4) to the build.
|
#
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
|
#
170164 |
|
31-May-2007 |
thompsa |
Take back the name 'bridge' now that we are the one and only. This can be phased back in over the next few major releases. if_bridge is still the documented device name so nothing has changed yet.
|
#
170161 |
|
31-May-2007 |
ariff |
Last major commit and updates for RELENG_7:
- Rework the entire pcm_channel structure: * Remove rarely used link placeholder, instead, make each pcm_channel as head/link of each own/each other. Unlock - Lock sequence due to sleep malloc has been reduced. * Implement "busy" queue which will contain list of busy/active channels. This greatly reduce locking contention for example while servicing interrupt for hardware with many channels or when virtual channels reach its 256 peak channels.
- So I heard you like v chan ... O RLY? Welcome to Virtual **Record** Channels (vrec, rec vchans, vchans for recording, Rec-Chan, you decide), the ultimate solutions for your nagging O_RDWR full-duplex wannabe (note: flash plugins) monopolizing single record channel causing EBUSY. Vrec works exactly like Vchans (or, should I rename it to "Vplay" :) , except that it operates on the opposite direction (recording). Up to 256 vrecs (like vchans) are possible.
Notes: * Relocate dev.pcm.%d.{vchans,vchanformat,vchanrate} to each of its respective node/direction: dev.pcm.%d.play.* for "play" (cdev = dsp%d.vp%d) dev.pcm.%d.rec.* for "record" (cdev = dsp%d.vr%d) * Don't expect that it will magically give you ability to split "recording source" (eg: 1 channel for cdrom, 1 channel for mic, etc). Just admit that you only have a *single* recording source / channel. Please bug your hardware vendor instead :)
- Bump maxautovchans from 4 to 16. For a full-fledged multimedia desktop/workstation with too many soundservers installed (esound, artsd, jackd, pulse/polypaudio, ding-dong pling plong mudkip fuh fuh, etc), 4 seems inadequate. There will be no memory penalty here, since virtual channels are allocate only by demand.
- Nuke/Rework the entire statically created cdev entries. Everything is clonable through snd own clone manager which designed to withstand many kind of abusive devfs droids such as: * while : ; do /bin/test -e /dev/dsp ; done * jot 16777216 0 | while read x ; do ls /dev/dsp0.$x ; done * hundreds (could be thousands) concurrent threads/process opening "/dev/dsp" (previously, this might result EBUSY even with just 3 contesting threads/procs). o Reusable clone objects (instead of creating new one like there's no tomorrow) after certain expiration deadline. The clone allocator will decide whether to reuse, share, or creating new clone. o Automatic garbage collector.
- Dynamic unit magic allocator. Maximum attached soundcards can be tuned using tunable "hw.snd.maxunit" (Default to 512). Minimum is 16, and maximum is 2048.
- ..other fixes, mostly related to concurrency issues.
joel@ will do the manpage updates on sound(4).
Have fun.
|
#
169978 |
|
25-May-2007 |
kmacy |
(MFp4) - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware
MFC after: 3 days
|
#
169865 |
|
22-May-2007 |
mav |
Return back NETGRAPH_MPPC_COMPRESSION depends.
Reviewed by: ru, julian Approved by: glebius (mentor)
|
#
169640 |
|
16-May-2007 |
marcel |
Make the serdev I/F non-optional. At least 3 drivers depend on it and they can be loaded as a module.
PR: kern/112706
|
#
169609 |
|
16-May-2007 |
scottl |
Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devices on an MFI controller.
|
#
169582 |
|
15-May-2007 |
mav |
A node that implements various traffic shaping and rate limiting algorithms (ng_car).
Approved by: glebius (mentor)
|
#
169541 |
|
13-May-2007 |
andre |
Complete the (mechanical) move of the TCP reassembly and timewait functions from their origininal place to their own files.
TCP Reassembly from tcp_input.c -> tcp_reass.c TCP Timewait from tcp_subr.c -> tcp_timewait.c
|
#
169425 |
|
09-May-2007 |
gnn |
Integrate the Camellia Block Cipher. For more information see RFC 4132 and its bibliography.
Submitted by: Tomoyuki Okazaki <okazaki at kick dot gr dot jp> MFC after: 1 month
|
#
169412 |
|
09-May-2007 |
scottl |
Introduce a driver for the Highpoint RocketRAID 3xxx series of controllers. The driver relies on CAM.
Many thanks to Highpoint for providing this driver.
|
#
169400 |
|
09-May-2007 |
scottl |
Import version 3.60.03.006 of the TWA driver:
This patch does the following:
- Remove un-necessary code that is not even compiling into the driver under TW_OSL_NON_DMA_MEM_ALLOC_PER_REQUEST defines. - Remove bundled firmware image and associated "files" entry for tw_cl_fwimg.c - Remove bundled firmware flashing routines. We now have tw_update userspace FreeBSD controller flash utility. - Fix driver crash on load due to shared interrupt. - Fix 2 lock leaks for Giant lock. - Fix CCB leak. - Add support for 9650SE controllers.
Many thanks to 3Ware/AMCC for continuing to support FreeBSD.
|
#
169306 |
|
06-May-2007 |
kevlo |
Add support for Ralink Technology RT2501USB/RT2601USB devices.
Reviewed by: sam, sephe Obtained from: OpenBSD
|
#
169247 |
|
04-May-2007 |
rwatson |
Add missing e1000_82575.c entry to build in order to improve chances of kernel compilation due to missing symbols in em driver.
|
#
169242 |
|
04-May-2007 |
jfv |
Last minute mistake crept in, old file name.
Approved by:pdeuskar
|
#
169240 |
|
03-May-2007 |
jfv |
Merge in the new driver (6.5.0) of Intel. This has a new shared code infrastructure that is family specific and modular. There is also support for our latest gigabit nic, the 82575 that is MSI/X and multiqueue capable.
The new shared code changes some interfaces to the core code but testing at Intel has been going on for months, it is fairly stable.
I have attempted to be careful in retaining any fixes that CURRENT had and we did not, I apologize in advance if any thing gets clobbered, I'm sure I'll hear about it :)
Approved by pdeuskar
|
#
169038 |
|
25-Apr-2007 |
mav |
Add static build depends for ng_deflate, ng_nat and ng_sppp.
Approved by: glebius (mentor)
|
#
168933 |
|
21-Apr-2007 |
rwatson |
Allow MAC policy modules to control access to audit configuration system calls. Add MAC Framework entry points and MAC policy entry points for audit(), auditctl(), auditon(), setaudit(), aud setauid().
MAC Framework entry points are only added for audit system calls where additional argument context may be useful for policy decision-making; other audit system calls without arguments may be controlled via the priv(9) entry points.
Update various policy modules to implement audit-related checks, and in some cases, other missing system-related checks.
Obtained from: TrustedBSD Project Sponsored by: SPARTA, Inc.
|
#
168793 |
|
16-Apr-2007 |
thompsa |
Rename the trunk(4) driver to lagg(4) as it is too similar to vlan trunking.
The name trunk is misused as the networking term trunk means carrying multiple VLANs over a single connection. The IEEE standard for link aggregation (802.3 section 3) does not talk about 'trunk' at all while it is used throughout IEEE 802.1Q in describing vlans.
The lagg(4) driver provides link aggregation, failover and fault tolerance.
Discussed on: current@
|
#
168563 |
|
09-Apr-2007 |
thompsa |
Hook trunk(4) up to the build.
|
#
168541 |
|
09-Apr-2007 |
piso |
The old PacketAlias* API is not exported when libalias run in kernel land.
|
#
168533 |
|
09-Apr-2007 |
andre |
Sort sctp_*.c files.
|
#
168492 |
|
08-Apr-2007 |
kmacy |
hook uipc_mvec.c into build
|
#
168477 |
|
07-Apr-2007 |
scottl |
Add the CAM 'SG' peripheral device. This device implements a subset of the Linux SCSI SG passthrough device API. The intention is to allow for both running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate porting of apps from Linux to FreeBSD. As such, both native and linuxolator entry points and definitions are provided.
Caveats: - This does not support the procfs and sysfs nodes that the Linux SG driver provides. Some Linux apps may rely on these for operation, others may only use them for informational purposes. - More ioctls need to be implemented. - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a scheme of "sg[0-9]". Devfs aliasis (symlinks) are automatically created to link the two together. However, tools like camcontrol only see the native names. - Some operations were originally designed to return byte counts or other data directly as the syscall return value. The linuxolator doesn't appear to support this well, so this driver just punts for these cases.
Now that the driver is in place, others are welcome to add missing functionality. Thanks to Roman Divacky for pushing this work along.
|
#
168414 |
|
06-Apr-2007 |
kan |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far.
|
#
168400 |
|
05-Apr-2007 |
kan |
Add trivial MI memset function implementation. GCC mandates the existence of this function as a linkable symbol in standalone configurations and existing inline memcpy from libkern.h fails this requirement.
|
#
167895 |
|
26-Mar-2007 |
rwatson |
Complete removal of uipc_socket2.c by moving the last few functions to other C files:
- Move sbcreatecontrol() and sbtoxsockbuf() to uipc_sockbuf.c. While sbcreatecontrol() is really an mbuf allocation routine, it does its work with awareness of the layout of socket buffer memory.
- Move pru_*() protocol switch stubs to uipc_socket.c where the non-stub versions of several of these functions live. Likewise, move socket state transition calls (soisconnecting(), etc) to uipc_socket.c. Moveo sodupsockaddr() and sotoxsocket().
|
#
167891 |
|
26-Mar-2007 |
yar |
Introduce a new toy interface, edsc(4). It's a discard interface imitating an Ethernet device, so vlan(4) and if_bridge(4) can be attached to it for testing and benchmarking purposes. Its source can be an introduction to the anatomy of a network interface driver due to its simplicity as well as to a bunch of comments in it.
|
#
167857 |
|
23-Mar-2007 |
imp |
New device: icee. Generic i2c eeprom driver.
|
#
167814 |
|
22-Mar-2007 |
jkim |
Catch up with ACPI-CA 20070320 import.
|
#
167755 |
|
21-Mar-2007 |
sam |
Overhaul driver/subsystem api's: o make all crypto drivers have a device_t; pseudo drivers like the s/w crypto driver synthesize one o change the api between the crypto subsystem and drivers to use kobj; cryptodev_if.m defines this api o use the fact that all crypto drivers now have a device_t to add support for specifying which of several potential devices to use when doing crypto operations o add new ioctls that allow user apps to select a specific crypto device to use (previous ioctls maintained for compatibility) o overhaul crypto subsystem code to eliminate lots of cruft and hide implementation details from drivers o bring in numerous fixes from Michale Richardson/hifn; mostly for 795x parts o add an optional mechanism for mmap'ing the hifn 795x public key h/w to user space for use by openssl (not enabled by default) o update crypto test tools to use new ioctl's and add cmd line options to specify a device to use for tests
These changes will also enable much future work on improving the core crypto subsystem; including proper load balancing and interposing code between the core and drivers to dispatch small operations to the s/w driver as appropriate.
These changes were instigated by the work of Michael Richardson.
Reviewed by: pjd Approved by: re
|
#
167598 |
|
15-Mar-2007 |
rrs |
- Sysctl's move to seperate file - moved away from ifn/ifa access to sctp_ifa/sctp_ifn built and managed by the add-ip code. - cleaned up add-ip code to use the iterator - made iterator be a thread, which enables auto-asconf now. - rewrote and cleaned up source address selection (also made it use new structures). - Fixed a couple of memory leaks. - DACK now settable as to how many packets to delay as well as time. - connectx() to latest socket API, new associd arg. - Fixed issue with revoking and loosing potential to send when we inflate the flight size. We now inflate the cwnd too and deflate it later when the revoked chunk is sent or acked. - Got rid of some temp debug code - src addr selection moved to a common file (sctp_output.c) - Support for simple VRF's (we have support for multi-vfr via compile switch that is scrubbed from BSD but we won't need multi-vrf until we first get VRF :-D) - Rest of mib work for address information now done - Limit number of addresses in INIT/INIT-ACK to a #def (30).
Reviewed by: gnn
|
#
167530 |
|
14-Mar-2007 |
kmacy |
Add support for statically compiling cxgb into the kernel
|
#
167233 |
|
05-Mar-2007 |
rwatson |
Recognize repo-copy of kern_acl.c to vfs_acl.c, remove kern_acl.c, remove kern_acl.c from the build, connect vfs_acl.c to the build.
Thanks to: joe
|
#
167050 |
|
27-Feb-2007 |
mjacob |
First cut at GEOM based multipath. This is an active/passive{/passive...} arrangement that has no intrinsic internal knowledge of whether devices it is given are truly multipath devices. As such, this is a simplistic approach, but still a useful one.
The basic approach is to (at present- this will change soon) use camcontrol to find likely identical devices and and label the trailing sector of the first one. This label contains both a full UUID and a name. The name is what is presented in /dev/multipath, but the UUID is used as a true distinguishor at g_taste time, thus making sure we don't have chaos on a shared SAN where everyone names their data multipath as "Fred".
The first of N identical devices (and N *may* be 1!) becomes the active path until a BIO request is failed with EIO or ENXIO. When this occurs, the active disk is ripped away and the next in a list is picked to (retry and) continue with.
During g_taste events new disks that meet the match criteria for existing multipath geoms get added to the tail end of the list.
Thus, this active/passive setup actually does work for devices which go away and come back, as do (now) mpt(4) and isp(4) SAN based disks.
There is still a lot to do to improve this- like about 5 of the 12 recommendations I've received about it, but it's been functional enough for a while that it deserves a broader test base.
Reviewed by: pjd Sponsored by: IronPort Systems MFC: 2 months
|
#
167015 |
|
26-Feb-2007 |
rwatson |
Build ipx_ip.c only if options IPXIP is defined. No functional change.
|
#
166938 |
|
24-Feb-2007 |
bms |
Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. It is built in the same module as IPv4 multicast forwarding, i.e. ip_mroute.ko, if and only if IPv6 support is enabled for loadable modules. Export IPv6 forwarding structs to userland netstat(1) via sysctl(9).
|
#
166732 |
|
14-Feb-2007 |
rwatson |
Teach DDB how to print sockets, socket buffers, protosw's, and domain structures given pointers to them.
|
#
166640 |
|
11-Feb-2007 |
rodrigc |
Makefile changes to reflect moving sys/isofs/cd9660 to sys/fs/cd9660. Continue to install userland include files in /usr/include/isofs/cd9660 so as not to break userland applications such as libstand.
|
#
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.
|
#
166449 |
|
03-Feb-2007 |
imp |
Mark mmc *_if.m files as standard to allow for mmc/sd being compiled as a module.
Submitted by: Andrea Bittau
|
#
166340 |
|
30-Jan-2007 |
rodrigc |
Add a "-o large" mount option for msdosfs. Convert compile-time checks for #ifdef MSDOSFS_LARGE to run-time checks to see if "-o large" was specified.
Test case provided by Oliver Fromme: truncate -s 200G test.img mdconfig -a -t vnode -f test.img -u 9 newfs_msdos -s 419430400 -n 1 /dev/md9 zip250 mount -t msdosfs /dev/md9 /mnt # should fail mount -t msdosfs -o large /dev/md9 /mnt # should succeed
PR: 105964 Requested by: Oliver Fromme <olli lurza secnetix de> Tested by: trhodes MFC after: 2 weeks
|
#
166306 |
|
28-Jan-2007 |
takawata |
Add support for serial communication with Windows CE based Handheld Computer.
Obtained from: NetBSD
|
#
165782 |
|
04-Jan-2007 |
ticso |
MFp4: add basic driver for RTL8305SC switch in PHY emulation
|
#
165629 |
|
29-Dec-2006 |
glebius |
Build bits for ng_deflate(4) and ng_pred1(4).
|
#
165590 |
|
28-Dec-2006 |
rwatson |
Break contents of kern_mac.c out into two files following a repo-copy:
mac_framework.c Contains basic MAC Framework functions, policy registration, sysinits, etc.
mac_syscalls.c Contains implementations of various MAC system calls, including ENOSYS stubs when compiling without options MAC.
Obtained from: TrustedBSD Project
|
#
165472 |
|
22-Dec-2006 |
rwatson |
Connect vfs_extattr.c to build by default.
|
#
165140 |
|
13-Dec-2006 |
yongari |
Hook up msk(4) to the build.
|
#
165057 |
|
09-Dec-2006 |
imp |
As Bernd Walter points out, the rlphy is used for more things than just the intenral phy on parts supported by the rl and re drivers, the RTL8201BL for example. He also sent me a nice picture of hundreds of these chips in a tray to boulder his claim. :-) Therefore remove a comment that suggested that they were...
|
#
164743 |
|
29-Nov-2006 |
imp |
Build glue for at45d flash support.
|
#
164633 |
|
26-Nov-2006 |
sam |
device-independent implementation of AMRR tx rate control algorithm
Obtained from: openbsd (w/ mods) MFC after: 1 month
|
#
164422 |
|
19-Nov-2006 |
sam |
hookup ad7418 and ds1672 drivers
MFC after: 1 month
|
#
164295 |
|
15-Nov-2006 |
maxim |
o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serial adapters.
Submitted by: Alex Rodin Obtained from: OpenBSD Reviewed by: -usb MFC after: 6 weeks
|
#
164184 |
|
11-Nov-2006 |
trhodes |
Merge posix4/* into normal kernel hierarchy.
Reviewed by: glanced at by jhb Approved by: silence on -arch@ and -standards@
|
#
164032 |
|
06-Nov-2006 |
rwatson |
Add a new priv(9) kernel interface for checking the availability of privilege for threads and credentials. Unlike the existing suser(9) interface, priv(9) exposes a named privilege identifier to the privilege checking code, allowing more complex policies regarding the granting of privilege to be expressed. Two interfaces are provided, replacing the existing suser(9) interface:
suser(td) -> priv_check(td, priv) suser_cred(cred, flags) -> priv_check_cred(cred, priv, flags)
A comprehensive list of currently available kernel privileges may be found in priv.h. New privileges are easily added as required, but the comments on adding privileges found in priv.h and priv(9) should be read before doing so.
The new privilege interface exposed sufficient information to the privilege checking routine that it will now be possible for jail to determine whether a particular privilege is granted in the check routine, rather than relying on hints from the calling context via the SUSER_ALLOWJAIL flag. For now, the flag is maintained, but a new jail check function, prison_priv_check(), is exposed from kern_jail.c and used by the privilege check routine to determine if the privilege is permitted in jail. As a result, a centralized list of privileges permitted in jail is now present in kern_jail.c.
The MAC Framework is now also able to instrument privilege checks, both to deny privileges otherwise granted (mac_priv_check()), and to grant privileges otherwise denied (mac_priv_grant()), permitting MAC Policy modules to implement privilege models, as well as control a much broader range of system behavior in order to constrain processes running with root privilege.
The suser() and suser_cred() functions remain implemented, now in terms of priv_check() and the PRIV_ROOT privilege, for use during the transition and possibly continuing use by third party kernel modules that have not been updated. The PRIV_DRIVER privilege exists to allow device drivers to check privilege without adopting a more specific privilege identifier.
This change does not modify the actual security policy, rather, it modifies the interface for privilege checks so changes to the security policy become more feasible.
Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
#
163958 |
|
03-Nov-2006 |
ru |
Nitpicking.
|
#
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
|
#
163851 |
|
31-Oct-2006 |
pjd |
Hook up gjournal bits to the build.
Sponsored by: home.pl
|
#
163779 |
|
30-Oct-2006 |
takawata |
Add conf file entries for acpi_aiboost drivers.
|
#
163630 |
|
23-Oct-2006 |
ru |
Move "device splash" back to MI NOTES and "files", it's MI.
|
#
163629 |
|
23-Oct-2006 |
ru |
Move MI parts of syscons into MI "files".
|
#
163611 |
|
22-Oct-2006 |
phk |
Add two new functions to convert FAT filesystem format timestamps to and from struct timespec, to replace the crummy conversion function which have been copy&pasted into three different filesystems already.
Apart from general crummyness as indicated by code like:
for (year = 1970;; year++) { inc = year & 0x03 ? 365 : 366; if (days < inc) break; days -= inc; }
They also contain specialized crummyness which tries to compensate for the general crummyness by caching recent conversion results, with no regard for locking or consistency.
These replacement functions are smaller, O(1) and handle the Y2.1K leap-year correctly.
Ideally, these functions should live in a module of their own, which the three offending filesystems would depend on, but the size is 877 bytes of code (on i386), so that would be false economy.
|
#
163516 |
|
20-Oct-2006 |
imp |
Preliminary MMC stack. This stack supports SD 1.0 cards only, but should be easily adapted to SD 2.0 (aka SDHC), SDIO, MMC and MMCplus cards. At the present time, there's only one bridge driver for the ARM9 based Atmel AT91RM9200.
|
#
163470 |
|
17-Oct-2006 |
imp |
Collapse the two identical emu10k1-alsa%diked.h creation rules for snd_emu10k1 and snd_emu10kx into one line. The 'pci' dependency here adds no value, so I eliminted it (we don't have a snd.all file that might make it mildly useful, and even then it wouldn't be that useful). With the pci optional component eliminated, I could use the '|' operator. I could have also include pci on both sides of the | operator, but since it isn't a value add at all, it was better to eliminate it.
|
#
163126 |
|
08-Oct-2006 |
piso |
Sort libalias files.
Approved by: glebius Reviewed by: glebius, ru
|
#
163050 |
|
06-Oct-2006 |
ru |
Added the GEOM_CACHE option.
Reminded by: pjd
|
#
162958 |
|
02-Oct-2006 |
phk |
Second part of a little cleanup in the calendar/timezone/RTC handling.
Split subr_clock.c in two parts (by repo-copy): subr_clock.c contains generic RTC and calendaric stuff. etc. subr_rtc.c contains the newbus'ified RTC interface.
Centralize the machdep.{adjkerntz,disable_rtc_set,wall_cmos_clock} sysctls and associated variables into subr_clock.c. They are not machine dependent and we have generic code that relies on being present so they are not even optional.
|
#
162927 |
|
01-Oct-2006 |
ariff |
Unbreak build caused by recent envy24/spicds commit.
|
#
162925 |
|
01-Oct-2006 |
ariff |
Connect snd_hda(4) to build process...
Add support for Intel High Definition Audio Controller.
This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk.
This driver is a product of collaborative effort made by:
Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org>
....and various people from freebsd-multimedia@FreeBSD.org
Refer to snd_hda(4) for features and issues.
Welcome To HDA.
Sponsored by: Defenxis Sdn. Bhd.
|
#
162888 |
|
30-Sep-2006 |
netchild |
Add spicds, envy24ht and remove ak4*.
|
#
162674 |
|
26-Sep-2006 |
piso |
Summer of Code 2005: improve libalias - part 1 of 2
With the first part of my previous Summer of Code work, we get:
-made libalias modular:
-support for 'particular' protocols (like ftp/irc/etcetc) is no more hardcoded inside libalias, but it's available through external modules loadable at runtime
-modules are available both in kernel (/boot/kernel/alias_*.ko) and user land (/lib/libalias_*)
-protocols/applications modularized are: cuseeme, ftp, irc, nbt, pptp, skinny and smedia
-added logging support for kernel side
-cleanup
After a buildworld, do a 'mergemaster -i' to install the file libalias.conf in /etc or manually copy it.
During startup (and after every HUP signal) user land applications running the new libalias will try to read a file in /etc called libalias.conf: that file contains the list of modules to load.
User land applications affected by this commit are ppp and natd: if libalias.conf is present in /etc you won't notice any difference.
The only kernel land bit affected by this commit is ng_nat: if you are using ng_nat, and it doesn't correctly handle ftp/irc/etcetc sessions anymore, remember to kldload the correspondent module (i.e. kldload alias_ftp).
General information and details about the inner working are available in the libalias man page under the section 'MODULAR ARCHITECTURE (AND ipfw(4) SUPPORT)'.
NOTA BENE: this commit affects _ONLY_ libalias, ipfw in-kernel nat support will be part of the next libalias-related commit.
Approved by: glebius Reviewed by: glebius, ru
|
#
162620 |
|
25-Sep-2006 |
scottl |
Add the mfi_debug.c file and MFI_DEBUG option.
|
#
162418 |
|
18-Sep-2006 |
sam |
remove local change
Spotted by: Gavin Atkinson
|
#
162411 |
|
18-Sep-2006 |
sam |
nuke unused support for building ath hal from src code
MFC after: 1 week
|
#
161294 |
|
14-Aug-2006 |
imp |
Do not include ucom as a dependency line to enable inclusion of the serial line usb drivers that depend on it. Instead, let the compile fail rather than silently not including the driver. This is more in line with how we handle things like mii.
# I'll note: a better system for coping with missing depends is needed, # but this dependency is clearly backwards given our current flawed # depend system.
|
#
161249 |
|
12-Aug-2006 |
pjd |
Oops. Remove accidentally committed change.
Noticed by: marck
|
#
161243 |
|
12-Aug-2006 |
pjd |
Add strstr() function to the libkern.
|
#
161040 |
|
07-Aug-2006 |
rwatson |
Move definition of UNIX domain socket protosw and domain entries from uipc_proto.c to uipc_usrreq.c, making localdomain static. Remove uipc_proto.c as it's no longer used. With this change, UNIX domain sockets are entirely encapsulated in uipc_usrreq.c.
|
#
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.
|
#
160803 |
|
28-Jul-2006 |
netchild |
Allow to configure a kernel with envy24 support as documented in the manual page...
|
#
160773 |
|
27-Jul-2006 |
jhb |
Unify the checking for lock misbehavior in the various syscall() implementations and adjust some of the checks while I'm here: - Add a new check to make sure we don't return from a syscall in a critical section. - Add a new explicit check before userret() to make sure we don't return with any locks held. The advantage here is that we can include the syscall number and name in syscall() whereas that info is not available in userret(). - Drop the mtx_assert()'s of sched_lock and Giant. They are replaced by the more general checks just added.
MFC after: 2 weeks
|
#
160656 |
|
25-Jul-2006 |
rwatson |
Add uipc_sockbuf.c to standard files list; accidentally missed in earlier commit.
Spotted by: tinderbox
|
#
160642 |
|
24-Jul-2006 |
yongari |
Hook up stge(4) to the build.
|
#
160639 |
|
24-Jul-2006 |
yongari |
Connect gentbi, ip1000phy to the build.
|
#
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]
|
#
160371 |
|
14-Jul-2006 |
imp |
MFp4: spibus glue
|
#
160146 |
|
06-Jul-2006 |
rwatson |
Move POSIX.1e-specific utility routines from kern_acl.c to subr_acl_posix1e.c, leaving kern_acl.c containing only ACL system calls and utility routines common across ACL types.
Add subr_acl_posix1e.c to the build.
Obtained from: TrustedBSD Project
|
#
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
|
#
159597 |
|
14-Jun-2006 |
marcel |
Unbreak build on platforms that don't have uart_sab82532 and uart_z8530 for uart(4) by default, but have scc(4).
|
#
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
|
#
159537 |
|
12-Jun-2006 |
imp |
Add the ability to subset the devices that UART pulls in. This allows the arm to compile without all the extras that don't appear, at least not in the flavors of ARM I deal with. This helps us save about 100k.
If I've botched the available devices on a platform, please let me know and I'll correct ASAP.
|
#
159454 |
|
09-Jun-2006 |
rodrigc |
Accomodate new files due to latest XFS import.
|
#
159309 |
|
05-Jun-2006 |
pjd |
Connect new GELI files to the build.
Supported by: Wheel Sp. z o.o. (http://www.wheel.pl)
|
#
158979 |
|
27-May-2006 |
netchild |
Commit the new (old) midi framework. It's based in parts on the NetBSD code, but large parts are rewritten by matk and tanimura.
This is old code, it's not maintained since 2003. We also don't have a maintainer for this! Yuriy Tsibizov took it and uses it in his emu10kx driver. Since the emu10kx driver will enter the tree "soon" (some bugs have to be fixed after Yuriy return from his holidays), I add it here already.
This also contains some changes to emu10k1 and cmi, so if you're lucky, you can now make some kind of use of midi with those soundcards.
To all those poor souls which don't have such a card: feel free to send patches, we don't have a maintainer for this.
To those which miss a specific feature in the midi code: feel free to submit patches, we don't have a maintainer for this.
Oh, did I already told that it would be nice if someone would take care of it? Maintainer with midi equipment wanted! :-)
If you get LOR's, submit a PR and notify multimedia@ please. If you get panics, submit a PR with a backtrace (compile the sound system into your kernel instead of using modules in this case) and notify multimedia@ please.
Written by: matk, tanimura Submitted by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru> Based upon: code from NetBSD
|
#
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.
|
#
158549 |
|
13-May-2006 |
gnn |
Removed the deprecated lance driver, lnc, from files.
|
#
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.
|
#
158469 |
|
12-May-2006 |
jhb |
Remove the snd_ess identify routine for the sound device in Alpha PWS machines.
|
#
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
|
#
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.
|
#
158061 |
|
26-Apr-2006 |
yongari |
The sk(4) driver has moved to /sys/dev/sk
|
#
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.
|
#
157878 |
|
19-Apr-2006 |
marcel |
Remove sab(4).
|
#
157774 |
|
15-Apr-2006 |
iwasaki |
Import ACPI Dock Station support. Note that this is still very young. Additional detach implementaions (or maybe improvement) for other deivce drivers is required.
Reviewed by: njl, imp MFC after: 1 week
|
#
157643 |
|
10-Apr-2006 |
ps |
Hook bce up to the build
|
#
157312 |
|
30-Mar-2006 |
marcel |
Include the sbus attachment of scc(1) when either fhc(4) or sbus(4) is configured.
|
#
157301 |
|
30-Mar-2006 |
marcel |
o Add scc(4) to the build. o Add the scc(4) manpage to the build. o Update the uart(4) manpage to account for scc(4). o Update the uart(4) module build to include support for scc(4).
|
#
157259 |
|
29-Mar-2006 |
scottl |
Hook the MFI driver up to the build.
|
#
157059 |
|
23-Mar-2006 |
sam |
add support for copying console messages to a remote gdb
Reviewed by: kan
|
#
156888 |
|
19-Mar-2006 |
rwatson |
Merge Perforce changes 93512, 93514, 93515 from TrustedBSD audit3 branch:
Integrate audit.c to audit_worker.c, so as to migrate the worker thread implementation to its own .c file.
Populate audit_worker.c using parts now removed from audit.c:
- Move audit rotation global variables. - Move audit_record_write(), audit_worker_rotate(), audit_worker_drain(), audit_worker(), audit_rotate_vnode(). - Create audit_worker_init() from relevant parts of audit_init(), which now calls this routine. - Recreate audit_free(), which wraps uma_zfree() so that audit_record_zone can be static to audit.c. - Unstaticize various types and variables relating to the audit record queue so that audit_worker can get to them. We may want to wrap these in accessor methods at some point. - Move AUDIT_PRINTF() to audit_private.h.
Addition of audit_worker.c to kernel configuration, missed in earlier submit.
Obtained from: TrustedBSD Project
|
#
156670 |
|
13-Mar-2006 |
ru |
Quote ${CC} when passing it in environment.
Submitted by: bde
|
#
156541 |
|
10-Mar-2006 |
sos |
Add "device atausb"
|
#
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
|
#
156321 |
|
05-Mar-2006 |
damien |
Add support for the second (RT2561/RT2561S) and third (RT2661 MIMO XR) generations of 802.11abg chipsets from Ralink Technology. Get rid of the pccard front-end while I'm here since all adapters are cardbus ones.
Obtained from: OpenBSD
|
#
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
|
#
156036 |
|
26-Feb-2006 |
imp |
Move de driver to dev/de
|
#
155435 |
|
07-Feb-2006 |
imp |
Allow one to subset phy. If you want the kitchen sink, use device miibus (like today). If you want a subset, choose device mii and zero or more phy to include. We always include unkphy. We make use of the | functionality that ruslan recently added to config.
This allowed me to trim 57k from my KB9202 kernel.
|
#
155408 |
|
06-Feb-2006 |
rwatson |
Add support for audit pipe special devices, which allow user space applications to insert a "tee" in the live audit event stream. Records are inserted into a per-clone queue so that user processes can pull discreet records out of the queue. Unlike delivery to disk, audit pipes are "lossy", dropping records in low memory conditions or when the process falls behind real-time events. This mechanism is appropriate for use by live monitoring systems, host-based intrusion detection, etc, and avoids applications having to dig through active on-disk trails that are owned by the audit daemon.
Obtained from: TrustedBSD Project
|
#
155407 |
|
06-Feb-2006 |
rwatson |
Alphabetize.
|
#
155235 |
|
02-Feb-2006 |
mjacob |
!$(*&!($!&$(!&$&(!$(&!&($!($
Forget to commit this.
|
#
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
|
#
155179 |
|
01-Feb-2006 |
andre |
Move the IPSEC related code blocks to their own file to unclutter and signifincantly improve the readability of ip_input() and ip_output() again.
The resulting IPSEC hooks in ip_input() and ip_output() may be used later on for making IPSEC loadable.
This move is mostly mechanical and should preserve current IPSEC behaviour as-is. Nothing shall prevent improvements in the way IPSEC interacts with the IPv4 stack.
Discussed with: bz, gnn, rwatson; (earlier version)
|
#
155151 |
|
31-Jan-2006 |
marius |
Hook up le(4) to the build. For now it's only added to the sparc64 GENERIC in order to support the on-board LANCE in Ultra 1 and to the MI NOTES as it should work just fine with the AMD PCnet family of chips on all archs but is not yet meant to replace lnc(4). If a kernel includes all of le(4), lnc(4) and pcn(4) precedence is given to lnc(4)/pcn(4) for now.
|
#
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
|
#
154974 |
|
29-Jan-2006 |
mlaier |
firmware(9) is a subsystem to load binary data into the kernel via a specially crafted module. There are several handrolled sollutions to this problem in the tree already which will be replaced with this. They include iwi(4), ipw(4), ispfw(4) and digi(4).
No objection from: arch MFC after: 2 weeks X-MFC after: some drivers have been converted
|
#
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.)
|
#
154833 |
|
25-Jan-2006 |
cognet |
Bring in a sysv-style pts implementation, as found in the rwatson_pts perforce branch. It works the same as its SysV/linux counterpart : You obtain a fd to the master pseudo terminal by opening /dev/ptmx, which craetes a node for the master as /dev/pty[num] and a node for the slave as /dev/pts/[num]. It should play nicely with the existing BSD ptys. By default, the system will use the BSD ptys, one can set the sysctl kern.pts.enable to 1 to make it use the new pts system. The max number of pty that can be allocated on a system can be changed with the sysctl kern.pts.max. It defaults to 1000, and can be increased, but it is not recommanded, as any pty with a number > 999 won't be handled by whatever uses utmp(5).
|
#
154789 |
|
24-Jan-2006 |
ambrisko |
Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation.
Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation.
Add glue to build the modules but don't tie it into the build yet until I test it from the CVS repo. via the mirror on an amd64 machine.
Tie this into the Linux32 emulation on amd64 so the tools can run on amd64 kernel.
Cleaned up by: ps (amr_linux.c)
|
#
154484 |
|
17-Jan-2006 |
jhb |
Add a new file (kern/subr_lock.c) for holding code related to struct lock_obj objects: - Add new lock_init() and lock_destroy() functions to setup and teardown lock_object objects including KTR logging and registering with WITNESS. - Move all the handling of LO_INITIALIZED out of witness and the various lock init functions into lock_init() and lock_destroy(). - Remove the constants for static indices into the lock_classes[] array and change the code outside of subr_lock.c to use LOCK_CLASS to compare against a known lock class. - Move the 'show lock' ddb function and lock_classes[] array out of kern_mutex.c over to subr_lock.c.
|
#
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.
|
#
154142 |
|
09-Jan-2006 |
takawata |
Add ufoma drivers in 'files', too.
|
#
154026 |
|
04-Jan-2006 |
joel |
Remove references to snd_vortex1(4).
Approved by: tanimura, ariff
|
#
153811 |
|
28-Dec-2005 |
imp |
Implement /dev/cardbus%d.cis, same thing as /dev/pccard%d.cis. There are some rough edges with this still, but it seems to work well enough to commit.
|
#
153618 |
|
21-Dec-2005 |
ru |
Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers.
|
#
153576 |
|
20-Dec-2005 |
jhb |
Add a vgapci(4) stub device driver for VGA PCI devices. This device serves as a bus so that other drivers such as drm(4), acpi_video(4), and agp(4) can attach to it thus allowing multiple drivers for the same device. It also removes the need for the drmsub hack for the i8[13]0/i915 drm and agp drivers.
|
#
153570 |
|
20-Dec-2005 |
jhb |
Move the hostb driver out of the i386 and amd64 PCI code (where it was duplicated anyways) and into a single MI driver. Extend the driver a bit to implement the bus and PCI kobj interfaces such that other drivers can attach to it and transparently act as if their parent device is the PCI bus (for the most part).
|
#
153325 |
|
11-Dec-2005 |
rodrigc |
Hook XFS into kernel build.
|
#
153280 |
|
09-Dec-2005 |
scottl |
The if_ti Tigon I/II driver has moved to /sys/dev/ti
|
#
153213 |
|
07-Dec-2005 |
jkim |
Add BPF Just-In-Time compiler support for ng_bpf(4).
The sysctl is changed from net.bpf.jitter.enable to net.bpf_jitter.enable and this controls both bpf(4) and ng_bpf(4) now.
|
#
153151 |
|
06-Dec-2005 |
jkim |
Add experimental BPF Just-In-Time compiler for amd64 and i386.
Use the following kernel configuration option to enable:
options BPF_JITTER
If you want to use bpf_filter() instead (e. g., debugging), do:
sysctl net.bpf.jitter.enable=0
to turn it off.
Currently BIOCSETWF and bpf_mtap2() are unsupported, and bpf_mtap() is partially supported because 1) no need, 2) avoid expensive m_copydata(9).
Obtained from: WinPcap 3.1 (for i386)
|
#
153033 |
|
02-Dec-2005 |
anholt |
Merge DRM CVS as of 2005-12-02, adding i915 DRM support thanks to Alexey Popov, and a new r300 PCI ID.
|
#
152909 |
|
28-Nov-2005 |
anholt |
Update DRM to CVS snapshot as of 2005-11-28. Notable changes: - S3 Savage driver ported. - Added support for ATI_fragment_shader registers for r200. - Improved r300 support, needed for latest r300 DRI driver. - (possibly) r300 PCIE support, needs X.Org server from CVS. - Added support for PCI Matrox cards. - Software fallbacks fixed for Rage 128, which used to render badly or hang. - Some issues reported by WITNESS are fixed. - i915 module Makefile added, as the driver may now be working, but is untested. - Added scripts for copying and preprocessing DRM CVS for inclusion in the kernel. Thanks to Daniel Stone for getting me started on that.
|
#
152862 |
|
27-Nov-2005 |
ru |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version.
|
#
152851 |
|
27-Nov-2005 |
ariff |
Support for ATI IXP 200 / 300 / 400 series audio controllers.
|
#
152825 |
|
26-Nov-2005 |
davidxu |
Bring in experimental kernel support for POSIX message queue.
|
#
152812 |
|
25-Nov-2005 |
ru |
Whitespace.
|
#
152685 |
|
22-Nov-2005 |
marius |
Move zs.c from files to files.powerpc as zs(4) by now is only supported on powerpc (more or less...). That way people updating from FreeBSD 5 to FreeBSD 6 and beyond on sparc64 will get an error from config(8) rather than a mysterious compile error when they have a stale 'device zs' in their kernel config file.
MFC after: 2 weeks
|
#
152592 |
|
18-Nov-2005 |
andre |
Consolidate all IP Options handling functions into ip_options.[ch] and include ip_options.h into all files making use of IP Options functions.
From ip_input.c rev 1.306: ip_dooptions(struct mbuf *m, int pass) save_rte(m, option, dst) ip_srcroute(m0) ip_stripoptions(m, mopt)
From ip_output.c rev 1.249: ip_insertoptions(m, opt, phlen) ip_optcopy(ip, jp) ip_pcbopts(struct inpcb *inp, int optname, struct mbuf *m)
No functional changes in this commit.
Discussed with: rwatson Sponsored by: TCP/IP Optimization Fundraise 2005
|
#
152213 |
|
08-Nov-2005 |
vkashyap |
twa corresponding to the 9.3.0.1 release on the 3ware website. This driver has support for the 9xxxSX controllers, along with the earlier 9xxxS series controllers.
|
#
151948 |
|
01-Nov-2005 |
jkim |
Catch up with ACPI-CA 20051021 import
|
#
151913 |
|
31-Oct-2005 |
phk |
Tie acpi_hpet.c into the module and kernel.
|
#
151805 |
|
28-Oct-2005 |
joerg |
Finally complete some work on generalizing the PCF8584-based I2C drivers I started quite some time before.
Retire the old i386-only pcf driver, and activate the new general driver that has been sitting in the tree already for quite some time.
Build the i2c modules for sparc64 architectures as well (where I've been developing all this on).
|
#
151565 |
|
22-Oct-2005 |
njl |
Hook acpi_smbat up to the build.
|
#
151525 |
|
20-Oct-2005 |
ru |
Remove duplicate entry.
|
#
151439 |
|
18-Oct-2005 |
imp |
Move dc sources from pci and dev/mii into dev/dc.
|
#
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
|
#
151025 |
|
06-Oct-2005 |
pjd |
Backout strtok() addition to libkern, strsep() is enough and strtok() is not safe.
Discussed with: stefanf, njl
|
#
150994 |
|
06-Oct-2005 |
pjd |
Add strtok() and strtok_r() function to libkern.
MFC after: 2 weeks
|
#
150983 |
|
05-Oct-2005 |
imp |
Include forgotten rtl80x9 file for ed.
|
#
150849 |
|
03-Oct-2005 |
scottl |
Reintroduce the lmc T1/E1/T3 WAN driver. This version is locked, supports interface polling, compiles on 64-bit platforms, and compiles on NetBSD, OpenBSD, BSD/OS, and Linux. Woo! Thanks to David Boggs for providing this driver.
Altq, sppp, netgraph, and bpf are required for this driver to operate. Userland tools and man pages will be committed next.
Submitted by: David Boggs
|
#
150824 |
|
02-Oct-2005 |
netchild |
Soft volume implementation for audio devices without pcm mixer controller.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Tested by: multimedia@
|
#
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)
|
#
150363 |
|
20-Sep-2005 |
imp |
Add pccard_device.c
|
#
150320 |
|
19-Sep-2005 |
phk |
sample.c needs ath magic include path
|
#
150158 |
|
15-Sep-2005 |
phk |
Add tnt4882 driver to the build
|
#
149973 |
|
11-Sep-2005 |
obrien |
Don't pollute the entire kernel build with -I$S/contrib/dev/ath and -I$S/contrib/dev/ath/freebsd. "ATH_BUILDING_FROM_SOURCE" can be defined to globally get back -I$S/contrib/dev/ath.
|
#
149971 |
|
11-Sep-2005 |
obrien |
Don't pollute the entire kernel build with -I$S/contrib/ipfilter.
|
#
149970 |
|
11-Sep-2005 |
obrien |
Don't pollute the entire kernel build with -I$S/contrib/pf.
|
#
149969 |
|
10-Sep-2005 |
obrien |
Don't pollute the entire kernel build with -I$S/contrib/ngatm.
|
#
149968 |
|
10-Sep-2005 |
obrien |
Don't pollute the entire kernel build with -I$S/dev/twa.
|
#
149494 |
|
26-Aug-2005 |
takawata |
Oops, I forget to add item in files .
Pointed out by: pjd
|
#
148978 |
|
11-Aug-2005 |
pjd |
Add code for Ext2FS and ReiserFS labels recognition.
Submitted by: Stanislav Sedov <stas@310.ru> PR: kern/84638 MFC after: 1 week
|
#
148861 |
|
08-Aug-2005 |
pjd |
Add strcasecmp() and strncasecmp() to libkern and connect to the build.
|
#
148666 |
|
03-Aug-2005 |
jeff |
- Add support for saving stack traces and displaying them via printf(9) and KTR.
Contributed by: Antoine Brodin <antoine.brodin@laposte.net> Concept code from: Neal Fachan <neal@isilon.com>
|
#
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
|
#
148211 |
|
20-Jul-2005 |
anholt |
Add the latest r300 code from r300.sf.net. This is based on the patch supplied by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h. Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64.
|
#
148148 |
|
19-Jul-2005 |
imp |
This has worked for a while now. ex pccard attachment
|
#
148085 |
|
17-Jul-2005 |
obrien |
Add additional sub-systems to the warning users get when they build a kernel that has become GPL infected.
|
#
148018 |
|
14-Jul-2005 |
emax |
kbdmux(4) keyboard multiplexer integration
o Add minimal kbdmux(4) man page to the source tree (more details to follow);
o Hook up kbdmux(4) to the build.
This concludes the first part of the kbdmux(4) keyboard multiplexer integration. It now should be possible to use kbdmux(4), however one must configure kbdmux(4) by hand (i.e. load kbdmux(4) module and use kbdcontrol(1) to add/remove slave keyboards to/from kbdmux(4)).
MFC after: 1 week
|
#
147993 |
|
14-Jul-2005 |
takawata |
Add SL811 based host controller driver for CF usb host controller. This is based on NetBSD slhci(4) driver for X68k amateur hardware. For now, it will not work properly, but it can detect usb device insertion.
|
#
147884 |
|
10-Jul-2005 |
scottl |
Update for the new and removed MPT driver files.
Submitted by: gibbs 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)
|
#
147502 |
|
20-Jun-2005 |
glebius |
Don't compile legacy libalias support into kernel.
Approved by: re (dwhite)
|
#
147419 |
|
16-Jun-2005 |
jkoshy |
Preserve sorting order.
Submitted by: obrien Approved by: re
|
#
147393 |
|
15-Jun-2005 |
rodrigc |
Move ext2fs from src/gnu to src/gnu/fs. Discussed on arch@.
Reviewed by: kan Approved by: re (blanket), kan
|
#
147307 |
|
11-Jun-2005 |
marcel |
Refactor the NETSMBCRYPTO option so that it does the same on all platforms. ARM is excluded as it doesn't yet have any crypto sources.
Approved by: re (dwhite) MFC after: 1 day
|
#
147232 |
|
10-Jun-2005 |
glebius |
Attach ng_tcpmss to the build.
|
#
147191 |
|
09-Jun-2005 |
jkoshy |
MFP4:
- Implement sampling modes and logging support in hwpmc(4).
- Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code.
- New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file).
- pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events.
- bug fixes & documentation.
|
#
146987 |
|
05-Jun-2005 |
thompsa |
Connect if_bridge to the build.
Approved by: mlaier (mentor)
|
#
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
|
#
145855 |
|
04-May-2005 |
rwatson |
Introduce MAC Framework and MAC Policy entry points to label and control access to POSIX Semaphores:
mac_init_posix_sem() Initialize label for POSIX semaphore mac_create_posix_sem() Create POSIX semaphore mac_destroy_posix_sem() Destroy POSIX semaphore mac_check_posix_sem_destroy() Check whether semaphore may be destroyed mac_check_posix_sem_getvalue() Check whether semaphore may be queried mac_check_possix_sem_open() Check whether semaphore may be opened mac_check_posix_sem_post() Check whether semaphore may be posted to mac_check_posix_sem_unlink() Check whether semaphore may be unlinked mac_check_posix_sem_wait() Check whether may wait on semaphore
Update Biba, MLS, Stub, and Test policies to implement these entry points. For information flow policies, most semaphore operations are effectively read/write.
Submitted by: Dandekar Hrishikesh <rishi_dandekar at sbcglobal dot net> Sponsored by: DARPA, McAfee, SPARTA Obtained from: TrustedBSD Project
|
#
145653 |
|
29-Apr-2005 |
scottl |
Update the file.* entries for the new home of hwpmc
|
#
145631 |
|
28-Apr-2005 |
darrenr |
Patches from Ruslan Ermilov to address problems compiling LINT
|
#
145496 |
|
25-Apr-2005 |
phk |
retire the musycc E1/T1 driver.
|
#
145417 |
|
22-Apr-2005 |
ru |
Make aic*_reg_print.o appear in the .depend file, fixing the "make" failure after "make depend; make clean".
Prodded by: bde
|
#
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)
|
#
145247 |
|
18-Apr-2005 |
damien |
Initial import of ipw, iwi, ral and ural drivers:
ipw - Intel PRO/Wireless 2100 iwi - Intel PRO/Wireless 2200BG/2225BG/2915ABG ral - Ralink Technology RT2500 ural - Ralink Technology RT2500USB
Approved by: silby (mentor)
|
#
145132 |
|
16-Apr-2005 |
anholt |
Update to DRM CVS as of 2005-04-12, bringing many changes: - Split core DRM routines back into their own module, rather than using the nasty templated system like before. - Development-class R300 support in radeon driver (requires userland pieces, of course). - Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others. - i915 driver files, which just need to get drm_drv.c fixed to allow attachment to the drmsub device. Covers i830 through i915 integrated graphics. - savage driver files, which should require minimal changes to work. Covers the Savage3D, Savage IX/MX, Savage 4, ProSavage. - Support for color and texture tiling and HyperZ features of Radeon.
Thanks to: scottl (much p4 handholding) Jung-uk Kim (helpful prodding) PR: [1] kern/76879, [2] kern/72548 Submitted by: [1] Alex, lesha at intercaf dot ru [2] Shaun Jurrens, shaun at shamz dot net
|
#
144966 |
|
12-Apr-2005 |
vkashyap |
The latest release of the FreeBSD driver (twa) for 3ware's 9xxx series controllers. This corresponds to the 9.2 release (for FreeBSD 5.2.1) on the 3ware website.
Highlights of this release are:
1. The driver has been re-architected to use a "Common Layer" (all tw_cl* files), which is a consolidation of all OS-independent parts of the driver. The FreeBSD OS specific portions of the driver go into an "OS Layer" (all tw_osl* files). This re-architecture is to achieve better maintainability, consistency of behavior across OS's, and better portability to new OS's (drivers for new OS's can be written by just adding an OS Layer that's specific to the OS, by complying to a "Common Layer Programming Interface" API.
2. The driver takes advantage of multiple processors.
3. The driver has a new firmware image bundled, the new features of which include Online Capacity Expansion and multi-lun support, among others. More details about 3ware's 9.2 release can be found here: http://www.3ware.com/download/Escalade9000Series/9.2/9.2_Release_Notes_Web.pdf
Since the Common Layer is used across OS's, the FreeBSD specific include path for header files (/sys/dev/twa) is not part of the #include pre-processor directive in any of the source files. For being able to integrate twa into the kernel despite this, Makefile.<arch> has been changed to add the include path to CFLAGS.
Reviewed by: scottl
|
#
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)
|
#
143985 |
|
22-Mar-2005 |
sobomax |
Add USB Communication Device Class Ethernet driver. Originally written for FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported to NetBSD and finally NetBSD version merged with original one goes into FreeBSD.
Obtained from: http://www.gank.org/freebsd/cdce/ NetBSD OpenBSD
|
#
143795 |
|
18-Mar-2005 |
philip |
Hook acpi_fujitsu up to the build.
Forgotten by: philip
|
#
143588 |
|
14-Mar-2005 |
phk |
Use vfs_hash instead of home-rolled.
|
#
143578 |
|
14-Mar-2005 |
phk |
Use vfs_hash() instead of home-rolled
|
#
143562 |
|
14-Mar-2005 |
phk |
Use vfs_hash instead of home-rolled.
|
#
143561 |
|
14-Mar-2005 |
phk |
Currently (almost) all filesystems maintain a local inode hash table to get from (mount + inode) to vnode. These tables are mostly copy&pasted from UFS, sized based on desiredvnodes and therefore quite large (128K-512K). Several filesystems are buggy enough that they allocate the hash table even before they know if they will ever be used or not.
Add "vfs_hash", a system wide hash table, which will replace all the per-filesystem hash-tables.
The fields we add to struct vnode will more or less be saved in the respective filesystems inodes.
Having one central implementation will save code and will allow us to justify the complexity of code to dynamically (re)size the hash at a later point.
|
#
143424 |
|
11-Mar-2005 |
ume |
just use crypto/rijndael (I forgot to commit this in my previous commit)
|
#
143392 |
|
10-Mar-2005 |
sam |
SampleRate rate control algorithm for the ath driver
Submitted by: John Bicket
|
#
143354 |
|
10-Mar-2005 |
ume |
use cast128 in opencrypto to nuke duplicate code.
|
#
142656 |
|
27-Feb-2005 |
marius |
The zs(4) driver is superseded by uart(4) and broken in -CURRENT. Remove it from the sparc64 kernel config files and delete its fhc(4) and sbus(4) front-end.
Agreed with: marcel
|
#
142532 |
|
25-Feb-2005 |
marius |
Declare the sbus(4) front-end of puc(4) also for fhc(4), allowing uart(4) to support the Zilog 8530 SCCs which hang off of a FireHose bus on Sun E4000/E5000 class machines. Beside the fact that a puc_fhc.c would just be a copy of puc_sbus.c with s,sbus,fhc,g the reason why the declaration for fhc(4) was sticked into puc_sbus.c is that both of these front-ends for puc(4) will go away once there is a scc(4).
Discussed with: marcel Tested by: hrs, kris MFC after: 3 days
|
#
142397 |
|
24-Feb-2005 |
njl |
Move acpi_perf and acpi_throttle into acpi.ko. Remove the acpi_perf build structure.
|
#
142384 |
|
24-Feb-2005 |
harti |
Split the chip-specific code from the generic Utopia code. This simplifies adding of new physical chips. Now one just needs to add a .h and a .c file for the new chip and add one line to utopia.c for that chip.
|
#
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)
|
#
141875 |
|
14-Feb-2005 |
scottl |
Add sys/dev/ieee488/ibfoo.c for hte pcii driver. Fixes the broken tinderbox for the last few days.
|
#
141685 |
|
11-Feb-2005 |
phk |
Make non-SOFTUPDATES kernels compile again.
Integrate the stubfile into the main file now that license issues have been long resolved.
|
#
141665 |
|
10-Feb-2005 |
glebius |
Add strspn() to libkern.
Ok'ed by: rwatson
|
#
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.
|
#
141418 |
|
06-Feb-2005 |
njl |
Hook acpi_throttle(4) up to the build. It's currently part of acpi_perf.ko although this may change.
|
#
141398 |
|
06-Feb-2005 |
phk |
Further elaborate the GPIB driver. We now support a minimal subset of the ibfoo() API.
|
#
141369 |
|
05-Feb-2005 |
njl |
Build cpufreq and acpi_perf on platforms that are likely to be able to use them.
|
#
141353 |
|
05-Feb-2005 |
glebius |
Hook up ng_ipfw to kernel build.
|
#
141243 |
|
04-Feb-2005 |
njl |
Hook up the cpufreq framework, acpi_perf(4), and cpufreq(4) drivers.
|
#
141206 |
|
03-Feb-2005 |
pjd |
- Move gets() function to libkern (I want to use it outside vfs_mount.c). - Add buffer size limitations (overflow will not be possible anymore). - Add 'visible' option, which will allow for passphrase reading in the future. - Remove special treatment of '@' and '#', those two are only confusing.
Discussed with: rwatson MFC after: 2 weeks
|
#
141121 |
|
01-Feb-2005 |
phk |
Add a IEEE488 driver for PCIIA compatible cards.
This driver implements "unaddressed listen only mode", which is what printers and plotters commonly do on GP-IB busses.
This means that you can capture print/plot like output from your instruments by configuring them as necessary (good luck!) and
cat -u /dev/gpib0l > /tmp/somefile
Since there is no way to know when no more output is comming you will have to ctrl-C the cat process when it is done (that is why the -u is important).
|
#
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.
|
#
140189 |
|
13-Jan-2005 |
jhb |
Allow the dragon and snake screen savers to be statically compiled into a kernel and add them to NOTES.
MFC after: 2 weeks
|
#
140075 |
|
11-Jan-2005 |
pjd |
Connect SHSEC GEOM class to the build.
|
#
139960 |
|
10-Jan-2005 |
imp |
sort more things alphabetically
|
#
139667 |
|
04-Jan-2005 |
imp |
Minor nits in formatting continued lines
|
#
139666 |
|
04-Jan-2005 |
imp |
cnw as a pccard device was commented out, so uncomment it so LINT will build.
|
#
139659 |
|
04-Jan-2005 |
imp |
move all the card entries to files.pc98 style change: regularize tabbing
|
#
139658 |
|
04-Jan-2005 |
imp |
First step in removing OLDCARD from FreeBSD 6.0: o Move card from all architectures to just pc98. It is only needed there, although real issues remain with NEWCARD's support of ISA devices.
|
#
139459 |
|
30-Dec-2004 |
imp |
Call usbdevs2h with -h for .h file Explicitly generate usbdevs_data.h for usb kernels with new -d switch
|
#
139365 |
|
27-Dec-2004 |
rik |
Add FR support to sppp (MFCronyx).
Silence on: net@, current@, hackers@. No objections: joerg
Requested by: by many (mostly Cronyx) users for a long long time. MFC after: 10 days
PR: kern/21771, kern/66348
|
#
138627 |
|
09-Dec-2004 |
takawata |
Add IBM Laptop extra device driver. This depends on ACPI and RTC registers.
Reviewed by: njl
|
#
138574 |
|
08-Dec-2004 |
sam |
Update for ath and net80211 changes.
|
#
138424 |
|
05-Dec-2004 |
alc |
Update the Tigon 1 and 2 driver to use the sf_buf API for implementing zero-copy receive of jumbo frames. This eliminates the need for the jumbo frame allocator implemented in kern/uipc_jumbo.c and sys/jumbo.h. Remove it.
Note: Zero-copy receive of jumbo frames did not work without these changes; I believe there was insufficient locking on the jumbo vm object.
Tested by: ken@ Discussed with: gallatin@
|
#
137950 |
|
20-Nov-2004 |
marcel |
Stop building uart_dev_i8251.c. It was copied from uart_dev_ns8250.c without ever being changed to actually work with an i8251. Nobody is working on this either at the moment, so it's not about to change soon. When the code necessary to support the i8251 is committed, this can be reverted again.
|
#
137823 |
|
17-Nov-2004 |
rwatson |
Hook up mac_sysv_{msg,sem,shm}.c to the build when compiling with MAC support.
|
#
137821 |
|
17-Nov-2004 |
marius |
Add a driver back end for MC146818 and compatible clocks based on the respective NetBSD driver for use with the genclock interface. It's first use will be on sparc64 but it was also tested on alpha with a preliminary patch to switch alpha to use the genclock code together with this driver instead of the respective code in alpha/alpha/clock.c and the rather MD mcclock(4). Using it on i386 and amd64 won't be that hard but some changes/extensions to improve the genclock code in general should be done first, e.g. add locking and make it easier to access the NVRAM usually coupled with RTCs.
|
#
137777 |
|
16-Nov-2004 |
emax |
Add vkdb(4) man page and connect vkbd(4) to the build.
|
#
137718 |
|
15-Nov-2004 |
phk |
Order of arguments after "optional" is not without significance: the first field must be the name of the enabling device/option, otherwise config doesn't know there is an option/device of that name.
|
#
137715 |
|
15-Nov-2004 |
imp |
After discussions with Nate, repo copy the acpi assist drivers from i386 to dev/acpi_support. In theory, these devices could be found other than in i386 machines only as amd64 becomes more popular. These drivers don't appear to do anything i386 specific, so move them to dev/acpi_support. Move config lines to files so that those architectures that don't support kernel modules can build them into the kernel. At the same time, rename acpi_snc to acpi_sony to follow the lead of all the other specialty devices.
|
#
137604 |
|
12-Nov-2004 |
imp |
Doh! This one crept in two commits ago and didn't get weeded out on the last commit. Sorry gang.
Conical Hat: imp
|
#
137595 |
|
11-Nov-2004 |
imp |
Kill the 802.11 crypo changes that shouldn't have been committed.
Noticed by: phillip@
|
#
137593 |
|
11-Nov-2004 |
imp |
Commit takawata-san's Sony Notebook Controller driver, integrated into the tree. Small tweaks were made by myself to eliminate unnecessary includes and some other minor issues. Last time I asked takawata-san about this driver, he suggested I commit it.
Submitted by: takawata
|
#
137565 |
|
11-Nov-2004 |
imp |
pbio has moved to dev/pbio
Prodded by: peter
|
#
137545 |
|
10-Nov-2004 |
markm |
Remove at request of author, perhaps to be re-added later.
|
#
137400 |
|
08-Nov-2004 |
phk |
Remove the obsolete gx driver.
All the hardware is supported by the better maintained if_em driver.
Absentmindedly nodded vertical by: people on #that_channel
|
#
137034 |
|
29-Oct-2004 |
phk |
Add GEOM class "VFS" for filesystems and other buffer cache users of GEOM devices.
There is nothing magic about this, it just gives a bufobj interface to GEOM.
|
#
136855 |
|
24-Oct-2004 |
ru |
Hack around a problem with sys/tools/usbdevs2h.awk that generates both usbdevs.h and usbdevs_data.h. (The latter was not cleaned.)
|
#
136770 |
|
22-Oct-2004 |
phk |
Alas, poor SPECFS! -- I knew him, Horatio; A filesystem of infinite jest, of most excellent fancy: he hath taught me lessons a thousand times; and now, how abhorred in my imagination it is! my gorge rises at it. Here were those hacks that I have curs'd I know not how oft. Where be your kludges now? your workarounds? your layering violations, that were wont to set the table on a roar?
Move the skeleton of specfs into devfs where it now belongs and bury the rest.
|
#
136468 |
|
13-Oct-2004 |
simokawa |
Add dcons_os.{c,h}.
|
#
136243 |
|
07-Oct-2004 |
brooks |
Since net/net_osdep.c contained only one function that could be trivially implemented as a macro, do that and remove it. NetBSD did this quite a while ago.
|
#
135956 |
|
30-Sep-2004 |
phk |
Add a new API for allocating unit number (-like) resources.
Allocation is always lowest free unit number.
A mixed range/bitmap strategy for maximum memory efficiency. In the typical case where no unit numbers are freed total memory usage is 56 bytes on i386.
malloc is called M_WAITOK but no locking is provided (yet). A bit of experience will be necessary to determine the best strategy. Hopefully a "caller provides locking" strategy can be maintained, but that may require use of M_NOWAIT allocation and failure handling.
A userland test driver is included.
|
#
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)
|
#
135048 |
|
10-Sep-2004 |
wpaul |
Add device driver support for the VIA Networking Technologies VT6122 gigabit ethernet chip and integrated 10/100/1000 copper PHY. The vge driver has been added to GENERIC for i386, pc98 and amd64, but not to sparc or ia64 since I don't have the ability to test it there. The vge(4) driver supports VLANs, checksum offload and jumbo frames.
Also added the lge(4) and nge(4) drivers to GENERIC for i386 and pc98 since I was in the neighborhood. There's no reason to leave them out anymore.
|
#
134804 |
|
05-Sep-2004 |
des |
Device driver for the Cypress CY7C637xx and CY7C640/1xx families of USB to RS232 bridges, such as the one found in the DeLorme Earthmate USB GPS receiver (which is the only device currently supported by this driver).
While other USB to serial drivers in the tree rely heavily on ucom, this one is self-contained. The reason for that is that ucom assumes that the bridge uses bulk pipes for I/O, while the Cypress parts actually register as human interface devices and use HID reports for configuration and I/O.
The driver is not entirely complete: there is no support yet for flow control, and output doesn't seem to work, though I don't know if that is because of a bug in the code, or simply because the Earthmate is a read- only device.
|
#
134791 |
|
05-Sep-2004 |
julian |
Refactor a bunch of scheduler code to give basically the same behaviour but with slightly cleaned up interfaces.
The KSE structure has become the same as the "per thread scheduler private data" structure. In order to not make the diffs too great one is #defined as the other at this time.
The KSE (or td_sched) structure is now allocated per thread and has no allocation code of its own.
Concurrency for a KSEGRP is now kept track of via a simple pair of counters rather than using KSE structures as tokens.
Since the KSE structure is different in each scheduler, kern_switch.c is now included at the end of each scheduler. Nothing outside the scheduler knows the contents of the KSE (aka td_sched) structure.
The fields in the ksegrp structure that are to do with the scheduler's queueing mechanisms are now moved to the kg_sched structure. (per ksegrp scheduler private data structure). In other words how the scheduler queues and keeps track of threads is no-one's business except the scheduler's. This should allow people to write experimental schedulers with completely different internal structuring.
A scheduler call sched_set_concurrency(kg, N) has been added that notifies teh scheduler that no more than N threads from that ksegrp should be allowed to be on concurrently scheduled. This is also used to enforce 'fainess' at this time so that a ksegrp with 10000 threads can not swamp a the run queue and force out a process with 1 thread, since the current code will not set the concurrency above NCPU, and both schedulers will not allow more than that many onto the system run queue at a time. Each scheduler should eventualy develop their own methods to do this now that they are effectively separated.
Rejig libthr's kernel interface to follow the same code paths as linkse for scope system threads. This has slightly hurt libthr's performance but I will work to recover as much of it as I can.
Thread exit code has been cleaned up greatly. exit and exec code now transitions a process back to 'standard non-threaded mode' before taking the next step. Reviewed by: scottl, peter MFC after: 1 week
|
#
134657 |
|
02-Sep-2004 |
alfred |
Hook autofs to the build.
|
#
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.
|
#
134483 |
|
29-Aug-2004 |
des |
Back out previous commit, ichwd is i386-only.
|
#
134466 |
|
29-Aug-2004 |
iedowse |
Add an entry for ichwd to hopefully unbreak the LINT build.
|
#
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.
|
#
134188 |
|
23-Aug-2004 |
rwatson |
Remove in6_prefix.[ch] and the contained router renumbering capability. The prefix management code currently resides in nd6, leaving only the unused router renumbering capability in the in6_prefix files. Removing it will make it easier for us to provide locking for the remainder of IPv6 by reducing the number of objects requiring synchronized access.
This functionality has also been removed from NetBSD and OpenBSD.
Submitted by: George Neville-Neil <gnn at neville-neil.com> Discussed with/approved by: suz, keiichi at kame.net, core at kame.net
|
#
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)
|
#
133911 |
|
16-Aug-2004 |
gibbs |
Add an ISA attachement to the aic7xxx driver to handle 284X controllers. The ISA probe uses an identify routine to probe all slot locations from 1 to 14 that do not conflict with other allocated resources. This required making aic7770.c part of the driver core when compiled as a module.
aic7xxx.c: aic79xx.c: aic_osm_lib.c: Use aic_scb_timer_start() consistently to start the watchdog timer. This removes a few places that verbatum copied the code in aic_scb_timer_start().
During recovery processing, allow commands to still be queued to the controller. The only requirement we have is that our recovery command be queued first - something the code already guaranteed. The only other change required to make this work is to prevent timers from being started for these newly queued commands.
Approved by: re
|
#
133812 |
|
16-Aug-2004 |
pjd |
Connect RAID3 GEOM class to the build.
|
#
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.
|
#
133553 |
|
12-Aug-2004 |
imp |
Move towards isa attachment for pccbb. This is a work in progress, but works well with the pci attachment.
|
#
133511 |
|
11-Aug-2004 |
imp |
Remove pcic for NEWCARD
|
#
133087 |
|
03-Aug-2004 |
markm |
Making a loadable null.ko for /dev/(null|zero) proved rather unpopular, so remove this (mis)feature.
Encouragement provided by: jhb (and others)
|
#
132956 |
|
01-Aug-2004 |
markm |
Break out the MI part of the /dev/[k]mem and /dev/io drivers into their own directory and module, leaving the MD parts in the MD area (the MD parts _are_ part of the modules). /dev/mem and /dev/io are now loadable modules, thus taking us one step further towards a kernel created entirely out of modules. Of course, there is nothing preventing the kernel from having these statically compiled.
|
#
132905 |
|
30-Jul-2004 |
pjd |
Connect GEOM_MIRROR class to the build.
|
#
132896 |
|
30-Jul-2004 |
pjd |
Nuke geom_mirror class. New geom_mirror class is in the way.
Approved by: phk
|
#
132236 |
|
16-Jul-2004 |
tanimura |
Rename the sound device drivers:
- `sound' The generic sound driver, always required.
- `snd_*' Device-dependent drivers, named after the sound module names. Configure accordingly to your hardware.
In addition, rename the `snd_pcm' module to `sound' in order to sync with the driver names.
Suggested by: cg
|
#
132228 |
|
15-Jul-2004 |
glebius |
Copy qsort_r(3) from libc to libkern.
Reviewed by: phk Approved by: julian (mentor)
|
#
132079 |
|
13-Jul-2004 |
imp |
pccard no longer requires a count because the floppy driver that nominally had a non-working reference to card.h has been removed.
|
#
132032 |
|
12-Jul-2004 |
dfr |
Make if_fwsubr.c dependant on fwip instead of firewire - there is not much point including it if you aren't using IP over firewire.
|
#
131952 |
|
10-Jul-2004 |
marcel |
Mega update for the KDB framework: turn DDB into a KDB backend. Most of the changes are a direct result of adding thread awareness. Typically, DDB_REGS is gone. All registers are taken from the trapframe and backtraces use the PCB based contexts. DDB_REGS was defined to be a trapframe on all platforms anyway. Thread awareness introduces the following new commands: thread X switch to thread X (where X is the TID), show threads list all threads.
The backtrace code has been made more flexible so that one can create backtraces for any thread by giving the thread ID as an argument to trace.
With this change, ia64 has support for breakpoints.
|
#
131951 |
|
10-Jul-2004 |
marcel |
Hook the GDB backend into the build.
|
#
131906 |
|
10-Jul-2004 |
marcel |
Hook the KDB frontend into the build.
|
#
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.
|
#
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!
|
#
131335 |
|
30-Jun-2004 |
imp |
My last commit broke oldcard. Rather than duplicate the lines for pccarddevs.h, just make it standard for now. Once oldcard is gone, we'll revisit.
|
#
131334 |
|
30-Jun-2004 |
njl |
Move acpi_if.m to files.{amd64,i386,ia64}. This should fix the alpha build.
Pointed out by: gallatin
|
#
131319 |
|
30-Jun-2004 |
njl |
Like usbdevs, use before-depend to ensure ordering.
Glass plaque award: obrien
|
#
131318 |
|
30-Jun-2004 |
njl |
Restore the terminating backslash lost by a typo.
|
#
131316 |
|
30-Jun-2004 |
njl |
Make acpi_quirks.h conditional on device acpi.
|
#
131314 |
|
30-Jun-2004 |
njl |
Add glue for building acpi_quirk.c
|
#
131276 |
|
29-Jun-2004 |
njl |
Add acpi methods for HID/CID probing, evaluating objects, and walking the namespace. This is to allow decoupling of attachments from ACPI where they need some functionality when ACPI is present but do not want to require ACPI to always be loaded.
|
#
131245 |
|
28-Jun-2004 |
imp |
We need to build miidevs.h when we have miibus, not mii.
|
#
131206 |
|
27-Jun-2004 |
imp |
Only build miidevs.h when we have mii in the kernel Only build pccarddevs.h when we have pccard in the kernel Only build usbdevs.h when we have usb in the kernel
Suggested by: bde
|
#
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.
|
#
131128 |
|
26-Jun-2004 |
imp |
MFp4:
Reduce the need for hard coded *devs in various makefiles by declaring them before-depend.
Other bugs in the handling of *devs remain, but this is the start of the cleanup. These will be address in future commits.
Cleanup Motivator: bde
|
#
131038 |
|
24-Jun-2004 |
njl |
Hook acpi_quirks up to the build for kernel and modules.
|
#
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)
|
#
130933 |
|
22-Jun-2004 |
brooks |
Major overhaul of pseudo-interface cloning. Highlights include:
- Split the code out into if_clone.[ch]. - Locked struct if_clone. [1] - Add a per-cloner match function rather then simply matching names of the form <name><unit> and <name>. - Use the match function to allow creation of <interface>.<tag> vlan interfaces. The old way is preserved unchanged! - Also the match function to allow creation of stf(4) interfaces named stf0, stf, or 6to4. This is the only major user visible change in that "ifconfig stf" creates the interface stf rather then stf0 and does not print "stf0" to stdout. - Allow destroy functions to fail so they can refuse to delete interfaces. Currently, we forbid the deletion of interfaces which were created in the init function, particularly lo0, pflog0, and pfsync0. In the case of lo0 this was a panic implementation so it does not count as a user visiable change. :-) - Since most interfaces do not need the new functionality, an family of wrapper functions, ifc_simple_*(), were created to wrap old style cloner functions. - The IF_CLONE_INITIALIZER macro is replaced with a new incompatible IFC_CLONE_INITIALIZER and ifc_simple consumers use IFC_SIMPLE_DECLARE instead.
Submitted by: Maurycy Pawlowski-Wieronski <maurycy at fouk.org> [1] Reviewed by: andre, mlaier Discussed on: net
|
#
130613 |
|
16-Jun-2004 |
mlaier |
Commit pf version 3.5 and link additional files to the kernel build.
Version 3.5 brings: - Atomic commits of ruleset changes (reduce the chance of ending up in an inconsistent state). - A 30% reduction in the size of state table entries. - Source-tracking (limit number of clients and states per client). - Sticky-address (the flexibility of round-robin with the benefits of source-hash). - Significant improvements to interface handling. - and many more ...
|
#
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
|
#
130407 |
|
13-Jun-2004 |
dfr |
Add a new driver to support IP over firewire. This driver is intended to conform to the rfc2734 and rfc3146 standard for IP over firewire and should eventually supercede the fwe driver. Right now the broadcast channel number is hardwired and we don't support MCAP for multicast channel allocation - more infrastructure is required in the firewire code itself to fix these problems.
|
#
130294 |
|
10-Jun-2004 |
scottl |
Add the esp(4) files. Two of them are sbus-specific and therefore only apply to sparc64.
|
#
130274 |
|
09-Jun-2004 |
imp |
Step 1 in moving EISA devices to kobj/newbus. Use kobj methods for all of the interface between the driver and the bus. This will enable us to stop special casing eisa bus attachments in modules and treat them like we treat all other busses.
In the longer run, we need to eliminate much (all?) of these interfaces and switch to using the standard bus_alloc_resource(), but that's not done right now.
# I've not updated the modules to include eisa, etc, just yet
Tested on: Compaq Proliant 3000/333 purchased for eisa work
|
#
130199 |
|
07-Jun-2004 |
julian |
Split kern_thread.c into 2 parts. kern_kse.c and kern_thread.c Kern_kse has already been committed. This separates out the KSE threading ABI from generic thread support.
|
#
129925 |
|
01-Jun-2004 |
tanimura |
Axe the old midi drivers and framework. matk has developed a new module-friendly midi subsystem to be merged soon.
|
#
129906 |
|
31-May-2004 |
bmilekic |
Bring in mbuma to replace mballoc.
mbuma is an Mbuf & Cluster allocator built on top of a number of extensions to the UMA framework, all included herein.
Extensions to UMA worth noting: - Better layering between slab <-> zone caches; introduce Keg structure which splits off slab cache away from the zone structure and allows multiple zones to be stacked on top of a single Keg (single type of slab cache); perhaps we should look into defining a subset API on top of the Keg for special use by malloc(9), for example. - UMA_ZONE_REFCNT zones can now be added, and reference counters automagically allocated for them within the end of the associated slab structures. uma_find_refcnt() does a kextract to fetch the slab struct reference from the underlying page, and lookup the corresponding refcnt.
mbuma things worth noting: - integrates mbuf & cluster allocations with extended UMA and provides caches for commonly-allocated items; defines several zones (two primary, one secondary) and two kegs. - change up certain code paths that always used to do: m_get() + m_clget() to instead just use m_getcl() and try to take advantage of the newly defined secondary Packet zone. - netstat(1) and systat(1) quickly hacked up to do basic stat reporting but additional stats work needs to be done once some other details within UMA have been taken care of and it becomes clearer to how stats will work within the modified framework.
From the user perspective, one implication is that the NMBCLUSTERS compile-time option is no longer used. The maximum number of clusters is still capped off according to maxusers, but it can be made unlimited by setting the kern.ipc.nmbclusters boot-time tunable to zero. Work should be done to write an appropriate sysctl handler allowing dynamic tuning of kern.ipc.nmbclusters at runtime.
Additional things worth noting/known issues (READ): - One report of 'ips' (ServeRAID) driver acting really slow in conjunction with mbuma. Need more data. Latest report is that ips is equally sucking with and without mbuma. - Giant leak in NFS code sometimes occurs, can't reproduce but currently analyzing; brueffer is able to reproduce but THIS IS NOT an mbuma-specific problem and currently occurs even WITHOUT mbuma. - Issues in network locking: there is at least one code path in the rip code where one or more locks are acquired and we end up in m_prepend() with M_WAITOK, which causes WITNESS to whine from within UMA. Current temporary solution: force all UMA allocations to be M_NOWAIT from within UMA for now to avoid deadlocks unless WITNESS is defined and we can determine with certainty that we're not holding any locks when we're M_WAITOK. - I've seen at least one weird socketbuffer empty-but- mbuf-still-attached panic. I don't believe this to be related to mbuma but please keep your eyes open, turn on debugging, and capture crash dumps.
This change removes more code than it adds.
A paper is available detailing the change and considering various performance issues, it was presented at BSDCan2004: http://www.unixdaemons.com/~bmilekic/netbuf_bmilekic.pdf Please read the paper for Future Work and implementation details, as well as credits.
Testing and Debugging: rwatson, brueffer, Ketrien I. Saihr-Kesenchedra, ... Reviewed by: Lots of people (for different parts)
|
#
129794 |
|
27-May-2004 |
tackerman |
First release of ixgb driver for the Intel(R) PRO/10GbE Family of Adapters. This driver has been developed for use with FreeBSD, version 4.8 and later.
Submitted by: Hema Joyce Reviewed by: Prafulla Deuskar Approved by: Prafulla Deuskar MFC after: 1 week
|
#
129740 |
|
25-May-2004 |
imp |
Move to generating pccarddevs.h on the fly, both for the kernel and the modules.
Also generate usbdevs.h automatically now, but a non-kernel file is stopping that at the moment.
|
#
129739 |
|
25-May-2004 |
imp |
Fix disorder introduce in 1.862 by sorting emu10k before miidevs.h, rather than after.
bde inspired words: disorder
|
#
129738 |
|
25-May-2004 |
imp |
devlist2h.awk is too generic a name for what it does. It really converts miidevs to a .h file, so rename to reflect that.
The usb and pccard versions have also been renamed and will be hooked into the build system shortly (I've made the conversion in my p4 tree).
|
#
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
|
#
128893 |
|
03-May-2004 |
pjd |
Allow geom_concat and geom_gate to be compiled in kernel.
|
#
128814 |
|
02-May-2004 |
bde |
Switch to using the moved cy driver (adjust pathnames and remove "count" parameter).
Keep using it only in the i386 NOTES for now. It is fairly MI, but it doesn't use bus-space and has a couple of i386 i/o instructions in pci intitialization.
|
#
128771 |
|
30-Apr-2004 |
tmm |
Remove the sio EBus attachment, which never worked with an unpatched driver because sio(4) uses ISA-specific functions. uart(4) has full support for the respective hardware and should be used instead.
|
#
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
|
#
128484 |
|
20-Apr-2004 |
njl |
Remove an extra line that crept in.
|
#
128483 |
|
20-Apr-2004 |
njl |
Remove the commented out line for fore_load.c now that it's been removed.
|
#
128256 |
|
14-Apr-2004 |
njl |
Remove nowerror lines now that acpica is warns clean.
|
#
128135 |
|
11-Apr-2004 |
imp |
Add glue for new sx driver.
|
#
128092 |
|
10-Apr-2004 |
marcel |
Unbreak alpha kernel build and unbreak any non-i386 runtime brokenness. The VIA Nehemias is so obviously specific to i386 that it should not be compiled on non-i386 platforms. The obviousness is in the fact that all functions in nehemias.c are purely i386 inline assembly, guarded by #ifdef __i386__
|
#
128059 |
|
09-Apr-2004 |
markm |
Reorganise the entropy device so that high-yield entropy sources can more easily be used INSTEAD OF the hard-working Yarrow. The only hardware source used at this point is the one inside the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will be added in due course. Contributions welcome!
|
#
128037 |
|
08-Apr-2004 |
mlaier |
Readd -Werror flag to compilation pf.c after the compiler warnings have been shut up.
Tested by: LINT(i386) Approved by: bms(mentor)
|
#
127800 |
|
03-Apr-2004 |
phk |
Make led.c/led(4) standard so acpi_asus can use it too.
|
#
127722 |
|
01-Apr-2004 |
des |
Fix style issues in twa lines added in rev 1.878.
|
#
127721 |
|
01-Apr-2004 |
des |
Comment out the au88x0 line which was inadvertantly included in the previous commit.
|
#
127707 |
|
01-Apr-2004 |
des |
Move twa from files.i386 to files. This unbreaks LINT on !i386.
Pointy hat to: vkashyap, ps
|
#
127215 |
|
20-Mar-2004 |
marcel |
Introduce the hw.uart.console and hw.uart.dbgport environment variables to select a serial console and debug port (resp). On ia64 these replace the use of hints completely and take precedence over hints on alpha, amd64 and i386. On sparc64 these variables are not yet recognised.
The reasons for introducing these variables are: 1. Hints have side-effects. They reserve the unit number for use by isa or acpi devices and therefore cannot be used to select a pci device. Also, the use of a unit number to select a device prior to bus enumeration is nonsense. The new variables have no side- effects and are not based on unit numbers. 2. Hints don't have the expression power to allow the sysadmin to select UARTs that are not legacy PC devices and need the support of compile-time constants to give the sysadmin some level of flexibility.
The hw.uart.console and hw.uart.dbgport variables specify a list of attributes. An attribute is a tag-value pair, seperated by a colon. Attributes are seperated by a comma. Where possible, tags are the same as those in /etc/remote (only br and pa in practice). Details can be found in the manpage (not part of this commit).
Not tested on: amd64, pc98
|
#
127195 |
|
19-Mar-2004 |
rwatson |
Isolate PCB-specific ethertalk DDP functions in ddp_pcb.c, removing them from ddp_usrreq.c. Functions moved are:
at_pcballoc() at_pcbconnect() at_pcbdetach() at_pcbdisconnect() at_pcbsetaddr() at_sockaddr()
Also moved are ddp_ports and ddpcb, global variables associated with DDP pcbs. This makes PCB implementation more parallel to inet, inet6, and ipx.
|
#
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.
|
#
126890 |
|
12-Mar-2004 |
trhodes |
This are the build infrastructure changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel.
The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but doesn't abort. They also produce CPU specific code (new instructions of the CPU, not only CPU specific scheduling), so if you get coredumps with signal 4 (SIGILL, illegal instruction) you've used the wrong CPUTYPE.
Incarnations of this patch survive gcc compiles and my make universe. I use it on my desktop.
To use it update share/mk, add /usr/local/intel/compiler70/ia32/bin (icc v7, works) or /usr/local/intel_cc_80/bin (icc v8, doesn't work) to your PATH, make sure you have a new kernel compile directory (e.g. MYKERNEL_icc) and run CFLAGS="-O2 -ip" CC=icc make depend CFLAGS="-O2 -ip" CC=icc make in it.
Don't compile with -ipo, the build infrastructure uses ld directly to link the kernel and the modules, but -ipo needs the link step to be performed with Intel's linker.
Problems with icc v8: - panic: npx0 cannot be emulated on an SMP system - UP: first start of /bin/sh results in a FP exception
Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>.
Reviewed by: silence on -arch Submitted by: netchild
|
#
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
|
#
126542 |
|
03-Mar-2004 |
obrien |
mga_state & r128_state need an inline-limit larger than amd64's default in order to compile. AMD64's default could be reduced below 8k, if dev/aic7xxx/aic79xx.c got this same treatment.
|
#
126429 |
|
01-Mar-2004 |
njl |
Add the ACPI standard video extensions driver. I've done some style cleanup but a bit more reamins to be done. For now, it is usable.
PR: Submitted by: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp> Reviewed by: Approved by: Obtained from: MFC after:
|
#
126423 |
|
01-Mar-2004 |
ticso |
add driver for BWCT console management serials
|
#
126391 |
|
28-Feb-2004 |
marcel |
uteval.c gained a warning (cast discards qualifiers from pointer target type) after vendor import of ACPICA 20040220. Add nowerror.
|
#
126370 |
|
28-Feb-2004 |
phk |
Add a generic watchdog facility which through a single device entry in /dev controls all available watchdog implementations.
|
#
126334 |
|
27-Feb-2004 |
sanpei |
add support DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY) - Corega FEther USB-TXC
PR: kern/62932 Submitted by: HASHI Hiroaki <hashiz@tomba.cskk-sv.co.jp> Obtained from: NetBSD
|
#
126326 |
|
27-Feb-2004 |
jhb |
Switch the sleep/wakeup and condition variable implementations to use the sleep queue interface: - Sleep queues attempt to merge some of the benefits of both sleep queues and condition variables. Having sleep qeueus in a hash table avoids having to allocate a queue head for each wait channel. Thus, struct cv has shrunk down to just a single char * pointer now. However, the hash table does not hold threads directly, but queue heads. This means that once you have located a queue in the hash bucket, you no longer have to walk the rest of the hash chain looking for threads. Instead, you have a list of all the threads sleeping on that wait channel. - Outside of the sleepq code and the sleep/cv code the kernel no longer differentiates between cv's and sleep/wakeup. For example, calls to abortsleep() and cv_abort() are replaced with a call to sleepq_abort(). Thus, the TDF_CVWAITQ flag is removed. Also, calls to unsleep() and cv_waitq_remove() have been replaced with calls to sleepq_remove(). - The sched_sleep() function no longer accepts a priority argument as sleep's no longer inherently bump the priority. Instead, this is soley a propery of msleep() which explicitly calls sched_prio() before blocking. - The TDF_ONSLEEPQ flag has been dropped as it was never used. The associated TDF_SET_ONSLEEPQ and TDF_CLR_ON_SLEEPQ macros have also been dropped and replaced with a single explicit clearing of td_wchan. TD_SET_ONSLEEPQ() would really have only made sense if it had taken the wait channel and message as arguments anyway. Now that that only happens in one place, a macro would be overkill.
|
#
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)
|
#
126262 |
|
26-Feb-2004 |
rwatson |
Move inet and inet6 related MAC Framework entry points from mac_net.c to a new mac_inet.c. This code is now conditionally compiled based on inet support being compiled into the kernel.
Move socket related MAC Framework entry points from mac_net.c to a new mac_socket.c.
To do this, some additional _enforce MIB variables are now non-static. In addition, mbuf_to_label() is now mac_mbuf_to_label() and non-static.
Obtained from: TrustedBSD Project Sponsored by: DARPA, McAfee Research
|
#
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
|
#
125504 |
|
05-Feb-2004 |
peter |
Attempt to clean up the emu10k1-alsa.h stuff so that config doesn't delete it each time its run and have it regenerated each time by make. I used a quick hackish script rather than putting it in the files file and used the before-depend rule to avoid the depend/no-depend hacks.
|
#
124546 |
|
15-Jan-2004 |
onoe |
Use generic net80211 framework for awi driver. Restore awi to be workable again; it was broken.. XXX: The initialization is still unreliable yet, it sometimes fails on some card.
|
#
124440 |
|
12-Jan-2004 |
obrien |
Add emu10k1-alsa%diked.h dependancies.
|
#
123557 |
|
15-Dec-2003 |
bms |
Push m_apply() and m_getptr() up into the colleciton of standard mbuf routines, and purge them from opencrypto.
Reviewed by: sam Obtained from: NetBSD Sponsored by: spc.org
|
#
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.
|
#
123210 |
|
07-Dec-2003 |
imp |
Now that we have the en(4) driver, we no longer need the hea driver.
Approved by: harti@
|
#
123201 |
|
07-Dec-2003 |
imp |
Continue to remove drivers that don't compile and haven't compiled in a long time: lmc The LAN Media Corp PCI WAN driver based on tulip. This driver hasn't compiled for 3 years since the PCI compat shims were removed, and Lan Media appears to have gone out of business. These cards appear to be rare (a recent search of ebay had no hits).
Should someone wish to revive this driver, submitting patches to make it compile plus a testing report will bring it back.
|
#
123125 |
|
03-Dec-2003 |
jhb |
Export a few SMP related symbols in UP kernels as well. This is needed to aid other kernel code, especially code which can be in a module such as the acpi_cpu(4) driver, to work properly with both SMP and UP kernels. The exported symbols include mp_ncpus, all_cpus, mp_maxid, smp_started, and the smp_rendezvous() function. This also means that CPU_ABSENT() is now always implemented the same on all kernels.
Approved by: re (scottl)
|
#
122922 |
|
20-Nov-2003 |
andre |
Introduce tcp_hostcache and remove the tcp specific metrics from the routing table. Move all usage and references in the tcp stack from the routing table metrics to the tcp hostcache.
It caches measured parameters of past tcp sessions to provide better initial start values for following connections from or to the same source or destination. Depending on the network parameters to/from the remote host this can lead to significant speedups for new tcp connections after the first one because they inherit and shortcut the learning curve.
tcp_hostcache is designed for multiple concurrent access in SMP environments with high contention and is hash indexed by remote ip address.
It removes significant locking requirements from the tcp stack with regard to the routing table.
Reviewed by: sam (mentor), bms Reviewed by: -net, -current, core@kame.net (IPv6 parts) Approved by: re (scottl)
|
#
122766 |
|
15-Nov-2003 |
njl |
Implement Cx CPU idle states and updated throttling support.
* Use the cpu_idle_hook() to do idling for C1-C3. * Use both _CST and the FADT to detect Cx states. * Use both _PTC and P_CNT for controlling throttling. * Add a notify handler to detect changes in _CST and _PSS * Call the _INI function for each processor if present. This will be done by ACPI-CA in the future. * Fix a bug on SMP systems where CPUs will attach multiple times if the bus is rescan. * Document new sysctls for controlling idling.
|
#
122702 |
|
14-Nov-2003 |
andre |
Introduce ip_fastforward and remove ip_flow.
Short description of ip_fastforward:
o adds full direct process-to-completion IPv4 forwarding code o handles ip fragmentation incl. hw support (ip_flow did not) o sends icmp needfrag to source if DF is set (ip_flow did not) o supports ipfw and ipfilter (ip_flow did not) o supports divert, ipfw fwd and ipfilter nat (ip_flow did not) o returns anything it can't handle back to normal ip_input
Enable with sysctl -w net.inet.ip.fastforwarding=1
Reviewed by: sam (mentor)
|
#
122698 |
|
14-Nov-2003 |
alfred |
University of Michigan's Citi NFSv4 kernel client code.
Submitted by: Jim Rees <rees@umich.edu>
|
#
122531 |
|
12-Nov-2003 |
ume |
avoid module name conflict with opencrypto/rijndael.c.
Reported by: tinderbox
|
#
122524 |
|
12-Nov-2003 |
rwatson |
Modify the MAC Framework so that instead of embedding a (struct label) in various kernel objects to represent security data, we embed a (struct label *) pointer, which now references labels allocated using a UMA zone (mac_label.c). This allows the size and shape of struct label to be varied without changing the size and shape of these kernel objects, which become part of the frozen ABI with 5-STABLE. This opens the door for boot-time selection of the number of label slots, and hence changes to the bound on the number of simultaneous labeled policies at boot-time instead of compile-time. This also makes it easier to embed label references in new objects as required for locking/caching with fine-grained network stack locking, such as inpcb structures.
This change also moves us further in the direction of hiding the structure of kernel objects from MAC policy modules, not to mention dramatically reducing the number of '&' symbols appearing in both the MAC Framework and MAC policy modules, and improving readability.
While this results in minimal performance change with MAC enabled, it will observably shrink the size of a number of critical kernel data structures for the !MAC case, and should have a small (but measurable) performance benefit (i.e., struct vnode, struct socket) do to memory conservation and reduced cost of zeroing memory.
NOTE: Users of MAC must recompile their kernel and all MAC modules as a result of this change. Because this is an API change, third party MAC modules will also need to be updated to make less use of the '&' symbol.
Suggestions from: bmilekic Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
122514 |
|
11-Nov-2003 |
jhb |
Add an implementation of turnstiles and change the sleep mutex code to use turnstiles to implement blocking isntead of implementing a thread queue directly. These turnstiles are somewhat similar to those used in Solaris 7 as described in Solaris Internals but are also different.
Turnstiles do not come out of a fixed-sized pool. Rather, each thread is assigned a turnstile when it is created that it frees when it is destroyed. When a thread blocks on a lock, it donates its turnstile to that lock to serve as queue of blocked threads. The queue associated with a given lock is found by a lookup in a simple hash table. The turnstile itself is protected by a lock associated with its entry in the hash table. This means that sched_lock is no longer needed to contest on a mutex. Instead, sched_lock is only used when manipulating run queues or thread priorities. Turnstiles also implement priority propagation inherently.
Currently turnstiles only support mutexes. Eventually, however, turnstiles may grow two queue's to support a non-sleepable reader/writer lock implementation. For more details, see the comments in sys/turnstile.h and kern/subr_turnstile.c.
The two primary advantages from the turnstile code include: 1) the size of struct mutex shrinks by four pointers as it no longer stores the thread queue linkages directly, and 2) less contention on sched_lock in SMP systems including the ability for multiple CPUs to contend on different locks simultaneously (not that this last detail is necessarily that much of a big win). Note that 1) means that this commit is a kernel ABI breaker, so don't mix old modules with a new kernel and vice versa.
Tested on: i386 SMP, sparc64 SMP, alpha SMP
|
#
122509 |
|
11-Nov-2003 |
ume |
cleanup rijndael API. since there are naming conflicts with opencrypto, #define was added to rename functions intend to avoid conflicts.
Obtained from: KAME
|
#
122412 |
|
10-Nov-2003 |
ume |
enable aes-xcbc-mac and aes-ctr, again.
|
#
122220 |
|
07-Nov-2003 |
harti |
Allow the ng_uni node (NgATM signalling layer) to be built into the kernel via options NGATM_UNI.
|
#
122100 |
|
05-Nov-2003 |
scottl |
Hook the udf_iconv module up to the kernel build.
Submitted by: imura@ryu16.org
|
#
121946 |
|
03-Nov-2003 |
harti |
Put address handling, traffic descriptor handling and message encoding and decoding into the atmbase module when compiled directly into the kernel.
|
#
121944 |
|
03-Nov-2003 |
phk |
Change /dev/soekris-errled to be /dev/led/error and make it conditional on CPU_SOEKRIS.
Note the subtle change in semantfics for 'f%d' flash instruction and the new morse facility (see details in dev/led/led.c)
|
#
121613 |
|
27-Oct-2003 |
harti |
Allow building the NgATM SAAL layer directly into the kernel.
|
#
121567 |
|
26-Oct-2003 |
simokawa |
Revert previous change.
We have to put dcons_crom at first after 'optional' and dcons and firewire are necessary and not optional for dcons_crom anyway.
Reported by: brooks
|
#
121501 |
|
25-Oct-2003 |
simokawa |
dcons_crom.c needs dcons and firewire.
|
#
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.
|
#
121370 |
|
22-Oct-2003 |
rwatson |
Hook up to the build for options MAC:
security/mac/mac_net.c security/mac/mac_pipe.c security/mac/mac_process.c security/mac/mac_system.c security/mac/mac_vfs.c
Note: Here begins a period of NOTES/LINT build breakage due to duplicate symbols that will shortly be removed from kern_mac.c.
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
121257 |
|
19-Oct-2003 |
ume |
- revert to old rijndael code. new rijndael code broke gbde. - since aes-xcbc-mac and aes-ctr require functions in new rijndael code, aes-xcbc-mac and aes-ctr are disabled for now.
|
#
121186 |
|
18-Oct-2003 |
simokawa |
Add SBP-II target mode driver.
Though this is still incomplete and has some missing features such as exclusive login and event notification, it may be enough for someone who wants to play with it.
This driver is supposed to work with firewire(4), targ(4) of CAM(4) and scsi_target(8) which can be found in /usr/share/example/scsi_target. This driver doesn't require sbp(4) which implements initiator mode.
Sample configuration:
Kernel: (you can use modules as well) device firewire device scbus device targ device sbp_targ
After reboot: # mdconfig -a -t malloc -s 10m md0 # scsi_target 0:0:0 /dev/md0 (Assuming sbp_targ0 on scbus0)
You should find the 10MB HDD on FreeBSD/MacOS X/WinXP or whatever connected to the target using FireWire.
Manpage is not finished yet.
|
#
121110 |
|
15-Oct-2003 |
phk |
Make sure to pull in all relevant crypto for GEOM_BDE
|
#
121072 |
|
13-Oct-2003 |
ume |
use BF_ecb_encrypt().
Obtained from: KAME
|
#
121071 |
|
13-Oct-2003 |
ume |
- support AES counter mode for ESP. - use size_t as return type of schedlen(), as there's no error check needed. - clear key schedule buffer before freeing.
Obtained from: KAME
|
#
121061 |
|
13-Oct-2003 |
ume |
- support AES XCBC MAC for AH - correct SADB_X_AALG_RIPEMD160HMAC to 8
Obtained from: KAME
|
#
121044 |
|
12-Oct-2003 |
ume |
use opencrypto for RMD160.
Requested by: sam
|
#
121021 |
|
12-Oct-2003 |
ume |
- RIPEMD160 support - pass size arg to ah->result (avoid assuming result buffer size)
Obtained from: KAME
|
#
120639 |
|
01-Oct-2003 |
ume |
randomize IPv6 fragment ID.
Obtained from: KAME
|
#
120514 |
|
27-Sep-2003 |
phk |
Introduce no_poll() default method for device drivers. Have it do exactly the same as vop_nopoll() for consistency and put a comment in the two pointing at each other.
Retire seltrue() in favour of no_poll().
Create private default functions in kern_conf.c instead of public ones.
Change default strategy to return the bio with ENODEV instead of doing nothing which would lead the bio stranded.
Retire public nullopen() and nullclose() as well as the entire band of public no{read,write,ioctl,mmap,kqfilter,strategy,poll,dump} funtions, they are the default actions now.
Move the final two trivial functions from subr_xxx.c to kern_conf.c and retire the now empty subr_xxx.c
|
#
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>
|
#
120060 |
|
14-Sep-2003 |
takawata |
Add uart pccard attachment decription on conf/files, too.
Pointed out by: ru
|
#
119976 |
|
11-Sep-2003 |
wpaul |
Add a PHY driver to support the built-in gigE PHY in the 8169S/8110S ethernet chips. This driver is pretty simple, however it contains special DSP initialization code which is needed in order to get the chip to negotiate a gigE link. (This special initialization may not be needed in subsequent chip revs.) Also:
- Fix typo in if_rlreg.h (RL_GMEDIASTAT_1000MPS -> RL_GMEDIASTAT_1000MBPS)
- Deal with shared interrupts in re_intr(): if interface isn't up, return.
- Fix another bug in re_gmii_writereg() (properly apply data field mask)
- Allow PHY driver to read the RL_GMEDIASTAT register via the re_gmii_readreg() register (this is register needed to determine real time link/media status).
|
#
119917 |
|
09-Sep-2003 |
wpaul |
Add a device driver for the Broadcom BCM4401 ethernet controller, written by Stuart Walsh and Duncan Barclay (with some kibbitzing by me). I'm checking it in on Stuart's behalf.
The BCM4401 is built into several x86 laptop and desktop systems. For the moment, I have only enabled it in the x86 kernel config because although it's a PCI device, I haven't heard of any standalone NICs that use it. If somebody knows of one, we can easily add it to the other arches.
This driver uses register/structure data gleaned from the Linux driver released by Broadcom, but does not contain any of the code from the Linux driver itself. It uses busdma.
|
#
119896 |
|
08-Sep-2003 |
anholt |
Hook the SiS DRM up to the build
Sponsored by: LinuxFund
|
#
119868 |
|
08-Sep-2003 |
wpaul |
Take the support for the 8139C+/8169/8169S/8110S chips out of the rl(4) driver and put it in a new re(4) driver. The re(4) driver shares the if_rlreg.h file with rl(4) but is a separate module. (Ultimately I may change this. For now, it's convenient.)
rl(4) has been modified so that it will never attach to an 8139C+ chip, leaving it to re(4) instead. Only re(4) has the PCI IDs to match the 8169/8169S/8110S gigE chips. if_re.c contains the same basic code that was originally bolted onto if_rl.c, with the following updates:
- Added support for jumbo frames. Currently, there seems to be a limit of approximately 6200 bytes for jumbo frames on transmit. (This was determined via experimentation.) The 8169S/8110S chips apparently are limited to 7.5K frames on transmit. This may require some more work, though the framework to handle jumbo frames on RX is in place: the re_rxeof() routine will gather up frames than span multiple 2K clusters into a single mbuf list.
- Fixed bug in re_txeof(): if we reap some of the TX buffers, but there are still some pending, re-arm the timer before exiting re_txeof() so that another timeout interrupt will be generated, just in case re_start() doesn't do it for us.
- Handle the 'link state changed' interrupt
- Fix a detach bug. If re(4) is loaded as a module, and you do tcpdump -i re0, then you do 'kldunload if_re,' the system will panic after a few seconds. This happens because ether_ifdetach() ends up calling the BPF detach code, which notices the interface is in promiscuous mode and tries to switch promisc mode off while detaching the BPF listner. This ultimately results in a call to re_ioctl() (due to SIOCSIFFLAGS), which in turn calls re_init() to handle the IFF_PROMISC flag change. Unfortunately, calling re_init() here turns the chip back on and restarts the 1-second timeout loop that drives re_tick(). By the time the timeout fires, if_re.ko has been unloaded, which results in a call to invalid code and blows up the system.
To fix this, I cleared the IFF_UP flag before calling ether_ifdetach(), which stops the ioctl routine from trying to reset the chip.
- Modified comments in re_rxeof() relating to the difference in RX descriptor status bit layout between the 8139C+ and the gigE chips. The layout is different because the frame length field was expanded from 12 bits to 13, and they got rid of one of the status bits to make room.
- Add diagnostic code (re_diag()) to test for the case where a user has installed a broken 32-bit 8169 PCI NIC in a 64-bit slot. Some NICs have the REQ64# and ACK64# lines connected even though the board is 32-bit only (in this case, they should be pulled high). This fools the chip into doing 64-bit DMA transfers even though there is no 64-bit data path. To detect this, re_diag() puts the chip into digital loopback mode and sets the receiver to promiscuous mode, then initiates a single 64-byte packet transmission. The frame is echoed back to the host, and if the frame contents are intact, we know DMA is working correctly, otherwise we complain loudly on the console and abort the device attach. (At the moment, I don't know of any way to work around the problem other than physically modifying the board, so until/unless I can think of a software workaround, this will have do to.)
- Created re(4) man page
- Modified rlphy.c to allow re(4) to attach as well as rl(4).
Note that this code works for the sample 8169/Marvell 88E1000 NIC that I have, but probably won't work for the 8169S/8110S chips. RealTek has sent me some sample NICs, but they haven't arrived yet. I will probably need to add an rlgphy driver to handle the on-board PHY in the 8169S/8110S (it needs special DSP initialization).
|
#
119824 |
|
07-Sep-2003 |
imp |
Add proper pc98 MD files. Add a commented out cbus attachment for uart because that depends on the cbus implementation that nyan-san and I came up with after the CBUG meeting and not yet ready for the tree.
|
#
119816 |
|
06-Sep-2003 |
marcel |
Hook-up the uart(4) driver to the build. For a detailed description of what uart(4) is and/or is not see the initial commit log of one of the files in sys/dev/uart (or see share/man/man4/uart.4).
Note that currently pc98 shares the MD file with i386. This needs to change when pc98 support is fleshed-out to properly support the various UARTs. A good example is sparc64 in this respect.
We build uart(4) as a module on all platforms. This may break the ppc port. That depends on whether they do actually build modules.
To use uart(4) on alpha, one must use the NO_SIO option.
|
#
119814 |
|
06-Sep-2003 |
marcel |
Enhance puc(4) to support uart(4). This includes: o Introduce PUC_PORT_TYPE_UART so that we can attach to uart(4), o Introduce port sub-types (eg PUC_PORT_UART_NS8250, PUC_PORT_UART_Z8530) to handle different hardware and determine resource sizes. o Introduce two new IVARs: PUC_IVAR_SUBTYPE and PUC_IVAR_REGSHFT. Both are used by uart(4) to get sufficient information to talk to the HW. o Introduce PUC_FLAGS_ALTRES to tell puc(4) to try memory mapped I/O if I/O port space cannot be allocated, or vice versa. o Have ports of type PUC_PORT_TYPE_COM attach to uart(1) if attaching to sio(4) fails (due to not having the sio driver). o Put struct puc_device_description in struct puc_softc instead of having a pointer to a device description in the softc. This allows us to create device descriptions on the fly without having to use malloc() or otherwise have them staticly defined. o Move puc_find_description() from puc.c to puc_pci.c as it's specific to PCI. o Add EBUS and SBUS frontends for use on sparc64. Note that the P in puc stands for PCI, so we kinda mess things up here. It's too soon to worry about it though. We'll know what to do about it in time.
NOTE: This commit changes the behaviour of puc(4) to not quieten the device probe and attach for child devices. The uart(4) driver provides additional device description that is valuable to have.
|
#
119549 |
|
29-Aug-2003 |
njl |
Use the ACPICA AcpiEnterSleepStateS4bios instead of rolling our own. This change also disables interrupts around non-S4 suspends whereas before we did not do this. Our version of AcpiEnterSleepStateS4bios was almost identical to the ACPICA version.
|
#
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>
|
#
118609 |
|
07-Aug-2003 |
njl |
Remove nowerror from some files that no longer generate warnings.
|
#
117883 |
|
22-Jul-2003 |
ticso |
relocate eisa into MI files.
Suggested by: jhb
|
#
117848 |
|
21-Jul-2003 |
sam |
safenet driver config glue
Sponsored by: Global Technology Associates, Inc.
|
#
117835 |
|
21-Jul-2003 |
harti |
This is a pseudo physical interface for the HARP ATM stack. When loaded it attaches to all existing NATM network interfaces in the system and creates a HARP physical interface for each of them. This allows us to use the same set of ATM drivers for all ATM stuff. It is possible to use the same interface for HARP, NATM and netgraph at the same time.
|
#
117722 |
|
18-Jul-2003 |
phk |
Merge swap_pager.c and vm_swap.c into swap_pager.c, the separation is not natural and needlessly exposes a lot of dirty laundry.
Move private interfaces between the two from swap_pager.h to swap_pager.c and staticize as much as possible.
No functional change.
|
#
117653 |
|
15-Jul-2003 |
jmg |
make usb bus_dma aware.
Reviewed by: joe among others
|
#
117632 |
|
15-Jul-2003 |
harti |
This is a driver for IDT77252 based ATM interfaces. It has been tested with a ProATM-155 and an IDT evaluation board and should also work with a ProATM-25 (it seems to work at least, I cannot really measure what the card emits). The driver has been tested on i386 and sparc64, but should work an other archs also. It supports UBR, CBR, ABR and VBR; AAL0, AAL5 and AALraw. As an additional feature VCI/VPI 0/0 can be opened for receiving in AALraw mode and receives all cells not claimed by other open VCs (even cells with invalid GFC, VPI and VCI fields and OAM cells).
Thanks to Christian Bucari from ProSum for lending two cards and answering my questions.
|
#
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.
|
#
117563 |
|
14-Jul-2003 |
njl |
Add dmobject.c to sys/conf/files also. While I'm here, remove unnecessary nowerror options for the ACPI_DEBUG build case.
|
#
117356 |
|
09-Jul-2003 |
jhb |
- Fix the kernel build for configurations that include pci but not isa by having the PCI-ISA bridge driver depend on both pci and isa. - Have the PCI-EISA bridge driver depend on both pci and eisa as well. - Make acpi_isab.c depend on acpi and isa.
Submitted by: Marius Strobl <marius@alchemy.franken.de> (1,2)
|
#
117339 |
|
08-Jul-2003 |
jhb |
Add an ACPI to ISA psuedo bridge driver. It attaches an isab(4) device to ACPI nodes with the plug and play ID's defined for a "Generic ISA Bus Device" as defined in section 10.7 of the ACPI 2.0 specification. This gives machines like the Libretto that contain a fake ISA bus that is not connected via a PCI-ISA bridge an ISA bus for ISA devices to attach to.
Tested by: markm
|
#
116950 |
|
28-Jun-2003 |
sam |
switch to new 802.11 support
|
#
116945 |
|
28-Jun-2003 |
scottl |
Announce umct to kernel build.
|
#
116817 |
|
25-Jun-2003 |
sam |
config+build glue for Atheros support
|
#
116809 |
|
25-Jun-2003 |
harti |
Make the netgraph ATM node compilable into the kernel.
|
#
116735 |
|
23-Jun-2003 |
harti |
This is a driver for Fore PCA200E cards that uses busdma and works on little endian and big endian and with 32 and 64 bit pointers. It already has the hooks to be used for HARP, NATM and ngATM.
|
#
116660 |
|
22-Jun-2003 |
iedowse |
Replace the code for reading and writing the kernel message buffer with a new implementation that has a mostly reentrant "addchar" routine, supports multiple message buffers in the kernel, and hides the implementation details from callers.
The new code uses a kind of sequence number to represend the current read and write positions in the buffer. This approach (suggested mainly by bde) permits the read and write pointers to be maintained separately, which reduces the number of atomic operations that are required. The "mostly reentrant" above refers to the way that while it is now always safe to have any number of concurrent writers, readers could see the message buffer after a writer has advanced the pointers but before it has witten the new character.
Discussed on: freebsd-arch
|
#
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.
|
#
116491 |
|
17-Jun-2003 |
harti |
This is a driver for Fore/Marconi HE155 and HE622 ATM cards. It is full busdma and has extensively been tested on i386 and sparc64.
|
#
116444 |
|
16-Jun-2003 |
harti |
Repo-copy of sys/pci/if_en_pci.c to the rest of the midway driver (sys/dev/en) so that all of the driver sources are in one place. Adjust the configuration files and the module build.
|
#
116294 |
|
13-Jun-2003 |
harti |
Make the midway driver use the new ATM phy driver. This allows one to toggle several media options (sonet/sdh, for example) with ifconfig and to see the carrier state in ifconfig's output. It gives also read/write access (given the right privilegs) to the S/Uni registers to user space programs.
|
#
116111 |
|
09-Jun-2003 |
phk |
GEOMification of CCD.
You need your kernel and ccdconfig(8) to be in sync, particularly if your source tree is on a ccd device.
|
#
114903 |
|
11-May-2003 |
scottl |
Add files for the 'ips' driver.
|
#
114577 |
|
03-May-2003 |
akiyama |
Add RealTek RTL8150 USB to fast Ethernet controller driver. This driver now supports the Melco LUA-KTX and the GREEN HOUSE GH-USB100B.
Reviewed by: imp MFC after: 2 weeks
|
#
114414 |
|
01-May-2003 |
nyan |
- Move decoding pc98_partition function into geom_pc98_enc.c. - Add encoding pc98_partition function.
|
#
114248 |
|
29-Apr-2003 |
njl |
Catch up with the new acpi files.
|
#
113819 |
|
21-Apr-2003 |
phk |
Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c and #defines from sys/sun_disklabel.h.
|
#
113757 |
|
20-Apr-2003 |
wpaul |
Add device driver support for the ASIX Electronics AX88172 USB 2.0 ethernet controller. The driver has been tested with the LinkSys USB200M adapter. I know for a fact that there are other devices out there with this chip but don't have all the USB vendor/device IDs.
Note: I'm not sure if this will force the driver to end up in the install kernel image or not. Special magic needs to be done to exclude it to keep the boot floppies from bloating again, someone please advise.
|
#
113591 |
|
17-Apr-2003 |
phk |
Separate the encoding/decoding functions for struct disklabel into a separate source file which can be used from both kernel and userland code.
|
#
113585 |
|
17-Apr-2003 |
simokawa |
Add dev/firewire/fwdma.c.
|
#
113497 |
|
15-Apr-2003 |
mdodd |
Express bus dependency a little more clearly.
|
#
113473 |
|
14-Apr-2003 |
ticso |
add EHCI (USB 2.0) controller support.
Approved by: joe gallatin (mentor) Obtained from: NetBSD
|
#
113429 |
|
13-Apr-2003 |
fjoe |
Driver for Granch SBNI16 SHDSL modem
Submitted by: Denis I. Timofeev <timofeev@granch.ru> MFC after: 1 week
|
#
113389 |
|
12-Apr-2003 |
phk |
Move the functions for encoding decoding struct dos_partition into a separate .c file so they can be used from userland as well.
|
#
113205 |
|
07-Apr-2003 |
mdodd |
- Add PCI support (Adaptec AHA-2920/A,Future Domain TMC-18XX/3260). - Reduce duplicated code.
PR: 50427 Submitted by: Bob Bishop <rb@gid.co.uk>
|
#
113094 |
|
04-Apr-2003 |
phk |
Add a rudimentary but working driver for the Adlink "NuDaq PCI-9812".
This is a 4 channel 20 msps 12 bit ADC card.
Anyone wanting to play with GNUradio or similar can start here.
|
#
113012 |
|
03-Apr-2003 |
phk |
Remove geom_enc.c, a superset of these functions are now available in <sys/endian.h>
|
#
112907 |
|
31-Mar-2003 |
jeff |
- Add the kern_umtx.c file to the build.
|
#
112900 |
|
31-Mar-2003 |
jeff |
- Add kern_thr.c
|
#
112790 |
|
29-Mar-2003 |
mdodd |
- Move driver to newbus. - Provide identify methods for EtherExpress and 3c507 cards; this means these cards no longer need wired configs. - Provide a detach method.
|
#
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.
|
#
112371 |
|
18-Mar-2003 |
phk |
Missed in last commit: don't compile now non-existent geom_stats.c
|
#
112103 |
|
11-Mar-2003 |
sam |
FIPS 140-2 rng data tester for h/w crypto devices. This driver periodically monitors the entropy data harvested by crypto drivers to verify it complies with FIPS 140-2. If data fails any test then the driver discards it and commences continuous testing of harvested data until it is deemed ok. Results are collected in a statistics block and, optionally, reported on the console. In normal use the overhead associated with this driver is not noticeable.
Note that drivers must (currently) be compiled specially to enable use.
Obtained from: original code by Jason L. Wright
|
#
112068 |
|
10-Mar-2003 |
jake |
"Or" is expressed with 2 separate config lines.
Reported by: Stijn Hoop <stijn@win.tue.nl>
|
#
112015 |
|
09-Mar-2003 |
anholt |
Update the DRM to latest from DRI CVS. This is approximately the version included in XFree86 4.3, but includes some fixes. Notable changes include Radeon 8500-9100 support, PCI Radeon/Rage 128 support, transform & lighting support for Radeons, and vblank syncing support for r128, radeon, and mga. The gamma driver was removed due to lack of any users.
|
#
111978 |
|
08-Mar-2003 |
tjr |
Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL).
|
#
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.
|
#
111888 |
|
04-Mar-2003 |
jlemon |
Update netisr handling; Each SWI now registers its queue, and all queue drain routines are done by swi_net, which allows for better queue control at some future point. Packets may also be directly dispatched to a netisr instead of queued, this may be of interest at some installations, but currently defaults to off.
Reviewed by: hsu, silby, jayanth, sam Sponsored by: DARPA, NAI Labs
|
#
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@
|
#
111411 |
|
24-Feb-2003 |
obrien |
pst(4) should be portable across all our platforms.
|
#
111317 |
|
23-Feb-2003 |
rwatson |
Add an implementation of strdup() to libkern. Allocated memory is of type M_STRING, now defined in malloc.h. Useful when string parsing must occur using the kernel strsep() and we want to avoid toasting the source string.
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
111188 |
|
20-Feb-2003 |
sos |
First round off updates/fixes to the ATA driver.
This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset type in several places, and to allow substituting various functions for different HW arch needs. Added PIO mode setup and all DMA modes. Support for all known SiS chipsets. Thanks to Christoph Kukulies for sponsoring a nice ASUS P4S8X SiS648 based board for this work!
Tested on: i386, PC98, alpha and sparc64
|
#
111124 |
|
19-Feb-2003 |
jake |
Munge the zs sbus attachment to work with fhc. This is a bit of a hack, but they would otherwise be almost identical so there's not much point in splitting it up further.
|
#
110844 |
|
14-Feb-2003 |
anholt |
Split the arch-specific AGP files into the appropriate files.* and do the same for the agp module, and add agp to the list of modules to compile for alpha. Add an alpha_mb() to agp_flush_cache for alpha -- it's not correct but may improve the situation, and it's what linux and NetBSD do.
|
#
110541 |
|
08-Feb-2003 |
phk |
Move the g_stat struct to its own .h file, we will export it to other code.
Insted of embedding a struct g_stat in consumers and providers, merely include a pointer.
Remove a couple of <sys/time.h> includes now unneeded.
Add a special allocator for struct g_stat. This allocator will allocate entire pages and hand out g_stat functions from there. The "id" field indicates free/used status.
Add "/dev/geom.stats" device driver whic exports the pages from the allocator to userland with mmap(2) in read-only mode.
This mmap(2) interface should be considered a non-public interface and the functions in libgeom (not yet committed) should be used to access the statistics data.
|
#
110499 |
|
07-Feb-2003 |
nyan |
- Clean up ISA DMA supports. - Rename all sndbuf_isadma* functions to sndbuf_dma* and move them into sys/dev/sound/isa/sndbuf_dma.c.
No response from: sound
|
#
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
|
#
110078 |
|
30-Jan-2003 |
phk |
Remove files which don't exist.
|
#
110069 |
|
30-Jan-2003 |
peter |
Move the miidevs.h build stuff to conf/files so that config(8) doesn't clobber it each time. XXX: maybe this should be 'optional miibus' rather than 'standard'
|
#
110013 |
|
28-Jan-2003 |
joe |
Migrate the PCI bus logic for ohci and uhci from sys/pci to sys/dev/usb.
|
#
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.
|
#
109818 |
|
25-Jan-2003 |
orion |
Add ac97_patch.[ch] that provide space for ac97 codec specific patches.
|
#
109428 |
|
17-Jan-2003 |
phk |
Move subr_disklabel.c and subr_diskslice.c from being MI to MD files, so that they can be left out where they are unneeded.
|
#
109343 |
|
15-Jan-2003 |
sam |
config glue for new wi driver and wlan module
Reviewed by: imp Forgotten by: sam
|
#
109335 |
|
15-Jan-2003 |
alfred |
remove wi_hostap.c from files as it's been removed.
|
#
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.
|
#
108972 |
|
08-Jan-2003 |
jake |
Add sbus specific zs file.
|
#
108685 |
|
04-Jan-2003 |
jake |
Improve the way that an elf image activator for an alternate word size is included in the kernel. Include imgact_elf.c in conf/files, instead of both imgact_elf32.c and imgact_elf64.c, which will use the default word size for an architecture as defined in machine/elf.h. Architectures that wish to build an additional image activator for an alternate word size can include either imgact_elf32.c or imgact_elf64.c in files.${ARCH}, which allows it to be dependent on MD options instead of solely on architecture.
Glanced at by: peter
|
#
108535 |
|
01-Jan-2003 |
jake |
Add a driver for the Zilog 8530 dual uart found in Ultra 1s and Ultra 2s. With a 1 byte transmit fifo, 3 byte receive fifo, and wierd multiplexed I/O designed for a Z80 cpu, this chip redefines suckage.
Based on the openbsd and netbsd drivers. Only really works as a console, modem support is not complete since I can't test it.
|
#
108503 |
|
31-Dec-2002 |
simokawa |
- Implement primal Configuration ROM parser. - Support multiple LUNs for SBP-II.
|
#
107840 |
|
13-Dec-2002 |
scottl |
Move the amd(4) driver to it's own directory in preparation for it growing an sbus front-end.
|
#
107562 |
|
03-Dec-2002 |
sos |
Add support for the PC98 platform to the ATA driver. This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers). Add support for Acard controllers. Enable the ATA driver in PC98 GENERIC, and add device hints. Update man page with latest support.
The PC98 core team has kindly provided me with a PC98 machine that made this all possible, thanks to all that contributed to that effort, without that this would probably newer have been possible..
Approved by: re@
|
#
107364 |
|
27-Nov-2002 |
non |
Uncomment out the lines of {ncv,ncr53c500,tmc18c30}_pccard.c . They now support NEWCARD and compiles with GENERIC kernel.
Approved by: re
|
#
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
|
#
106977 |
|
16-Nov-2002 |
deischen |
Add getcontext, setcontext, and swapcontext as system calls. Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one.
A few style nits and comments from bde are also included.
Tested on alpha by: gallatin
|
#
106968 |
|
15-Nov-2002 |
luigi |
Massive cleanup of the ip_mroute code.
No functional changes, but:
+ the mrouting module now should behave the same as the compiled-in version (it did not before, some of the rsvp code was not loaded properly); + netinet/ip_mroute.c is now truly optional; + removed some redundant/unused code; + changed many instances of '0' to NULL and INADDR_ANY as appropriate; + removed several static variables to make the code more SMP-friendly; + fixed some minor bugs in the mrouting code (mostly, incorrect return values from functions).
This commit is also a prerequisite to the addition of support for PIM, which i would like to put in before DP2 (it does not change any of the existing APIs, anyways).
Note, in the process we found out that some device drivers fail to properly handle changes in IFF_ALLMULTI, leading to interesting behaviour when a multicast router is started. This bug is not corrected by this commit, and will be fixed with a separate commit.
Detailed changes: -------------------- netinet/ip_mroute.c all the above. conf/files make ip_mroute.c optional net/route.c fix mrt_ioctl hook netinet/ip_input.c fix ip_mforward hook, move rsvp_input() here together with other rsvp code, and a couple of indentation fixes. netinet/ip_output.c fix ip_mforward and ip_mcast_src hooks netinet/ip_var.h rsvp function hooks netinet/raw_ip.c hooks for mrouting and rsvp functions, plus interface cleanup. netinet/ip_mroute.h remove an unused and optional field from a struct
Most of the code is from Pavlin Radoslavov and the XORP project
Reviewed by: sam MFC after: 1 week
|
#
106813 |
|
12-Nov-2002 |
simokawa |
Split userland services to fwdev.c.
|
#
106675 |
|
08-Nov-2002 |
jhb |
- Move netsmb entries over to MI files. netsmb appears to be MI code. - Add 'nowerror' to pci/simos.c to help LINT builds.
|
#
106523 |
|
06-Nov-2002 |
jhb |
dgb(4) currently is i386-only.
|
#
106514 |
|
06-Nov-2002 |
jhb |
Make the ar(4) driver i386-only for now. It has lots of sizeof(int) == sizeof(void *) assumptions and doesn't use busdma yet (it uses kvtop() which is not an MI interface).
Recommended by: jake, mux
|
#
106449 |
|
05-Nov-2002 |
mdodd |
- Convert to newbus, bus_space etc. - Move to MI space.
Tested on: i386
|
#
105988 |
|
26-Oct-2002 |
rwatson |
Slightly change the semantics of vnode labels for MAC: rather than "refreshing" the label on the vnode before use, just get the label right from inception. For single-label file systems, set the label in the generic VFS getnewvnode() code; for multi-label file systems, leave the labeling up to the file system. With UFS1/2, this means reading the extended attribute during vfs_vget() as the inode is pulled off disk, rather than hitting the extended attributes frequently during operations later, improving performance. This also corrects sematics for shared vnode locks, which were not previously present in the system. This chances the cache coherrency properties WRT out-of-band access to label data, but in an acceptable form. With UFS1, there is a small race condition during automatic extended attribute start -- this is not present with UFS2, and occurs because EAs aren't available at vnode inception. We'll introduce a work around for this shortly.
Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
105890 |
|
24-Oct-2002 |
jhb |
Rename 'device acpica' to 'device acpi'.
Approved by: msmith, iwasaki
|
#
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
|
#
105806 |
|
23-Oct-2002 |
jhb |
- New-bussify the rc(4) device driver. - Add detach support to the driver so that you can kldunload the module. Note that currently rc_detach() fails to detach a unit if any of its child devices are open, thus a kldunload will fail if any of the tty devices are currently open. - sys/i386/isa/ic/cd180.h was moved to sys/dev/ic/cd180.h as part of this change.
Requested by: rwatson Tested by: rwatson
|
#
105609 |
|
21-Oct-2002 |
brooks |
All bpf.h/NBPF consumers are gone so stop generating bpf.h
|
#
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.
|
#
105419 |
|
18-Oct-2002 |
emoore |
(1) added LSI Logic copyright, and legal line 3 in license, and string changes for "LSILogic" (2) enabled non-disk support through CAM interface (3) HA_INQ (a) enabled tagged queuing (b) disable reset during driver loading (b) renamed BSDi string to LSI (4) disabled detecting disk devices during SCSI INQUIRY (5) changed dcdb single element sglist to send one entire buffer chunk (6) nsgelem not set in sglist (7) ap_data_transfer_length not set for dcdb (8) changed "struct thread" to "d_thread_t" for compatibliity { xxx_open, xxx_close, xxx_ioctl } (9) miscellaneous compatiblity fixes (10) bug fix for 0x0409/0x1000 card (11) added compiling amr_cam.c in sys/conf/files (12) added compiling amr_cam.c in sys/modules/amr/Makefile
Reviewed by:ps MFC after:1 week 1 week
|
#
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
|
#
105116 |
|
14-Oct-2002 |
jhb |
Allow firewire, sbp (SCSI over firewire), and fwe (non-standard raw ethernet over firewire) to be statically compiled into the kernel as devices.
|
#
105069 |
|
13-Oct-2002 |
phk |
Add in the GEOM control module.
Sponsored by: DARPA & NAI Labs.
|
#
105062 |
|
13-Oct-2002 |
cognet |
Connect trm(4) to the build.
Reviewed by: mux (mentor) Approved by: mux (mentor)
|
#
104964 |
|
12-Oct-2002 |
jeff |
- Create a new scheduler api that is defined in sys/sched.h - Begin moving scheduler specific functionality into sched_4bsd.c - Replace direct manipulation of scheduler data with hooks provided by the new api. - Remove KSE specific state modifications and single runq assumptions from kern_switch.c
Reviewed by: -arch
|
#
104799 |
|
10-Oct-2002 |
rwatson |
Hook up strsep(3) to libkern following a repo-copy by Peter. This will allow us to avoid nasty by-hand string parsing stuff in a number of places in the kernel, reducing the risk of unexpected consequences for kernel correctness.
|
#
104652 |
|
08-Oct-2002 |
dd |
Import the libc fnmatch() into the kernel. This will be used by, among other things, the DEVFS rule subsystem to match nodes against a path pattern supplied by the user.
fnmatch.c was repo-copied from src/lib/libc/gen/fnmatch.c, and the only changes to it are those necessary to make it compile in the kernel. The relevant parts of fnmatch.h were imported into libkern.h.
Approved by: -arch
|
#
104650 |
|
08-Oct-2002 |
kan |
Add device driver for Belkin F5U103 and compatible USB-to-serial adapters.
Reviewed by: n_hibma Approved by: obrien
|
#
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.
|
#
104494 |
|
05-Oct-2002 |
iwasaki |
Add code for ACPI PCI link object manipulation. This allocate the best IRQ to boot-disable devices (have IRQ 0). Allocated IRQ will be used for PCI interrupt routing when ACPI is enabled.
Note that verbose messaging enabled for the time being so that people can easily notice the strange behavior if it happened.
|
#
104487 |
|
04-Oct-2002 |
sam |
hookup new crypto support to the config/build process
|
#
104445 |
|
04-Oct-2002 |
mdodd |
newbus & bus_space the mcd(4) driver.
|
#
104306 |
|
01-Oct-2002 |
jmallett |
Back our kernel support for reliable signal queues.
Requested by: rwatson, phk, and many others
|
#
104245 |
|
30-Sep-2002 |
jmallett |
(Forced commit, to clarify previous commit of ksiginfo/signal queue code.)
I've added a structure, kernel-private, to represent a pending or in-delivery signal, called `ksiginfo'. It is roughly analogous to the basic information that is exported by the POSIX interface 'siginfo_t', but more basic. I've added functions to allocate these structures, and further to wrap all signal operations using them.
Once the operations are wrapped, I've added a TailQ (see queue(3)) of these structures to 'struct proc', and all pending signals are in that TailQ. When a signal is being delivered, it is dequeued from the list. Once I finish the spreading of ksiginfo throughout the tree, the dequeued structure will be delivered to the process in question, whereas currently and normally, the signal number is what is used.
|
#
104233 |
|
30-Sep-2002 |
jmallett |
First half of implementation of ksiginfo, signal queues, and such. This gets signals operating based on a TailQ, and is good enough to run X11, GNOME, and do job control. There are some intricate parts which could be more refined to match the sigset_t versions, but those require further evaluation of directions in which our signal system can expand and contract to fit our needs.
After this has been in the tree for a while, I will make in kernel API changes, most notably to trapsignal(9) and sendsig(9), to use ksiginfo more robustly, such that we can actually pass information with our (queued) signals to the userland. That will also result in using a struct ksiginfo pointer, rather than a signal number, in a lot of kern_sig.c, to refer to an individual pending signal queue member, but right now there is no defined behaviour for such.
CODAFS is unfinished in this regard because the logic is unclear in some places.
Sponsored by: New Gold Technology Reviewed by: bde, tjr, jake [an older version, logic similar]
|
#
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
|
#
103790 |
|
22-Sep-2002 |
jeff |
- Hook ALQ up to the build.
|
#
103781 |
|
22-Sep-2002 |
jake |
Moved netisr code from kern/kern_intr.c to net/netisr.c as threatened in a comment.
|
#
103770 |
|
21-Sep-2002 |
jake |
Moved nfs_diskless setup code from autoconf.c to nfsclient/nfs_diskless.c so that it is MI. Allow nfs_mountroot to return an error if the nfs_diskless struct is not valid, rather than panicing later on. Call nfs_setup_diskless() from nfs_mountroot if NFS_ROOT is defined, like bootpc_init(). Removed legacy root mount support for sparc64, and enabled NFS_ROOT by default.
|
#
103764 |
|
21-Sep-2002 |
nsouch |
Cleanup of amdpm(4).
Add of NVIDIA nForce (nfpm) smbus support.
Obtained from: Thomas D. Dean <tomdean@speakeasy.org>
|
#
103575 |
|
18-Sep-2002 |
alfred |
Regen for added syscalls.
|
#
103470 |
|
17-Sep-2002 |
peter |
Make netatm/spans compile in the kernel without depending on userland include files to provide functions for kernel source (spans_kxdr.c)
|
#
103371 |
|
16-Sep-2002 |
grehan |
geom_aes.c requires rijndael crypto
Approved by: phk, benno
|
#
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
|
#
102863 |
|
02-Sep-2002 |
brooks |
Hook up libkern/strlcpy.c and libkern/strlcat.c after repocopy.
Obtained from: OpenBSD Discussed on: -arch
|
#
102828 |
|
01-Sep-2002 |
brooks |
Continue de-counting i4b. Devices i4bctl, i4bcapi, iavc, i4bq921, i4bq931, i4b, isic, iwic, ifpi, ifpi2, ifpnp, ihfc, and itjc are no longer count devices. Also remove a few other instances of N<DEVICE> being used to control compilation of whole files.
Reviewed by: hm
|
#
102747 |
|
31-Aug-2002 |
peter |
'aicasm optional ahc ahd' means 'build aicasm only if BOTH ahc and ahd are specified'. Ie: it is a logical and, not a logical or.
|
#
102714 |
|
31-Aug-2002 |
phk |
Split the puc driver in pci specific and generic parts. Add a pccard frontend for it as well.
The PCcard stuff does not work yet because there is still some PCImagic left in puc.c
|
#
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
|
#
102449 |
|
26-Aug-2002 |
jhb |
Hook up the new ACPI PCI bus and catch up to ACPI PCI bridge driver changes.
|
#
102195 |
|
20-Aug-2002 |
archie |
New L2TP netgraph node type.
Obtained from: Packet Design
|
#
102011 |
|
17-Aug-2002 |
orion |
Support for VIA VT8233 audio controller.
|
#
101940 |
|
15-Aug-2002 |
njl |
Remove usage of cam_extend.c, replace with dev->si_drv1
PR: kern/39809 Approved by: gibbs
|
#
101907 |
|
15-Aug-2002 |
imp |
pccbb->cbb
|
#
101704 |
|
11-Aug-2002 |
mjacob |
Add support for the LSI-Logic Fusion/MP architecture.
This is an architecture that present a thing message passing interface to the OS. You can query as to how many ports and what kind are attached and enable them and so on.
A less grand view is that this is just another way to package SCSI (SPI or FC) and FC-IP into a one-driver interface set.
This driver support the following hardware:
LSI FC909: Single channel, 1Gbps, Fibre Channel (FC-SCSI only) LSI FC929: Dual Channel, 1-2Gbps, Fibre Channel (FC-SCSI only) LSI 53c1020: Single Channel, Ultra4 (320M) (Untested) LSI 53c1030: Dual Channel, Ultra4 (320M)
Currently it's in fair shape, but expect a lot of changes over the next few weeks as it stabilizes.
Credits:
The driver is mostly from some folks from Jeff Roberson's company- I've been slowly migrating it to broader support that I it came to me as.
The hardware used in developing support came from:
FC909: LSI-Logic, Advansys (now Connetix) FC929: LSI-Logic 53c1030: Antares Microsystems (they make a very fine board!)
MFC after: 3 weeks
|
#
101703 |
|
11-Aug-2002 |
joe |
Add the uftdi ucom driver which supports the following adapters:
Inland UAS111 QVS USC-1000 HP USB-Serial adapter shipped with some HP laptops
Submitted by: takawata MFC After: 7 days
|
#
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>
|
#
101588 |
|
09-Aug-2002 |
brooks |
Make ppp(4) devices clonable and unloadable.
|
#
101328 |
|
04-Aug-2002 |
jake |
se -> sab.
|
#
101323 |
|
04-Aug-2002 |
jake |
Remove this abortive attempt.
|
#
101190 |
|
01-Aug-2002 |
rwatson |
Demonstrate that MAC modules can also be linked statically as well as loaded as modules by hooking up mac_none if 'options MAC_NONE' is defined.
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
101132 |
|
01-Aug-2002 |
rwatson |
Introduce support for Mandatory Access Control and extensible kernel access control.
Modify procfs so that (when mounted multilabel) it exports process MAC labels as the vnode labels of procfs vnodes associated with processes.
Approved by: des Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
100987 |
|
30-Jul-2002 |
imp |
Fix path to other files.<arch> files. Fix disordering of libkern/crc32.c entry.
MFC after: 1 day
|
#
100969 |
|
30-Jul-2002 |
iwasaki |
Resolve conflicts arising from the ACPI CA 20020725 import.
|
#
100958 |
|
30-Jul-2002 |
joe |
Commit a version of the uvisor driver for connecting Handspring Visors via USB.
Submitted by: Chia-liang Kao <clkao@clkao.org>
|
#
100895 |
|
30-Jul-2002 |
rwatson |
Hook up kern_mac.c to the build.
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
100601 |
|
24-Jul-2002 |
jhb |
Move sio's ebus attachment to the MI files section so it is compiled in for any machines that use ebus.
|
#
100599 |
|
24-Jul-2002 |
jhb |
Move sio_isa.c back to MD files files due to PC98 brain damage.
|
#
100549 |
|
23-Jul-2002 |
peter |
pci is (finally) no longer a 'count' device. ahc/ahd were the last holdouts.
|
#
100477 |
|
21-Jul-2002 |
peter |
Move 'em' from files.i386 to files so that it is within reach of the ia64 (tested) and pc98 (i386 based) platforms.
|
#
100468 |
|
21-Jul-2002 |
peter |
pci/cy_pci.c is still MD, it needs i386/isa/cy.c for the core.
|
#
100460 |
|
21-Jul-2002 |
peter |
Change bktr and smbus from 'count' back to 'optional'
|
#
100447 |
|
21-Jul-2002 |
nsayer |
Add uaudio -- a USB audio device driver.
This driver actually works slightly better on -stable than on -current (the system locks on detach on -current), so it should be MFC'd somewhat sooner.
This driver currently points out a difficulty in the sound device framework. The PCM unregister routine is allowed to refuse the detach if the device is in use. In the case of a USB device, however, this unregistration is much more mandatory in nature, since the device is *actually* gone when this call is made. The sound subsystem really should not refuse an unregistration and should take its own steps to reject further I/O. As a result, if you detach a USB sound device while it is in use, you can expect a panic shortly thereafter.
This device cannot currently record audio. Some routines are unwritten as of yet in uaudio.c to support recording.
This device hangs my -current box on detach. I don't know why. This does not happen on my -stable machine.
Obtained from: Hiroyuki Aizu MFC after: 2 weeks
|
#
100384 |
|
20-Jul-2002 |
peter |
Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages.
Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable.
Obtained from: dfr (mostly, many tweaks from me).
|
#
100219 |
|
17-Jul-2002 |
imp |
pccard_common.c is no longer necssary
|
#
100206 |
|
16-Jul-2002 |
dd |
Introduce the DEVFS "rule" subsystem. DEVFS rules permit the administrator to define certain properties of new devfs nodes before they become visible to the userland. Both static (e.g., /dev/speaker) and dynamic (e.g., /dev/bpf*, some removable devices) nodes are supported. Each DEVFS mount may have a different ruleset assigned to it, permitting different policies to be implemented for things like jails.
Approved by: phk
|
#
100128 |
|
15-Jul-2002 |
jhb |
Move SMBFS from i386 and pc98 files and options files to MI files and options files.
|
#
100106 |
|
15-Jul-2002 |
jhb |
Move all the sio(4) attachments (except for pc98's cbus attachment) to the MI files file. We can't move sio.c because pc98 uses a custom version.
|
#
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.
|
#
100082 |
|
15-Jul-2002 |
markm |
Upgrade the random device to use a "real" hash instead of building one out of a block cipher. This has 2 advantages: 1) The code is _much_ simpler 2) We aren't committing our security to one algorithm (much as we may think we trust AES).
While I'm here, make an explicit reseed do a slow reseed instead of a fast; this is in line with what the original paper suggested.
|
#
99757 |
|
11-Jul-2002 |
mjacob |
Enable ISP SBus support.
|
#
99682 |
|
09-Jul-2002 |
iwasaki |
Resolve conflicts arising from the ACPI CA 20020611 import.
|
#
99443 |
|
05-Jul-2002 |
benno |
Add bmtphy.c
|
#
99264 |
|
02-Jul-2002 |
mux |
Move every code related to mount(2) in a new file, vfs_mount.c. The file vfs_conf.c which was dealing with root mounting has been repo-copied into vfs_mount.c to preserve history. This makes nmount related development easier, and help reducing the size of vfs_syscalls.c, which is still an enormous file.
Reviewed by: rwatson Repo-copy by: peter
|
#
99072 |
|
29-Jun-2002 |
julian |
Part 1 of KSE-III
The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools)
Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands)
NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
|
#
98943 |
|
27-Jun-2002 |
luigi |
The new ipfw code.
This code makes use of variable-size kernel representation of rules (exactly the same concept of BPF instructions, as used in the BSDI's firewall), which makes firewall operation a lot faster, and the code more readable and easier to extend and debug.
The interface with the rest of the system is unchanged, as witnessed by this commit. The only extra kernel files that I am touching are if_fw.h and ip_dummynet.c, which is quite tied to ipfw. In userland I only had to touch those programs which manipulate the internal representation of firewall rules).
The code is almost entirely new (and I believe I have written the vast majority of those sections which were taken from the former ip_fw.c), so rather than modifying the old ip_fw.c I decided to create a new file, sys/netinet/ip_fw2.c . Same for the user interface, which is in sbin/ipfw/ipfw2.c (it still compiles to /sbin/ipfw). The old files are still there, and will be removed in due time.
I have not renamed the header file because it would have required touching a one-line change to a number of kernel files.
In terms of user interface, the new "ipfw" is supposed to accepts the old syntax for ipfw rules (and produce the same output with "ipfw show". Only a couple of the old options (out of some 30 of them) has not been implemented, but they will be soon.
On the other hand, the new code has some very powerful extensions. First, you can put "or" connectives between match fields (and soon also between options), and write things like
ipfw add allow ip from { 1.2.3.4/27 or 5.6.7.8/30 } 10-23,25,1024-3000 to any
This should make rulesets slightly more compact (and lines longer!), by condensing 2 or more of the old rules into single ones.
Also, as an example of how easy the rules can be extended, I have implemented an 'address set' match pattern, where you can specify an IP address in a format like this:
10.20.30.0/26{18,44,33,22,9}
which will match the set of hosts listed in braces belonging to the subnet 10.20.30.0/26 . The match is done using a bitmap, so it is essentially a constant time operation requiring a handful of CPU instructions (and a very small amount of memmory -- for a full /24 subnet, the instruction only consumes 40 bytes).
Again, in this commit I have focused on functionality and tried to minimize changes to the other parts of the system. Some performance improvement can be achieved with minor changes to the interface of ip_fw_chk_t. This will be done later when this code is settled.
The code is meant to compile unmodified on RELENG_4 (once the PACKET_TAG_* changes have been merged), for this reason you will see #ifdef __FreeBSD_version in a couple of places. This should minimize errors when (hopefully soon) it will be time to do the MFC.
|
#
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.
|
#
98715 |
|
23-Jun-2002 |
imp |
Partially back out the "make all interfaces standard" commit. There's a small chance that it might have broken loading the miibus, so err on the side of caution until I can figure out what is going on. This backs out all but the PCI, PCIB and ISA bus interfaces being "standard," which have been well tested...
|
#
98660 |
|
23-Jun-2002 |
imp |
plxcard for OLDCARD almost certainly isn't going to happen.
|
#
98659 |
|
23-Jun-2002 |
imp |
As disclosed to arch@, make more interfaces standard. This allows for easier loading of modules that might refer to these interfaces. None of the code that implements them is standard, just the glue. This bloats the kernel a whopping 8k.
Silence on: arch@
|
#
98402 |
|
18-Jun-2002 |
julian |
A node that creates a device entry in /dev (yay devfs) so that /dev/mumble can be the entrypoint to some networking graph, e.g. a tunnel or a remote tape drive or whatever...
Not fully tested (by me) yet.
Submitted by: Mark Santcroos <marks@ripe.net> MFC after: 3 weeks
|
#
98325 |
|
17-Jun-2002 |
jhay |
sppp needs slcompress.c nowadays.
PR: 39369
|
#
98193 |
|
13-Jun-2002 |
rwatson |
kern_cap.c no longer needed.
|
#
98155 |
|
13-Jun-2002 |
brooks |
Remote pci.h/NPCI usage from i4b code.
Approved by: hm
|
#
98099 |
|
10-Jun-2002 |
phk |
Put geom_gpt.c under the GEOM option instead of having a special GEOM_GPT option for it.
|
#
97983 |
|
07-Jun-2002 |
mdodd |
'device hea' is no longer broken. Add 'nowerror' to a few 'hea' files to ignore warnings on volatiles.
|
#
97937 |
|
06-Jun-2002 |
gibbs |
Hook up the ahd driver.
|
#
97760 |
|
03-Jun-2002 |
mdodd |
Add new 'hea' driver files.
|
#
97613 |
|
30-May-2002 |
takawata |
Make oldcard and newcard kernel module work.
|
#
97522 |
|
29-May-2002 |
obrien |
PHK claims there is a crc32.c now.
|
#
97520 |
|
29-May-2002 |
obrien |
Back out revision 1.639. PHK filed to commit the libkern file.
|
#
97512 |
|
29-May-2002 |
phk |
Add one copy of crc32() and crc32_tab[] in libkern, and remove it two other places.
Comment out crc32 related definitions in zlib.h, we don't seem to have the corresponding code in our kernel.
|
#
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.
|
#
97372 |
|
28-May-2002 |
marcel |
Add uuidgen(2) and uuidgen(1).
The uuidgen command, by means of the uuidgen syscall, generates one or more Universally Unique Identifiers compatible with OSF/DCE 1.1 version 1 UUIDs.
From the Perforce logs (change 11995):
Round of cleanups: o Give uuidgen() the correct prototype in syscalls.master o Define struct uuid according to DCE 1.1 in sys/uuid.h o Use struct uuid instead of uuid_t. The latter is defined in sys/uuid.h but should not be used in kernel land. o Add snprintf_uuid(), printf_uuid() and sbuf_printf_uuid() to kern_uuid.c for use in the kernel (currently geom_gpt.c). o Rename the non-standard struct uuid in kern/kern_uuid.c to struct uuid_private and give it a slightly better definition for better byte-order handling. See below. o In sys/gpt.h, fix the broken uuid definitions to match the now compliant struct uuid definition. See below. o In usr.bin/uuidgen/uuidgen.c catch up with struct uuid change.
A note about byte-order: The standard failed to provide a non-conflicting and unambiguous definition for the binary representation. My initial implementation always wrote the timestamp as a 64-bit little-endian (2s-complement) integral. The clock sequence was always written as a 16-bit big-endian (2s-complement) integral. After a good nights sleep and couple of Pan Galactic Gargle Blasters (not necessarily in that order :-) I reread the spec and came to the conclusion that the time fields are always written in the native by order, provided the the low, mid and hi chopping still occurs. The spec mentions that you "might need to swap bytes if you talk to a machine that has a different byte-order". The clock sequence is always written in big-endian order (as is the IEEE 802 address) because its division is resulting in bytes, making the ordering unambiguous.
|
#
97318 |
|
26-May-2002 |
phk |
Add a proof-of-concept encryption class.
"The only hard problem in cryptography is key-management."
All sectors are encrypted with AES in CBC mode using a constant key, currently compiled in and all zero.
To activate this module, write the magic header on the partition:
echo "<<FreeBSD-GEOM-AES>>" | dd conv=sync of=/dev/md98
The encrypted device will be one sector shorter and have ".aes" appended to its name.
Sponsored by: DARPA & NAI Labs.
|
#
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
|
#
96754 |
|
16-May-2002 |
iedowse |
The ufs/ffs files are no longer required by ext2fs.
|
#
96749 |
|
16-May-2002 |
iedowse |
Complete the separation of ext2fs from ufs by copying the remaining shared code and converting all ufs references. Originally it may have made sense to share common features between the two filesystems, but recently it has only caused problems, the UFS2 work being the final straw.
All UFS_* indirect calls are now direct calls to ext2_* functions, and ext2fs-specific mount and inode structures have been introduced.
|
#
96155 |
|
07-May-2002 |
bde |
Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It doesn't actually build yet.
|
#
95771 |
|
30-Apr-2002 |
jeff |
Add a new UMA debugging facility. This will overwrite freed memory with 0xdeadc0de and then check for it just before memory is handed off as part of a new request. This will catch any post free/pre alloc modification of memory, as well as introduce errors for anything that tries to dereference it as a pointer.
This code takes the form of special init, fini, ctor and dtor routines that are specificly used by malloc. It is in a seperate file because additional debugging aids will want to live here as well.
|
#
95607 |
|
28-Apr-2002 |
anholt |
Hook the DRM up to the build and add it to NOTES.
Approved by: des
|
#
95536 |
|
26-Apr-2002 |
scottl |
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface to the arrays is still via the block interface; this merely provides a way to circumvent the RAID functionality and access the SCSI buses directly. Note that for somewhat obvious reasons, hard drives are not exposed to the da driver through this interface, though you can still talk to them via the pass driver. Be the first on your block to low-level format unsuspecting drives that are part of an array!
To enable this, add the 'aacp' device to your kernel config.
MFC after: 3 days
|
#
95379 |
|
24-Apr-2002 |
gibbs |
aic7xxx_freebsd.c -> aic7xxx_osm.c
|
#
95075 |
|
19-Apr-2002 |
semenu |
Move tx(4) driver to sys/dev/tx. BTW split hardware structures and constants into if_txreg.h.
MFC after: 1 week
|
#
94898 |
|
16-Apr-2002 |
mdodd |
- Convert the 'hfa' ATM interface driver to newbus. - Add stubs for EISA and SBUS cards. (VME, FutureBUS, and TurboChannel stubs not provided.) - Add infrastructure to build driver and bus front-end modules.
|
#
94870 |
|
16-Apr-2002 |
julian |
Add entry for the myson ethernet driver
Submitted by: Myson , Taiwan
|
#
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
|
#
94492 |
|
12-Apr-2002 |
imp |
Forgot to commit this when I committed the rest of the hostap stuff.
|
#
94250 |
|
08-Apr-2002 |
jake |
Add the se driver.
|
#
93836 |
|
04-Apr-2002 |
tmm |
Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 time-of-day clocks, ported from NetBSD. The front-ends are expected to be at least partly machine-dependent; the sparc64 EBus and SBus ones will be commited to MD directories for now (in a subsequent commit).
|
#
93835 |
|
04-Apr-2002 |
tmm |
Add a generic implementation of inittodr() and resettodr(), as well as a set of helper routines to deal with real-time clocks. The generic functions access the clock diver using a kobj interface. This is intended to reduce code reduplication and make it easy to support more than one clock model on a single architecture.
This code is currently only used on sparc64, but it is planned to convert the code of the other architectures to it later.
|
#
93612 |
|
02-Apr-2002 |
imp |
Add if_wi_{pccard,pci}.c for pccard and pci bus front ends
|
#
93445 |
|
30-Mar-2002 |
mdodd |
Don't nowerror for sys/dev/pdq/pdq.c
|
#
93354 |
|
28-Mar-2002 |
phk |
Add preliminary PC98 class to GEOM.
I have not been able to find very much information about the PC98 extended partition layout so this is gleaned from the source in our pc98 architecture. Corrections and patched very welcome.
Sponsored by: DARPA and NAI Labs.
|
#
93090 |
|
24-Mar-2002 |
phk |
Be more systematic about conversion of on-disk formats in a endian/width agnostic way.
Collapse the MBR and MBREXT methods into one file and make them endian/width agnostic.
Sponsored by: DARPA & NAI Labs.
|
#
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
|
#
92654 |
|
19-Mar-2002 |
jeff |
This is the first part of the new kernel memory allocator. This replaces malloc(9) and vm_zone with a slab like allocator.
Reviewed by: arch@
|
#
92603 |
|
18-Mar-2002 |
joe |
Add a USB comm driver.
Ported from NetBSD by: akiyama
|
#
92372 |
|
15-Mar-2002 |
phk |
Teach GEOM about Sun disklabel formats.
The detection code in this method is written so that it should work on all architectures which means that you can plug a Sun disk into a i386 now and access the partitions.
We still need an endian-agnostic ufs/ffs before this is really interresting, but the main focus was to get sparc64 onto the GEOM trail.
|
#
92077 |
|
11-Mar-2002 |
phk |
Add GEOM to conf/files.
|
#
91677 |
|
05-Mar-2002 |
tanimura |
Add sys/dev/ufm.c.
Forgotten by: alfred Spotted by: LINT
|
#
91671 |
|
05-Mar-2002 |
ume |
- Speedup 3DES by using assembly code for i386. - Sync des/blowfish to more recent openssl.
Obtained from: KAME/NetBSD MFC after: 2 weeks
|
#
91640 |
|
04-Mar-2002 |
iwasaki |
Add generalized power profile code. This makes other power-management system (APM for now) to be able to generate power profile change events (ie. AC-line status changes), and other kernel components, not only the ACPI components, can be notified the events.
- move subroutines in acpi_powerprofile.c (removed) to kern/subr_power.c - call power_profile_set_state() also from APM driver when AC-line status changes - add call-back function for Crusoe LongRun controlling on power profile changes for a example
|
#
91447 |
|
27-Feb-2002 |
peter |
Tag if_ie.c, isp.c and isp_pci.c as nowerror (qualifier problems, and third party code)
|
#
91440 |
|
27-Feb-2002 |
peter |
Mark a few more broken pci drivers as nowerror.
|
#
91399 |
|
27-Feb-2002 |
tmm |
Add gem and hme.
|
#
91253 |
|
25-Feb-2002 |
peter |
Add 'nowerror' to the vendor acpica code that spews out warnings.
|
#
90966 |
|
20-Feb-2002 |
shiba |
NEWCARD support for xe.
Reviewed by: imp
|
#
90819 |
|
17-Feb-2002 |
rwatson |
Add a 'strvalid()' call to libkern. Given a character pointer, and buffer length, determine if the pointer is to a valid string. Currently, the only check is whether a '\0' appears in the buffer. This is useful when pulling in a structure from userland that may contain one or more strings, and validity testing must be performed on elements of the structure. When copying normal string arguments, copyinstr() is expected to be used.
|
#
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
|
#
89950 |
|
29-Jan-2002 |
imp |
pccbb needs exca now.
|
#
89916 |
|
28-Jan-2002 |
sos |
Enable pccard support.
|
#
89580 |
|
20-Jan-2002 |
msmith |
Add the 'iir' driver, for the Intel Integrated RAID controllers and prior ICP Vortex models. This driver was developed by Achim Leubner of Intel (previously with ICP Vortex) and Boji Kannanthanam of Intel.
Submitted by: "Kannanthanam, Boji T" <boji.t.kannanthanam@intel.com> MFC after: 2 weeks
|
#
89099 |
|
08-Jan-2002 |
fjoe |
- generic Arcnet framework - device driver for SMC COM90cx6 Arcnet network adapters
Obtained from: NetBSD
|
#
88869 |
|
03-Jan-2002 |
tanimura |
- Provide toggles to show debug messages. Set new sysctl variables hw.midi.debug and hw.midi.seq.debug to 1 to enable debug log.
- Make debug messages human-frendly.
- Implement /dev/music.
- Add a timer engine required by /dev/music.
- Fix nonblocking I/O.
- Fix the numbering of midi and synth devices.
|
#
88806 |
|
02-Jan-2002 |
gj |
i4bisppp also needs net/if_spppsubr.c.
MFC after: 1 month
|
#
88713 |
|
30-Dec-2001 |
joerg |
Remove references to i4b/driver/i4b_ispppsubr.c, now that net/if_spppsubr.c has all its features.
Hooray, it's gone!
MFC after: 1 month
|
#
88633 |
|
29-Dec-2001 |
alfred |
Make AIO a loadable module.
Remove the explicit call to aio_proc_rundown() from exit1(), instead AIO will use at_exit(9).
Add functions at_exec(9), rm_at_exec(9) which function nearly the same as at_exec(9) and rm_at_exec(9), these functions are called on behalf of modules at the time of execve(2) after the image activator has run.
Use a modified version of tegge's suggestion via at_exec(9) to close an exploitable race in AIO.
Fix SYSCALL_MODULE_HELPER such that it's archetecuterally neutral, the problem was that one had to pass it a paramater indicating the number of arguments which were actually the number of "int". Fix it by using an inline version of the AS macro against the syscall arguments. (AS should be available globally but we'll get to that later.)
Add a primative system for dynamically adding kqueue ops, it's really not as sophisticated as it should be, but I'll discuss with jlemon when he's around.
|
#
87474 |
|
06-Dec-2001 |
imp |
Back out my "joy" change. It was really the for some uncommitted ata code I have.
|
#
87467 |
|
06-Dec-2001 |
peter |
Part 2 of previous commit. Add joy_isa.c and joy_pccard.c.
Submitted by: jhb
|
#
87452 |
|
06-Dec-2001 |
peter |
Somebody moved joy.c from isa/ to dev/joy/ without updating conf/files.
Pointy-hat to: imp
|
#
87435 |
|
06-Dec-2001 |
imp |
The pccard/cardbus power interface should depend on having pccard or cardbus in the kernel, not on all the bridges that implement it. Note: this is NEWCARD only, so we don't want it for the 'card' case, unlike card_if.m, which is both NEWCARD and OLDCARD.
|
#
87386 |
|
05-Dec-2001 |
imp |
Move joy from isa to dev/joy.
|
#
87321 |
|
03-Dec-2001 |
des |
Pseudofsize procfs(5).
|
#
87011 |
|
27-Nov-2001 |
msmith |
Add the 'ciss' driver, which supports the Compaq SmartRAID 5* family of RAID controllers (5300, 532, 5i, etc.)
Thanks to Compaq and Yahoo! for support during the development of this driver.
MFC after: 1 week
|
#
86764 |
|
22-Nov-2001 |
jlemon |
Introduce a syncache, which enables FreeBSD to withstand a SYN flood DoS in an improved fashion over the existing code.
Reviewed by: silby (in a previous iteration) Sponsored by: DARPA, NAI Labs
|
#
86383 |
|
15-Nov-2001 |
imp |
newcard support for an, from pr 24854
|
#
86333 |
|
13-Nov-2001 |
dillon |
Create a mutex pool API for short term leaf mutexes. Replace the manual mutex pool in kern_lock.c (lockmgr locks) with the new API. Replace the mutexes embedded in sxlocks with the new API.
|
#
86133 |
|
06-Nov-2001 |
iwasaki |
Add S4BIOS sleep (BIOS hibernation) and DSDT overriding support. - Add S4BIOS sleep implementation. This will works well if MIB hw.acpi.s4bios is set (and of course BIOS supports it and hibernation is enabled correctly). - Add DSDT overriding support which is submitted by takawata originally. If loader tunable acpi_dsdt_load="YES" and DSDT file is set to acpi_dsdt_name (default DSDT file name is /boot/acpi_dsdt.aml), ACPI CA core loads DSDT from given file rather than BIOS memory block. DSDT file can be generated by iasl in ports/devel/acpicatools/. - Add new files so that we can add our proposed additional code to Intel ACPI CA into these files temporary. They will be removed when similar code is added into ACPI CA officially.
|
#
86106 |
|
05-Nov-2001 |
phk |
3.5 years ago Wollman wrote: "[...] and removes the hostcache code from standard kernels---the code that depends on it is not going to happen any time soon, I'm afraid." Time to clean up.
|
#
85835 |
|
01-Nov-2001 |
iwasaki |
Some fix for the recent apm module changes. - Now that apm loadable module can inform its existence to other kernel components (e.g. i386/isa/clock.c:startrtclock()'s TCS hack). - Exchange priority of SI_SUB_CPU and SI_SUB_KLD for above purpose. - Add simple arbitration mechanism for APM vs. ACPI. This prevents the kernel enables both of them. - Remove obsolete `#ifdef DEV_APM' related code. - Add abstracted interface for Powermanagement operations. Public apm(4) functions, such as apm_suspend(), should be replaced new interfaces. Currently only power_pm_suspend (successor of apm_suspend) is implemented.
Reviewed by: peter, arch@ and audit@
|
#
85760 |
|
31-Oct-2001 |
msmith |
Update to reflect files added/removed with the 20011018 ACPI CA update.
|
#
85255 |
|
20-Oct-2001 |
mjacob |
Remove wx.
|
#
85133 |
|
19-Oct-2001 |
jlemon |
Add entry for the PRO/1000.
|
#
84637 |
|
07-Oct-2001 |
des |
Dissociate ptrace from procfs.
Until now, the ptrace syscall was implemented as a wrapper that called various functions in procfs depending on which ptrace operation was requested. Most of these functions were themselves wrappers around procfs_{read,write}_{,db,fp}regs(), with only some extra error checks, which weren't necessary in the ptrace case anyway.
This commit moves procfs_rwmem() from procfs_mem.c into sys_process.c (renaming it to proc_rwmem() in the process), and implements ptrace() directly in terms of procfs_{read,write}_{,db,fp}regs() instead of having it fake up a struct uio and then call procfs_do{,db,fp}regs().
It also moves the prototypes for procfs_{read,write}_{,db,fp}regs() and proc_rwmem() from proc.h to ptrace.h, and marks all procfs files except procfs_machdep.c as "optional procfs" instead of "standard".
|
#
84498 |
|
04-Oct-2001 |
msmith |
Update to reflect one file added, one removed.
|
#
84059 |
|
27-Sep-2001 |
wpaul |
Add device driver support for the Broadcom BCM570x family of gigabit ethernet controllers. This adds support for the 3Com 3c996-T, the SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on Dell PowerEdge 2550 servers. The latter configuration hauls ass: preliminary measurements show TCP speeds of over 900Mbps using only normal size frames.
TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping are supported, as well as interrupt moderation.
Still need to fix autonegotiation support for 1000baseSX NICs, but beyond that, driver is pretty solid.
|
#
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
|
#
83996 |
|
26-Sep-2001 |
brooks |
The number of ccd(4) devices is no longer set at compile time so stop trying to do it in the examples and config files.
|
#
83934 |
|
25-Sep-2001 |
brooks |
Make faith loadable, unloadable, and clonable.
|
#
83651 |
|
18-Sep-2001 |
peter |
Cleanup and split of nfs client and server code. This builds on the top of several repo-copies.
|
#
83553 |
|
16-Sep-2001 |
murray |
SMBus support for the AMD 756 power management unit. See smbus(4), amdpm(4) and smb(4).
This device can be used with userland programs such as sysutils/lmmon to retrieve sensor information from the motherboard.
PR: kern/23989 Obtained from: Matthew C. Forman <mcf@dmu.ac.uk> Based on: alpm(4)
|
#
83179 |
|
07-Sep-2001 |
msmith |
Move OsdEnvironment.c into MD code; searching for the ACPI tables is not portable.
|
#
83124 |
|
05-Sep-2001 |
brooks |
vlan.h is obsolete, don't create it anymore.
|
#
82780 |
|
02-Sep-2001 |
shiba |
Make the fe driver to compile in default under a NEWCARD kernel.
Reviewed by: imp
|
#
82623 |
|
31-Aug-2001 |
jlemon |
Remove already commented out entry for pci/fxp.c
|
#
82577 |
|
30-Aug-2001 |
msmith |
ACPI no longer has an ISA attachment.
|
#
82251 |
|
23-Aug-2001 |
nsayer |
if_wi can be either pci (without pccard) or pccard
|
#
81876 |
|
18-Aug-2001 |
peter |
Only compile the ufs components if FFS || IFS || EXT2FS are present, not unconditionally.
|
#
81645 |
|
14-Aug-2001 |
jasone |
Implement kernel semaphores.
Reviewed by: jhb
|
#
81322 |
|
08-Aug-2001 |
peter |
repo-copy the source files from modules/syscons to the normal tree and connect them to the normal build infrastructure.
|
#
80419 |
|
26-Jul-2001 |
peter |
param.c no longer gets special treatment. Use the source tree version.
|
#
80322 |
|
25-Jul-2001 |
dd |
sys/kern/tty_snoop.c is now sys/dev/snp/snp.c.
Repo-copy by: jdp
|
#
80306 |
|
24-Jul-2001 |
brooks |
Allow ng_split to be compiled in staticly.
MFC after: 7 weeks
|
#
80219 |
|
23-Jul-2001 |
wpaul |
You were knocked senseless by the Boomerang, spun around by the Cyclone, blown over by the Hurricane and had a house dropped on you by the Tornado. Now it's time to have your parade rained on by... the Typhoon!
This commit adds driver support for 3Com 3cR990 10/100 ethernet adapters based on the Typhoon I and Typhoon II chipsets. This is actually a port of the OpenBSD driver with many hacks by me.
No Virginia, there isn't any support for the hardware crypto yet. However there is support for TCP/IP checksum offload and VLANs.
Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for squeezing enough info out of 3Com to get this written, and for doing most of the hard work.
Manual page is included. Compiled as a module and included in GENERIC.
|
#
79709 |
|
14-Jul-2001 |
peter |
Move the hints gunk to a seperate file. It isn't really part of the newbus structure (no more than subr_rman.c is anyway).
|
#
79695 |
|
13-Jul-2001 |
msmith |
Merge with latest version of the Mylex 6+ driver.
- All sources are built in a single object, reducing namespace pollution. - Kill the ready queue, and handle a busy response to mly_start in callers rather than deferring the command. - Improve our interaction with CAM: - Don't advertise physical channels as SCSI busses by default. - use the SIM queue freeze capability rather than queueing CDBs internally. - force bus reprobe at module load time. - Clean up more resources in mly_free. - Tidy up debugging levels. - Tidy up handling of events (mostly just code cleanliness). - Use explanatory macros for operations on bus/target/channel numbers.
|
#
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
|
#
79408 |
|
07-Jul-2001 |
msmith |
Nuke the ACPI APIC driver. The ACPI CA infrastructure it depended on is gone, and it's not coming back, and the whole driver needed to be rethrought to deal with a major chicken-and-egg consideration.
|
#
79388 |
|
07-Jul-2001 |
msmith |
Kill the old processor driver; the ACPI CA functions it depended on are not coming back any time soon. Implement a new 'acpi_cpu' driver with support for CPU throttling and power policies.
|
#
79373 |
|
06-Jul-2001 |
msmith |
Add acpi_powerprofile.c
|
#
79282 |
|
05-Jul-2001 |
msmith |
Add a new helper function for finding resources in resource buffers.
Move the ACPI generic battery code into a new file.
|
#
79265 |
|
04-Jul-2001 |
dillon |
Move vm_page_zero_idle() from machine-dependant sections to a machine-independant source file, vm/vm_zeroidle.c. It was exactly the same for all platforms and updating them all was getting annoying.
|
#
79263 |
|
04-Jul-2001 |
dillon |
Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). Also removed some spl's and added some VM mutexes, but they are not actually used yet, so this commit does not really make any operational changes to the system.
vm_page.c relates to vm_page_t manipulation, including high level deactivation, activation, etc... vm_pageq.c relates to finding free pages and aquiring exclusive access to a page queue (exclusivity part not yet implemented). And the world still builds... :-)
|
#
79207 |
|
04-Jul-2001 |
nyan |
- Don't overwrite inb, inw and outw. - Move the lance_probe function to if_lnc.c. - Support C-NET(98)S again.
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata) and nyan No response from: Paul Richards
|
#
79106 |
|
02-Jul-2001 |
brooks |
gif(4) and stf(4) modernization:
- Remove gif dependencies from stf. - Make gif and stf into modules - Make gif cloneable.
PR: kern/27983 Reviewed by: ru, ume Obtained from: NetBSD MFC after: 1 week
|
#
79080 |
|
02-Jul-2001 |
imp |
Move wl driver to dev/wl. Repo copied to dev/wl, the old copies removed and a minimal number of changes to make it compile in the new location.
# I have a fully converted on a disk that may be crashed. If it is # crashed, I'll redo the work.
|
#
79047 |
|
01-Jul-2001 |
cg |
intel ich/ich2 driver - this needs some work but is functional enough for the impatient.
Hardware... Provided by: ps Lost by: <censored> Found by: <censored> Not delivered by: Ashley Penney <ashp@unloved.org> Retrieved by: greid, Andrew McKay <andy@openirc.co.uk> Delivered by: Andrew McKay <andy@openirc.co.uk>
PR: kern/25507 Submitted by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
|
#
78983 |
|
29-Jun-2001 |
jhb |
Move ast() and userret() to sys/kern/subr_trap.c now that they are MI.
|
#
78928 |
|
28-Jun-2001 |
jhb |
Add acpi_powerres.c to fix the acpi build.
Pointy-hat to: msmith
|
#
78897 |
|
27-Jun-2001 |
brian |
Remove dgm
|
#
78592 |
|
22-Jun-2001 |
bmilekic |
Introduce numerous SMP friendly changes to the mbuf allocator. Namely, introduce a modified allocation mechanism for mbufs and mbuf clusters; one which can scale under SMP and which offers the possibility of resource reclamation to be implemented in the future. Notable advantages:
o Reduce contention for SMP by offering per-CPU pools and locks. o Better use of data cache due to per-CPU pools. o Much less code cache pollution due to excessively large allocation macros. o Framework for `grouping' objects from same page together so as to be able to possibly free wired-down pages back to the system if they are no longer needed by the network stacks.
Additional things changed with this addition:
- Moved some mbuf specific declarations and initializations from sys/conf/param.c into mbuf-specific code where they belong. - m_getclr() has been renamed to m_get_clrd() because the old name is really confusing. m_getclr() HAS been preserved though and is defined to the new name. No tree sweep has been done "to change the interface," as the old name will continue to be supported and is not depracated. The change was merely done because m_getclr() sounds too much like "m_get a cluster." - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and systat(1) (see TODO below). - Fixed systat(1) to display number of "free mbufs" based on new per-CPU stat structures. - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported per-CPU stat structures. All infos are fetched via sysctl.
TODO (in order of priority):
- Re-enable mbtypes statistics in both netstat(1) and systat(1) after introducing an SMP friendly way to collect the mbtypes stats under the already introduced per-CPU locks (i.e. hopefully don't use atomic() - it seems too costly for a mere stat update, especially when other locks are already present). - Optionally have systat(1) display not only "total free mbufs" but also "total free mbufs per CPU pool." - Fix minor length-fetching issues in netstat(1) related to recently re-enabled option to read mbuf stats from a core file. - Move reference counters at least for mbuf clusters into an unused portion of the cluster itself, to save space and need to allocate a counter. - Look into introducing resource freeing possibly from a kproc.
Reviewed by (in parts): jlemon, jake, silby, terry Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha) Preliminary performance measurements: jlemon (and me, obviously) URL: http://people.freebsd.org/~bmilekic/mb_alloc/
|
#
78064 |
|
11-Jun-2001 |
ume |
Sync with recent KAME. This work was based on kame-20010528-freebsd43-snap.tgz and some critical problem after the snap was out were fixed. There are many many changes since last KAME merge.
TODO: - The definitions of SADB_* in sys/net/pfkeyv2.h are still different from RFC2407/IANA assignment because of binary compatibility issue. It should be fixed under 5-CURRENT. - ip6po_m member of struct ip6_pktopts is no longer used. But, it is still there because of binary compatibility issue. It should be removed under 5-CURRENT.
Reviewed by: itojun Obtained from: KAME MFC after: 3 weeks
|
#
78061 |
|
11-Jun-2001 |
des |
Add pseudofs and the new linprocfs here.
|
#
77883 |
|
07-Jun-2001 |
cg |
enable vchan compilation
|
#
77854 |
|
07-Jun-2001 |
jlemon |
Relocate IPFilter from sys/netinet to sys/contrib/ipfilter.
|
#
77745 |
|
05-Jun-2001 |
imp |
Only build i82365_isa attachment when we have isa bus.
|
#
77596 |
|
01-Jun-2001 |
imp |
The orm device. This device gobbles up the Option ROMs in the ISA memory I/O space. Otherwise, our resource allocation system might mistakenly assign pccard, plug and play devices or other things addresses that conflict with ROMs.
I cleaned up his code a little from the submited driver: style(9) issues, commentary on why something that looks incorrect really is correct. Also noted that while a checksum field is defined for the ROMs, enough common hardware neglects it to make it not worthwhile checking.
Submitted by: Nikolai Saoukh <nms@otdel-1.org> PR: 22078
|
#
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
|
#
77569 |
|
01-Jun-2001 |
imp |
Change plxic to plxcard, per phk. He thnks plxic is too generic a name. I didn't do repo magic because this is so new.
|
#
77542 |
|
31-May-2001 |
wpaul |
Add device driver support for the Level 1 LXT1001 NetCellerator gigabit ethernet controller chip. This device is used on some fiber optic gigE cards from SMC, D-Link and Addtron. Jumbograms and TCP/IP checksum offload on receive are supported. Hardware VLAN filtering is not, because it doesn't play well with our existing VLAN code. Also add manual page.
There is a 4.x version of this driver available at http://www.freebsd.org/~wpaul/Level1/4.x if anyone feels adventurous and wants to test it. I still need to do performance testing and tuning with this device.
(For my next trick, I will make the 3Com 3cR990 sit up and beg.)
|
#
77536 |
|
31-May-2001 |
imp |
plxic device
|
#
77430 |
|
29-May-2001 |
msmith |
New files and layout for the ACPI CA 20010518 update.
|
#
77416 |
|
29-May-2001 |
phk |
Remove MFS from configs idea of the world.
|
#
77223 |
|
26-May-2001 |
ru |
- sys/n[tw]fs moved to sys/fs/n[tw]fs - /usr/include/n[tw]fs moved to /usr/include/fs/n[tw]fs
|
#
77164 |
|
25-May-2001 |
hm |
Submitted by: Juha-Matti Liukkonen (Cubical Solutions Ltd) (jml@cubical.fi)
Add a CAPI (hardware independent) driver i4bcapi(4) and hardware driver iavc (4) to support active CAPI-based BRI and PRI cards (currently AVM B1 and T1 cards) to isdn4bsd.
|
#
77162 |
|
25-May-2001 |
ru |
- sys/msdosfs moved to sys/fs/msdosfs - msdos.ko renamed to msdosfs.ko - /usr/include/msdosfs moved to /usr/include/fs/msdosfs
|
#
77112 |
|
24-May-2001 |
peter |
Produce a config-time warning about EXT2FS and GPL_MATH_EMULATE
|
#
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.
|
#
76669 |
|
16-May-2001 |
imp |
Separate out isa attachment to its own file. The pci attachment will soon attach directly to pcic rather than the kludge pci-pcic device we have now.
In some ways, this is similar to the work PAO3 did to try to support cardbus bridges. In some ways different. This and future commits will be taking from the spirit of many of those changes. pcicvar.h is completely different from the pcicvar.h that appeared in PAO3, but similar in concept.
|
#
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.
|
#
76539 |
|
12-May-2001 |
imp |
I'll be making some rather substantial changes to the pci attachment of the pcic class of devices. Go ahead and move it to the "usual" place. I say "usual" in quotes since it isn't exactly right (not in dev/blah), but it is closer than before.
|
#
76479 |
|
11-May-2001 |
wpaul |
Add support for gigabit ethernet cards based on the NatSemi DP83820 and DP83821 gigabit ethernet MAC chips and the NatSemi DP83861 10/100/1000 copper PHY. There are a whole bunch of very low cost cards available with this chipset selling for $150USD or less. This includes the SMC9462TX, D-Link DGE-500T, Asante GigaNIX 1000TA and 1000TPC, and a couple cards from Addtron.
This chip supports TCP/IP checksum offload, VLAN tagging/insertion. 2048-bit multicast filter, jumbograms and has 8K TX and 32K RX FIFOs. I have not done serious performance testing with this driver. I know it works, and I want it under CVS control so I can keep tabs on it. Note that there's no serious mutex stuff in here yet either: I need to talk more with jhb to figure out the right way to do this. That said, I don't think there will be any problems.
This driver should also work on the alpha. It's not turned on in GENERIC.
|
#
76440 |
|
10-May-2001 |
jhb |
- Split out the support for per-CPU data from the SMP code. UP kernels have per-CPU data and gdb on the i386 at least needs access to it. - Clean up includes in kern_idle.c and subr_smp.c.
Reviewed by: jake
|
#
76195 |
|
01-May-2001 |
brian |
Add a ``digi'' driver.
This driver supports PCI Xr-based and ISA Xem Digiboard cards. dgm will go away soon if there are no problems reported. For now, configuring dgm into your kernel warns that you should be using digi. This driver is probably close to supporting Xi, Xe and Xeve cards, but I wouldn't expect them to work properly (hardware donations welcome).
The digi_* pseudo-drivers are not drivers themselves but contain the BIOS and FEP/OS binaries for various digiboard cards and are auto-loaded and auto-unloaded by the digi driver at initialisation time. They *may* be configured into the kernel, but waste a lot of space if they are. They're intended to be left as modules.
The digictl program is (mainly) used to re-initialise cards that have external port modules attached such as the PC/Xem.
|
#
76078 |
|
27-Apr-2001 |
jhb |
Overhaul of the SMP code. Several portions of the SMP kernel support have been made machine independent and various other adjustments have been made to support Alpha SMP.
- It splits the per-process portions of hardclock() and statclock() off into hardclock_process() and statclock_process() respectively. hardclock() and statclock() call the *_process() functions for the current process so that UP systems will run as before. For SMP systems, it is simply necessary to ensure that all other processors execute the *_process() functions when the main clock functions are triggered on one CPU by an interrupt. For the alpha 4100, clock interrupts are delievered in a staggered broadcast fashion, so we simply call hardclock/statclock on the boot CPU and call the *_process() functions on the secondaries. For x86, we call statclock and hardclock as usual and then call forward_hardclock/statclock in the MD code to send an IPI to cause the AP's to execute forwared_hardclock/statclock which then call the *_process() functions. - forward_signal() and forward_roundrobin() have been reworked to be MI and to involve less hackery. Now the cpu doing the forward sets any flags, etc. and sends a very simple IPI_AST to the other cpu(s). AST IPIs now just basically return so that they can execute ast() and don't bother with setting the astpending or needresched flags themselves. This also removes the loop in forward_signal() as sched_lock closes the race condition that the loop worked around. - need_resched(), resched_wanted() and clear_resched() have been changed to take a process to act on rather than assuming curproc so that they can be used to implement forward_roundrobin() as described above. - Various other SMP variables have been moved to a MI subr_smp.c and a new header sys/smp.h declares MI SMP variables and API's. The IPI API's from machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h. - The globaldata_register() and globaldata_find() functions as well as the SLIST of globaldata structures has become MI and moved into subr_smp.c. Also, the globaldata list is only available if SMP support is compiled in.
Reviewed by: jake, peter Looked over by: eivind
|
#
76051 |
|
26-Apr-2001 |
phk |
vfs_subr.c is getting rather fat. The underlying repocopy and this commit moves the filesystem export handling code to vfs_export.c
|
#
75885 |
|
23-Apr-2001 |
orion |
Initial version of Avance Logic ALS4000 pcm driver.
|
#
75631 |
|
17-Apr-2001 |
alfred |
Implement client side NFS locks.
Obtained from: BSD/os Import Ok'd by: mckusick, jkh, motd on builder.freebsd.org
|
#
75353 |
|
09-Apr-2001 |
mjacob |
Add Marvell PHY support for 10/100/1000 LIVENGOOD_CU Intel NIC. Parag Patel did all of the grunt work, so he gets the credit. Register definitions and actions inferred from a Linux driver, so Intel also gets some 'credit'.
|
#
75335 |
|
09-Apr-2001 |
cg |
enable the rate conversion feeder.
the main benefit this gives for now is that via686 audio devices on motherboards with ac97 codecs that do not support vra will be able to use sample rates other than 48khz.
|
#
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
|
#
74912 |
|
28-Mar-2001 |
jhb |
Rework the witness code to work with sx locks as well as mutexes. - Introduce lock classes and lock objects. Each lock class specifies a name and set of flags (or properties) shared by all locks of a given type. Currently there are three lock classes: spin mutexes, sleep mutexes, and sx locks. A lock object specifies properties of an additional lock along with a lock name and all of the extra stuff needed to make witness work with a given lock. This abstract lock stuff is defined in sys/lock.h. The lockmgr constants, types, and prototypes have been moved to sys/lockmgr.h. For temporary backwards compatability, sys/lock.h includes sys/lockmgr.h. - Replace proc->p_spinlocks with a per-CPU list, PCPU(spinlocks), of spin locks held. By making this per-cpu, we do not have to jump through magic hoops to deal with sched_lock changing ownership during context switches. - Replace proc->p_heldmtx, formerly a list of held sleep mutexes, with proc->p_sleeplocks, which is a list of held sleep locks including sleep mutexes and sx locks. - Add helper macros for logging lock events via the KTR_LOCK KTR logging level so that the log messages are consistent. - Add some new flags that can be passed to mtx_init(): - MTX_NOWITNESS - specifies that this lock should be ignored by witness. This is used for the mutex that blocks a sx lock for example. - MTX_QUIET - this is not new, but you can pass this to mtx_init() now and no events will be logged for this lock, so that one doesn't have to change all the individual mtx_lock/unlock() operations. - All lock objects maintain an initialized flag. Use this flag to export a mtx_initialized() macro that can be safely called from drivers. Also, we on longer walk the all_mtx list if MUTEX_DEBUG is defined as witness performs the corresponding checks using the initialized flag. - The lock order reversal messages have been improved to output slightly more accurate file and line numbers.
|
#
74840 |
|
27-Mar-2001 |
ken |
Rewrite of the CAM error recovery code.
Some of the major changes include:
- The SCSI error handling portion of cam_periph_error() has been broken out into a number of subfunctions to better modularize the code that handles the hierarchy of SCSI errors. As a result, the code is now much easier to read.
- String handling and error printing has been significantly revamped. We now use sbufs to do string formatting instead of using printfs (for the kernel) and snprintf/strncat (for userland) as before.
There is a new catchall error printing routine, cam_error_print() and its string-based counterpart, cam_error_string() that allow the kernel and userland applications to pass in a CCB and have errors printed out properly, whether or not they're SCSI errors. Among other things, this helped eliminate a fair amount of duplicate code in camcontrol.
We now print out more information than before, including the CAM status and SCSI status and the error recovery action taken to remedy the problem.
- sbufs are now available in userland, via libsbuf. This change was necessary since most of the error printing code is shared between libcam and the kernel.
- A new transfer settings interface is included in this checkin. This code is #ifdef'ed out, and is primarily intended to aid discussion with HBA driver authors on the final form the interface should take. There is example code in the ahc(4) driver that implements the HBA driver side of the new interface. The new transfer settings code won't be enabled until we're ready to switch all HBA drivers over to the new interface.
src/Makefile.inc1, lib/Makefile: Add libsbuf. It must be built before libcam, since libcam uses sbuf routines.
libcam/Makefile: libcam now depends on libsbuf.
libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the sbuf sources from sys/kern.
bsd.libnames.mk: Add LIBSBUF.
camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically linked, we can't depend on the dynamic linker to pull in libsbuf.
camcontrol.c: Use cam_error_print() instead of checking for CAM_SCSI_STATUS_ERROR on every failed CCB.
sbuf.9: Change the prototypes for sbuf_cat() and sbuf_cpy() so that the source string is now a const char *. This is more in line wth the standard system string functions, and helps eliminate warnings when dealing with a const source buffer.
Fix a typo.
cam.c: Add description strings for the various CAM error status values, as well as routines to look up those strings.
Add new cam_error_string() and cam_error_print() routines for userland and the kernel.
cam.h: Add a new CAM flag, CAM_RETRY_SELTO.
Add enumerated types for the various options available with cam_error_print() and cam_error_string().
cam_ccb.h: Add new transfer negotiation structures/types.
Change inq_len in the ccb_getdev structure to be "reserved". This field has never been filled in, and will be removed when we next bump the CAM version.
cam_debug.h: Fix typo.
cam_periph.c: Modularize cam_periph_error(). The SCSI error handling part of cam_periph_error() is now in camperiphscsistatuserror() and camperiphscsisenseerror().
In cam_periph_lock(), increase the reference count on the periph while we wait for our lock attempt to succeed so that the periph won't go away while we're sleeping.
cam_xpt.c: Add new transfer negotiation code. (ifdefed out)
Add a new function, xpt_path_string(). This is a string/sbuf analog to xpt_print_path().
scsi_all.c: Revamp string handing and error printing code. We now use sbufs for much of the string formatting code. More of that code is shared between userland the kernel.
scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly useful in the first place.
Add a new error action, SS_REQSENSE. (Send a request sense and then retry the command.) This is useful when the controller hasn't performed autosense for some reason.
Change the default actions around a bit.
scsi_cd.c, scsi_da.c, scsi_pt.c, scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection timeouts shouldn't be covered by a sense flag.
scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO.
Get rid of the last vestiges of a read/write interface.
libkern/bsearch.c, sys/libkern.h, conf/files: Add bsearch.c, which is needed for some of the new table lookup routines.
aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if CAM_NEW_TRAN_CODE is defined.
sbuf.h, subr_sbuf.c: Add the appropriate #ifdefs so sbufs can compile and run in userland.
Change sbuf_printf() to use vsnprintf() instead of kvprintf(), which is only available in the kernel.
Change the source string for sbuf_cpy() and sbuf_cat() to be a const char *.
Add __BEGIN_DECLS and __END_DECLS around function prototypes since they're now exported to userland.
kdump/mkioctls: Include stdio.h before cam.h since cam.h now includes a function with a FILE * argument.
Submitted by: gibbs (mostly) Reviewed by: jdp, marcel (libsbuf makefile changes) Reviewed by: des (sbuf changes) Reviewed by: ken
|
#
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
|
#
74429 |
|
18-Mar-2001 |
orion |
pcm driver for S3 Sonicvibes chipset.
Reviewed by: Cameron Grant
|
#
74373 |
|
16-Mar-2001 |
gibbs |
Add the AAC_DEBUG option to enable debugging in the aac driver.
Reviewed by: msmith
|
#
74328 |
|
16-Mar-2001 |
imp |
Add cwn driver
|
#
74179 |
|
12-Mar-2001 |
jlemon |
Make the miibus'ified the new fxp driver for -current.
|
#
74132 |
|
12-Mar-2001 |
jlemon |
Add the Intel PHY driver.
|
#
74073 |
|
10-Mar-2001 |
markm |
The /dev/random driver used Rijndael, not Blowfish, now.
|
#
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.
|
#
73897 |
|
06-Mar-2001 |
sos |
Split out the ata probes in seperate files for each bus type.
|
#
73878 |
|
06-Mar-2001 |
peter |
dcphy depends on pci. This repairs the 'ed' driver's ability to be run on isa-only systems without the pci bus code.
|
#
73782 |
|
05-Mar-2001 |
jasone |
Implement shared/exclusive locks.
Reviewed by: bmilekic, jake, jhb
|
#
73162 |
|
27-Feb-2001 |
julian |
put the null modem driver (nmdm) in the right place with the right name.
|
#
73160 |
|
27-Feb-2001 |
julian |
Tell the world about the nulmodem device.
|
#
73149 |
|
27-Feb-2001 |
nyan |
Added another wd33c93 based SCSI card driver which replaces the bs driver. Now, default is still bs.
Submitted by: nyan and non. Obtained from: NetBSD/pc98
|
#
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
|
#
72150 |
|
08-Feb-2001 |
semenu |
Add recently added PHY drivers sources.
Reminded by: Peter Wemm <peter@netplex.com.au>
|
#
72017 |
|
04-Feb-2001 |
cg |
add driver for CS4281 sound chips
Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
#
72016 |
|
04-Feb-2001 |
cg |
add driver for CMedia CMI8338/CMI8738 sound chips
Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
#
72013 |
|
04-Feb-2001 |
imp |
Remove NAHA, NAHATOT and aha_softcs and related code. It was unused except for setting it. Also remove count from aha and replace it with optional.
Also add commented out pccard lines for all the old card drivers. They have to be commented out until they are converted because it causes problems in NEWCARD.
|
#
71992 |
|
04-Feb-2001 |
phk |
Warn if people include vn(4) in their config.
|
#
71871 |
|
31-Jan-2001 |
msmith |
Remove obsoleted files.
Temporarily turn off the processor and apic drivers until we sort out what these are going to do now.
|
#
71861 |
|
31-Jan-2001 |
peter |
Add hpfs and the config glue for it. It was being skipped from test coverage.
|
#
71824 |
|
30-Jan-2001 |
jhay |
Reflect the new location of the ar and sr devices.
|
#
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)
|
#
71798 |
|
29-Jan-2001 |
peter |
Stop counting sppp interfaces, we were just testing its presence to give a warning if it was missing.
|
#
71795 |
|
29-Jan-2001 |
peter |
Zap silly #if NPCI > 0 and the hoops that we jump through for the module case. Use an 'and' case in conf/files so that it only gets compiled if pci is present.
|
#
71793 |
|
29-Jan-2001 |
peter |
Convert 'count en', 'count lnc', 'count fpa', 'count loop' and 'count ar' back to standard 'optional'.
|
#
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.
|
#
71336 |
|
21-Jan-2001 |
imp |
wi has been converted to NEWCARD, so included it when pccard is included.
Also, I forgot to update this to the new cis[] structure last night, mainly due to the above omission.
|
#
71316 |
|
21-Jan-2001 |
imp |
Break the isa attachment of the Crystal Semiconductor 89x0 into two parts: isa and pccard. The isa one is known to work with an IBM EtherJet ISA card. The pccard one isn't known to work because the EtherJet pccard I purchased recently arrived DOA :-(. I'll commit the pccard.conf entry when the replacement card arrives.
I plan on MFC this in a week or two.
|
#
71088 |
|
15-Jan-2001 |
jasone |
Implement condition variables.
|
#
70855 |
|
09-Jan-2001 |
mjacob |
moved isp_pci.c from pci to dev/isp
|
#
70808 |
|
08-Jan-2001 |
peter |
Move if_wl.c from sys/i386/isa to dev/wi - it is not i386 (or even isa) specific.
|
#
70783 |
|
08-Jan-2001 |
babkin |
Completed move of Digiboard drivers to dev/dgb
|
#
70782 |
|
07-Jan-2001 |
imp |
Add aic to the list of drivers that might work with NEWCARD. I've added the same config lines that NetBSD has. This builds with both NEWCARD and GENERIC config files.
|
#
70747 |
|
07-Jan-2001 |
peter |
The ep pccard code had newcard hooks added to it, but it isn't being compiled under newcard yet. ep works just fine under newcard with the missing ID matching code added (not committed yet): ep0: <3Com 3c589 10Mbps Ethernet> at port 0x300-0x30f irq 9 function 0 config 1 on pccard1 ep0: Ethernet address 00:10:4b:df:48:57
|
#
70687 |
|
05-Jan-2001 |
nsouch |
Remove vga_pci generic driver.
Approved by: Mike Smith <msmith@freebsd.org>
|
#
70622 |
|
03-Jan-2001 |
nsouch |
Remove alpm numbering.
|
#
70426 |
|
28-Dec-2000 |
des |
Retire kernfs (kernel part).
|
#
70292 |
|
23-Dec-2000 |
cg |
add sys/dev/sound/pcm/buffer.c, lefo out of last commit
|
#
70271 |
|
22-Dec-2000 |
takawata |
Add ACPI AC adaptor and ACPI Control Method Battery. And install notify handler for thermal zone .
|
#
70147 |
|
18-Dec-2000 |
assar |
revert addition of strlcpy/strlcat
|
#
70139 |
|
18-Dec-2000 |
assar |
add strlcpy and strlcat to kernel
|
#
70134 |
|
17-Dec-2000 |
cg |
kobjify.
this gives us several benefits, including:
* easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver.
* forward compatibility for drivers, provided no new mandatory methods are added.
|
#
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
|
#
69991 |
|
13-Dec-2000 |
des |
Add subr_sbuf.c.
|
#
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.
|
#
69897 |
|
12-Dec-2000 |
msmith |
Always build the ISA and EISA bridge code. This is slightly unintiuitive, but serves to work around some uncleanliness whereby the ISA bus is not found on Alpha systems with PCI:EISA bridges due to the lack of EISA code for the Alpha.
|
#
69881 |
|
11-Dec-2000 |
jake |
- Add code to detect if a system call returns with locks other than Giant held and panic if so (conditional on witness). - Change witness_list to return the number of locks held so this is easier. - Add kern/syscalls.c to the kernel build if witness is defined so that the panic message can contain the name of the offending system call. - Add assertions that Giant and sched_lock are not held when returning from a system call, which were missing for alpha and ia64.
|
#
69864 |
|
11-Dec-2000 |
jhay |
Change sppp from optional to count. At least ar(4) and sr(4) needs it in the non-NETGRAPH case.
|
#
69784 |
|
08-Dec-2000 |
msmith |
Next-phase PCI system update; move PCI core code to sys/dev and update header include path to include sys/dev to avoid massive #include updates.
|
#
69513 |
|
02-Dec-2000 |
jake |
Forgot this file in previous commit to remove file kern_threads.c
|
#
69455 |
|
01-Dec-2000 |
msmith |
Add one new file brought in with the ACPI CA 20001115 import.
|
#
69288 |
|
27-Nov-2000 |
jon |
A bunch of newcard/cardbus changes that's been sitting in my tree for a while:
- Make pccbb/cardbus kld loadable and unloadable. - Make pccbb/cardbus use the power interface from pccard instead of inventing its own. - some other minor fixes
|
#
69137 |
|
25-Nov-2000 |
peter |
Update the ed driver to probe and attach under a NEWCARD kernel (I was using a cardbus based system with pccbb providing the pcic interface). Something isn't quite right.. when the driver allocates and activates its resources, the IO space that was requested reads as all zeros (versus the original 0xff's as it normally is when there is no device responding).
Also, deactivate the resources before releasing them. OLDCARD doesn't seem to care but NEWCARD/CARDBUS get rather unhappy if you release a resource that hasn't been deactivated yet.
Make pcic_p.c only compile with oldcard kernels.
|
#
68924 |
|
19-Nov-2000 |
alfred |
Accept filters broke kernels compiled without options INET. Make accept filters conditional on INET support to fix.
Pointed out by: bde Tested and assisted by: Stephen J. Kiernan <sab@vegamuse.org>
|
#
68831 |
|
16-Nov-2000 |
archie |
Add kernel option NETGRAPH_ONE2MANY.
|
#
68827 |
|
16-Nov-2000 |
imp |
vx is now optional rather than taking a count. Reflect that in the files. Also a minor white space nit.
Submitted by: bde
|
#
68647 |
|
12-Nov-2000 |
imp |
Add ray driver for card (OLDCARD) and pccard (NEWCARD) entries. Add sn driver for pccard (NEWCARD).
|
#
68517 |
|
09-Nov-2000 |
takawata |
Farewell our code. We will switch acpica code from Intel. This code has help us comprehence ACPI spec .
Contributors of this code is as follows(except for FreeBSD commiter): Yasuo Yokoyama, Munehiro Matsuda, and ALL acpi-jp@jp.freebsd.org people.
Thanks.
R.I.P.
|
#
68477 |
|
08-Nov-2000 |
msmith |
Don't build the ACPI CA debugger unless the ACPI_DEBUG option is present.
Only build the IA32 support on i386. Build the IA64 support on IA64.
|
#
68356 |
|
05-Nov-2000 |
obrien |
ELF kernels should use an ELF sysvec. This allows us to move a.out specific files to those platforms that acutally support a.out.
|
#
68140 |
|
31-Oct-2000 |
cg |
switch over to new sb8/sb16 code
|
#
67804 |
|
28-Oct-2000 |
cg |
add commented-out entries for the new sb8 and sb16 drivers
|
#
67762 |
|
28-Oct-2000 |
msmith |
Connect the new ACPICA code to the 'acpica' device.
|
#
67562 |
|
25-Oct-2000 |
n_hibma |
The USB scanner driver. To be used together with SANE.
|
#
67555 |
|
25-Oct-2000 |
msmith |
Major update to the 'twe' driver.
- Layout reorganisation to enhance portability. The driver now has a relatively MI 'core' and a FreeBSD-specific layer over the top. Since the NetBSD people have already done their own port, this is largely just to help me with the BSD/OS port.
- Request ID allocation changed to improve performance (I'd been considering switching to this approach after having failed to come up with a better way to dynamically allocate request IDs, and seeing Andy Doran use it in the NetBSD port of the driver convinced me that I was wasting my time doing it any other way). Now we just allocate all the requests up front.
- Maximum request count bumped back to 255 after characterisation of a firmware issue (off-by-one causing it to crash with 256 outstanding commands).
- Control interface implemented. This allows 3ware's '3dm' utility to talk to the controller. 3dm will be available from 3ware shortly.
- Controller soft-reset feature added; if the controller signals a firmware or protocol error, the controller will be reset and all outstanding commands will be retried.
|
#
67481 |
|
24-Oct-2000 |
babkin |
Added lines for the wds driver.
Approved by: gibbs
|
#
67468 |
|
23-Oct-2000 |
non |
Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 (a NetBSD port for NEC PC-98x1 machines). They are ncv for NCR 53C500, nsp for Workbit Ninja SCSI-3, and stg for TMC 18C30 and 18C50.
I thank NetBSD/pc98 and bsd-nomads people.
Obtained from: NetBSD/pc98
|
#
67314 |
|
19-Oct-2000 |
jon |
NEWCARD/Cardbus -
This commit adds support for Xircom X3201 based cardbus cards. Support for the TDK 78Q2120 MII is also added. IBM Etherjet, Intel and Xircom cards uses these chips.
Note that as a result of this commit, some Intel/DEC 21143 based cardbus cards will also attach, but not get link. That is being looked at.
|
#
67276 |
|
18-Oct-2000 |
jon |
Initial commit of NEWCARD cardbus side (that actually compiles and works)
Files: dev/cardbus/cardbus.c dev/cardbus/cardbusreg.h dev/cardbus/cardbusvar.h dev/cardbus/cardbus_cis.c dev/cardbus/cardbus_cis.h dev/pccbb/pccbb.c dev/pccbb/pccbbreg.h dev/pccbb/pccbbvar.h dev/pccbb/pccbb_if.m
This should support: - cardbus controllers: * TI 113X * TI 12XX * TI 14XX * Ricoh 47X * Ricoh 46X * ToPIC 95 * ToPIC 97 * ToPIC 100 * Cirrus Logic CLPD683x - cardbus cards * 3c575BT * 3c575CT * Xircom X3201 (includes IBM, Xircom and, Intel cards) [ 3com support already in kernel, Xircom will be committed real soon now]
This doesn't work with 16bit pccards under NEWCARD.
Enable in your config by having "device pccbb" and "device cardbus". (A "device pccard" will attach a pccard bus, but it means you system have a high chance of panicing when a 16bit card is inserted)
It should be fairly simple to make a driver attach to cardbus under NEWCARD -- simply add an entry for attaching to cardbus on a new DRIVER_MODULE and add new device IDs as necessary. You should also make sure the card can be detached nicely without the interrupt routine doing something weird, like going into an infinite loop. Usually that should entail adding an additional check when a pci register or the bus space is read to check if it equals 0xffffffff.
Any problems, please let me know.
Reviewed by: imp
|
#
67112 |
|
14-Oct-2000 |
markm |
After some complaints about the dir names, the random device is now in dirs called sys/*/random/ instead of sys/*/randomdev/*.
Introduce blocking, but only at startup; the random device will block until the first reseed happens to prevent clients from using untrustworthy output.
Provide a read_random() call for the rest of the kernel so that the entropy device does not need to be present. This means that things like IPX no longer need to have "device random" hardcoded into thir kernel config. The downside is that read_random() will provide very poor output until the entropy device is loaded and reseeded. It is recommended that developers do NOT use the read_random() call; instead, they should use arc4random() which internally uses read_random().
Clean up the mutex and locking code a bit; this makes it possible to unload the module again.
|
#
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!
|
#
67104 |
|
13-Oct-2000 |
msmith |
Whoops, add the 'twe' files.
Submitted by: Chris Faulhaber <jedgar@fxp.org>
|
#
67078 |
|
13-Oct-2000 |
sos |
Add ata-raid.c to the ata driver
|
#
66876 |
|
09-Oct-2000 |
hm |
update to i4b version 0.95.04
|
#
66703 |
|
05-Oct-2000 |
archie |
Driver for the Intel 82801AA (ICH) SMBus controller and compatibles.
Obtained from: Whistle source tree
|
#
66646 |
|
05-Oct-2000 |
gibbs |
Correct the dependency for aicasm.
|
#
66575 |
|
03-Oct-2000 |
peter |
Move the ata/atapi files to the common area. They were the same on all platforms.
While here, work around a strange quirk in config(8) that I do not yet understand. Rearrange which atapi* files have 'optional' vs. 'count' so that you can have atapifd without atapicd. The only difference should be that this works instead of having a link error because atapi-all.o got left out of the kernel.
|
#
66560 |
|
02-Oct-2000 |
jhb |
Move sys/dev/nulldev to sys/dev/null to be more consistent with naming under sys/dev.
|
#
66489 |
|
30-Sep-2000 |
msmith |
More updates to the ACPI code:
- Move all register I/O into acpi_io.c - Move event handling into acpi_event.c - Reorganise headers into acpivar/acpireg/acpiio - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep - Allocate all resources (except those detailed only by AML) as real resources. Add infrastructure that will make adding resource support to AML code easy. - Remove all ACPI #ifdefs in non-ACPI code - Removed unnecessary includes - Minor style and commenting fixes
Reviewed by: iwasaki
|
#
66487 |
|
30-Sep-2000 |
obrien |
The `ed' NIC driver has been changed to work on Alpha now. So enable it on all platforms.
Submitted by: Alexander Langer <alex@big.endian.de>
|
#
66440 |
|
29-Sep-2000 |
imp |
Add support for pccard attachments of the ex driver. It supports the Olicom OC-2220 card, and maybe others.
Submitted by: iwasaki Reviewed by: mdodd
|
#
66309 |
|
23-Sep-2000 |
cg |
add feeder_fmt.c
|
#
66299 |
|
23-Sep-2000 |
jhb |
Enable the ESS Maesto driver.
Approved by: cg
|
#
66267 |
|
22-Sep-2000 |
gibbs |
Use quoted includes instead of full path references inside the aic7xxx sequencer files. Different platforms place the included files in different locations and it is easier to modify the include path passed as arguments to the assembler than adding #ifdef support to the assembler.
|
#
66131 |
|
20-Sep-2000 |
wpaul |
Add a new driver for the AMD PCnet/FAST, FAST+ and Home PCI adapters. Previously, these cards were supported by the lnc driver (and they still are, but the pcn driver will claim them first), which is fine except the lnc driver runs them in 16-bit LANCE compatibility mode. The pcn driver runs these chips in 32-bit mode and uses the RX alignment feature to achieve zero-copy receive. (Which puts it in the same class as the xl, fxp and tl chipsets.) This driver is also MI, so it will work on the x86 and alpha platforms. (The lnc driver is still needed to support non-PCI cards. At some point, I'll need to newbusify it so that it too will me MI.)
The Am79c978 HomePNA adapter is also supported.
|
#
66129 |
|
20-Sep-2000 |
wpaul |
Add a homePNA PHY driver. This is really only a stub: MII-based homePNA PHYs tend to look like 10mbps PHYs with no autonegotiation. This allows us to display the proper media type and link status however.
|
#
65941 |
|
16-Sep-2000 |
gibbs |
Update for aic7xxx driver reorganization.
|
#
65832 |
|
14-Sep-2000 |
nyan |
- Newbus'ify and bus_space'ify. - Separate bus dependent part and independent part. - Moved source files to sys/dev/fe (repo copied). - Fixed some comments by chi@bd.mbn.or.jp (Chiharu Shibata)
Tested by: bsd-nomads@clave.gr.jp and FreeBSD98-testers@jp.freebsd.org
|
#
65826 |
|
13-Sep-2000 |
peter |
Activate the rest of the aac driver, otherwise even GENERIC fails to build.
Forgotten by: msmith
|
#
65793 |
|
13-Sep-2000 |
msmith |
A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA design. This includes integrated Dell RAID controllers, the Dell PERC 2/QC and the HP NetRAID-4M.
|
#
65776 |
|
12-Sep-2000 |
markm |
Turn the /dev/random device into a (pseudo-)device, not an option.
(I didn't realise that it was this easy!) Submitted by: jhb
|
#
65686 |
|
10-Sep-2000 |
markm |
Large upgrade to the entropy device; mainly inspired by feedback from many folk.
o The reseed process is now a kthread. With SMPng, kthreads are pre-emptive, so the annoying jerkiness of the mouse is gone.
o The data structures are protected by mutexes now, not splfoo()/splx().
o The cryptographic routines are broken out into their own subroutines. this facilitates review, and possible replacement if that is ever found necessary.
Thanks to: kris, green, peter, jasone, grog, jhb Forgotten to thank: You know who you are; no offense intended.
|
#
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
|
#
65312 |
|
01-Sep-2000 |
msmith |
Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT). This provides support for the Adaptec SCSI RAID controller family, as well as the DPT SmartRAID V and VI families.
The driver will be maintained by Mark and Adaptec, and any changes should be referred to the MAINTAINER.
|
#
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
|
#
65206 |
|
29-Aug-2000 |
cg |
activate fm801
|
#
65176 |
|
28-Aug-2000 |
dfr |
* Completely rewrite the alpha busspace to hide the implementation from the drivers. * Remove legacy inx/outx support from chipset and replace with macros which call busspace. * Rework pci config accesses to route through the pcib device instead of calling a MD function directly.
With these changes it is possible to cleanly support machines which have more than one independantly numbered PCI busses. As a bonus, the new busspace implementation should be measurably faster than the old one.
|
#
65112 |
|
26-Aug-2000 |
imp |
Make if_xe eepend on both xe and card.
|
#
64987 |
|
23-Aug-2000 |
msmith |
This is the initial import of a new driver for the current family of PCI:SCSI RAID controllers from Mylex.
|
#
64880 |
|
20-Aug-2000 |
phk |
Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.
Make uid, gid & mode members of dev_t and set them in make_dev().
Use correct uid, gid & mode in make_dev in disk minilayer.
Add support for registering alias names for a dev_t using the new function make_dev_alias(). These will show up as symlinks in DEVFS.
Use makedev() rather than make_dev() for MFSs magic devices to prevent DEVFS from noticing this abuse.
Add a field for DEVFS inode number in dev_t.
Add new DEVFS in fs/devfs.
Add devfs cloning to: disk minilayer (ie: ad(4), sd(4), cd(4) etc etc) md(4), tun(4), bpf(4), fd(4)
If DEVFS add -d flag to /sbin/inits args to make it mount devfs.
Add commented out DEVFS to GENERIC
|
#
64641 |
|
14-Aug-2000 |
onoe |
add dev/awi/awi_wicfg.c to support wi(4) compatible configuration interface. add dev/awi/awi_wep.c to support WEP for awi. add dependency for awi to crypto/rc4/rc4.c
|
#
64441 |
|
08-Aug-2000 |
cg |
activate via82c686 audio driver
|
#
64173 |
|
03-Aug-2000 |
peter |
Make the pfil.c code conditional on either option PFIL_HOOKS or IPFILTER. The previous line was an AND. This change means you can compile in the pfil_hook stuff and make it available for other users besides ipfilter.
|
#
64115 |
|
01-Aug-2000 |
nsayer |
Hook up the ESS solo driver in the correct branch this time.
|
#
63831 |
|
25-Jul-2000 |
ps |
kern_accf.c is now uipc_accf.c after repo copy.
|
#
63670 |
|
20-Jul-2000 |
nsayer |
Add the tap driver.
The tap driver is used to present a virtual Ethernet interface to the system. Packets presented by the network stack to the interface are made available to a character device in /dev. With tap and the bridge code, you can make remote bridge configurations where both sides of the bridge are separated by userland daemons.
This driver also has a special naming hack to allow it to serve a similar purpose to the vmware port.
Submitted by: myevmenkin@att.com, vsilyaev@mindspring.com
|
#
63412 |
|
18-Jul-2000 |
phk |
Driver for LMC1504 card: four port E1 or fractional E1. T1 support is possible but I have no T1 hardware to test with.
The vendor can be found at: www.lanmedia.com
|
#
63411 |
|
18-Jul-2000 |
n_hibma |
Add the umodem driver.
|
#
63246 |
|
16-Jul-2000 |
ken |
Get rid of non-existent CAM 'scan' device.
PR: 19961 Submitted by: Cyrille Lefevre <clefevre@citeweb.net>
|
#
63010 |
|
12-Jul-2000 |
dfr |
Add support for Intel's i810 chipset with integrated graphics. An associated patch to XFree86 allows the X server to work with this chipset on FreeBSD. Additional work will include porting the Linux 3D driver.
Submitted by: Ruslan Ermilov <ru@FreeBSD.org>
|
#
62976 |
|
11-Jul-2000 |
mckusick |
Add snapshots to the fast filesystem. Most of the changes support the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed.
Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words).
|
#
62947 |
|
11-Jul-2000 |
tanimura |
Finally merge newmidi. (I had been busy for my own research activity until the last weekend)
Supported devices:
SB Midi Port (sbc + midi) SB OPL3 (sbc + midi) 16550 UART (midi, needs a trick in your hint) CS461x Midi Port (csa + midi)
OSS-compatible sequencer (seq)
Supported playing software:
playmidi (We definitely need more)
Notes:
/dev/midistat now reports installed midi drivers. /dev/sndstat reports only pcm drivers. We need the new name(pcmstat?).
EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3 synth on an AWE card works.
TODO:
MSS/PCI bridge drivers Midi-tty interface to support general serial devices Modules
|
#
62907 |
|
10-Jul-2000 |
phk |
Finish repo-copy:
Move ufs/ufs/ufs_disksubr.c to kern/subr_disklabel.c.
These functions are not UFS specific and are in fact used all over the place.
|
#
62765 |
|
07-Jul-2000 |
markm |
Add entropy gathering code. This will work whether the module is compiled in or loaded.
|
#
62587 |
|
04-Jul-2000 |
itojun |
sync with kame tree as of july00. tons of bug fixes/improvements.
API changes: - additional IPv6 ioctls - IPsec PF_KEY API was changed, it is mandatory to upgrade setkey(8). (also syntax change)
|
#
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)
|
#
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
|
#
61789 |
|
18-Jun-2000 |
mjacob |
Add ispfw as an optional 'device' (for static linking)
|
#
61594 |
|
12-Jun-2000 |
peter |
The buslogic driver doesn't have static unit limits (ie: no bt.h or arbitary NBT limits)
|
#
61541 |
|
11-Jun-2000 |
tanimura |
1. Update Comtrol RocketPort driver(rp) to version 3.02. 2. Newbusify the driver. 3. Build as a module.
4. Use correct minor numbers when creating device files. 5. Correctly lock control characters. 6. Return ENXIO when device not configured. Submitted by: Tor Egge <Tor.Egge@fast.no>
7. Fix the baud_table. Submitted by: Elliot Dierksen <ebd@oau.org>
Note: - the old driver still lives in src/sys/i386/isa, so that you can revert to it if something goes wrong. - The module does not detach very well. Attaching works fine.
|
#
61523 |
|
10-Jun-2000 |
peter |
A checkpoint of a part of a work-in-progress. Some more cleanups for config(8). This commit allows control of the creation of the #include "foo.h" files. We now only create them explicitly when needed. BTW; these are mostly bad because they usually imply static limits on numbers of units for devices. eg: struct mysoftc sc[NFOO]; These static limits have Got To Go.
|
#
61453 |
|
09-Jun-2000 |
dfr |
Add files for agp driver.
|
#
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
|
#
61349 |
|
06-Jun-2000 |
cg |
enable ds1 driver
|
#
61108 |
|
31-May-2000 |
cg |
yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only.
tested on ymf724f only.
conf/files entry is commented out, enable it manually to test this code and let me know results.
|
#
61047 |
|
28-May-2000 |
peter |
Encapsulate the old PCI compatability support and APIs completely under "options COMPAT_OLDPCI". This option already existed, but now also tidies up the declarations in #include <pci/pci*.h>. It is amazing how much stuff was using the old pre-FreeBSD 3.x names and going silently undetected.
|
#
61033 |
|
28-May-2000 |
dfr |
Add taskqueue system for easy-to-use SWIs among other things.
Reviewed by: arch
|
#
60757 |
|
21-May-2000 |
peter |
Checkpoint of a new physical memory backed object type, that does not have pv_entries. This is intended for very special circumstances, eg: a certain database that has a 1GB shm segment mapped into 300 processes. That would consume 2GB of kvm just to hold the pv_entries alone. This would not be used on systems unless the physical ram was available, as it's not pageable.
This is a work-in-progress, but is a useful and functional checkpoint. Matt has got some more fixes for it that will be committed soon.
Reviewed by: dillon
|
#
60616 |
|
16-May-2000 |
paul |
Re-organise lnc driver in preparation for newbusifying it.
|
#
60558 |
|
14-May-2000 |
paul |
Fix location of lnc pci code.
|
#
60554 |
|
14-May-2000 |
paul |
Build lnc driver from /sys/dev from now on.
|
#
60320 |
|
10-May-2000 |
darrenr |
bring in net/pfil.c for pfil_hooks or ipfilter
|
#
59877 |
|
01-May-2000 |
n_hibma |
The USB double bulk pipe driver (Host to host cables). Currently there are two supported chips, the NetChip 1080 (only prototypes available) and the EzLink cable. Any other cable should be supported however as they are all very much alike (there is a difference between them wrt performance).
It uses Netgraph.
This driver was mostly written by Doug Ambrisko and Julian Elischer and I would like to thank Whistle for yet another contribution. And my aplogies to them for me sitting on the driver for so long (2 months).
Also, many thanks to Reid Augustin from NetChip for providing me with a prototype of their 1080 chip.
Be aware of the fact that this driver is very immature and has only been tested very lightly. If someone feels like learning about Netgraph however this is an excellent driver to start playing with.
|
#
59816 |
|
01-May-2000 |
mdodd |
Split out the ISA bus front end code into its own file. PCCARD attachment coming later this week. Mitsuru IWASAKI provided a patch to -mobile which I used to make sure I was doing the right thing but only a small part of the actual patch was used.
|
#
59661 |
|
26-Apr-2000 |
phk |
Driver for DEC "Tulip" based WAN cards from LanMedia Corporation.
This driver should support both the SSI (V.35 etc) E1/T1 unchannelized, DS3 and HSSI cards. Only tested on the SSI card.
More info at: http://www.lanmedia.com
Thanks to LanMedia for donating two LMC1000P cards.
if_de.c driver modified by: LanMedia NetGraphification by: Stephen Kiernan <sk-ports@vegamuse.org>
|
#
59614 |
|
24-Apr-2000 |
obrien |
Add linker_if.m to the mix.
|
#
59604 |
|
24-Apr-2000 |
obrien |
* Use sys/sys/random.h rather than a i386 specific one. * There was nothing that should be machine dependant about i386/isa/random_machdep.c, so it is now sys/kern/kern_random.c.
|
#
59478 |
|
22-Apr-2000 |
wpaul |
Reoganize/update the SysKonnect driver:
- Break out the support for the XMAC II's PHY into an miibus driver.
- Reorganize the probe/attach stuff using newbus. Each XMAC is now attached to the parent GEnesis controller using newbus. This is necessary since each XMAC must also have an attached miibus, and the miibus read/write register routines need to be able to get at the softc struct for each XMAC, not the one for the parent controller. This allows me to get rid of the grotty code I added for selecting the unit numbers for the ifnet interfaces: the unit numbers are now derived from the newbus-assigned unit numbers, which should track with the ifnet interface numbers. I think. At the very least, there should never be any collisions.
- Add support for the SK-9821 and SK-9822 1000baseTX adapters. Special thanks to SysKonnect for loaning me two adapters for testing.
|
#
59428 |
|
20-Apr-2000 |
imp |
card_if.m used by oldcard now too
|
#
59305 |
|
17-Apr-2000 |
imp |
Add kern_event.c
|
#
59304 |
|
17-Apr-2000 |
imp |
Forgot to commit this to add card_if.m.
Pointed out by: iwasaki-san.
|
#
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.)
|
#
59093 |
|
08-Apr-2000 |
dfr |
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware.
This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use.
|
#
59082 |
|
07-Apr-2000 |
nyan |
Newbusify adv driver.
Reviewed by: imp
|
#
59058 |
|
06-Apr-2000 |
imp |
Awi driver, ported from NetBSD from Atsushi Once-san.
From the README: Any IEEE 802.11 cards use AMD Am79C930 and Harris (Intersil) Chipset with PCnetMobile firmware by AMD. BayStack 650 1Mbps Frequency Hopping PCCARD adapter BayStack 660 2Mbps Direct Sequence PCCARD adapter Icom SL-200 2Mbps Direct Sequence PCCARD adapter Melco WLI-PCM 2Mbps Direct Sequence PCCARD adapter NEL SSMagic 2Mbps Direct Sequence PCCARD adapter Netwave AirSurfer Plus 1Mbps Frequency Hopping PCCARD adapter Netwave AirSurfer Pro 2Mbps Direct Sequence PCCARD adapter
Known Problems: WEP is not supported. Does not create IBSS itself. Cannot configure the following on FreeBSD: selection of infrastructure/adhoc mode ESSID ...
Submitted by: Atsushi Onoe <onoe@sm.sony.co.jp>
|
#
59033 |
|
05-Apr-2000 |
dfr |
Make it possible to include a device interface description by a single line in files or files.${arch} instead of 13 lines of code.
This is a small chance that this will break the alpha kernel build - I'll fix it this evening if it does.
|
#
58995 |
|
04-Apr-2000 |
cg |
enable emu10k1 (sblive) driver, though still playback only
|
#
58816 |
|
30-Mar-2000 |
imp |
NewBus the cs driver.
Submitted by: max@rsu.ru
|
#
58789 |
|
29-Mar-2000 |
nyan |
- Added PC-98 Cbus frontend. - Move dev/aic/aic_isa.c entry from conf/files to conf/files.MACHINE because PC-98 uses different file.
Submitted by: nyan and IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
#
58756 |
|
28-Mar-2000 |
cg |
split up ess and sb code rewrite ess mixer to use native registers rewrite play/rec code to use more accurate timer when available add code to use audio2 for playback, but disable it as no irqs are generated
|
#
58502 |
|
23-Mar-2000 |
bde |
Fixed most disordering (almost all except for i4b and targets with complicated rules).
|
#
58377 |
|
20-Mar-2000 |
phk |
Isolate the Timecounter internals in their own two files.
Make the public interface more systematically named.
Remove the alternate method, it doesn't do any good, only ruins performance.
Add counters to profile the usage of the 8 access functions.
Apply the beer-ware to my code.
The weird +/- counts are caused by two repocopies behind the scenes: kern/kern_clock.c -> kern/kern_tc.c sys/time.h -> sys/timetc.h (thanks peter!)
|
#
58133 |
|
16-Mar-2000 |
n_hibma |
Please welcome the URio driver. Written by Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>
|
#
57829 |
|
08-Mar-2000 |
jlemon |
Changes for IDA driver
|
#
57072 |
|
09-Feb-2000 |
mdodd |
Complete the repo-copy of ida_pci.c to sys/dev/ida/
Implicit Approval by: jkh
|
#
56941 |
|
01-Feb-2000 |
mdodd |
if_fpa is included when 'device fpa' is present, not 'device fea'.
Approved by: jkh
|
#
56897 |
|
30-Jan-2000 |
shin |
Fix kernel build breakage. ip6_fw.c also needs ipv6firewall options. Sorry for the problem.
Submitted by: Jim Bloom <bloom@acm.org>
|
#
56878 |
|
29-Jan-2000 |
peter |
Use config's tools rather than #if's.
|
#
56863 |
|
29-Jan-2000 |
peter |
Still allow sbc/gusc/csa to perform as bridge devices (eg: to newmidi) without pcm being present.
|
#
56862 |
|
29-Jan-2000 |
peter |
Allow the pnp and pci cards to be attached with just a 'device pcm' in the user's config file. Based on an idea/suggestion from Cameron (cg).
Change LINT to build newpcm instead of the old Voxware derived stuff. That's much more useful in the longer term.
|
#
56859 |
|
29-Jan-2000 |
peter |
Move the (duplicated exactly!) portable ISA pcm drivers to files and tighten up the logic a little.
|
#
56848 |
|
29-Jan-2000 |
peter |
Remove kern/tty_tb.c.
|
#
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
|
#
56722 |
|
28-Jan-2000 |
shin |
IPv6 multicast routing. kernel IPv6 multicast routing support. pim6 dense mode daemon pim6 sparse mode daemon netstat support of IPv6 multicast routing statistics
Merging to the current and testing with other existing multicast routers is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances the base code in KAME distribution.
Make world check and kernel build check was also successful.
|
#
56695 |
|
27-Jan-2000 |
archie |
Include ddb/db_sysctl.c when compiling with 'options DDB'.
|
#
56555 |
|
24-Jan-2000 |
brian |
Move the *intrq variables into net/intrq.c and unconditionally include this in all kernels. Declare some const *intrq_present variables that can be checked by a module prior to using *intrq to queue data.
Make the if_tun module capable of processing atm, ip, ip6, ipx, natm and netatalk packets when TUNSIFHEAD is ioctl()d on.
Review not required by: freebsd-hackers
|
#
56507 |
|
24-Jan-2000 |
peter |
Activate the newbusified version of si.
|
#
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>
|
#
56028 |
|
15-Jan-2000 |
mjacob |
add file collateral for SES/SAF-TE driver
|
#
55998 |
|
14-Jan-2000 |
imp |
Add pccard aic attachment.
|
#
55992 |
|
14-Jan-2000 |
wpaul |
Add driver support for the Aironet 4500/4800 series wireless 802.11 NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported, though only the ISA and PCI ones will work on the alpha for now. PCCARD, ISA and PCI attachments are all provided. Also provided an ancontrol(8) utility for configuring the NIC, man pages, and updated pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired mode, although you must configure the kernel explicitly to support the hardwired mode since you have to know the I/O address and port ahead of time.
Special thanks to Doug Ambrisko for doing the initial newbus hackery and getting it to work in infrastructure mode.
|
#
55985 |
|
14-Jan-2000 |
mdodd |
Oops! We need an entry for if_ie still. Change a few nits while I'm here.
|
#
55953 |
|
14-Jan-2000 |
peter |
Pre 4.0 tidy up.
Collect together the components of several drivers and export eisa from the i386-only area (It's not, it's on some alphas too). The code hasn't been updated to work on the Alpha yet, but that can come later.
Repository copies were done a while ago. Moving these now keeps them in consistant place across the 4.x series as the newbusification progresses.
Submitted by: mdodd
|
#
55944 |
|
14-Jan-2000 |
wpaul |
Add device driver support for USB ethernet adapters based on the CATC USB-EL1202A chipset. Between this and the other two drivers, we should have support for pretty much every USB ethernet adapter on the market. The only other USB chip that I know of is the SMC USB97C196, and right now I don't know of any adapters that use it (including the ones made by SMC :/ ).
Note that the CATC chip supports a nifty feature: read and write combining. This allows multiple ethernet packets to be transfered in a single USB bulk in/out transaction. However I'm again having trouble with large bulk in transfers like I did with the ADMtek chip, which leads me to believe that our USB stack needs some work before we can really make use of this feature. When/if things improve, I intend to revisit the aue and cue drivers. For now, I've lost enough sanity points.
|
#
55939 |
|
13-Jan-2000 |
nsouch |
Port of ppbus standalone framework to the newbus system.
Note1: the correct interrupt level is invoked correctly for each driver. For this purpose, drivers request the bus before being able to call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus core when drivers release it. Thus, when BUS_SETUP_INTR is called at ppbus driver level, ppbus checks that the caller owns the bus and stores the interrupt handler cookie (in order to unregister it later).
Printing is impossible while plip link is up is still TRUE. vpo (ZIP driver) and lpt are make in such a way that using the ZIP and printing concurrently is permitted is also TRUE.
Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET is now needed to force chipset detection. If set, the flags 0x40 still avoid detection at boot.
Port of the pcf(4) driver to the newbus system (was previously directly connected to the rootbus and attached by a bogus pcf_isa_probe function).
|
#
55824 |
|
11-Jan-2000 |
peter |
Aiee! I committed the wrong conf/files. Replace the changes for newppbus with the intended changes. Drop db_aout.c from files, let db_kld.c do the work.
Noticed by: bde
|
#
55818 |
|
11-Jan-2000 |
peter |
Fix a typo in the db_kld.c file - it's kld support not raw a.out support. Always use db_kld.c for symbol table support as the base kernel maintains this information.
|
#
55789 |
|
10-Jan-2000 |
wpaul |
Attempt to fix a problem with receiving packets on USB ethernet interfaces. Packets are received inside USB bulk transfer callbacks, which run at splusb() (actually splbio()). The packet input queues are meant to be manipulated at splimp(). However the locking apparently breaks down under certain circumstances and the input queues can get trampled.
There's a similar problem with if_ppp, which is driven by hardware/tty interrupts from the serial driver, but which must also manipulate the packet input queues at splimp(). The fix there is to use a netisr, and that's the fix I used here. (I can hear you groaning back there. Hush up.)
The usb_ethersubr module maintains a single queue of its own. When a packet is received in the USB callback routine, it's placed on this queue with usb_ether_input(). This routine also schedules a soft net interrupt with schednetisr(). The ISR routine then runs later, at splnet, outside of the USB callback/interrupt context, and passes the packet to ether_input(), hopefully in a safe manner.
The reason this is implemented as a separate module is that there are a limited number of NETISRs that we can use, and snarfing one up for each driver that needs it is wasteful (there will be three once I get the CATC driver done). It also reduces code duplication to a certain small extent. Unfortunately, it also needs to be linked in with the usb.ko module in order for the USB ethernet drivers to share it.
Also removed some uneeded includes from if_aue.c and if_kue.c
Fix suggested by: peter Not rejected as a hairbrained idea by: n_hibma
|
#
55723 |
|
10-Jan-2000 |
imp |
Move xe driver from dev/pccard to dev/xe. Convert driver to newbus. Driver is not functional yet, but does compile. Tests with xe cards indicates that it doesn't panic the machine when they are present, but fail to probe. Interface help in the pcic/pccard layers are needed to complete this driver.
|
#
55640 |
|
09-Jan-2000 |
cg |
enable the neomagic driver
|
#
55499 |
|
06-Jan-2000 |
imp |
Add power_if.[cho] generation for new pccard system. Also added commented out xe driver pending change. Should be benign.
|
#
55429 |
|
05-Jan-2000 |
wpaul |
Add device driver support for USB ethernet adapters based on the Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com 3c19250 and the ADS Technologies USB-10BT. This device is 10mbs half-duplex only, so there's miibus or ifmedia support. This device also requires firmware to be loaded into it, however KLSI allows redistribution of the firmware images (I specifically asked about this; they said it was ok).
Special thanks to Annelise Anderson for getting me in touch with KLSI (eventually) and thanks to KLSI for providing the necessary programming info.
Highlights: - Add driver files to /sys/dev/usb - update usbdevs and regenerate attendate files - update usb_quirks.c - Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha - Update LINT, GENERIC and others for i386, alpha and pc98 - Add man page - Add module - Update sysinstall and userconfig.c
|
#
55408 |
|
04-Jan-2000 |
mjacob |
add wx (Intel Wiseman Gig Ethernet) driver
|
#
55374 |
|
03-Jan-2000 |
mjacob |
Add in isp_target.c to be compiled for isp- it'd be nice if we could do conditional file inclusing based on options.
|
#
55162 |
|
28-Dec-1999 |
wpaul |
This commit adds device driver support for the ADMtek AN986 Pegasus USB ethernet chip. Adapters that use this chip include the LinkSys USB100TX. There are a few others, but I'm not certain of their availability in the U.S. I used an ADMtek eval board for development. Note that while the ADMtek chip is a 100Mbps device, you can't really get 100Mbps speeds over USB. Regardless, this driver uses miibus to allow speed and duplex mode selection as well as autonegotiation. Building and kldloading the driver as a module is also supported.
Note that in order to make this driver work, I had to make what some may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer() function will use tsleep() for synchronous transfers that don't complete right away. This is a problem since there are times when we need to do sync transfers from an interrupt context (i.e. when reading registers from the MAC via the control endpoint), where tsleep() us a no-no. My hack allows the driver to have the code poll for transfer completion subject to the xfer->timeout timeout rather that calling tsleep(). This hack is controlled by a quirk entry and is only enabled for the ADMtek device.
Now, I'm sure there are a few of you out there ready to jump on me and suggest some other approach that doesn't involve a busy wait. The only solution that might work is to handle the interrupts in a kernel thread, where you may have something resembling a process context that makes it okay to tsleep(). This is lovely, except we don't have any mechanism like that now, and I'm not about to implement such a thing myself since it's beyond the scope of driver development. (Translation: I'll be damned if I know how to do it.) If FreeBSD ever aquires such a mechanism, I'll be glad to revisit the driver to take advantage of it. In the meantime, I settled for what I perceived to be the solution that involved the least amount of code changes. In general, the hit is pretty light.
Also note that my only USB test box has a UHCI controller: I haven't I don't have a machine with an OHCI controller available.
Highlights:
- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part. - Updated usbdevs and regenerated generated files - Updated HARDWARE.TXT and RELNOTES.TXT files - Updated sysinstall/device.c and userconfig.c - Updated kernel configs -- device aue0 is commented out by default - Updated /sys/conf/files - Added new kld module directory
|
#
55159 |
|
27-Dec-1999 |
shin |
Add ipsec_esp option to files which depend on crypto. Now you can build a kernel which support IPsec message authentication but don't support message encryption, by defining IPSEC in your kernel config file and not defining IPSEC_ESP.
|
#
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
|
#
54995 |
|
22-Dec-1999 |
imp |
New files in sn driver.
|
#
54803 |
|
19-Dec-1999 |
rwatson |
Second pass commit to introduce new ACL and Extended Attribute system calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry.
Reviewed by: eivind
|
#
54773 |
|
18-Dec-1999 |
imp |
Driver for the smc91xx series of ethernet chips. Ported from PAO to 3.3R and then to -current. The pccard support has been left in the driver, but is presently non-functional because we are using the isa_compat layer for the moment.
Obtained From: PAO Sponsored by: Timing Solutions
|
#
54656 |
|
15-Dec-1999 |
imp |
dev/pcic/i82365_isasubr.c was removed from tree when it was merged into i82365_isa.c. Update conf/files to reflect that.
|
#
54374 |
|
09-Dec-1999 |
archie |
Move source files common to all platforms from <arch>/conf/files.<arch> to conf/files. If/when these files are optimized for each platform, they can be moved back.
|
#
54370 |
|
09-Dec-1999 |
dan |
Move libkern/arc4random.c into conf/files. I was planning on doing an optimized alpha version, but I'll leave that alone for the time being.
|
#
54331 |
|
08-Dec-1999 |
archie |
New netgraph node type 'pptpgre': this performs GRE encapsulation for the PPTP protocol as specified in RFC 2637.
|
#
54294 |
|
08-Dec-1999 |
phk |
Remove BAD144 support, it has already been disabled for some time.
|
#
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.
|
#
54208 |
|
06-Dec-1999 |
peter |
Fold the pnp code into the base isa system to pave the way for PNPBIOS.
Reviewed by: dfr (a few weeks ago)
|
#
54160 |
|
05-Dec-1999 |
peter |
Switch over to using the generic joy driver
|
#
54135 |
|
04-Dec-1999 |
wpaul |
Grrrr. I knew I forgot something. Remove mxphy, add dcphy and pnphy.
|
#
54134 |
|
04-Dec-1999 |
wpaul |
Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers which it replaces. The new driver supports all of the chips supported by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards.
This also completes my quest to convert things to miibus and add Alpha support.
|
#
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.
|
#
53913 |
|
30-Nov-1999 |
archie |
Add two new generic control messages, NGM_ASCII2BINARY and NGM_BINARY2ASCII, which convert control messages to ASCII and back. This allows control messages to be sent and received in ASCII form using ngctl(8), which makes ngctl a lot more useful.
This also allows all the type-specific debugging code in libnetgraph to go away -- instead, we just ask the node itself to do the ASCII translation for us.
Currently, all generic control messages are supported, as well as messages associated with the following node types: async, cisco, ksocket, and ppp.
See /usr/share/examples/netgraph/ngctl for an example of using this.
Also give ngctl(8) the ability to print out incoming data and control messages at any time. Eventually nghook(8) may be subsumed.
Several other misc. bug fixes.
Reviewed by: julian
|
#
53804 |
|
27-Nov-1999 |
obrien |
/sys adjustments to add the `sym' controler driver.
This is commented out in GENERIC as you cannot mix `sym' with `ncr' right now. Note that LINT is no more broken by this commit.
|
#
53642 |
|
23-Nov-1999 |
guido |
Add kernel parts of revived ipfilter (3.3.3.)
|
#
53554 |
|
22-Nov-1999 |
tanimura |
- Introduce the bridge drivers for Sound Blaser, GUS and Crystal Semiconductor CS461x/428x. - Add support for GUS and CS461x/428x pcm. - Move newpcm drivers for ISA cards to files.i386. The drivers for PC98 would be something quite different from those for PC/AT.
Moving requested by: nyan
|
#
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
|
#
53466 |
|
20-Nov-1999 |
cg |
changes for the new location of pcm
|
#
53346 |
|
18-Nov-1999 |
peter |
Zap nsio
|
#
53250 |
|
16-Nov-1999 |
archie |
Add option NETGRAPH_KSOCKET.
|
#
53128 |
|
13-Nov-1999 |
dfr |
Add the es1888 PnP helper.
|
#
52845 |
|
03-Nov-1999 |
phk |
Move strto{u}[ql]() into their own libkern files.
Urged by: bde
|
#
52810 |
|
02-Nov-1999 |
archie |
Add options NETGRAPH_PPP and NETGRAPH_PPPOE.
|
#
52800 |
|
02-Nov-1999 |
phk |
New driver: Nx64kbit/s E1/T1 cards based on Munich32x&Falc54.
This is a netgraph driver.
|
#
52628 |
|
29-Oct-1999 |
wpaul |
Add entry for sys/dev/mii/mxphy.c which I somehow managed to forget, and which somehow didn't break anything.
|
#
52547 |
|
27-Oct-1999 |
imp |
Only build old pcic device when building card controller rather than pccard controller.
|
#
52528 |
|
26-Oct-1999 |
imp |
Very preliminary pcic device support. Will make depend, but won't (yet) compile and link. Renamed pcic back to pcic from pcicx, but conditionalize its inclusion on pccard being included also. card is the old and pccard is the new, which is a handy way to have both in the tree at the same time.
Obtained from: newconfig project
More to follow...
|
#
52507 |
|
26-Oct-1999 |
imp |
Add device entries for new pccard effort.
|
#
52470 |
|
25-Oct-1999 |
imp |
Massive rewrite of pccard to convert it to newbus. o Gut the compatibility interface, you now must attach with newbus. o Unit numbers from pccardd are now ignored. This may change the units assigned to a card. It now uses the first available unit. o kill old skeleton code that is now obsolete. o Use newbus attachment code. o cleanup interfile dependencies some. o kill list of devices per slot. we use the device tree for what we need. o Remove now obsolete code. o The ep driver (and maybe ed) may need some config file tweaks to allow it to attach. See config files that were committed for examples on how to do this.
Drivers to be commited shortly.
This is an interrum fix until the new pccard. ed, ep and sio will be supported by me with this release, although others are welcome to try to support other devices before new pccard is working.
I plan on doing minimal further work on this code base. Be careful when upgrading, since this code is known to work on my laptop and those of a couple others as well, but your milage may vary.
BUGS TO BE FIXED:
o system memory isn't allocated yet, it will be soon. o No devices actually have a pccard newbus attach in the tree.
BUGS THAT MIGHT BE FIXED:
o card removal, including suspend, usually hangs the system.
Many thanks to Peter Wemm and Doug Rabson for helping me to fill in the missing bits of New Bus understanding at FreeBSD Con '99.
|
#
52441 |
|
23-Oct-1999 |
julian |
Now that Netgraph is in the system there are some cleanups we can do. Also save a slightly closer to completion version of the PPPOE code.
Submitted by: Archie Cobbs <archie@freebsd.org>
|
#
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
|
#
52418 |
|
21-Oct-1999 |
luoqi |
Add aic CAM driver support.
|
#
52328 |
|
17-Oct-1999 |
jhay |
Add support for the PCI version of the Digi SYNC/570i cards.
|
#
52261 |
|
15-Oct-1999 |
imp |
Add new file for pccard compatibilty code. Add it to files so it gets pulled in as well.
|
#
52092 |
|
10-Oct-1999 |
peter |
Remove ipfilter files - the hooks remain in ip_input.c and ip_output.c
|
#
52069 |
|
09-Oct-1999 |
phk |
pnpparse.c is needed for kernel builds.
|
#
52052 |
|
09-Oct-1999 |
mdodd |
- Point the right bits at the new location of the bus front ends. The 'bt' SCSI driver now lives in sys/dev/buslogic.
- Correct a few comments.
|
#
52044 |
|
09-Oct-1999 |
mdodd |
Switch over to the new location in sys/dev/dpt.
Fix a forgotten #include
|
#
52006 |
|
08-Oct-1999 |
phk |
Fix amr.c line, a '.' had become a '/'.
|
#
51975 |
|
07-Oct-1999 |
msmith |
Connect the 'amr' and 'mlx' drivers. They can be built as modules or integrated into a static kernel as the user wishes.
|
#
51853 |
|
02-Oct-1999 |
bp |
ncplib continued: add appropriate options to LINT.
|
#
51831 |
|
01-Oct-1999 |
mdodd |
Turn off and remove the 'old' if_ep ISA/EISA/PCCARD driver.
Turn on the 'new' if_ep driver which supports:
ISA 3c509 MCA 3c529 EISA 3c579 PCCARD 3c589
I think all we're missing is support for the VME bus and S-100 bus Etherlink III cards.
The new code has been tested by a number of people and all the important bits work. I've not been able to test the EISA code but will do so once my hardware arrives. Since I've changed nothing in the EISA code I suspect it will perform the same manner as before.
Future changes involve whacking the ISA and PCCARD front ends to use newbus and to convert the driver to bus_space and make it use ifmedia.
This is the first working network driver that supports MCA bus devices btw.
Enjoy.
|
#
51829 |
|
01-Oct-1999 |
mdodd |
Add support for the AHA-1640 SCSI adapter.
The changes to sys/dev/aha/aha.c that allow these cards to function properly will be here in a day or 2.
|
#
51767 |
|
28-Sep-1999 |
cg |
add the ad1816 driver
|
#
51718 |
|
27-Sep-1999 |
kato |
Move if_ed.c back to files.i386 since pc98 has a special ed driver.
Reviewed by: peter
|
#
51716 |
|
27-Sep-1999 |
imp |
Revert non-aha changes. They weren't supposed to go in.
|
#
51713 |
|
26-Sep-1999 |
imp |
Move aha driver to dev/aha like the other drivers.
Code relocation only, no code changes.
|
#
51695 |
|
26-Sep-1999 |
roger |
Add new Bt848 driver files
|
#
51540 |
|
22-Sep-1999 |
roger |
Bktr Bt848/Bt878 driver is now in /sys/dev/bktr
|
#
51499 |
|
21-Sep-1999 |
phk |
Add an experimental Memory-Disk driver. This driver will allocate memory with malloc(9) using a few tricks to save space on the way.
|
#
51497 |
|
21-Sep-1999 |
phk |
Fix unordering
|
#
51442 |
|
20-Sep-1999 |
peter |
Make if_ed work again on pci, isa, isapnp. The hack to make it work on PCCARD is pretty revolting but should buy us time while the pccard driver angle is sorted out. A commit for the MCA ed attachment will follow shortly.
|
#
51084 |
|
08-Sep-1999 |
peter |
Add $FreeBSD$
|
#
51079 |
|
08-Sep-1999 |
peter |
s/sio/nsio/
|
#
51018 |
|
06-Sep-1999 |
peter |
Repo copy isa/sio* to dev/sio/sio* in preperation for extra bus methods including pci. Also, eliminate NSIOTOT and do it dynamically where it matters.
|
#
51012 |
|
06-Sep-1999 |
peter |
add pccard/pccard_nbk.c
|
#
50986 |
|
06-Sep-1999 |
wpaul |
This commit adds driver support for PCI fast ethernet NICs based on the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation XPressNet. Datasheet is available from www.davicom8.com.
The DM910x chips are still more tulip clones. The API is reproduced pretty faithfully, unfortunately the performance is pretty bad. The transmitter seems to have a lot of problems DMAing multi-fragment packets. The only way to make it work reliably is to coalesce transmitted packets into a single contiguous buffer. The Linux driver (written by Davicom) actually does something similar to this. I can't recomment this NIC as anything more than a "connectivity solution."
This driver uses newbus and miibus and is supported on both i386 and alpha platforms.
|
#
50983 |
|
06-Sep-1999 |
wpaul |
Add a driver for the AMD AM79c873 10/100 PHY. By some strange coincidence, this PHY and the Davicom DM9101 have exactly the same register definitions. One of them is probably a clone of the other. I'm not sure which.
This is needed for the Davicom DM9102 10/100 PCI ethernet driver which will be committed shortly.
|
#
50926 |
|
04-Sep-1999 |
cg |
disable the aureal vortex driver for now
|
#
50826 |
|
03-Sep-1999 |
mdodd |
This adds support for the Buslogic/Bustek/Storage Dimensions MCA SCSI adapters.
bt_mca.c is going to live in sys/dev/buslogic instead of sys/dev/mca as per a conversation with Peter, Doug and Mike.
Thanks to Andy Farkas <andyf@speednet.com.au> for being such a good sport and doing all the testing for me (as I don't actually own one of these cards. Yet.)
|
#
50825 |
|
03-Sep-1999 |
mdodd |
This is the rest of the MCA support; new_bus code to be exact.
Should we ever find ourselves on an RS/6000 this code should work with few changes.
|
#
50769 |
|
01-Sep-1999 |
dfr |
This represents essentially a complete rewrite of the ISA PnP code. The new system is integrated with the ISA bus code more cleanly and allows the future addition of more enumerators such as PnPBIOS and ACPI.
This commit also enables the new pcm driver since it is somewhat tied to the new PnP code.
|
#
50702 |
|
31-Aug-1999 |
wpaul |
Add a driver for the internal PHY in the RealTek 8139.
|
#
50565 |
|
29-Aug-1999 |
phk |
Add micro "disk" layer which should enable us to pull all the slice/label stuff out of the device drivers.
|
#
50461 |
|
27-Aug-1999 |
wpaul |
Add miibus drivers for the ThunderLAN internal PHY and the Micro Linear ML6692 PHY. The Micro Linear driver is my own; the ThunderLAN driver is a port of the NetBSD driver with various hacks. The ML driver is necessary to support the Olicom OC-2326 ThunderLAN-based NIC.
Also regenerated miidevs.h to pick up the proper 'obtained from' revision string.
|
#
50128 |
|
21-Aug-1999 |
wpaul |
This commit adds device driver support for the Sundance Technologies ST201 PCI fast ethernet controller. Currently, the only card I know that uses this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the only cards I have are samples sent to me by D-Link.)
This driver is the first to make use of the miibus code once I'm sure it all works together nicely, I'll start converting the other drivers.
The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design only with its own register layout. Support is provided for ifmedia, hardware multicast filtering, bridging and promiscuous mode.
|
#
50120 |
|
21-Aug-1999 |
wpaul |
This commit adds support for the NetBSD MII abstraction layer and MII-compliant PHY drivers. Many 10/100 ethernet NICs available today either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. It makes sense then to separate this support out into common code instead of duplicating it in all of the NIC drivers. The mii code also handles all of the media detection, selection and reporting via the ifmedia interface.
This is basically the same code from NetBSD's /sys/dev/mii, except it's been adapted to FreeBSD's bus architecture. The advantage to this is that it automatically allows everything to be turned into a loadable module. There are some common functions for use in drivers once an miibus has been attached (mii_mediachg(), mii_pollstat(), mii_tick()) as well as individual PHY drivers. There is also a generic driver for all PHYs that aren't handled by a specific driver. It's possible to do this because all 10/100 PHYs implement the same general register set in addition to their vendor-specific register sets, so for the most part you can use one driver for pretty much any PHY. There are a couple of oddball exceptions though, hence the need to have specific drivers.
There are two layers: the generic "miibus" layer and the PHY driver layer. The drivers are child devices of "miibus" and the "miibus" is a child of a given NIC driver. The "miibus" code and the PHY drivers can actually be compiled and kldoaded as completely separate modules or compiled together into one module. For the moment I'm using the latter approach since the code is relatively small.
Currently there are only three PHY drivers here: the generic driver, the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding others later as I convert various NIC drivers to use this code.
I realize that I'm cvs adding this stuff instead of importing it onto a separate vendor branch, but in my opinion the import approach doesn't really offer any significant advantage: I'm going to be maintaining this stuff and writing my own PHY drivers one way or the other.
|
#
50107 |
|
21-Aug-1999 |
msmith |
Implement a new generic mechanism for attaching handler functions to events, in order to pave the way for removing a number of the ad-hoc implementations currently in use.
Retire the at_shutdown family of functions and replace them with new event handler lists.
Rework kern_shutdown.c to take greater advantage of the use of event handlers.
Reviewed by: green
|
#
50027 |
|
18-Aug-1999 |
peter |
Extract the next runnable process selection out of cpu_switch() into a fairly machine independent C routine. gcc actually does a pretty good job of this.
Reviewed by: msmith (in principle)
|
#
49558 |
|
09-Aug-1999 |
phk |
Merge the cons.c and cons.h to the best of my ability. alpha may or may not compile, I can't test it.
|
#
49514 |
|
08-Aug-1999 |
grog |
Add vinumraid5.c to the files for Vinum. This allows (deprecated) kernel builds with Vinum.
Linted-by: phk
|
#
49076 |
|
25-Jul-1999 |
wpaul |
This commit adds device driver support for Adaptec Duralink PCI fast ethernet controllers based on the AIC-6915 "Starfire" controller chip. There are single port, dual port and quad port cards, plus one 100baseFX card. All are 64-bit PCI devices, except one single port model.
The Starfire would be a very nice chip were it not for the fact that receive buffers have to be longword aligned. This requires buffer copying in order to achieve proper payload alignment on the alpha. Payload alignment is enforced on both the alpha and x86 platforms. The Starfire has several different DMA descriptor formats and transfer mechanisms. This driver uses frame descriptors for transmission which can address up to 14 packet fragments, and a single fragment descriptor for receive. It also uses the producer/consumer model and completion queues for both transmit and receive. The transmit ring has 128 descriptors and the receive ring has 256.
This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus so that it can be compiled as a loadable kernel module. Support for BPF and hardware multicast filtering is included.
|
#
48693 |
|
09-Jul-1999 |
wpaul |
This commit adds driver support for the SysKonnect SK-984x series gigabit ethernet adapters. This includes two single port cards (single mode and multimode fiber) and two dual port cards (also single mode and multimode fiber). SysKonnect is currently the only vendor with a dual port gigabit ethernet NIC.
The ports on dual port adapters are treated as separate network interfaces. Thus, if you have an SK-9844 dual port SX card, you should have both sk0 and sk1 interfaces attached. Dual port cards are implemented using two XMAC II chips connected to a single SysKonnect GEnesis controller. Hence, dual port cards are really one PCI device, as opposed to two separate PCI devices connected through a PCI to PCI bridge. Note that SysKonnect's drivers use the two ports for failover purposes rather that as two separate interfaces, plus they don't support jumbo frames. This applies to their Linux driver too. :)
Support is provided for hardware multicast filtering, BPF and jumbo frames. The SysKonnect cards support TCP checksum offload however this feature is not currently enabled (hopefully it will be once we get checksum offload support).
There are still a few things that need to be implemeted, like the ability to communicate with the on-board LM80 voltage/temperature monitor, but I wanted to get the driver under CVS control and into -current so people could bang on it.
A big thanks for SysKonnect for making all their programming info for these cards (and for their FDDI and token ring cards) available without NDA (see www.syskonnect.com).
|
#
48691 |
|
09-Jul-1999 |
jlemon |
Implement support for hardware debug registers on the i386.
Submitted by: Brian Dean <brdean@unx.sas.com>
|
#
48645 |
|
06-Jul-1999 |
des |
Rename bpfilter to bpf.
|
#
48528 |
|
03-Jul-1999 |
peter |
Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entire files. config will leave the whole file out if configured to do so.
|
#
48524 |
|
03-Jul-1999 |
peter |
Delete the 'device-driver' suffix. It's been meaningless for a long time. On the VAX, it used to be used for special compilation to avoid the optimizer which would mess with memory mapped devices etc. These days we use 'volatile'.
|
#
48522 |
|
03-Jul-1999 |
peter |
Move bt_isa.c to the cpu-independent isa section.
|
#
48391 |
|
01-Jul-1999 |
peter |
Slight reorganization of kernel thread/process creation. Instead of using SYSINIT_KT() etc (which is a static, compile-time procedure), use a NetBSD-style kthread_create() interface. kproc_start is still available as a SYSINIT() hook. This allowed simplification of chunks of the sysinit code in the process. This kthread_create() is our old kproc_start internals, with the SYSINIT_KT fork hooks grafted in and tweaked to work the same as the NetBSD one.
One thing I'd like to do shortly is get rid of nfsiod as a user initiated process. It makes sense for the nfs client code to create them on the fly as needed up to a user settable limit. This means that nfsiod doesn't need to be in /sbin and is always "available". This is a fair bit easier to do outside of the SYSINIT_KT() framework.
|
#
48159 |
|
24-Jun-1999 |
jlemon |
Fix more disordering I missed last time.
|
#
48158 |
|
24-Jun-1999 |
jlemon |
fix disordering
|
#
48157 |
|
24-Jun-1999 |
jlemon |
Add IDA files
|
#
47660 |
|
01-Jun-1999 |
dfr |
Move fd driver back to files.${arch} since pc98 has a special fd driver.
|
#
47641 |
|
31-May-1999 |
dfr |
The fd driver has moved from i386/isa to isa.
|
#
47415 |
|
22-May-1999 |
gibbs |
Add the amd driver.
|
#
47398 |
|
22-May-1999 |
dfr |
* Factor out the common code between the isa bus drivers for i386 and alpha. * Re-work the resource allocation code to use helper functions in subr_bus.c. * Add simple isa interface for manipulating the resource ranges which can be allocated and remove the code from isa_write_ivar() which was previously used for this purpose.
|
#
47350 |
|
21-May-1999 |
wpaul |
This commit adds driver support for PCI fast ethernet cards based on the ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone, except with simpler receive filter options. The AL981 has a built-in transceiver, power management support, wake on LAN and flow control. This chip performs extremely well; it's on par with the ASIX chipset in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP easily).
I would have committed this driver sooner, except I ran into one problem with the AL981 that required a workaround. When the chip is transmitting at full speed, it will sometimes wedge if you queue a series of packets that wrap from the end of the transmit descriptor list back to the beginning. I can't explain why this happens, and none of the other tulip clones behave this way. The workaround this is to just watch for the end of the transmit ring and make sure that al_start() breaks out of its packet queuing loop and waiting until the current batch of transmissions completes before wrapping back to the start of the ring. Fortunately, this does not significantly impact transmit performance.
This is one of those things that takes weeks of analysis just to come up with two or three lines of code changes.
|
#
47343 |
|
20-May-1999 |
n_hibma |
usbdi.h: Implement priorities. GENERIC, LINT, files: Remove remarks about ordering of device names. GENERIC, LINT: Sort the devices alphabetically in LINT and GENERIC.
|
#
47178 |
|
14-May-1999 |
dfr |
* Define a new static method DEVICE_IDENTIFY which is called to add device instances to a parent bus. * Define a new method BUS_ADD_CHILD which can be called from DEVICE_IDENTIFY to add new instances. * Add a generic implementation of DEVICE_PROBE which calls DEVICE_IDENTIFY for each driver attached to the parent's devclass. * Move the hint-based isa probe from the isa driver to a new isahint driver which can be shared between i386 and alpha.
|
#
47017 |
|
11-May-1999 |
peter |
Send subr_rlist.c off to the big Attic in the sky. It's been #if 0'ed for quite some time now and can be revived in a moment's notice if needed. (It was replaced by subr_blist.c for VM/swap)
|
#
46201 |
|
30-Apr-1999 |
phk |
Add a new "file" to procfs: "rlimit" which shows the resource limits for the process.
PR: 11342 Submitted by: Adrian Chadd adrian@freebsd.org Reviewed by: phk
|
#
46155 |
|
28-Apr-1999 |
phk |
This Implements the mumbled about "Jail" feature.
This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do.
For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers".
Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname.
Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors.
It generally does what one would expect, but setting up a jail still takes a little knowledge.
A few notes:
I have no scripts for setting up a jail, don't ask me for them.
The IP number should be an alias on one of the interfaces.
mount a /proc in each jail, it will make ps more useable.
/proc/<pid>/status tells the hostname of the prison for jailed processes.
Quotas are only sensible if you have a mountpoint per prison.
There are no privisions for stopping resource-hogging.
Some "#ifdef INET" and similar may be missing (send patches!)
If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome!
Tools, comments, patches & documentation most welcome.
Have fun...
Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/
|
#
46130 |
|
27-Apr-1999 |
msmith |
Allow loadable interface drivers with BPF support to be loaded into a kernel that doesn't have it. This is achieved by having minimal do-nothing stubs enabled when there are no bpfilter devices configured.
Driver modules should be built with BPF enabled for maximum convenience (but can be built without it for maximum performance).
|
#
45822 |
|
19-Apr-1999 |
peter |
Zap LKM option and support. Farewell old friend.
|
#
45728 |
|
16-Apr-1999 |
peter |
oops, there was no tek390.c from the last commit, that's something on one of Doug's machines apparently.
|
#
45720 |
|
16-Apr-1999 |
peter |
Bring the 'new-bus' to the i386. This extensively changes the way the i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA.
(Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.)
This is a checkpoint of work-in-progress, but is quite functional.
The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman.
Approved by: core
|
#
45715 |
|
16-Apr-1999 |
n_hibma |
Remove the entries for umodem and ucom. These drivers only probe and attach, nothing else. This is confusing to people.
|
#
45667 |
|
13-Apr-1999 |
peter |
Build the functionality of the wdc_p hack into the ide_pci.c code. All it did was match a specific device ID and turn on a quirk for the wdc driver.
Incidently, at line 1462 there is a return that prevents the generic ide_pci code from trying to look at the device. I'd be interested to know if we can take out the return and let the generic code "see" it. I've left the return in because that's the way it worked before.
(Be sure to rerun config after cvsup or you'll get undefined files!)
|
#
45486 |
|
08-Apr-1999 |
n_hibma |
In preparation of the commit of the umass driver and to make life easier for testers.
|
#
45386 |
|
06-Apr-1999 |
wpaul |
Add driver support for gigabit ethernet adapters based on the Alteon Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed gigabit ethernet adapters out there which use the Alteon chipset so this driver covers a fair amount of hardware. I know that it works with the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and and Sun boards. The Netgear board is the cheapest (~$350US) but still yields fairly good performance.
Support is provided for jumbo frames with all adapters (just set the MTU to something larger than 1500 bytes), as well as hardware multicast filtering and vlan tagging (in conjunction with the vlan support in -current, which I should merge into -stable soon). There are some hooks for checksum offload support, but they're turned off for now since FreeBSD doesn't have an officially sanctioned way to support checksum offloading (yet).
I have not added the 'device ti0' entry to GENERIC since the driver with all the firmware compiled in is quite large, and it doesn't really fit into the category of generic hardware.
|
#
45122 |
|
29-Mar-1999 |
ken |
Delete all references to the "aic" driver. It isn't in the tree, and may not show up for a while, and I'm tired of people asking about it.
Perhaps this will eliminate some of the confusion.
|
#
44432 |
|
02-Mar-1999 |
semenu |
Add new kernel option:
options NTFS
|
#
44188 |
|
21-Feb-1999 |
n_hibma |
Rename hid device to uhid (HID: Human Interface Device)
|
#
44165 |
|
20-Feb-1999 |
julian |
World, I'd like you to meet the first FreeBSD token Ring driver. This is for various Olicom cards. An IBM driver is following. This patch also adds support to tcpdump to decode packets on tokenring. Congratulations to the proud father.. (below)
Submitted by: Larry Lile <lile@stdio.com>
|
#
44128 |
|
18-Feb-1999 |
n_hibma |
Moved [uo]hci_pci.c from /sys/dev/pci to /sys/pci after Soren threatened to send Bruce. These files are no longer shared with NetBSD anyway.
Requires a config and make depend.
|
#
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.
|
#
43972 |
|
13-Feb-1999 |
nsouch |
Add pci/alpm.c, Aladdin SMBus driver (alpm(4)).
|
#
43411 |
|
30-Jan-1999 |
newton |
New pseudo-device to provide for a way of obtaining a socket by open()ing something in /dev.
Obtained from: Christos Zoulas (NetBSD)
|
#
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>
|
#
43081 |
|
22-Jan-1999 |
peter |
Add vinumdaemon.c; sort vinum entries.
|
#
43026 |
|
21-Jan-1999 |
n_hibma |
Make uhub mandatory in usb config (msmith)
|
#
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>
|
#
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).
|
#
42733 |
|
16-Jan-1999 |
dfr |
Add kern_syscalls.c
Submitted by: Assar Westerlund <assar@sics.se>
|
#
42680 |
|
14-Jan-1999 |
msmith |
Add sscanf/vsscanf/strtoq/strtouq to the kernel. Initially these will be used for parsing kernel environment values, although they have utility elsewhere.
|
#
42653 |
|
14-Jan-1999 |
gibbs |
Add entry for the target mode black hole driver.
|
#
42444 |
|
09-Jan-1999 |
wpaul |
Add driver support (and man page) for PCI fast ethernet cards based on the ASIX AX88140A chip. Update /sys/conf/files, RELNOTES.TXT, /sys/i388/i386/userconfig.c, sysinstall/devices.c, GENERIC and LINT accordingly.
For now, the only board that I know of that uses this chip is the Alfa Inc. GFC2204. (Its predecessor, the GFC2202, was a DEC tulip card.) Thanks again to Ulf for obtaining the board for me. If anyone runs across another, please feel free to update the man page and/or the release notes. (The same applies for the other drivers.)
FreeBSD should now have support for all of the DEC tulip workalike chipsets currently on the market (Macronix, Lite-On, Winbond, ASIX). And unless I'm mistaken, it should also have support for all PCI fast ethernet chipsets in general (except maybe the SMC FEAST chip, which nobody seems to ever use, including SMC). Now if only we could convince 3Com, Intel or whoever to cough up some documentation for gigabit ethernet hardware.
Also updated RELNOTEX.TXT to mention that the SVEC PN102TX is supported by the Macronix driver (assuming you actually have an SVEC PN102TX with a Macronix chip on it; I tried to order a PN102TX once and got a box labeled 'Hawking Technology PN102TX' that had a VIA Rhine board inside it).
|
#
42124 |
|
28-Dec-1998 |
peter |
Config glue for 'pseudo-device vinum'
|
#
42107 |
|
27-Dec-1998 |
phk |
Initial entry of ISDN4BSD into the FreeBSD tree.
ISDN4BSD is the work of our brand-new comitter: Hellmuth Michaelis, who has done a tremendous amount of work to bring us this far.
There are still some outstanding issues and files to bring into the tree, and for now it will be needed to pick up all the extra docs from the isdn4bsd release.
It is probably also a very good idea to subscribe to the isdn@freebsd.org mailing list before you try this out.
These files correspond to release "beta Version 0.70.00 / December 1998" from Hellmuth.
|
#
41790 |
|
14-Dec-1998 |
luigi |
Bring dummynet+bridging in -current. Everything will be ready when LINT is updated.
|
#
41742 |
|
13-Dec-1998 |
n_hibma |
Added uhid again, sorting seems to work now
|
#
41739 |
|
13-Dec-1998 |
n_hibma |
dded the stubs for umodem and ucom (communications class driver). They are nothing other than the ugen driver with different variable names.
|
#
41665 |
|
10-Dec-1998 |
n_hibma |
Reversed the order of the USB devices, makes sure the ugen device is probed last
|
#
41624 |
|
09-Dec-1998 |
n_hibma |
Preliminary support for OHCI motherboards
|
#
41592 |
|
07-Dec-1998 |
imp |
If there is no .depends file, use the standard ad-hoc way of ensuring that the generated files are generated before any of the object files. Also minor cleanup of dependencies in conf/files that I bogusly added before.
This should fix the requirement that make depend be done starting from a clean config directory. If you don't have a clean directory, make depend is still required if you want the proper .o's to be recompiled.
Reviewed by: bde
|
#
41502 |
|
04-Dec-1998 |
wpaul |
An early Christmas present: add driver support for a whole bunch of PCI fast ethernet adapters, plus man pages.
if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100, various other PNIC devices
if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various other boards based on the Macronix 98713, 98713A, 98715, 98715A and 98725 chips
if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and Rhine II chips (note: the D-Link and certain other cards that actually use a Rhine II chip still return the PCI device ID of the Rhine I. I don't know why, and it doesn't really matter since the driver treats both chips the same anyway.)
if_wb.c: Trendware TE100-PCIE and various other cards based on the Winbond W89C840F chip (the Trendware card is identical to the sample boards Winbond sent me, so who knows how many clones there are running around)
All drivers include support for ifmedia, BPF and hardware multicast filtering.
Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and sysinstall device list.
I also have a driver for the ASIX AX88140A in the works.
|
#
41366 |
|
26-Nov-1998 |
n_hibma |
Initial commit of ported NetBSD USB stack
|
#
41317 |
|
24-Nov-1998 |
eivind |
Whoops - wrong copy of files, so all wasn't converted. Rest of perl -> perl5
|
#
41316 |
|
24-Nov-1998 |
eivind |
perl -> perl5, to allow to compile on older boxes with perl5 installed (but without perl5 as the system perl)
|
#
41180 |
|
15-Nov-1998 |
dfr |
Build subr_rman.c by default.
|
#
41099 |
|
11-Nov-1998 |
msmith |
Remove the 'amd' driver.
|
#
41014 |
|
08-Nov-1998 |
nsouch |
Update configuration files for the perl based makedevops script.
Submitted by: Nick Hibma <nick.hibma@jrc.it> Approved by: Doug Rabson <dfr@nlsystems.com>
|
#
40870 |
|
03-Nov-1998 |
des |
Back out previous commit. The bpfilter -> bpf transition will have to be a flag day unless we can hack config(8) to smooth things over.
|
#
40869 |
|
03-Nov-1998 |
des |
Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal and will stick around for a while.
|
#
40780 |
|
31-Oct-1998 |
nsouch |
Extensions to iicbus(4) added + brooktree848 driver ported to new I2C framework.
|
#
40636 |
|
25-Oct-1998 |
phk |
Add some missing dependencies.
Grumbled about in principle: bde
|
#
40516 |
|
18-Oct-1998 |
wpaul |
Add driver support for PCI fast ethernet adapters based on the RealTek 8129/8139 chipset like I've been threatening. Update kernel configs, userconfig.c, relnotes and sysinstall. No man page yet; comming soon.
I consider this driver stable enough that I want to give it some exposure in -current.
|
#
40507 |
|
18-Oct-1998 |
phk |
Added missing dependency for bus_if.o on bus_if.h
|
#
40368 |
|
15-Oct-1998 |
peter |
Forgot to commit this; the alpha uses the kld symbol interface now. The tables that db_elf.c is expecting are not loaded in that format any more.
|
#
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.
|
#
40088 |
|
08-Oct-1998 |
msmith |
New files for kernel environment and module metadata interfaces.
|
#
40024 |
|
07-Oct-1998 |
gibbs |
Add support for the ASC3550 AdvanSys SCSI Host Controller (aka 940UW).
|
#
39535 |
|
21-Sep-1998 |
bde |
Clean aicasm's lex and yacc generated source files.
|
#
39510 |
|
20-Sep-1998 |
bde |
Removed entries for dead SLICE files. Removed commented out entries for dead networking files (netccitt etc.). Uncommented entries for zombie networking files (netns).
|
#
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.
|
#
39154 |
|
14-Sep-1998 |
jdp |
Add provisions for variant core dump file formats, depending on the object format of the executable being dumped. This is the first step toward producing ELF core dumps in the proper format. I will commit the code to generate the ELF core dumps Real Soon Now. In the meantime, ELF executables won't dump core at all. That is probably no less useful than dumping a.out-style core dumps as they have done until now.
Submitted by: Alex <garbanzo@hooked.net> (with very minor changes by me)
|
#
39133 |
|
13-Sep-1998 |
nsouch |
add immio.c for ZIP+ support
|
#
39126 |
|
13-Sep-1998 |
rvb |
Finish conversion of cfs -> coda
|
#
39085 |
|
11-Sep-1998 |
rvb |
All the references to cfs, in symbols, structs, and strings have been changed to coda. (Same for CFS.)
|
#
39016 |
|
09-Sep-1998 |
imp |
Add dependency for subr_bus.c on bus_if.h and device_if.h so that a make depend is not required to just build the kernel.
Reviewed by: Doug Rabson
|
#
38783 |
|
03-Sep-1998 |
nsouch |
Reviewed by: Doug Rabson Submitted by: nsouch I2C and SMB files added + new bus arch. files description
|
#
38759 |
|
02-Sep-1998 |
rvb |
Pass2 complete
|
#
38363 |
|
16-Aug-1998 |
wpaul |
Import the (Fast) Etherlink XL driver. I'm reasonally confident in its stability now. ALso modify /sys/conf/files, /sys/i386/conf/GENERIC and /sys/i386/conf/LINT to add entries for the XL driver. Deactivate support for the XL adapters in the vortex driver. LAstly, add a man page.
(Also added an MLINKS entry for the ThunderLAN man page which I forgot previously.)
|
#
38061 |
|
03-Aug-1998 |
msmith |
Major ppbus updates from the author.
- ppbus now supports PLIP via the if_plip driver - ieee1284 infrastructure added, including parallel-port PnP - port microsequencer added, for scripting the sort of port I/O that is common with parallel devices without endless calls up and down through the driver structure. - improved bus ownership behaviour among the ppbus-using drivers. - improved I/O chipset feature detection
The vpo driver is now implemented using the microsequencer, leading to some performance improvements as well as providing an extensive example of its use.
Reviewed by: msmith Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
37928 |
|
28-Jul-1998 |
brian |
pseudo-device ssc requires su.c (pseudo-device su) Submitted by: woods@zeus.leitch.com (Greg A. Woods) PR: 7413
|
#
37296 |
|
30-Jun-1998 |
bde |
Nuked opt_defunct.h and kern_opt.c. config(8) now generates good enough warnings about all unknown options.
|
#
37222 |
|
27-Jun-1998 |
dfr |
Add options for selecting ELF or KLD symbols in DDB.
|
#
36988 |
|
14-Jun-1998 |
dfr |
Oops, wrong file again.
|
#
36972 |
|
14-Jun-1998 |
dfr |
Major changes to the generic device framework for FreeBSD/alpha:
* Eliminate bus_t and make it possible for all devices to have attached children.
* Support dynamically extendable interfaces for drivers to replace both the function pointers in driver_t and bus_ops_t (which has been removed entirely. Two system defined interfaces have been defined, 'device' which is mandatory for all devices and 'bus' which is recommended for all devices which support attached children.
* In addition, the alpha port defines two simple interfaces 'clock' for attaching various real time clocks to the system and 'mcclock' for the many different variations of mc146818 clocks which can be attached to different alpha platforms. This eliminates two more function pointer tables in favour of the generic method dispatch system provided by the device framework.
Future device interfaces may include:
* cdev and bdev interfaces for devfs to use in replacement for specfs and the fixed interfaces bdevsw and cdevsw.
* scsi interface to replace struct scsi_adapter (not sure how this works in CAM but I imagine there is something similar there).
* various tailored interfaces for different bus types such as pci, isa, pccard etc.
|
#
36861 |
|
10-Jun-1998 |
dfr |
I accidentally committed the wrong file, sorry.
|
#
36849 |
|
10-Jun-1998 |
dfr |
Add initial support for the FreeBSD/alpha kernel. This is very much a work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-).
Obtained from: partly from NetBSD/alpha
|
#
36475 |
|
30-May-1998 |
phk |
Add minimum driver for XC6200 based cards. Currently it knows about the HOT1 from www.vcc.com.
|
#
36318 |
|
23-May-1998 |
jkh |
Remove two CODA entries by request. Submitted by: Robert Baron <rvb@sicily.odyssey.cs.cmu.edu>
|
#
36272 |
|
21-May-1998 |
wpaul |
Add entry for ThunderLAN driver to files.
|
#
36192 |
|
19-May-1998 |
dg |
Added fast IP forwarding code by Matt Thomas <matt@3am-software.com> via NetBSD, ported to FreeBSD by Pierre Beyssac <pb@fasterix.freenix.org> and minorly tweaked by me. This is a standard part of FreeBSD, but must be enabled with: "sysctl -w net.inet.ip.fastforwarding=1" ...and of course forwarding must also be enabled. This should probably be modified to use the zone allocator for speed and space efficiency. The current algorithm also appears to lose if the number of active paths exceeds IPFLOW_MAX (256), in which case it wastes lots of time trying to figure out which cache entry to drop.
|
#
35389 |
|
22-Apr-1998 |
mjacob |
Add support for the Qlogic ISP SCSI && FC/AL Adapters
|
#
35319 |
|
19-Apr-1998 |
julian |
Add changes and code to implement a functional DEVFS. This code will be turned on with the TWO options DEVFS and SLICE. (see LINT) Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes.
/dev will be automatically mounted by init (thanks phk) on bootup. See /sys/dev/slice/slice.4 for more info. All code should act the same without these options enabled.
Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others
This code does not support the following: bad144 handling. Persistance. (My head is still hurting from the last time we discussed this) ATAPI flopies are not handled by the SLICE code yet.
When this code is running, all major numbers are arbitrary and COULD be dynamically assigned. (this is not done, for POLA only) Minor numbers for disk slices ARE arbitray and dynamically assigned.
|
#
34944 |
|
29-Mar-1998 |
phk |
Export MD5Transform in md5.c and remove a private version in random_machdep.c md5 is standard as a consequence of this.
|
#
34933 |
|
28-Mar-1998 |
dufault |
The system call stubs for the sched_* system calls can't be optional.
The kernel will now link but the new system calls can't be LKM'd in without the P1003_1B option - I will remove this option later.
|
#
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.
|
#
34676 |
|
19-Mar-1998 |
bde |
Fixed building of kernels without `options FFS'. ffs_softdep_stub.c is not optional, since several "standard" files in ufs/ufs reference it.
|
#
34649 |
|
17-Mar-1998 |
wollman |
Add preliminary support for IEEE 802.1Q VLAN tagging. It doesn't actually work reliably yet (I've had panics), but it does seem to occasionally be able to transmit and receive syntactically-correct packets. Also fixes one of if_ethersubr.c's legion style bugs, and removes the hostcache code from standard kernels---the code that depends on it is not going to happen any time soon, I'm afraid.
|
#
34480 |
|
10-Mar-1998 |
julian |
Add EISA support for DPT drivers Submitted by: Matthew Dodd Reviewd by: shimon@simon-shapiro.org (DPT author)
|
#
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.
|
#
33724 |
|
21-Feb-1998 |
jkh |
MF22: CODA entries. Submitted by: "Robert.V.Baron" <rvb@GLUCK.CODA.CS.CMU.EDU>
|
#
33323 |
|
13-Feb-1998 |
phk |
Add a skelleton pulse-per-second timing driver. This will become more useful when I get my timecounter changes past the Bruce-filter.
|
#
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
|
#
32817 |
|
26-Jan-1998 |
dyson |
Someone removed vm_zone.c from /sys/conf/files.
|
#
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
|
#
32678 |
|
21-Jan-1998 |
jkh |
Add support for tx driver.
|
#
32388 |
|
10-Jan-1998 |
phk |
Effect the divorce of kern_clock.c and kern_timeout.c (which was repository copied from kern_clock.c)
|
#
31496 |
|
02-Dec-1997 |
nate |
- Framework for PCI/CardBus controllers running in PCMCIA emulation mode. Currently, the only supported controller is the Cirrus Logic PD6832, but others can be supported with docs on them.
Submitted by: Ted Faber <faber@ISI.EDU>
|
#
30723 |
|
26-Oct-1997 |
nate |
- 'Beep' support now happens in it's own separate file, so you can mess around with different noises for the different events and not have it affect other files.
Inspired by: PAO
|
#
30720 |
|
26-Oct-1997 |
nate |
- Do a bunch of gratuitous changes intended to make the code easier to follow. * Rename/reorder all of the pccard structures, change many of the member names to be descriptive, and follow more closely other 'bus' drivers naming schemes. * Rename a bunch of parameter and local variable names to be more consistant in the code. * Renamed the PCCARD 'crd' device to be the 'card' device * KNF and make the code consistant where it was obvious. * ifdef'd out some unused code
|
#
30474 |
|
16-Oct-1997 |
phk |
VFS mega cleanup commit (x/N)
1. Add new file "sys/kern/vfs_default.c" where default actions for VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE, POLL, REVOKE and STRATEGY. Various stuff spread over the entire tree belongs here.
2. Change VOP_BLKATOFF to a normal function in cd9660.
3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These are private interface functions between UFS and the underlying storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now live in struct ufsmount instead.
4. Remove a kludge of VOP_ functions in all filesystems, that did nothing but obscure the simplicity and break the expandability. If a filesystem doesn't implement VOP_FOO, it shouldn't have an entry for it in its vnops table. The system will try to DTRT if it is not implemented. There are still some cruft left, but the bulk of it is done.
5. Fix another VCALL in vfs_cache.c (thanks Bruce!)
|
#
30310 |
|
11-Oct-1997 |
joerg |
sppp(4) is now also a consumer of the kernel MD5 code.
|
#
29670 |
|
21-Sep-1997 |
gibbs |
Move the rules for aicasm to the MI conf file.
Add kern/subr_autoconf.c as a standard file as it contains the bulk of the code for performing interrupt driven configuration.
|
#
28808 |
|
26-Aug-1997 |
peter |
Clean up the SMP AP bootstrap and eliminate the wretched idle procs.
- We now have enough per-cpu idle context, the real idle loop has been revived (cpu's halt now with nothing to do). - Some preliminary support for running some operations outside the global lock (eg: zeroing "free but not yet zeroed pages") is present but appears to cause problems. Off by default. - the smp_active sysctl now behaves differently. It's merely a 'true/false' option. Setting smp_active to zero causes the AP's to halt in the idle loop and stop scheduling processes. - bootstrap is a lot safer. Instead of sharing a statically compiled in stack a number of times (which has caused lots of problems) and then abandoning it, we use the idle context to boot the AP's directly. This should help >2 cpu support since the bootlock stuff was in doubt. - print physical apic id in traps.. helps identify private pages getting out of sync. (You don't want to know how much hair I tore out with this!)
More cleanup to follow, this is more of a checkpoint than a 'finished' thing.
|
#
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.
|
#
28415 |
|
19-Aug-1997 |
peter |
Update kernel parts of pppd from 2.2.0 to 2.3.0. I've yet to look at the 2.3.0 -> 2.3.1 changes, but I seem to recall that there are certain "issues" with 2.3.1 (I'm not sure if it's just pppd or the whole lot, I am not quite that far). The present pppd seems to work with it just fine for the time being.
Among the changes are that zlib (aka LZ77 aka deflate aka gzip) compression is implemented as well as the original compress(1) LZW style.
|
#
28269 |
|
16-Aug-1997 |
wollman |
Enable hostcache code.
|
#
28258 |
|
16-Aug-1997 |
msmith |
Add new ppbus files. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
28256 |
|
16-Aug-1997 |
msmith |
Oops, reference the ppi and vpo drivers properly. Obviously nobody's using this stuff yet 8)
|
#
28220 |
|
14-Aug-1997 |
msmith |
Add parallel-Port Bus drivers. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
27899 |
|
04-Aug-1997 |
dyson |
Get rid of the ad-hoc memory allocator for vm_map_entries, in lieu of a simple, clean zone type allocator. This new allocator will also be used for machine dependent pmap PV entries.
|
#
26965 |
|
26-Jun-1997 |
jhay |
Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that I introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG>
|
#
26671 |
|
15-Jun-1997 |
dyson |
Modifications to existing files to support the initial AIO/LIO and kernel based threading support.
|
#
26159 |
|
26-May-1997 |
se |
Completely replace the PCI bus driver code to make it better reflect reality. There will be a new call interface, but for now the file pci_compat.c (which is to be deleted, after all drivers are converted) provides an emulation of the old PCI bus driver functions. The only change that might be visible to drivers is, that the type pcici_t (which had been meant to be just a handle, whose exact definition should not be relied on), has been converted into a pcicfgregs* .
The Tekram AMD SCSI driver bogusly relied on the definition of pcici_t and has been converted to just call the PCI drivers functions to access configuration space register, instead of inventing its own ...
This code is by no means complete, but assumed to be fully operational, and brings the official code base more in line with my development code.
A new generic device descriptor data type has to be agreed on. The PCI code will then use that data type to provide new functionality:
1) userconfig support 2) "wired" PCI devices 3) conflicts checking against ISA/EISA 4) maps will depend on the command register enable bits 5) PCI to Anything bridges can be defined as devices, and are probed like any "standard" PCI device.
The following features are currently missing, but will be added back, soon:
1) unknown device probe message 2) suppression of "mirrored" devices caused by ancient, broken chip-sets
This code relies on generic shared interrupt support just commited to kern_intr.c (plus the modifications of isa.c and isa_device.h).
|
#
26158 |
|
26-May-1997 |
se |
Add kern/kern_intr.c as a standard kernel component. This file contains the new interrupt registration code, which is meant to be architecture indeppendent.
|
#
26127 |
|
25-May-1997 |
darrenr |
Add lines for new files in ipfilter
|
#
25723 |
|
11-May-1997 |
tegge |
Bring in some kernel bootp support. This removes the need for netboot to fill in the nfs_diskless structure, at the cost of some kernel bloat. The advantage is that this code works on a wider range of network adapters than netboot. Several new kernel options are documented in LINT. Obtained from: parts of the code comes from NetBSD.
|
#
25609 |
|
09-May-1997 |
kjc |
merge ATM driver
|
#
25537 |
|
07-May-1997 |
dfr |
This is the kernel linker. To use it, you will first need to apply the patches in freefall:/home/dfr/ld.diffs to your ld sources and set BINFORMAT to aoutkld when linking the kernel.
Library changes and userland utilities will appear in a later commit.
|
#
25433 |
|
03-May-1997 |
peter |
add net/if_media.c
|
#
25164 |
|
26-Apr-1997 |
peter |
Man the liferafts! Here comes the long awaited SMP -> -current merge!
There are various options documented in i386/conf/LINT, there is more to come over the next few days.
The kernel should run pretty much "as before" without the options to activate SMP mode.
There are a handful of known "loose ends" that need to be fixed, but have been put off since the SMP kernel is in a moderately good condition at the moment.
This commit is the result of the tinkering and testing over the last 14 months by many people. A special thanks to Steve Passe for implementing the APIC code!
|
#
24293 |
|
26-Mar-1997 |
joerg |
Bring the dev/pdq entries into alphabetical order.
Forgotten by: joerg :)
|
#
23949 |
|
16-Mar-1997 |
gibbs |
Make this whitespace compatible with the change that I correctly committed to the 2.2 branch for the new aic7xxx assembler.
|
#
23940 |
|
16-Mar-1997 |
bde |
Fixed missing line-continuation backslash in the previous revision.
|
#
23924 |
|
16-Mar-1997 |
gibbs |
Add depend rule for the now compile time generated aic7xxx register file.
|
#
23814 |
|
12-Mar-1997 |
se |
Add wdc_p.c for support of the CMD640 PCI EIDE chip.
|
#
23609 |
|
10-Mar-1997 |
markm |
Move this files* entry for the Brooktree TV driver toi the right 'files*'.
|
#
22532 |
|
10-Feb-1997 |
darrenr |
Add IP Filter .c files for "config" & "config.new" use.
|
#
22521 |
|
10-Feb-1997 |
dyson |
This is the kernel Lite/2 commit. There are some requisite userland changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes.
The system boots and can mount UFS filesystems.
Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed.
Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
|
#
21830 |
|
17-Jan-1997 |
joerg |
This mega-merge brings Matt Thomas' 960801 FDDI driver (almost) up to -current.
Thanks goes to Ulrike Nitzsche <ulrike@ifw-dresden.de> for giving me a chance to test this. Only the PCI driver is tested though.
One final patch will follow in a separate commit. This is so that everything up to here can be dragged into 2.2, if we decide so.
Reviewed by: joerg Submitted by: Matt Thomas <matt@3am-software.com>
|
#
21771 |
|
16-Jan-1997 |
bde |
Added file kern_opt.c for putting warnings about defunct options in. Warn about recently removed option EXTRAVNODES and about other rubbish that hasn't been put in opt_defunct.h yet.
|
#
20788 |
|
22-Dec-1996 |
phk |
Add kern/md5c.c which came here by repository copy.
|
#
20616 |
|
17-Dec-1996 |
se |
Add driver for the Tekram DC390 and DC390F, believed to also work with generic AMD 53c974 SCSI controllers, under the name of "amd".
|
#
19410 |
|
04-Nov-1996 |
guido |
New vx driver for:
3COM 3C590 Etherlink III PCI, 3COM 3C595 Fast Etherlink PCI, 3COM 3C592 Etherlink III EISA, 3COM 3C590 Fast Etherlink EISA, 3COM 3C900 Etherlink XL PCI and 3COM 3C905 Fast Etherlink XL PCI.
This driver is based on OpenBSD's driver. I modified it to run under FreeBSd and made it actually work usefully. Afterwards, nao@tom-yam.or.jp (HAMADA Naoki) added EISA support as well as early support for 3C900 Etherlink XL PCI and 3C905 Fast Etherlink XL PCI. He also split up the driver in a bus independant and bus dependant parts.
Especially the 3c59X support should be pretty stable now.
Submitted by: partly nao@tom-yam.or.jp (HAMADA Naoki) Obtained from:partly OpenBSD
|
#
19242 |
|
29-Oct-1996 |
jhay |
Add support for the SDL RISCom N2pci cards. Bring in the enhancements made to the Arnet driver.
|
#
19063 |
|
20-Oct-1996 |
phk |
Removing old isdn stuff.
|
#
18901 |
|
12-Oct-1996 |
dg |
Changes to add support for the PCI version of the Cyclades Cyclom-Y serial adapter, and support for multiple Cyclom controllers.
|
#
18113 |
|
07-Sep-1996 |
sos |
Fixed two small leftovers form PHK's mega devconf removal commit..
|
#
17863 |
|
28-Aug-1996 |
bde |
Sorted and fixed tabs.
The only excuse this had for becoming misordered was that some drivers were sorted on the driver name field, but the ffs versus mfs ordering shows that this is not a consistent order.
The only case that I know of where simple sorting is wrong is for files that must be compiled without profiling if profiling is configured and normally otherwise. Then the line with `profiling-routine' must appear first to get the file compiled with ${PROFILE_C}.
|
#
17699 |
|
20-Aug-1996 |
julian |
having checked in the file I probably should check in the entry for kern_shutdown.c if I want anyone to be able to compile a kernel
|
#
17352 |
|
30-Jul-1996 |
wollman |
Add better support for retrieving management information from network interfaces. This creates two new tables in the net.link.generic branch of the MIB; one contains (essentially) `ifdata' structures, and the other contains a blob provided by the interface (and presumably used to implement link-layer-specific MIB variables). A number of things have been moved around in the `ifnet' and `ifdata' structures, so NEW VERSIONS OF ifconfig(8) AND routed(8) ARE REQUIRED. (A simple recompile is all that's necessary.)
I have a sample program which uses this interface for those interested in making use of it.
|
#
17218 |
|
18-Jul-1996 |
se |
FINALLY: PCI support for the Lance Ethernet driver.
This code applies to several systems with integrated Ethernet chip, for example from HP or Compaq. It should also support PCI Ethernet cards based on the AMD PCI Lance chip.
This code has been reviewed (visually) by Paul Richards and tested (using an ISA Lance board) by Joerg Wunsch. Since the parameters to nearly each and every single function had to be changed (generally from unit number to lnc_soft*), there is some potential for buglets having crept in ...
BEWARE: If you had lnc0 configured to have the ISA probe find your PCI Lance, then it should now be found by the PCI probe, and should be automatically configured as pci1 (!!! note the "1").
Reviewed by: paul, joerg
|
#
17072 |
|
10-Jul-1996 |
julian |
Adding changes to ipfw and the kernel to support ip packet diversion.. This stuff should not be too destructive if the IPDIVERT is not compiled in.. be aware that this changes the size of the ip_fw struct so ipfw needs to be recompiled to use it.. more changes coming to clean this up.
|
#
16475 |
|
18-Jun-1996 |
dyson |
Add the file procfs_type.c to procfs.
|
#
16467 |
|
17-Jun-1996 |
dyson |
Add a feature to procfs to allow display of the process address map with multiple entries as follows:
start address, end address, resident pages in range, private pages in range, RW/RO, COW or not, (vnode/device/swap/default).
|
#
16368 |
|
14-Jun-1996 |
wollman |
This is the `netkey' kernel key-management service (the PF_KEY analogue to PF_ROUTE) from NRL's IPv6 distribution, heavily modified by me for better source layout, formatting, and textual conventions. I am told that this code is no longer under active development, but it's a useful hack for those interested in doing work on network security, key management, etc. This code has only been tested twice, so it should be considered highly experimental.
Obtained from: ftp.ripe.net
|
#
15885 |
|
23-May-1996 |
julian |
Obtained from: netatalk distribution netatalk@itd.umich.edu
Kernel Appletalk protocol support both CAP and netatalk can make use of this.. still needs some owrk but it seemd the right tiime to commit it so other can experiment.
|
#
15813 |
|
18-May-1996 |
se |
Add support for NE2000 compatible PCI Ethernet cards. The PCI probe is enabled by having an "device ed0 at isa? [...]" config line. The first PCI card will get a unit number one higher than the highest defined for any ISA card of the ED type, e.g. if ed0 and ed1 are configured, then the PCI cards will be ed2, ed3, ...
BEWARE: If you have configured your kernel as ed0 with the port address as assigned by the PCI BIOS, then your card will be found by both the PCI and ISA probes, and bad things may happen. Make sure to restore the original port address form the GENERIC kernel for the ed0 device!
Reviewed by: davidg
|
#
15570 |
|
03-May-1996 |
asami |
Bring in ccd support.
ccd is a pseudo device.
|
#
15103 |
|
07-Apr-1996 |
phk |
Move the "mib" variables out to their own file.
|
#
14766 |
|
23-Mar-1996 |
phk |
Remove all traces of KADB. add sysctl "debug.debugger_on_panic=1" if DDB or KGDB is in kernel.
Requested by: davidg
|
#
14456 |
|
10-Mar-1996 |
sos |
First attempt at FreeBSD & Linux ELF support.
Compile and link a new kernel, that will give native ELF support, and provide the hooks for other ELF interpreters as well.
To make native ELF binaries use John Polstras elf-kit-1.0.1.. For the time being also use his ld-elf.so.1 and put it in /usr/libexec.
The Linux emulator has been enhanced to also run ELF binaries, it is however in its very first incarnation. Just get some Linux ELF libs (Slackware-3.0) and put them in the prober place (/compat/linux/...). I've ben able to run all the Slackware-3.0 binaries I've tried so far. (No it won't run quake yet :)
|
#
14331 |
|
02-Mar-1996 |
peter |
Mega-commit for Linux emulator update.. This has been stress tested under netscape-2.0 for Linux running all the Java stuff. The scrollbars are now working, at least on my machine. (whew! :-)
I'm uncomfortable with the size of this commit, but it's too inter-dependant to easily seperate out.
The main changes:
COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386 machine dependent section into the linux emulator itself. The int 0x80 syscall code was almost identical to the lcall 7,0 code and a minor tweak allows them to both be used with the same C code. All kernels can now just modload the lkm and it'll DTRT without having to rebuild the kernel first. Like IBCS2, you can statically compile it in with "options LINUX".
A pile of new syscalls implemented, including getdents(), llseek(), readv(), writev(), msync(), personality(). The Linux-ELF libraries want to use some of these.
linux_select() now obeys Linux semantics, ie: returns the time remaining of the timeout value rather than leaving it the original value.
Quite a few bugs removed, including incorrect arguments being used in syscalls.. eg: mixups between passing the sigset as an int, vs passing it as a pointer and doing a copyin(), missing return values, unhandled cases, SIOC* ioctls, etc.
The build for the code has changed. i386/conf/files now knows how to build linux_genassym and generate linux_assym.h on the fly.
Supporting changes elsewhere in the kernel:
The user-mode signal trampoline has moved from the U area to immediately below the top of the stack (below PS_STRINGS). This allows the different binary emulations to have their own signal trampoline code (which gets rid of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so that the emulator can provide the exact "struct sigcontext *" argument to the program's signal handlers.
The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which have the same values as the re-used SA_DISABLE and SA_ONSTACK which are intended for sigaction only. This enables the support of a SA_RESETHAND flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal semantics where the signal handler is reset when it's triggered.
makesyscalls.sh no longer appends the struct sysentvec on the end of the generated init_sysent.c code. It's a lot saner to have it in a seperate file rather than trying to update the structure inside the awk script. :-)
At exec time, the dozen bytes or so of signal trampoline code are copied to the top of the user's stack, rather than obtaining the trampoline code the old way by getting a clone of the parent's user area. This allows Linux and native binaries to freely exec each other without getting trampolines mixed up.
|
#
14209 |
|
23-Feb-1996 |
phk |
Big sweep over the IPFIREWALL and IPACCT code.
Close the ip-fragment hole. Waste less memory. Rewrite to contemporary more readable style. Kill separate IPACCT facility, use "accept" rules in IPFIREWALL. Filter incoming >and< outgoing packets. Replace "policy" by sticky "deny all" rule. Rules have numbers used for ordering and deletion. Remove "rerorder" code entirely. Count packet & bytecount matches for rules.
Code in -current & -stable is now the same.
|
#
14093 |
|
13-Feb-1996 |
wollman |
Kill XNS. While we're at it, fix socreate() to take a process argument. (This was supposed to get committed days ago...)
|
#
13957 |
|
07-Feb-1996 |
wollman |
Comment out netccitt, netimp, and netiso entries, since we no longer ship this code.
Submitted by: davidg
|
#
13677 |
|
28-Jan-1996 |
dyson |
Added sys_pipe into files.
|
#
13609 |
|
24-Jan-1996 |
peter |
procfs_{mem|regs|fpregs}.c are now completely shared with ptrace(), and are no longer optional. This cuts down some code duplication.
|
#
13525 |
|
20-Jan-1996 |
bde |
Removed last vestige of JREMOD.
|
#
13335 |
|
08-Jan-1996 |
peter |
sysv_ipc.c now "standard" as it contains #if defined(...) blocks of code that handle the various permutations of SYSV options. sysv_shm.c etc (the implementations) are still optional, this is just a file of stubs and an optional utility function.
|
#
12788 |
|
12-Dec-1995 |
gibbs |
Add pci/bt9xx.c - the new PCI probe module of the Buslogic SCSI driver.
|
#
12675 |
|
08-Dec-1995 |
julian |
Pass 3 of the great devsw changes most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter)
If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :)
pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :)
|
#
12510 |
|
28-Nov-1995 |
dg |
Device driver for Intel Pro/100 PCI Fast Ethernet controller.
|
#
12117 |
|
05-Nov-1995 |
dyson |
Changes to existing files for ext2fs support. The UFS mods need rework in the future as they are a bit crufty -- but at least the stuff is in the tree now.
|
#
11972 |
|
31-Oct-1995 |
peter |
Update the file list for the new ppp files..
|
#
11949 |
|
31-Oct-1995 |
julian |
Reviewed by: not yet Submitted by: fgray@rice.edu this driver hasn't been checked but as a separate module, bringing it in won't break anything else and it't the best way of testing it......
julian
|
#
11819 |
|
26-Oct-1995 |
julian |
Reviewed by: julian and jhay@mikom.csir.co.za Submitted by: Mike Mitchell, supervisor@alb.asctmd.com
This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on..
Mikes been using it for a year or so but on 2.0
more changes and stuff will be merged in from other developers now that this is in.
Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com
|
#
11159 |
|
04-Oct-1995 |
julian |
add the file kern_conf.c so it con be compiled in when needed for testing.. (for cdevsw_add and bdevsw_add)
|
#
10581 |
|
06-Sep-1995 |
julian |
replaced 2 devfs files with one that replaces them
|
#
10109 |
|
19-Aug-1995 |
joerg |
First part of importing the Japanese `od' driver.
Claim the major numbers (before sombedoy else jumps in again and claims the slots for his foocd driver :-), install all the hooks that are required.
While i've been at this, i've cleaned up some of the routines at the end of i386/conf.c; all the importers of the latest CDROM drivers forgot to fill in the appropriate information. The `ata' driver (vapourware?) does only occupy a slot in the bdevsw[] array, btw.
The actual import of the code does require a minor change in the SCSI subsystem, and i want to have this reviewed by Peter first, so it will be deferred for some days. The driver is already working for me though.
Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
|
#
9831 |
|
31-Jul-1995 |
jkh |
Reserve space for Jim Lowe's impending Matrox Meteor card driver. Submitted by: james
|
#
9547 |
|
16-Jul-1995 |
phk |
Reviewed by: phk Submitted by: Andrew McRae <andrew@mega.com.au>
Some initial commits from the pcmcia stuff, to make life easier for the testers.
We will use the name "pccard" since that is really the buzzword at present.
|
#
9507 |
|
13-Jul-1995 |
dg |
NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct proc or any VM system structure will have to be rebuilt!!!
Much needed overhaul of the VM system. Included in this first round of changes:
1) Improved pager interfaces: init, alloc, dealloc, getpages, putpages, haspage, and sync operations are supported. The haspage interface now provides information about clusterability. All pager routines now take struct vm_object's instead of "pagers".
2) Improved data structures. In the previous paradigm, there is constant confusion caused by pagers being both a data structure ("allocate a pager") and a collection of routines. The idea of a pager structure has escentially been eliminated. Objects now have types, and this type is used to index the appropriate pager. In most cases, items in the pager structure were duplicated in the object data structure and thus were unnecessary. In the few cases that remained, a un_pager structure union was created in the object to contain these items.
3) Because of the cleanup of #1 & #2, a lot of unnecessary layering can now be removed. For instance, vm_object_enter(), vm_object_lookup(), vm_object_remove(), and the associated object hash list were some of the things that were removed.
4) simple_lock's removed. Discussion with several people reveals that the SMP locking primitives used in the VM system aren't likely the mechanism that we'll be adopting. Even if it were, the locking that was in the code was very inadequate and would have to be mostly re-done anyway. The locking in a uni-processor kernel was a no-op but went a long way toward making the code difficult to read and debug.
5) Places that attempted to kludge-up the fact that we don't have kernel thread support have been fixed to reflect the reality that we are really dealing with processes, not threads. The VM system didn't have complete thread support, so the comments and mis-named routines were just wrong. We now use tsleep and wakeup directly in the lock routines, for instance.
6) Where appropriate, the pagers have been improved, especially in the pager_alloc routines. Most of the pager_allocs have been rewritten and are now faster and easier to maintain.
7) The pagedaemon pageout clustering algorithm has been rewritten and now tries harder to output an even number of pages before and after the requested page. This is sort of the reverse of the ideal pagein algorithm and should provide better overall performance.
8) Unnecessary (incorrect) casts to caddr_t in calls to tsleep & wakeup have been removed. Some other unnecessary casts have also been removed.
9) Some almost useless debugging code removed.
10) Terminology of shadow objects vs. backing objects straightened out. The fact that the vm_object data structure escentially had this backwards really confused things. The use of "shadow" and "backing object" throughout the code is now internally consistent and correct in the Mach terminology.
11) Several minor bug fixes, including one in the vm daemon that caused 0 RSS objects to not get purged as intended.
12) A "default pager" has now been created which cleans up the transition of objects to the "swap" type. The previous checks throughout the code for swp->pg_data != NULL were really ugly. This change also provides the rudiments for future backing of "anonymous" memory by something other than the swap pager (via the vnode pager, for example), and it allows the decision about which of these pagers to use to be made dynamically (although will need some additional decision code to do this, of course).
13) (dyson) MAP_COPY has been deprecated and the corresponding "copy object" code has been removed. MAP_COPY was undocumented and non- standard. It was furthermore broken in several ways which caused its behavior to degrade to MAP_PRIVATE. Binaries that use MAP_COPY will continue to work correctly, but via the slightly different semantics of MAP_PRIVATE.
14) (dyson) Sharing maps have been removed. It's marginal usefulness in a threads design can be worked around in other ways. Both #12 and #13 were done to simplify the code and improve readability and maintain- ability. (As were most all of these changes)
TODO:
1) Rewrite most of the vnode pager to use VOP_GETPAGES/PUTPAGES. Doing this will reduce the vnode pager to a mere fraction of its current size.
2) Rewrite vm_fault and the swap/vnode pagers to use the clustering information provided by the new haspage pager interface. This will substantially reduce the overhead by eliminating a large number of VOP_BMAP() calls. The VOP_BMAP() filesystem interface should be improved to provide both a "behind" and "ahead" indication of contiguousness.
3) Implement the extended features of pager_haspage in swap_pager_haspage(). It currently just says 0 pages ahead/behind.
4) Re-implement the swap device (swstrategy) in a more elegant way, perhaps via a much more general mechanism that could also be used for disk striping of regular filesystems.
5) Do something to improve the architecture of vm_object_collapse(). The fact that it makes calls into the swap pager and knows too much about how the swap pager operates really bothers me. It also doesn't allow for collapsing of non-swap pager objects ("unnamed" objects backed by other pagers).
|
#
7944 |
|
20-Apr-1995 |
julian |
Reviewed by: no-one yet, but non-intrusive Submitted by: julian@tfs.com Obtained from: written from scratch
slight changes to make space for devfs.. (also conditional test code in i386/isa/fd.c) why casn't cvs picked up these changes and shown them here? is this going to be a NULL commit? who knows? (it scanned all the dirs)
=================================================================== RCS file: /home/ncvs/src/sys/sys/malloc.h,v retrieving revision 1.7 diff -r1.7 malloc.h 113a114,117 > #define M_DEVFSMNT 62 /* DEVFS mount structure */ > #define M_DEVFSBACK 63 /* DEVFS Back node */ > #define M_DEVFSFRONT 64 /* DEVFS Front node */ > #define M_DEVFSNODE 65 /* DEVFS node */ 184c188,192 < NULL, NULL, NULL, NULL, NULL, \ --- > "DEVFS mount", /* 62 M_DEVFSMNT */ \ > "DEVFS back", /* 63 M_DEVFSBACK */ \ > "DEVFS front", /* 64 M_DEVFSFRONT */ \ > "DEVFS node", /* 65 M_DEVFSNODE */ \ > NULL, \ Index: sys/mount.h =================================================================== RCS file: /home/ncvs/src/sys/sys/mount.h,v retrieving revision 1.16 diff -r1.16 mount.h 100c100,101 < #define MOUNT_MAXTYPE 15 --- > #define MOUNT_DEVFS 16 /* existing device Filesystem */ > #define MOUNT_MAXTYPE 16 118a120 > "devfs", /* 15 MOUNT_DEVFS */ \ Index: sys/vnode.h =================================================================== RCS file: /home/ncvs/src/sys/sys/vnode.h,v retrieving revision 1.19 diff -r1.19 vnode.h 61c61 < VT_UNION, VT_MSDOSFS --- > VT_UNION, VT_MSDOSFS, VT_DEVFS
|
#
7820 |
|
14-Apr-1995 |
dufault |
Add scsi target
|
#
7068 |
|
15-Mar-1995 |
dufault |
Add scsi/scsi_sense.c
|
#
7055 |
|
14-Mar-1995 |
dg |
Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.
Submitted by: Matt Thomas
|
#
6892 |
|
04-Mar-1995 |
dufault |
Add processor type and worm drivers
|
#
6809 |
|
01-Mar-1995 |
dufault |
1. "uk" driver now optional on scbus 2. Added base scsi driver file scsi_driver.c
|
#
6663 |
|
23-Feb-1995 |
bde |
Make diskslice files standard and remove option DISKSLICE. ufs_disksubr.c needed a diskslice function yesterday and all disk drivers will need it. The diskslice initialization routine should be configurable (but isn't).
|
#
6586 |
|
20-Feb-1995 |
dg |
Removed vm_user.c.
|
#
6559 |
|
19-Feb-1995 |
jkh |
remove gnu/scsi/nic5000.c - it's deprecated.
|
#
6395 |
|
14-Feb-1995 |
jkh |
Add the ISDN entries.
|
#
6386 |
|
14-Feb-1995 |
ugen |
kern/tty_snoop.c - optional for snp device added..
|
#
6101 |
|
01-Feb-1995 |
se |
Reviewed by: se Submitted by: wolf (Wolfgang Stanglmeier) Obtained from: Most PCI specific files moved from sys/i386/pci to sys/pci. One PC specific file (pcibus.c) new in sys/i386/isa.
|
#
6062 |
|
31-Jan-1995 |
amurai |
Add tunnel device for ppp(iijppp)
|
#
5541 |
|
12-Jan-1995 |
ugen |
Firewall files & accounting added here. ip_fwdef.c is support for ipfw lkm module and should be compoiled always with 'options inet'.
|
#
5442 |
|
08-Jan-1995 |
dufault |
Added ssc device
|
#
5191 |
|
22-Dec-1994 |
wollman |
Added `ds', a black-hole network interface.
|
#
5055 |
|
11-Dec-1994 |
bde |
Add kern/subr_diskslice.c, kern/subr_dkbad.c. Sort.
|
#
5045 |
|
11-Dec-1994 |
wollman |
Advanced route cache management is now an official part of IP support.
|
#
4960 |
|
04-Dec-1994 |
phk |
Added dev/vn/vn.c optional vn
|
#
4916 |
|
02-Dec-1994 |
wollman |
Add generic sync PPP file.
|
#
4073 |
|
02-Nov-1994 |
wollman |
Add code to be a bit smarter about IP routes, conditioned on the option IN_RMX. (Eventually this will be standard, but I just wrote the code today and don't want to break anyone.)
|
#
3637 |
|
16-Oct-1994 |
wollman |
Added kern_devconf.c as standard.
|
#
3417 |
|
07-Oct-1994 |
csgr |
First stage of getting imgact_gzip reentrant: 1) cut this up into /sys/sys/inflate.h, sys/kern/inflate.c sys/kern/ingact_gzip.c 2) make a lot more things static 3) make a lot of globals const 4) make some args const 5) first stage of making globals into a struct (not used yet)
The vm_allocate() call which was introduced between revisions 1.4 and 1.5 of imagact_gzip.c broke things. I have backed that out for the time being. (Davidg: help please)
WARNING: if you have gzip enabled in your kernel, you must now run config again, as another source file has been added. Otherwise your kernel compile will fall over.
This is all still WIP. More commits to come.
Suggestions from: phk.
|
#
3333 |
|
03-Oct-1994 |
phk |
Changed the imgact_gzip to "optional gzip" per David Greenman's request.
|
#
3331 |
|
03-Oct-1994 |
phk |
*** WARNING: THIS MATERIAL MIGHT GO AWAY! This material needs the core-groups approval to stay here for the 2.0 release. If the core-group does not concent to this commit, it will be backed out. ***
It is a non-gpl'ed "unzip" which will allow execution of a.out files which have been sent through "gzip -9". The idea being saved disk-space.
Just now this code has quality rating: "working prototype".
To compress a file to be used with this, do it exactly this way:
gzip -9 -v < /bin/FOO > /tmp/FOO remember to chmod /tmp/FOO as needed.
DON'T compress all of you binaries right away ! There are several things which you should consider first:
1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space.
2. It is slow.
3. It might crash your machine.
Apart from that, I welcome comments...
|
#
3178 |
|
28-Sep-1994 |
wollman |
LKM support is no longer optional.
|
#
3103 |
|
25-Sep-1994 |
dg |
Removed unimplemented subr_rmap.c and unused references to it.
|
#
3015 |
|
22-Sep-1994 |
wollman |
Add PPP. NB: this is VERY VERY VERY green code, added to make it easier to test things out. It compiles, but I don't know if it works (yet).
|
#
2979 |
|
22-Sep-1994 |
wollman |
More loadable VFS changes:
- Make a number of filesystems work again when they are statically compiled (blush)
- FIFOs are no longer optional; ``options FIFO'' removed from distributed config files.
|
#
2931 |
|
20-Sep-1994 |
dg |
Sorted.
|
#
2893 |
|
19-Sep-1994 |
dfr |
Added msdosfs.
Obtained from: NetBSD
|
#
2858 |
|
18-Sep-1994 |
wollman |
Redo Kernel NTP PLL support, kernel side.
This code is mostly taken from the 1.1 port (which was in turn taken from Dave Mills's kern.tar.Z example). A few significant differences:
1) ntp_gettime() is now a MIB variable rather than a system call. A few fiddles are done in libc to make it behave the same.
2) mono_time does not participate in the PLL adjustments.
3) A new interface has been defined (in <machine/clock.h>) for doing possibly machine-dependent things around the time of the clock update. This is used in Pentium kernels to disable interrupts, set `time', and reset the CPU cycle counter as quickly as possible to avoid jitter in microtime(). Measurements show an apparent resolution of a bit more than 8.14usec, which is reasonable given system-call overhead.
|
#
2803 |
|
15-Sep-1994 |
dfr |
Added back the SYSV ipc files which somehow got removed.
|
#
2788 |
|
15-Sep-1994 |
dg |
Made TCPDEBUG truely optional. Based on changes I made in FreeBSD 1.1.5. Fixed somebody's idea of a joke - about the first half of the lines in in_proto.c were spaced over by one space.
|
#
2754 |
|
14-Sep-1994 |
wollman |
Shuffle some functions and variables around to make it possible for multicast routing to be implemented as an LKM. (There's still a bit of work to do in this area.)
|
#
2729 |
|
13-Sep-1994 |
dfr |
Added SYSV ipcs.
Obtained from: NetBSD and FreeBSD-1.1.5
|
#
2320 |
|
27-Aug-1994 |
dg |
1) Changed ddb into a option rather than a pseudo-device (use options DDB in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Added \r handing in db_printf. 4) Added missing memory usage stats to statclock(). 5) Added dummy function to pseudo_set so it will be emitted if there are no other pseudo declarations.
|
#
2124 |
|
19-Aug-1994 |
dg |
Terry Lambert's loadable kernel module support w/improvements from the NetBSD group.
|
#
1960 |
|
08-Aug-1994 |
dg |
Made lockf advisory locking code generic (rather than ufs specific), and use it in NFS. This is required both for diskless support and for POSIX compliance. Note: the support in NFS is only for the local node.
Submitted by: based on work originally done by Yuval Yurom
|
#
1549 |
|
25-May-1994 |
rgrimes |
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
|
#
1542 |
|
24-May-1994 |
rgrimes |
This commit was generated by cvs2svn to compensate for changes in r1541, which included commits to RCS files with non-trunk default branches.
|
#
1541 |
|
24-May-1994 |
rgrimes |
BSD 4.4 Lite Kernel Sources
|