#
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 |
#
259051 |
|
06-Dec-2013 |
delphij |
MFC r258948:
Support Hyper-V on i386:
- Add 'hyperv' module into build; - Allow building Hyper-V support as part of the kernel; - Hook Hyper-V build into NOTES.
Approved by: re (rodrigc)
|
#
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
|
#
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
|
#
255675 |
|
18-Sep-2013 |
rdivacky |
Revert r255672, it has some serious flaws, leaking file references etc.
Approved by: re (delphij)
|
#
255672 |
|
18-Sep-2013 |
rdivacky |
Implement epoll support in Linuxulator. This is a tiny wrapper around kqueue to implement epoll subset of functionality. The kqueue user data are 32bit on i386 which is not enough for epoll user data so this patch overrides kqueue fileops to maintain enough space in struct file.
Initial patch developed by me in 2007 and then extended and finished by Yuri Victorovich.
Approved by: re (delphij) Sponsored by: Google Summer of Code Submitted by: Yuri Victorovich <yuri at rawbw dot com> Tested by: Yuri Victorovich <yuri at rawbw dot com>
|
#
255452 |
|
10-Sep-2013 |
obrien |
Back out r255440. /usr/bin/gcc @r255185 (2013-09-03) can build this.
Approved by: re (kib)
|
#
255440 |
|
10-Sep-2013 |
obrien |
Only use a clang'ism if ${CC} is clang.
Reviewed by: sjg Approved by: re (kib)
|
#
255187 |
|
03-Sep-2013 |
jmg |
Use the fact that the AES-NI instructions can be pipelined to improve performance... Use SSE2 instructions for calculating the XTS tweek factor... Let the compiler do more work and handle register allocation by using intrinsics, now only the key schedule is in assembly...
Replace .byte hard coded instructions w/ the proper instructions now that both clang and gcc support them...
On my machine, pulling the code to userland I saw performance go from ~150MB/sec to 2GB/sec in XTS mode. GELI on GNOP saw a more modest increase of about 3x due to other system overhead (geom and opencrypto)...
These changes allow almost full disk io rate w/ geli...
Reviewed by: -current, -security Thanks to: Mike Hamburg for the XTS tweek algorithm
|
#
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.
|
#
254738 |
|
23-Aug-2013 |
bryanv |
Add vmx(4), a VMware VMXNET3 ethernet driver ported from OpenBSD
|
#
253476 |
|
19-Jul-2013 |
jimharris |
Add message when nvd disks are attached and detached.
As part of this commit, add an nvme_strvis() function which borrows heavily from cam_strvis(). This will allow stripping of leading/trailing whitespace and also handle unprintable characters in model/serial numbers. This function goes into a new nvme_util.c file which is used by both the driver and nvmecontrol.
Sponsored by: Intel Reviewed by: carl MFC after: 3 days
|
#
252867 |
|
06-Jul-2013 |
delphij |
Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. This driver works for FreeBSD/i386 and FreeBSD/amd64 platforms.
Many thanks to HighPoint for providing this driver.
MFC after: 1 day
|
#
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.
|
#
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.
|
#
249432 |
|
12-Apr-2013 |
jkim |
Unbreak tinderbox build after r249420.
|
#
247870 |
|
06-Mar-2013 |
bryanv |
Remove the virtio dependency entry for the VirtIO device drivers. This will prevent the kernel from linking if the device driver are included without the virtio module. Remove pci and scbus for the same reason.
Also explain the relationship and necessity of the virtio and virtio_pci modules. Currently in FreeBSD, we only support VirtIO PCI, but it could be replaced with a different interface (like MMIO) and the device (network, block, etc) will still function.
Requested by: luigi Approved by: grehan (mentor) MFC after: 3 days
|
#
245768 |
|
22-Jan-2013 |
delphij |
- Don't include date and time the driver is built, this is useful for generating binary diffs. - Constify a few strings used in the driver. - Style changes to make the driver compile with default clang settings.
Approved by: HighPoint Technologies MFC after: 3 days
|
#
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
|
#
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.
|
#
240618 |
|
17-Sep-2012 |
jimharris |
Integrate nvme(4) and nvd(4) into the amd64 and i386 builds.
Sponsored by: Intel
|
#
240455 |
|
13-Sep-2012 |
kib |
Rename the IVY_RNG option to RDRAND_RNG.
Based on submission by: Arthur Mesh <arthurmesh@gmail.com> MFC after: 2 weeks
|
#
240420 |
|
12-Sep-2012 |
jimharris |
Remove some trailing whitespace.
|
#
240400 |
|
12-Sep-2012 |
obrien |
Replace a bare use of 'objcopy' with ${OBJCOPY} for easier cross compilation in environments where 'objcopy' is spelled differently.
Submitted by: John Van Horne <jvanhorne@juniper.net>
|
#
240144 |
|
05-Sep-2012 |
dim |
After r240104, make sure the hpt27xx driver also compiles with clang, when it is statically linked into the kernel.
MFC after: 2 weeks X-MFC-With: r240104
|
#
240135 |
|
05-Sep-2012 |
kib |
Add support for new Intel on-CPU Bull Mountain random number generator, found on IvyBridge and supposedly later CPUs, accessible with RDRAND instruction.
From the Intel whitepapers and articles about Bull Mountain, it seems that we do not need to perform post-processing of RDRAND results, like AES-encryption of the data with random IV and keys, which was done for Padlock. Intel claims that sanitization is performed in hardware.
Make both Padlock and Bull Mountain random generators support code covered by kernel config options, for the benefit of people who prefer minimal kernels. Also add the tunables to disable hardware generator even if detected.
Reviewed by: markm, secteam (simon) Tested by: bapt, Michael Moll <kvedulv@kvedulv.de> MFC after: 3 weeks
|
#
236830 |
|
10-Jun-2012 |
iwasaki |
Some fixes for r236772.
- Remove cpuset stopped_cpus which is no longer used. - Add a short comment for cpuset suspended_cpus clearing. - Fix the un-ordered x86/acpica/acpi_wakeup.c in conf/files.amd64 and i386.
Pointed-out by: attilio@
|
#
236772 |
|
08-Jun-2012 |
iwasaki |
Add x86/acpica/acpi_wakeup.c for amd64 and i386. Difference of suspend/resume procedures are minimized among them.
common: - Add global cpuset suspended_cpus to indicate APs are suspended/resumed. - Remove acpi_waketag and acpi_wakemap from acpivar.h (no longer used). - Add some variables in acpi_wakecode.S in order to minimize the difference among amd64 and i386. - Disable load_cr3() because now CR3 is restored in resumectx().
amd64: - Add suspend/resume related members (such as MSR) in PCB. - Modify savectx() for above new PCB members. - Merge acpi_switch.S into cpu_switch.S as resumectx().
i386: - Merge(and remove) suspendctx() into savectx() in order to match with amd64 code.
Reviewed by: attilio@, acpi@
|
#
234118 |
|
11-Apr-2012 |
marcel |
uart_cpu_amd64.c and uart_cpu_i386.c (under sys/dev/uart) are identical now that the bus spaces are unified under sys/x86. Replace them with a single uart_cpu_x86.c. o delete uart_cpu_i386.c o move uart_cpu_amd64.c to uart_cpu_x86.c o update files.amd64 and files.i386 accordingly.
|
#
233707 |
|
30-Mar-2012 |
jhb |
Move the legacy(4) driver to x86.
|
#
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)
|
#
232747 |
|
09-Mar-2012 |
jhb |
Move i386's intr_machdep.c to the x86 tree and share it with amd64.
|
#
232744 |
|
09-Mar-2012 |
jhb |
Allow a native i386 kernel to be built with 'nodevice atpic'. Just as on amd64, if 'device isa' is present quiesce the 8259A's during boot and resume from suspend.
While here, be more selective on amd64 about which kernel configurations need elcr.c.
MFC after: 2 weeks
|
#
232614 |
|
06-Mar-2012 |
bz |
Provide wbwd(4), a driver for the watchdog timer found on various Winbond Super I/O chips.
With minor efforts it should be possible the extend the driver to support further chips/revisions available from Winbond. In the simplest case only new IDs need to be added, while different chipsets might require their own function to enter extended function mode, etc.
Sponsored by: Sandvine Incorporated ULC (in 2011) Reviewed by: emaste, brueffer MFC after: 2 weeks
|
#
230843 |
|
31-Jan-2012 |
jimharris |
Add isci(4) driver for amd64 and i386 targets.
The isci driver is for the integrated SAS controller in the Intel C600 (Patsburg) chipset. Source files in sys/dev/isci directory are FreeBSD-specific, and sys/dev/isci/scil subdirectory contains an OS-agnostic library (SCIL) published by Intel to control the SAS controller. This library is used primarily as-is in this driver, with some post-processing to better integrate into the kernel build environment.
isci.4 and a README in the sys/dev/isci directory contain a few additional details.
This driver is only built for amd64 and i386 targets.
Sponsored by: Intel Reviewed by: scottl Approved by: scottl
|
#
228971 |
|
29-Dec-2011 |
dim |
For sys/dev/ce/tau32-ddk.c, disable the following warning when building with clang:
sys/dev/ce/tau32-ddk.c:1228:37: warning: implicit truncation from 'int' to bitfield changes value from 65532 to 8188 [-Wconstant-conversion]
Since this file is obfuscated C, we can never determine (in a sane way, at least :) if this points to a real problem or not. The driver has been in the tree for more than five years, so it most likely isn't.
MFC after: 1 week
|
#
228940 |
|
28-Dec-2011 |
delphij |
Import the first release of HighPoint RocketRAID 27xx SAS 6Gb/s HBA card driver. This driver works for FreeBSD/i386 and FreeBSD/amd64 platforms.
Many thanks to HighPoint for providing this driver.
MFC after: 2 weeks
|
#
228431 |
|
12-Dec-2011 |
fabient |
Add watchdog support for VIA south bridge chipset. Tested on VT8251, VX900 but CX700, VX800, VX855 should works.
MFC after: 1 month Sponsored by: NETASQ
|
#
224120 |
|
16-Jul-2011 |
jhb |
Don't include mptable_pci.c in Xen kernels. It is only meant for systems that truly have an MPTable. The MPTable code in Xen is really a Xen specific CPU enumerator and probably shouldn't be using the mptable name at all.
|
#
223440 |
|
22-Jun-2011 |
jhb |
Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to the x86 tree. The $PIR code is still only enabled on i386 and not amd64. While here, make the qpi(4) driver on conditional on 'device pci'.
|
#
221961 |
|
15-May-2011 |
brix |
Add I2C bus driver for the AMD Geode LX series CS5536 Companion Device.
Reviewed by: jhb (newbus bits only), adrian
|
#
220885 |
|
20-Apr-2011 |
bz |
Compile in in_cksum* implementations for both IPv6 and IPv6. While in_pseudo() etc. is often used in offloading feature support, in_cksum() is mostly used to fix some broken hardware.
Keeping both around for the moment allows us to compile NIC drivers even in an IPv6 only environment without the need to mangle them with #ifdef INETs in a way they are not prepared for. This will leave some dead code paths that will not be exercised for IPv6.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 3 days
|
#
218616 |
|
12-Feb-2011 |
dchagin |
Move linux_clone(), linux_fork(), linux_vfork() to a MI path.
|
#
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
|
#
216316 |
|
09-Dec-2010 |
cperciva |
Replace i386/i386/busdma_machdep.c and amd64/amd64/busdma_machdep.c (which are identical) with a single x86/x86/busdma_machdep.c.
|
#
216283 |
|
07-Dec-2010 |
jkim |
Merge sys/amd64/amd64/tsc.c and sys/i386/i386/tsc.c and move to sys/x86/x86.
Discussed with: avg
|
#
215200 |
|
12-Nov-2010 |
jkim |
MFamd64: (based on) r209957
Move logic of building ACPI headers for acpi_wakeup.c into better places, remove intermediate makefile and shell script, and reduce diff between i386 and amd64.
|
#
215072 |
|
09-Nov-2010 |
jkim |
Refactor acpi_machdep.c for amd64 and i386, move APM emulation into a new file acpi_apm.c, and place it on sys/x86/acpica.
|
#
215024 |
|
08-Nov-2010 |
jkim |
Now OsdEnvironment.c is identical on amd64 and i386. Move it to a new home.
|
#
215012 |
|
08-Nov-2010 |
jhb |
Move the MADT parser for amd64 and i386 to sys/x86/acpica now that it is identical on both platforms.
|
#
214457 |
|
28-Oct-2010 |
attilio |
Merge nexus.c from amd64 and i386 to x86 subtree.
Sponsored by: Sandvine Incorporated Tested by: gianni
|
#
214446 |
|
28-Oct-2010 |
attilio |
Merge the mptable support from MD bits to x86 subtree.
Sponsored by: Sandvine Incorporated Discussed with: jhb
|
#
214373 |
|
26-Oct-2010 |
attilio |
Merge dump_machdep.c i386/amd64 under the x86 subtree.
Sponsored by: Sandvine Incorporated Tested by: gianni
|
#
211820 |
|
25-Aug-2010 |
jhb |
Intel QPI chipsets actually provide two extra "non-core" PCI buses that provide PCI devices for various hardware such as memory controllers, etc. These PCI buses are not enumerated via ACPI however. Add qpi(4) psuedo bus and Host-PCI bridge drivers to enumerate these buses. Currently the driver uses the CPU ID to determine the bridges' presence.
In collaboration with: Joseph Golio @ Isilon Systems MFC after: 2 weeks
|
#
211201 |
|
11-Aug-2010 |
takawata |
Add tpm(4) driver for Trusted Platform Module. You may want to look at http://bsssd.sourceforge.net/ .
Submitted by: Hans-Joerg Hoexer <Hans-Joerg_Hoexer@genua.de>
|
#
211058 |
|
08-Aug-2010 |
jkim |
Do not build real mode emulator for i386. We use VM86 again since r210877.
|
#
210552 |
|
27-Jul-2010 |
jhb |
Add a parser for the ACPI SRAT table for amd64 and i386. It sets PCPU(domain) for each CPU and populates a mem_affinity array suitable for the NUMA support in the physical memory allocator.
Reviewed by: alc
|
#
210409 |
|
23-Jul-2010 |
kib |
Crypto(4) driver for AESNI.
The aeskeys_{amd64,i386}.S content was mostly obtained from OpenBSD, no objections to the license from core.
Hardware provided by: Sentex Communications Tested by: fabient, pho (previous versions) MFC after: 1 month
|
#
210069 |
|
14-Jul-2010 |
mav |
Rename timeevents.c to kern_clocksource.c.
Suggested by: jhb@
|
#
210054 |
|
14-Jul-2010 |
mav |
Move timeevents.c to MI code, as it is not x86-specific. I already have it working on Marvell ARM SoCs, and it would be nice to unify timer code between more platforms.
|
#
209432 |
|
22-Jun-2010 |
mav |
Some style fixes for r209371.
Submitted by: jhb@
|
#
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.
|
#
208922 |
|
08-Jun-2010 |
jhb |
Move the MD support for PCI message signalled interrupts to the x86 tree as it is identical for i386 and amd64.
|
#
208921 |
|
08-Jun-2010 |
jhb |
Move the machine check support code to the x86 tree since it is identical on i386 and amd64.
Requested by: alc
|
#
208919 |
|
08-Jun-2010 |
jhb |
Move the I/O APIC code to the x86 tree since it is identical on i386 and amd64.
|
#
208452 |
|
23-May-2010 |
mav |
Unify local_apic.c for x86 archs,
|
#
206089 |
|
02-Apr-2010 |
fabient |
- Support for uncore counting events: one fixed PMC with the uncore domain clock, 8 programmable PMC. - Westmere based CPU (Xeon 5600, Corei7 980X) support. - New man pages with events list for core and uncore. - Updated Corei7 events with Intel 253669-033US December 2009 doc. There is some removed events in the documentation, they have been kept in the code but documented in the man page as obsolete. - Offcore response events can be setup with rsp token.
Sponsored by: NETASQ
|
#
204309 |
|
25-Feb-2010 |
attilio |
Introduce the new kernel sub-tree x86 which should contain all the code shared and generalized between our current amd64, i386 and pc98.
This is just an initial step that should lead to a more complete effort. For the moment, a very simple porting of cpufreq modules, BIOS calls and the whole MD specific ISA bus part is added to the sub-tree but ideally a lot of code might be added and more shared support should grow.
Sponsored by: Sandvine Incorporated Reviewed by: emaste, kib, jhb, imp Discussed on: arch MFC: 3 weeks
|
#
203679 |
|
08-Feb-2010 |
brucec |
Remove the usb2_input_kbd directive that was missed during the renaming of the drivers in the usb2 stack.
Approved by: rrs (mentor)
|
#
199969 |
|
30-Nov-2009 |
avg |
amdsbwd: new driver for AMD SB600/SB7xx watchdog timer
The hardware is compliant with WDRT specification, so I originally considered including generic WDRT watchdog support, but decided against it, because I couldn't find anyone to the code for me. WDRT seems to be not very popular. Besides, generic WDRT porbably requires a slightly different driver approach.
Reviewed by: des, gavin, rpaulo MFC after: 3 weeks
|
#
198251 |
|
19-Oct-2009 |
jkim |
Rewrite x86bios and update its dependent drivers.
- Do not map entire real mode memory (1MB). Instead, we map IVT/BDA and ROM area separately. Most notably, ROM area is mapped as device memory (uncacheable) as it should be. User memory is dynamically allocated and free'ed with contigmalloc(9) and contigfree(9). Remove now redundant and potentially dangerous x86bios_alloc.c. If this emulator ever grows to support non-PC hardware, we may implement it with rman(9) later. - Move all host-specific initializations from x86emu_util.c to x86bios.c and remove now unnecessary x86emu_util.c. Currently, non-PC hardware is not supported. We may use bus_space(9) later when the KPI is fixed. - Replace all bzero() calls for emulated registers with more obviously named x86bios_init_regs(). This function also initializes DS and SS properly. - Add x86bios_get_intr(). This function checks if the interrupt vector is available for the platform. It is not necessary for PC-compatible hardware but it may be needed later. ;-) - Do not try turning off monitor if DPMS does not support the state. - Allocate stable memory for VESA OEM strings instead of just holding pointers to them. They may or may not be accessible always. Fix a memory leak of video mode table while I am here. - Add (experimental) BIOS POST call for vesa(4). This function calls VGA BIOS POST code from the current VGA option ROM. Some video controllers cannot save and restore the state properly even if it is claimed to be supported. Usually the symptom is blank display after resuming from suspend state. If the video mode does not match the previous mode after restoring, we try BIOS POST and force the known good initial state. Some magic was taken from NetBSD (and it was taken from vbetool, I believe.) - Add a loader tunable for vgapci(4) to give a hint to dpms(4) and vesa(4) to identify who owns the VESA BIOS. This is very useful for multi-display adapter setup. By default, the POST video controller is automatically probed and the tunable "hw.pci.default_vgapci_unit" is set to corresponding vgapci unit number. You may override it from loader but it is very unlikely to be necessary. Unfortunately only AGP/PCI/PCI-E controllers can be matched because ISA controller does not have necessary device IDs. - Fix a long standing bug in state save/restore function. The state buffer pointer should be ES:BX, not ES:DI according to VBE 3.0. If it ever worked, that's because BX was always zero. :-) - Clean up register initializations more clearer per VBE 3.0. - Fix a lot of style issues with vesa(4).
|
#
197969 |
|
11-Oct-2009 |
marcel |
Scan for option ROMs on i386 and amd64 only.
|
#
197518 |
|
26-Sep-2009 |
bz |
lindev(4) [1] is supposed to be a collection of linux-specific pseudo devices that we also support, just not by default (thus only LINT or module builds by default).
While currently there is only "/dev/full" [2], we are planning to see more in the future. We may decide to change the module/dependency logic in the future should the list grow too long.
This is not part of linux.ko as also non-linux binaries like kFreeBSD userland or ports can make use of this as well.
Suggested by: rwatson [1] (name) Submitted by: ed [2] Discussed with: markm, ed, rwatson, kib (weeks ago) Reviewed by: rwatson, brueffer (prev. version) PR: kern/68961 MFC after: 6 weeks
|
#
197467 |
|
24-Sep-2009 |
jkim |
r197444 unnecessarily changed positions of these files. Re-sort.
|
#
197444 |
|
23-Sep-2009 |
jkim |
Move sys/dev/x86bios to sys/compat/x86bios.
It may not be optimal but it is clearly better than the old place.
OK'ed by: delphij, paradox (ddkprog yahoo com)
|
#
197399 |
|
22-Sep-2009 |
delphij |
Hide x86bios stuff in i386/amd64 specific files as atkbdc would get these stuff into build.
|
#
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
|
#
197379 |
|
21-Sep-2009 |
delphij |
Enable s3pci on amd64 which works on top of VESA, and allow static building it into kernel on i386 and amd64.
Submitted by: swell.k at gmail.com
|
#
197025 |
|
09-Sep-2009 |
delphij |
- Teach vesa(4) and dpms(4) about x86emu. [1] - Add vesa kernel options for amd64. - Connect libvgl library and splash kernel modules to amd64 build. - Connect manual page dpms(4) to amd64 build. - Remove old vesa/dpms files.
Submitted by: paradox <ddkprog yahoo com> [1], swell k at gmail.com (with some minor tweaks)
|
#
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.
|
#
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
|
#
193032 |
|
29-May-2009 |
adrian |
Migrate the Xen hypervisor clock reading routines into something sharable.
|
#
192953 |
|
28-May-2009 |
adrian |
Say hello to a very basic, read-only, Xen Hypervisor RTC.
The hypervisor doesn't provide a single "TOD" - it instead provides a "start time" and a "running time". These are added together to form the current TOD. The TOD is in UTC.
This RTC is only (initially) designed to be read at startup. There's some further poking that needs to happen to pick up hypervisor time changes (ie, by the Dom0 time being adjusted by something). This time adjustment currently can cause "weird stuff" in the DomU clock; I'll begin investigating and repairing that in subsequent commits.
PR: 135008
|
#
192050 |
|
13-May-2009 |
jhb |
Implement simple machine check support for amd64 and i386. - For CPUs that only support MCE (the machine check exception) but not MCA (i.e. Pentium), all this does is print out the value of the machine check registers and then panic when a machine check exception occurs. - For CPUs that support MCA (the machine check architecture), the support is a bit more involved. - First, there is limited support for decoding the CPU-independent MCA error codes in the kernel, and the kernel uses this to output a short description of any machine check events that occur. - When a machine check exception occurs, all of the MCx banks on the current CPU are scanned and any events are reported to the console before panic'ing. - To catch events for correctable errors, a periodic timer kicks off a task which scans the MCx banks on all CPUs. The frequency of these checks is controlled via the "hw.mca.interval" sysctl. - Userland can request an immediate scan of the MCx banks by writing a non-zero value to "hw.mca.force_scan". - If any correctable events are encountered, the appropriate details are stored in a 'struct mca_record' (defined in <machine/mca.h>). The "hw.mca.count" is a count of such records and each record may be queried via the "hw.mca.records" tree by specifying the record index (0 .. count - 1) as the next name in the MIB similar to using PIDs with the kern.proc.* sysctls. The idea is to export machine check events to userland for more detailed processing. - The periodic timer and hw.mca sysctls are only present if the CPU supports MCA.
Discussed with: emaste (briefly) MFC after: 1 month
|
#
191919 |
|
08-May-2009 |
ed |
Burn TTY ioctl bridges in compat layers.
I really don't want any pieces of code to include ioctl_compat.h, so let the ibcs2 and svr4 compat leave sgtty alone. If they want to support sgtty, they should emulate it on top of termios, not sgtty.
The code has been marked with BURN_BRIDGES for a long time. ibcs2 and svr4 are not really popular pieces of code anyway.
|
#
190501 |
|
28-Mar-2009 |
mr |
Add support for Phenom (Family 10h) to cpufreq. Its a newer version provided by the author than in the PR.
PR: kern/128575 Submitted by: Gen Otsuji annona2 [at] gmail.com
|
#
190453 |
|
26-Mar-2009 |
ambrisko |
Sigh, not my day. Check-in the update version that didn't have the linux_compat mistakes.
|
#
190445 |
|
26-Mar-2009 |
ambrisko |
Add stuff to support upcoming BMC/IPMI flashing of newer Dell machine via the Linux tool. - Add Linux shim to ipmi(4) - Create a partitions file to linprocfs to make Linux fdisk see disks. This file is dynamic so we can see disks come and go. - Convert msdosfs to vfat in mtab since Linux uses that for msdosfs. - In the Linux mount path convert vfat passed in to msdosfs so Linux mount works on FreeBSD. Note that tasting works so that if da0 is a msdos file system /compat/linux/bin/mount /dev/da0 /mnt works. - fix a 64it bug for l_off_t. Grabing sh, mount, fdisk, df from Linux, creating a symlink of mtab to /compat/linux/etc/mtab and then some careful unpacking of the Linux bmc update tool and hacking makes it work on newer Dell boxes. Note, probably if you can't figure out how to do this, then you probably shouldn't be doing it :-)
|
#
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@
|
#
189768 |
|
13-Mar-2009 |
rpaulo |
Rename the k8temp driver to amdtemp.
MFC after: 2 weeks
|
#
189170 |
|
28-Feb-2009 |
ed |
Add memmove() to the kernel, making the kernel compile with Clang.
When copying big structures, LLVM generates calls to memmove(), because it may not be able to figure out whether structures overlap. This caused linker errors to occur. memmove() is now implemented using bcopy(). Ideally it would be the other way around, but that can be solved in the future. On ARM we don't do add anything, because it already has memmove().
Discussed on: arch@ Reviewed by: rdivacky
|
#
188654 |
|
15-Feb-2009 |
thompsa |
Pull in kbd.c with usb2_input_kbd, just like ukbd.
|
#
187633 |
|
23-Jan-2009 |
jkim |
- Add few VIA bridges to agp_via.c and connect it to amd64 build as they support Intel Core/Core 2 and VIA Nano processors. - Align "optional agp" in conf/files.* for consistency while I am here.
|
#
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)
|
#
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.
|
#
185363 |
|
27-Nov-2008 |
jkoshy |
- Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and model 0x1C (Atom).
In these CPUs, the actual numbers, kinds and widths of PMCs present need to queried at run time. Support for specific "architectural" events also needs to be queried at run time.
Model 0xE CPUs support programmable PMCs, subsequent CPUs additionally support "fixed-function" counters.
- Use event names that are close to vendor documentation, taking in account that: - events with identical semantics on two or more CPUs in this family can have differing names in vendor documentation, - identical vendor event names may map to differing events across CPUs, - each type of CPU supports a different subset of measurable events.
Fixed-function and programmable counters both use the same vendor names for events. The use of a class name prefix ("iaf-" or "iap-" respectively) permits these to be distinguished.
- In libpmc, refactor pmc_name_of_event() into a public interface and an internal helper function, for use by log handling code.
- Minor code tweaks: staticize a global, freshen a few comments.
Tested by: gnn
|
#
184802 |
|
09-Nov-2008 |
jkoshy |
- Separate PMC class dependent code from other kinds of machine dependencies. A 'struct pmc_classdep' structure describes operations on PMCs; 'struct pmc_mdep' contains one or more 'struct pmc_classdep' structures depending on the CPU in question.
Inside PMC class dependent code, row indices are relative to the PMCs supported by the PMC class; MI code in "hwpmc_mod.c" translates global row indices before invoking class dependent operations.
- Augment the OP_GETCPUINFO request with the number of PMCs present in a PMC class.
- Move code common to Intel CPUs to file "hwpmc_intel.c".
- Move TSC handling to file "hwpmc_tsc.c".
|
#
183291 |
|
23-Sep-2008 |
kmacy |
Update to xen specific files for SMP
MFC after: 1 month
|
#
182912 |
|
10-Sep-2008 |
jhb |
Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches and the driver worked ok with them.
Tested by: friends of yar
|
#
182898 |
|
09-Sep-2008 |
rpaulo |
Allow building k8temp on i386.
MFC after: 1 week
|
#
182081 |
|
23-Aug-2008 |
jhb |
Add a very simple dpms(4) driver that uses the VESA BIOS DPMS calls to turn off the external display during suspend and restore it to its original state on resume.
MFC after: 2 weeks
|
#
181812 |
|
17-Aug-2008 |
kmacy |
disable "legacy" device on xen domU
MFC after: 1 month
|
#
181776 |
|
15-Aug-2008 |
kmacy |
Integrate configuration bits for compling xen.
MFC after: 1 month
|
#
181467 |
|
09-Aug-2008 |
philip |
Add glxsb(4) driver for the Security Block in AMD Geode LX processors (as found in Soekris hardware, for instance). The hardware supports acceleration of AES-128-CBC accessible through crypto(4) and supplies entropy to random(4).
TODO:
o Implement rndtest(4) support o Performance enhancements
Submitted by: Patrick Lamaizière <patfbsd -at- davenulle.org> Reviewed by: jhb, sam MFC after: 1 week
|
#
181430 |
|
08-Aug-2008 |
stas |
- Add cpuctl(4) pseudo-device driver to provide access to some low-level features of CPUs like reading/writing machine-specific registers, retrieving cpuid data, and updating microcode. - Add cpucontrol(8) utility, that provides userland access to the features of cpuctl(4). - Add subsequent manpages.
The cpuctl(4) device operates as follows. The pseudo-device node cpuctlX is created for each cpu present in the systems. The pseudo-device minor number corresponds to the cpu number in the system. The cpuctl(4) pseudo- device allows a number of ioctl to be preformed, namely RDMSR/WRMSR/CPUID and UPDATE. The first pair alows the caller to read/write machine-specific registers from the correspondent CPU. cpuid data could be retrieved using the CPUID call, and microcode updates are applied via UPDATE.
The permissions are inforced based on the pseudo-device file permissions. RDMSR/CPUID will be allowed when the caller has read access to the device node, while WRMSR/UPDATE will be granted only when the node is opened for writing. There're also a number of priv(9) checks.
The cpucontrol(8) utility is intened to provide userland access to the cpuctl(4) device features. The utility also allows one to apply cpu microcode updates.
Currently only Intel and AMD cpus are supported and were tested.
Approved by: kib Reviewed by: rpaulo, cokane, Peter Jeremy MFC after: 1 month
|
#
180265 |
|
04-Jul-2008 |
jhb |
Remove the sbni(4) driver. No one responded to calls to test it on current@ and stable@.
|
#
180259 |
|
04-Jul-2008 |
jhb |
Remove the oltr(4) driver. No one responded to calls for testing on current@ and stable@ for the locking patches. The driver can always be revived if someone tests it.
This driver also sleeps in its if_init routine, so it likely doesn't really work at all anyway in modern releases.
|
#
180257 |
|
04-Jul-2008 |
jhb |
Remove the arl(4) driver. It is reported to not work on 6.x or later even though the driver hasn't changed since 4.x (last known working release).
|
#
179785 |
|
14-Jun-2008 |
wkoszek |
Remove obselete PECOFF image activator support.
PRs assigned at the time of removal: kern/80742
Discussed on: freebsd-current (silence), IRC Tested by: make universe Approved by: cognet (mentor)
|
#
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
|
#
178372 |
|
21-Apr-2008 |
phk |
Make genclock standard on all platforms.
Thanks to: grehan & marcel for platform support on ia64 and ppc.
|
#
178193 |
|
14-Apr-2008 |
phk |
Convert amd64 and i386 to share the atrtc device driver.
|
#
178163 |
|
12-Apr-2008 |
phk |
Move i386 to generic RTC handling code.
Make clock_if.m and subr_rtc.c standard on i386
Add hints for "atrtc" driver, for non-PnP, non-ACPI systems. NB: Make sure to install GENERIC.hints into /boot/device.hints in these!
Nuke MD inittodr(), resettodr() functions.
Don't attach to PHP0B00 in the "attimer" dummy driver any more, and remove comments that no longer apply for that reason.
Add new "atrtc" device driver, which handles IBM PC AT Real Time Clock compatible devices using subr_rtc and clock_if.
This driver is not entirely clean: other code still fondles the hardware to get a statclock interrupt on non-ACPI timer systems.
Wrap some overly long lines.
After it has settled in -current, this will be ported to amd64.
Technically this is MFC'able, but I fail to see a good reason.
|
#
175915 |
|
03-Feb-2008 |
scottl |
Remove the rr232x driver. It has been superceded by the hptrr driver.
|
#
174909 |
|
25-Dec-2007 |
wkoszek |
"vt" doesn't refer to any existing device anymore. Remove it.
Reviewed by: cognet@ (mentor) Approved by: cognet@ (mentor)
|
#
174604 |
|
14-Dec-2007 |
scottl |
Add the 'hptrr' driver for supporting the following Highpoint RocketRAID cards:
o RocketRAID 172x series o RocketRAID 174x series o RocketRAID 2210 o RocketRAID 222x series o RocketRAID 2240 o RocketRAID 230x series o RocketRAID 231x series o RocketRAID 232x series o RocketRAID 2340 o RocketRAID 2522
Many thanks to Highpoint for their continued support of FreeBSD.
Submitted by: Highpoint
|
#
174496 |
|
09-Dec-2007 |
alc |
Eliminate compilation warnings due to the use of non-static inlines through the introduction and use of the __gnu89_inline attribute.
Submitted by: bde (i386) MFC after: 3 days
|
#
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)
|
#
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
|
#
173491 |
|
08-Nov-2007 |
benjsc |
Link wpi(4) into the build.
This includes: o mtree (for legal/intel_wpi) o manpage for i386/amd64 archs o module for i386/amd64 archs o NOTES for i386/amd64 archs
Approved by: mlaier (comentor)
|
#
173427 |
|
07-Nov-2007 |
rpaulo |
Connect asmc to the build infrastructure.
Approved by: njl (mentor) Reviewed by: njl (mentor)
|
#
172998 |
|
26-Oct-2007 |
peter |
Split /dev/nvram driver out of isa/clock.c for i386 and amd64. I have not refactored it to be a generic device. Instead of being part of the standard kernel, there is now a 'nvram' device for i386/amd64. It is in DEFAULTS like io and mem, and can be turned off with 'nodevice nvram'. This matches the previous behavior when it was first committed.
|
#
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)
|
#
171854 |
|
15-Aug-2007 |
des |
Add a driver for the on-die digital thermal sensor found on Intel Core and newer CPUs (including Core 2 and Core / Core 2 based Xeons). The driver attaches to each cpu device and creates a sysctl node in that device's sysctl context (dev.cpu.N.temperature). When invoked, the handler binds to the appropriate CPU to ensure a correct reading.
Submitted by: Rui Paulo <rpaulo@fnop.net> Sponsored by: Google Summer of Code 2007 Tested by: des, marcus, Constantine A. Murenin, Ian FREISLICH Approved by: re (kensmith) MFC after: 3 weeks
|
#
171231 |
|
05-Jul-2007 |
peter |
Temporarily turn nowerror on for i386 and amd64 pmap.c. I'd like to study exactly what effect the options cause to the code with gcc these days.
Approved by: re (rwatson)
|
#
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
|
#
170520 |
|
10-Jun-2007 |
marcel |
Use default options for default partitioning schemes, rather than making the relevant files standard. This avoids duplication and makes it easier to override/disable unwanted schemes. Since ARM doesn't have a DEFAULTS configuration file, leave the source files for the BSD and MBR partitioning schemes in files.arm for now.
|
#
169903 |
|
23-May-2007 |
kib |
Fix the dependency for the linux_support.s, explicitely add linux_assym.h.
Reported by: rwatson In collaboration with: rdivacky Sponsored by: Google SoC 2007
|
#
169895 |
|
23-May-2007 |
kib |
Move futex support code from <arch>/support.s into linux compat directory. Implement all futex atomic operations in assembler to not depend on the fuword() that does not allow to distinguish between -1 and failure return. Correctly return 0 from atomic operations on success.
In collaboration with: rdivacky Tested by: Scot Hetzel <swhetzel gmail com>, Milos Vyletel <mvyletel mzm cz> Sponsored by: Google SoC 2007
|
#
168424 |
|
06-Apr-2007 |
nyan |
sort.
|
#
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.
|
#
165319 |
|
18-Dec-2006 |
mjacob |
opt_ah.h ends up copied into a kernelcompile directory in some aches as a read-only file. In a number of cases this has led to compiles failing- usually due to some strange NFS drift which thinks that the opt_ah.h in the compile directory is out of date wrt the source it is copied from. When the copy is executed again, it fails because the target is read-only. Oops. Modify the compile hooks avoid this.
Discussed with a while back with: Sam Leffler
|
#
164265 |
|
13-Nov-2006 |
jhb |
MD support for PCI Message Signalled Interrupts on amd64 and i386: - Add a new apic_alloc_vectors() method to the local APIC support code to allocate N contiguous IDT vectors (aligned on a M >= N boundary). This function is used to allocate IDT vectors for a group of MSI messages. - Add MSI and MSI-X PICs. The PIC code here provides methods to manage edge-triggered MSI messages as x86 interrupt sources. In addition to the PIC methods, msi.c also includes methods to allocate and release MSI and MSI-X messages. For x86, we allow for up to 128 different MSI IRQs starting at IRQ 256 (IRQs 0-15 are reserved for ISA IRQs, 16-254 for APIC PCI IRQs, and IRQ 255 is reserved). - Add pcib_(alloc|release)_msi[x]() methods to the MD x86 PCI bridge drivers to bubble the request up to the nexus driver. - Add pcib_(alloc|release)_msi[x]() methods to the x86 nexus drivers that ask the MSI PIC code to allocate resources and IDT vectors.
MFC after: 2 months
|
#
163760 |
|
29-Oct-2006 |
netchild |
Backout the linux aio stuff. Several problems where identified and the dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is.
All this will be done in P4.
Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree.
Requested by: rwatson Discussed with: rwatson
|
#
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".
|
#
163379 |
|
15-Oct-2006 |
netchild |
MFP4 (with some minor changes):
Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS.
From the submitter: ---snip--- DESIGN NOTES:
1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue.
When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code.
2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2).
3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID.
To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads:
Ben will hate me for this
REFERENCE:
1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c)
2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2))
3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt
4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls.
5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip---
Submitted by: Li, Xiao <intron@intron.ac>
|
#
162562 |
|
22-Sep-2006 |
jhb |
Update the ipmi(4) driver: - Split out the communication protocols into their own files and use a couple of function pointers in the softc that the commuication protocols setup in their own attach routine. - Add support for the SSIF interface (talking to IPMI over SMBus). - Add an ACPI attachment. - Add a PCI attachment that attaches to devices with the IPMI interface subclass. - Split the ISA attachment out into its own file: ipmi_isa.c. - Change the code to probe the SMBIOS table for an IPMI entry to just use pmap_mapbios() to map the table in rather than trying to setup a fake resource on an isa device and then activating the resource to map in the table. - Make bus attachments leaner by adding attach functions for each communication interface (ipmi_kcs_attach(), ipmi_smic_attach(), etc.) that setup per-interface data. - Formalize the model used by the driver to handle requests by adding an explicit struct ipmi_request object that holds the state of a given request and reply for the entire lifetime of the request. By bundling the request into an object, it is easier to add retry logic to the various communication backends (as well as eventually support BT mode which uses a slightly different message format than KCS, SMIC, and SSIF). - Add a per-softc lock and remove D_NEEDGIANT as the driver is now MPSAFE. - Add 32-bit compatibility ioctl shims so you can use a 32-bit ipmitool on FreeBSD/amd64. - Add ipmi(4) to i386 and amd64 NOTES.
Submitted by: ambrisko (large portions of 2 and 3) Sponsored by: IronPort Systems, Yahoo! MFC after: 6 days
|
#
161310 |
|
15-Aug-2006 |
netchild |
Add the linux 2.6.x stuff (not used by default!): - TLS - complete - pid/tid mangling - complete - thread area - complete - futexes - complete with issues - clone() extension - complete with some possible minor issues - mq*/timer*/clock* stuff - complete but untested and the mq* stuff is disabled when not build as part of the kernel with native FreeBSD mq* support (module support for this will come later)
Tested with: - linux-firefox - works, tested - linux-opera - works, tested - linux-realplay - doesnt work, issue with futexes - linux-skype - doesnt work, issue with futexes - linux-rt2-demo - works, tested - linux-acroread - doesnt work, unknown reason (coredump) and sometimes issue with futexes - various unix utilities in linux-base-gentoo3 and linux-base-fc4: everything tried worked
On amd64 not everything is supported like on i386, the catchup is planned for later when the remaining bugs in the new functions are fixed.
To test this new stuff, you have to run sysctl compat.linux.osrelease=2.6.16 to switch back use sysctl compat.linux.osrelease=2.4.2
Don't switch while running a linux program, strange things may or may not happen.
Sponsored by: Google SoC 2006 Submitted by: rdivacky Some suggestions/help by: jhb, kib, manu@NetBSD.org, netchild
|
#
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.
|
#
160582 |
|
22-Jul-2006 |
pjd |
Implement support for HMAC/SHA1 and HMAC/SHA256 acceleration found in new VIA CPUs. For older CPUs HMAC/SHA1 and HMAC/SHA256 (and others) will still be done in software.
Move symmetric cryptography (currently only AES-CBC 128/192/256) to padlock_cipher.c file. Move HMAC cryptography to padlock_hash.c file.
Hardware from: Centaur Technologies
|
#
159967 |
|
26-Jun-2006 |
obrien |
Add a pure open source nForce Ethernet driver, under BSDL. This driver was ported from OpenBSD by Shigeaki Tagashira <shigeaki@se.hiroshima-u.ac.jp> and posted at http://www.se.hiroshima-u.ac.jp/~shigeaki/software/freebsd-nfe.html It was additionally cleaned up by me. It is still a work-in-progress and thus is purposefully not in GENERIC. And it conflicts with nve(4), so only one should be loaded.
|
#
158712 |
|
17-May-2006 |
marius |
- Add C-bus and ISA front-ends for le(4) so it can actually replace lnc(4) on PC98 and i386. The ISA front-end supports the same non-PNP network cards as lnc(4) did and additionally a couple of PNP ones. Like lnc(4), the C-bus front-end of le(4) only supports C-NET(98)S and is untested due to lack of such hardware, but given that's it's based on the respective lnc(4) and not too different from the ISA front-end it should be highly likely to work. - Remove the descriptions of le(4), which where converted from lnc(4), from sys/i386/conf/NOTES and sys/pc98/conf/NOTES as there's a common one in sys/conf/NOTES.
|
#
158687 |
|
17-May-2006 |
phk |
Send the pcvt(4) driver off to retirement.
|
#
158549 |
|
13-May-2006 |
gnn |
Removed the deprecated lance driver, lnc, from files.
|
#
158381 |
|
09-May-2006 |
ambrisko |
Add in linsysfs. A linux 2.6 like sys filesystem to pacify the Linux LSI MegaRAID SAS utility.
Sponsored by: IronPort Systems Man page help from: brueffer
|
#
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
|
#
158084 |
|
27-Apr-2006 |
scottl |
Add the 'rr232x' driver for the HighPoint RocketRAID 2320 series of cards. This driver was generously developed and donated by Highpoint.
It is enabled for i386 only at the moment. I will enable it for amd64 shortly.
Obtained from: HighPoint Technologies, Inc.
|
#
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.
|
#
157909 |
|
21-Apr-2006 |
peter |
Merge minidumps from amd64 where they were originally developed.
Major differences: * since there is no direct map region, there is no custom uma memory allocator to modify to include its pages in the dumps. * Various data entries are reduced from 64 bit to 32 bit to match the native size.
dump_add_page() and dump_drop_page() are still present in case one wants to arrange for arbitary pages to be dumped. This is of marginal use though because libkvm+kgdb cannot address physical memory that isn't mapped into kvm.
|
#
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
|
#
155607 |
|
13-Feb-2006 |
ambrisko |
Tie the ipmi driver into the i386/amd64 builds.
|
#
155159 |
|
31-Jan-2006 |
rik |
Attach ce(4) to the build.
MFC after: 3 days
|
#
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)
|
#
152863 |
|
27-Nov-2005 |
ru |
Reduction.
|
#
152862 |
|
27-Nov-2005 |
ru |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version.
|
#
152820 |
|
26-Nov-2005 |
ru |
Remove duplicates.
|
#
152660 |
|
21-Nov-2005 |
ru |
Pull up sys/modules/acpi/acpi/Makefile,v 1.10 change by iedowse@. This should fix another parallel make breakage, reported by pjd@.
|
#
152306 |
|
11-Nov-2005 |
ru |
Add /dev/speaker support to amd64.
The following repo-copies were made (by Mark Murray):
sys/i386/isa/spkr.c -> sys/dev/speaker/spkr.c sys/i386/include/speaker.h -> sys/dev/speaker/speaker.h share/man/man4/man4.i386/spkr.4 -> share/man/man4/spkr.4
|
#
152219 |
|
09-Nov-2005 |
imp |
Add support for XBOX to the FreeBSD port. The xbox architecture is nearly identical to wintel/ia32, with a couple of tweaks. Since it is so similar to ia32, it is optionally added to a i386 kernel. This port is preliminary, but seems to work well. Further improvements will improve the interaction with syscons(4), port Linux nforce driver and future versions of the xbox.
This supports the 64MB and 128MB boxes. You'll need the most recent CVS version of Cromwell (the Linux BIOS for the XBOX) to boot.
Rink will be maintaining this port, and is interested in feedback. He's setup a website http://xbox-bsd.nl to report the latest developments.
Any silly mistakes are my fault.
Submitted by: Rink P.W. Springer rink at stack dot nl and Ed Schouten ed at fxq dot nl
|
#
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).
|
#
150236 |
|
17-Sep-2005 |
anholt |
Add a new AGP driver for ATI IGP chipsets. The driver is based on reading of the Linux driver, since specs are unavailable. Many thanks to Adam Kirchhoff for multiple useful testing cycles, and Ralf Wostrack for the final fix to get it working.
PR: i386/75251 Submitted by: anholt
|
#
149496 |
|
26-Aug-2005 |
jhb |
Remove the el(4) driver for 3Com 3c501 ISA NICs from HEAD as threatened earlier as no one has stepped up to test recent changes to the driver. Oddly, the module was actually turned on on ia64 though I'm fairly certain that no ia64 machine has ever had or will ever have an ISA slot.
Axe borrowed from: phk
|
#
149211 |
|
17-Aug-2005 |
pjd |
Add VIA/ACE "PadLock" support as a crypto(9) driver.
HW donated by: Mike Tancsa <mike@sentex.net> Most of the code obtained from: OpenBSD MFC after: 3 days
|
#
147513 |
|
21-Jun-2005 |
dumbbell |
Connect reiserfs build to every platforms, not only i386 and pc98.
Reviewed by: mux (mentor) Approved by: re (dougb)
|
#
147476 |
|
18-Jun-2005 |
dumbbell |
Moving reiserfs from sys/gnu to sys/gnu/fs. This was discussed on arch@.
Reviewed by: mux (mentor) Approved by: re (scottl)
|
#
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
|
#
147271 |
|
10-Jun-2005 |
marius |
- Hook up the new locations of the atkbdc(4), atkbd(4) and psm(4) source files after they were repo-copied to sys/dev/atkbdc. The sources of atkbdc(4) and its children were moved to the new location in preparation for adding an EBus front-end to atkbdc(4) for use on sparc64; i.e. in order to not further scatter them over the whole tree which would have been the result of adding atkbdc_ebus.c in e.g. sys/sparc64/ebus. Another reason for the repo-copies was that some of the sources were misfiled, e.g. sys/isa/atkbd_isa.c wasn't ISA-specific at all but for hanging atkbd(4) off of atkbdc(4) and was renamed to atkbd_atkbdc.c accordingly. Most of sys/isa/psm.c, i.e. expect for its PSMC PNP part, also isn't ISA-specific. - Separate the parts of atkbdc_isa.c which aren't actually ISA-specific but are shareable between different atkbdc(4) bus front-ends into atkbdc_subr.c (repo-copied from atkbdc_isa.c). While here use bus_generic_rl_alloc_resource() and bus_generic_rl_release_resource() respectively in atkbdc_isa.c instead of rolling own versions. - Add sparc64 MD bits to atkbdc(4) and atkbd(4) and an EBus front-end for atkbdc(4). PS/2 controllers and input devices are used on a couple of Sun OEM boards and occur on either the EBus or the ISA bus. Depending on the board it's either the only on-board mean to connect a keyboard and mouse or an alternative to either RS232 or USB devices. - Wrap the PSMC PNP part of psm.c in #ifdef DEV_ISA so it can be compiled without isa(4) (e.g. for EBus-only machines). This ISA-specific part isn't separated into its own source file, yet, as it requires more work than was feasible for 6.0 in order to do it in a clean way. Actually philip@ is working on a rewrite of psm(4) so a more comprehensive clean-up and separation of hardware dependent and independent parts is expected to happen after 6.0.
Tested on: i386, sparc64 (AX1105, AXe and AXi boards) Reviewed by: philip
|
#
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.
|
#
146818 |
|
31-May-2005 |
dfr |
Add support for XMM registers in GDB for x86 processors that support SSE (or its successors).
Reviewed by: marcel, davidxu MFC After: 2 weeks
|
#
146565 |
|
24-May-2005 |
dumbbell |
Connect the ReiserFS filesystem to the build (i386 only).
Approved by: mux (mentor)
|
#
145653 |
|
29-Apr-2005 |
scottl |
Update the file.* entries for the new home of hwpmc
|
#
145485 |
|
24-Apr-2005 |
wpaul |
Throw the switch on the new driver generation/loading mechanism. From here on in, if_ndis.ko will be pre-built as a module, and can be built into a static kernel (though it's not part of GENERIC). Drivers are created using the new ndisgen(8) script, which uses ndiscvt(8) under the covers, along with a few other tools. The result is a driver module that can be kldloaded into the kernel.
A driver with foo.inf and foo.sys files will be converted into foo_sys.ko (and foo_sys.o, for those who want/need to make static kernels). This module contains all of the necessary info from the .INF file and the driver binary image, converted into an ELF module. You can kldload this module (or add it to /boot/loader.conf) to have it loaded automatically. Any required firmware files can be bundled into the module as well (or converted/loaded separately).
Also, add a workaround for a problem in NdisMSleep(). During system bootstrap (cold == 1), msleep() always returns 0 without actually sleeping. The Intel 2200BG driver uses NdisMSleep() to wait for the NIC's firmware to come to life, and fails to load if NdisMSleep() doesn't actually delay. As a workaround, if msleep() (and hence ndis_thsuspend()) returns 0, use a hard DELAY() to sleep instead). This is not really the right thing to do, but we can't really do much else. At the very least, this makes the Intel driver happy.
There are probably other drivers that fail in this way during bootstrap. Unfortunately, the only workaround for those is to avoid pre-loading them and kldload them once the system is running instead.
|
#
145415 |
|
22-Apr-2005 |
ru |
Clean generated os+%DIKED-nve.h.
|
#
145302 |
|
19-Apr-2005 |
imp |
Need more files for i386, need all the files for pc98.
|
#
145288 |
|
19-Apr-2005 |
njl |
Hook smist up to the kernel build.
|
#
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)
|
#
144910 |
|
11-Apr-2005 |
wpaul |
Add winx32_wrap.S to files.i386 for the NDISulator.
|
#
144637 |
|
04-Apr-2005 |
jhb |
Divorce critical sections from spinlocks. Critical sections as denoted by critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case.
Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch.
This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example).
Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
|
#
144423 |
|
31-Mar-2005 |
scottl |
Glue the arcmsr driver into the tree.
|
#
144196 |
|
27-Mar-2005 |
njl |
Add powernow to kernel build target.
|
#
143442 |
|
11-Mar-2005 |
obrien |
FreeBSD consumer bits of the nForce MCP NIC binary blob.
Demanded by: DES Encouraged by: scottl Obtained from: q@onthenet.com.au (partially) KNF'ed by: obrien
|
#
142988 |
|
02-Mar-2005 |
scottl |
Move all of the hptmv files to /sys/dev/hptmv so that they won't be mistaken for being on a CVS vendor branch. The files were moved via a repo-copy.
|
#
142399 |
|
24-Feb-2005 |
wpaul |
- Correct one aspect of the driver_object/device_object/IRP framework: when we create a PDO, the driver_object associated with it is that of the parent driver, not the driver we're trying to attach. For example, if we attach a PCI device, the PDO we pass to the NdisAddDevice() function should contain a pointer to fake_pci_driver, not to the NDIS driver itself. For PCI or PCMCIA devices this doesn't matter because the child never needs to talk to the parent bus driver, but for USB, the child needs to be able to send IRPs to the parent USB bus driver, and for that to work the parent USB bus driver has to be hung off the PDO.
This involves modifying windrv_lookup() so that we can search for bus drivers by name, if necessary. Our fake bus drivers attach themselves as "PCI Bus," "PCCARD Bus" and "USB Bus," so we can search for them using those names.
The individual attachment stubs now create and attach PDOs to the parent bus drivers instead of hanging them off the NDIS driver's object, and in if_ndis.c, we now search for the correct driver object depending on the bus type, and use that to find the correct PDO.
With this fix, I can get my sample USB ethernet driver to deliver an IRP to my fake parent USB bus driver's dispatch routines.
- Add stub modules for USB support: subr_usbd.c, usbd_var.h and if_ndis_usb.c. The subr_usbd.c module is hooked up the build but currently doesn't do very much. It provides the stub USB parent driver object and a dispatch routine for IRM_MJ_INTERNAL_DEVICE_CONTROL. The only exported function at the moment is USBD_GetUSBDIVersion(). The if_ndis_usb.c stub compiles, but is not hooked up to the build yet. I'm putting these here so I can keep them under source code control as I flesh them out.
|
#
142309 |
|
23-Feb-2005 |
njl |
Remove CPU_ENABLE_TCC and hook the cpufreq p4tcc up to the build.
|
#
142141 |
|
20-Feb-2005 |
njl |
Hook EST up to the build.
|
#
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.
|
#
141524 |
|
08-Feb-2005 |
wpaul |
Next step on the road to IRPs: create and use an imitation of the Windows DRIVER_OBJECT and DEVICE_OBJECT mechanism so that we can simulate driver stacking.
In Windows, each loaded driver image is attached to a DRIVER_OBJECT structure. Windows uses the registry to match up a given vendor/device ID combination with a corresponding DRIVER_OBJECT. When a driver image is first loaded, its DriverEntry() routine is invoked, which sets up the AddDevice() function pointer in the DRIVER_OBJECT and creates a dispatch table (based on IRP major codes). When a Windows bus driver detects a new device, it creates a Physical Device Object (PDO) for it. This is a DEVICE_OBJECT structure, with semantics analagous to that of a device_t in FreeBSD. The Windows PNP manager will invoke the driver's AddDevice() function and pass it pointers to the DRIVER_OBJECT and the PDO.
The AddDevice() function then creates a new DRIVER_OBJECT structure of its own. This is known as the Functional Device Object (FDO) and corresponds roughly to a private softc instance. The driver uses IoAttachDeviceToDeviceStack() to add this device object to the driver stack for this PDO. Subsequent drivers (called filter drivers in Windows-speak) can be loaded which add themselves to the stack. When someone issues an IRP to a device, it travel along the stack passing through several possible filter drivers until it reaches the functional driver (which actually knows how to talk to the hardware) at which point it will be completed. This is how Windows achieves driver layering.
Project Evil now simulates most of this. if_ndis now has a modevent handler which will use MOD_LOAD and MOD_UNLOAD events to drive the creation and destruction of DRIVER_OBJECTs. (The load event also does the relocation/dynalinking of the image.) We don't have a registry, so the DRIVER_OBJECTS are stored in a linked list for now. Eventually, the list entry will contain the vendor/device ID list extracted from the .INF file. When ndis_probe() is called and detectes a supported device, it will create a PDO for the device instance and attach it to the DRIVER_OBJECT just as in Windows. ndis_attach() will then call our NdisAddDevice() handler to create the FDO. The NDIS miniport block is now a device extension hung off the FDO, just as it is in Windows. The miniport characteristics table is now an extension hung off the DRIVER_OBJECT as well (the characteristics are the same for all devices handled by a given driver, so they don't need to be per-instance.) We also do an IoAttachDeviceToDeviceStack() to put the FDO on the stack for the PDO. There are a couple of fake bus drivers created for the PCI and pccard buses. Eventually, there will be one for USB, which will actually accept USB IRP.s
Things should still work just as before, only now we do things in the proper order and maintain the correct framework to support passing IRPs between drivers.
Various changes:
- corrected the comments about IRQL handling in subr_hal.c to more accurately reflect reality - update ndiscvt to make the drv_data symbol in ndis_driver_data.h a global so that if_ndis_pci.o and/or if_ndis_pccard.o can see it. - Obtain the softc pointer from the miniport block by referencing the PDO rather than a private pointer of our own (nmb_ifp is no longer used) - implement IoAttachDeviceToDeviceStack(), IoDetachDevice(), IoGetAttachedDevice(), IoAllocateDriverObjectExtension(), IoGetDriverObjectExtension(), IoCreateDevice(), IoDeleteDevice(), IoAllocateIrp(), IoReuseIrp(), IoMakeAssociatedIrp(), IoFreeIrp(), IoInitializeIrp() - fix a few mistakes in the driver_object and device_object definitions - add a new module, kern_windrv.c, to handle the driver registration and relocation/dynalinkign duties (which don't really belong in kern_ndis.c). - made ndis_block and ndis_chars in the ndis_softc stucture pointers and modified all references to it - fixed NdisMRegisterMiniport() and NdisInitializeWrapper() so they work correctly with the new driver_object mechanism - changed ndis_attach() to call NdisAddDevice() instead of ndis_load_driver() (which is now deprecated) - used ExAllocatePoolWithTag()/ExFreePool() in lookaside list routines instead of kludged up alloc/free routines - added kern_windrv.c to sys/modules/ndis/Makefile and files.i386.
|
#
141219 |
|
03-Feb-2005 |
mdodd |
- Split out PCI support. - Add previously removed ISA support.
Submitted by: David S. Madole <david AT madole.net>
|
#
139958 |
|
10-Jan-2005 |
imp |
Sort entries. Remove a couple of 'card' lines that were somehow missed when OLDCARD was desupported.
|
#
139659 |
|
04-Jan-2005 |
imp |
move all the card entries to files.pc98 style change: regularize tabbing
|
#
138755 |
|
12-Dec-2004 |
imp |
Separate mse driver into a core driver and a bus attachments. Separate out the ISA and CBUS (called isa on pc98) attachments. Eliminate all PC98 ifdefs in the process (the driver in pc98/pc98/mse.c was a copy of the one in i386/isa/mse.c with PC98 ifdefs). Create a module for this driver.
I've tested this my PC-9821RaS40 with moused. I've not tested this on i386 because I have no InPort cards, or similar such things. NEC standardized on bus mice very early, long before ps/2 mice ports apeared, so all PC-98 machines supported by FreeBSD/pc98 have bus mice, I believe.
Reviewed by: nyan-san
|
#
138588 |
|
08-Dec-2004 |
sam |
update for new ath hal
|
#
137998 |
|
22-Nov-2004 |
imp |
It appears that 'kbd' device has never been used and isn't needed. Build tests show that this isn't used for GENERIC or LINT, and nobody seemed to know why they existed.
|
#
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.
|
#
137565 |
|
11-Nov-2004 |
imp |
pbio has moved to dev/pbio
Prodded by: peter
|
#
136858 |
|
24-Oct-2004 |
scottl |
Hook the hptmv driver up to the build.
|
#
136230 |
|
07-Oct-2004 |
imp |
Port pbio to HEAD.
OK'd by: dds
|
#
133852 |
|
16-Aug-2004 |
obrien |
AMD64 on-CPU GART support. This also applies to AMD64 HW running 'i386' OS.
Submitted by: Jung-uk Kim <jkim@niksun.com> Integration by: obrien
|
#
133759 |
|
15-Aug-2004 |
rwatson |
Add an "options MP_WATCHDOG" to i386. This option allows one of the logical CPUs on a system to be used as a dedicated watchdog to cause a drop to the debugger and/or generate an NMI to the boot processor if the kernel ceases to respond. A sysctl enables the watchdog running out of the processor's idle thread; a callout is launched to reset a timer in the watchdog. If the callout fails to reset the timer for ten seconds, the watchdog will fire. The sysctl allows you to select which CPU will run the watchdog.
A sample "debug.leak_schedlock" is included, which causes a sysctl to spin holding sched_lock in order to trigger the watchdog. On my Xeons, the watchdog is able to detect this failure mode and break into the debugger, which cannot otherwise be done without an NMI button.
This option does not currently work with sched_ule due to ule's push notion of scheduling, similar to machdep.hlt_logical_cpus failing to work with that scheduler.
On face value, this might seem somewhat inefficient, but there are a lot of dual-processor Xeons with HTT around, so using one as a watchdog for testing is not as inefficient as one might fear.
|
#
133141 |
|
04-Aug-2004 |
markm |
Oops. Didn't commit this as part of the mem module fix.
|
#
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.
|
#
132501 |
|
21-Jul-2004 |
nyan |
Add the ACPI Panasonic extras driver.
Submitted by: OGAWA Takaya <t-ogawa@triaez.kaisei.org> and nyan
|
#
132217 |
|
15-Jul-2004 |
njl |
Hook up fdc_acpi for the kernel build.
|
#
132112 |
|
13-Jul-2004 |
phk |
Desupport M-Systems DiskOnChip driver "fla"
|
#
131951 |
|
10-Jul-2004 |
marcel |
Hook the GDB backend into the build.
|
#
131766 |
|
07-Jul-2004 |
imp |
Break out the isa and pccard front ends to the fdc controller device. This should allow us to more easily break out the acpi and 'legacy pc' front ends as well (so only the bus front end would touch rtc, for example).
This isn't a great separation, since isa dma routines are still called from the MI code, but it is a start.
|
#
131334 |
|
30-Jun-2004 |
njl |
Move acpi_if.m to files.{amd64,i386,ia64}. This should fix the alpha build.
Pointed out by: gallatin
|
#
130982 |
|
23-Jun-2004 |
brooks |
el(4) stopped needing to me a count device in December 2000.
|
#
129742 |
|
26-May-2004 |
bde |
MFamd64:
Fixed profiling of trap, syscall and interrupt handlers and some ordinary functions, essentially by backing out half of rev.1.106 of i386/exception.s. The handlers must be between certain labels for the purposes of profiling, and this was broken by scattering them in separately compiled .s files, especially for ordinary functions that ended up between the labels. Merge the files by #including them as before, except with different pathnames and better comments and organization. Changes to the scattered files are minimal -- just move the labels to the file that does the #includes.
This also partly fixes profiling of IPIs -- all IPI handlers are now correctly classified as interrupt handlers, but many are still missing mcount calls.
vm86bios.s is included as before, but it is now between the labels for interrupt handlers again, which seems to be wrong since half of it is for a non-interrupt handler.
|
#
129325 |
|
17-May-2004 |
rik |
Connect Cronyx Tau-PCI to the system.
|
#
129318 |
|
17-May-2004 |
imp |
Move fdc from isa/fd.c to dev/fdc/fdc.c. The old files were repocopied. Soon there will be additional bus attachments and specialization for isa, acpi and pccard (and maybe pc98's cbus).
This was approved by nate, joerg and myself. bde dissented on the new location, but appeared to be OK after some discussion.
|
#
129124 |
|
11-May-2004 |
des |
Add a driver for the watchdog timer function present on the LPC interface bridge in Intel ICH-series chipsets.
The original implementation was by W. Daryl Hawkins of Texas A&M, but I have made substantial modifications.
|
#
128955 |
|
05-May-2004 |
bde |
Fixed some insertion sort errors.
|
#
128952 |
|
05-May-2004 |
bde |
Fixed unformatting of svr4 entries in rev.1.326 and consistent misformatting of them in rev.1.358.
|
#
128928 |
|
04-May-2004 |
jhb |
Add a simple mini-driver for the ELCR register. Originally, the ELCR register controlled the trigger mode and polarity of EISA interrupts. However, it appears that most (all?) PCI systems use the ELCR to manage the trigger mode and polarity of ISA interrupts as well since ISA IRQs used to route PCI interrupts need to be level triggered with active low polarity. We check to see if the ELCR exists by sanity checking the value we get back ensuring that IRQS 0 (8254), 1 (atkbd), 2 (the link from the slave PIC), and 8 (RTC) are all clear indicating edge trigger and active high polarity.
This mini-driver will be used by the atpic driver to manage the trigger and polarity of ISA IRQs. Also, the mptable parsing code will use this mini driver rather than examining the ELCR directly.
|
#
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.
|
#
128561 |
|
22-Apr-2004 |
philip |
Add the ACPI Asus extras driver. Provides support for cool ACPI-controled gadgets (hotkeys, lcd, ...) on Asus laptops. I aim to closely track the acpi4asus project which implements these features in the Linux kernel.
If this breaks your laptop, please let me know how it does it :-)
Approved by: njl (mentor)
|
#
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__
|
#
127707 |
|
01-Apr-2004 |
des |
Move twa from files.i386 to files. This unbreaks LINT on !i386.
Pointy hat to: vkashyap, ps
|
#
127600 |
|
30-Mar-2004 |
vkashyap |
Initial check-in of the device driver for 3ware's 9000 series PATA/SATA RAID controllers. This driver is a SIM under CAM, and so, behaves like a driver for a SCSI controller.
|
#
127310 |
|
22-Mar-2004 |
wpaul |
if_ndis.c no longer depends on either pci or pccard. Also, add an extra entry for if_ndis_pci.c that depends on cardbus, just to cover all the bases. (I don't think you can have cardbus without PCI, but just in case...)
|
#
127282 |
|
21-Mar-2004 |
alc |
Add an implementation of uiomove_fromphys() for i386. This implementation uses sf_buf_alloc() and sf_buf_free() to create and destroy the necessary ephemeral mappings.
|
#
127040 |
|
15-Mar-2004 |
fjoe |
Add arl(4): driver for Aironet Arlan 655 wireless adapters.
MFC after: 2 weeks
|
#
126996 |
|
14-Mar-2004 |
imp |
Remove isa compat stuff.
Only cy, bs and wd in the tree still use it. I have a replacement for cy that I need to test on ISA and PCI cards. bs and wd are pc98 only drivers that appear to no longer be necessary. I'll be removing them when I hear back from the pc98 people.
|
#
126990 |
|
14-Mar-2004 |
imp |
The gsc driver uses the old COMPAT_ISA api. Retire it so we can retire the COMPAT_ISA shims. If someone were to redo this driver with the new APIs and test it, it can return.
|
#
126985 |
|
14-Mar-2004 |
imp |
The rdp driver uses the COMPAT_OLD api. This is being retired, so this driver is being retired. Remove it from the tree. If someone wants to update it to the latest APIs and can test the hardware, it can return to the tree.
|
#
126984 |
|
14-Mar-2004 |
imp |
The spigot driver uses the old COMPAT_ISA interface. Retire it since that's going away soon. Should someone reimplement it using modern APIs and can test the driver, it can return.
|
#
126982 |
|
14-Mar-2004 |
imp |
The le driver uses ISA_COMPAT, which is going away soon. Retire it and releated files. If someone wants to fix it to use the new APIs and test it, it can be brought back.
|
#
126964 |
|
14-Mar-2004 |
imp |
stl and stli use the old COMPAT_ISA api. slt also uses the really old COMPAT_PCI api. This API is going away, so this driver is going away also.
If users are interested in updating this, please contact the author since he has some preliminary work to move this to newer APIs.
|
#
126955 |
|
14-Mar-2004 |
imp |
Remove gp driver. It uses the old COMPAT_ISA shims.
If this driver is rewritten using newer APIs it can return.
|
#
126953 |
|
14-Mar-2004 |
imp |
Remove ctx driver. another scanner. This one uses COMPAT_ISA shims which is going away soon.
If someone updates this to the latest APIs and tests it, it can return.
|
#
126946 |
|
14-Mar-2004 |
imp |
Remove asc driver, support for GI1904 based hand scanners. This driver uses COMPAT_ISA shims, and those shims are going away.
It can be brought back if someone updates it to the latest APIs, and moves it to the appropriate place in the tree.
|
#
126943 |
|
14-Mar-2004 |
imp |
Remove wt driver. It still uses COMPAT_ISA_DRIVER which is going away very soon.
Users needing this driver should update it to a newer API.
|
#
126882 |
|
12-Mar-2004 |
wpaul |
Add if_ndis_pci.c and if_ndis_pccard.c so that building the NDISulator directly into the kernel works again. Also make the 'ndisapi' entries not depend on pccard anymore.
Forgotten by: me Noticed by: sos
|
#
126493 |
|
02-Mar-2004 |
rik |
1. Connect Cronyx Tau/ISA driver (ctau) to kernel.
Approved by: imp (mentor)
|
#
125981 |
|
18-Feb-2004 |
jhb |
Switch to using the new $PIR interrupt routing code and remove the old code. The pci_cfgreg.c file now just controls reading/writing PCI config registers.
|
#
125276 |
|
31-Jan-2004 |
shiba |
Compiled longrun.c when defined options CPU_ENABLE_LONGRUN, and fixed wrong comparation in cpu vendor. Longrun function was re-enabled.
|
#
124742 |
|
20-Jan-2004 |
obrien |
Fix sort misordering.
|
#
124684 |
|
18-Jan-2004 |
sobomax |
Add new CPU_ENABLE_TCC option, from NOTES:
CPU_ENABLE_TCC enables Thermal Control Circuitry (TCC) found in some Pentium(tm) 4 and (possibly) later CPUs. When enabled and detected, TCC allows to restrict power consumption by using machdep.cpuperf* sysctls. This operates independently of SpeedStep and is useful on systems where other mechanisms such as apm(4) or acpi(4) don't work.
Given the fact that many, even modern, notebooks don't work properly with Intel ACPI, this is indeed very useful option for notebook owners.
Obtained from: OpenBSD MFC after: 2 weeks
|
#
124481 |
|
13-Jan-2004 |
des |
Add ffsl(), fls() flsl() to platforms that don't already have them.
|
#
124385 |
|
11-Jan-2004 |
njl |
Add the ACPI Toshiba extras driver (hotkeys, LCD backlight, video output, forced fan control, and CPU throttling).
Submitted by: Hiroyuki Aizu <aizu@navi.org>
|
#
123474 |
|
11-Dec-2003 |
wpaul |
Commit the first cut of Project Evil, also known as the NDISulator.
Yes, it's what you think it is. Yes, you should run away now.
This is a special compatibility module for allowing Windows NDIS miniport network drivers to be used with FreeBSD/x86. This provides _binary_ NDIS compatibility (not source): you can run NDIS driver code, but you can't build it. There are three main parts:
sys/compat/ndis: the NDIS compat API, which provides binary compatibility functions for many routines in NDIS.SYS, HAL.dll and ntoskrnl.exe in Windows (these are the three modules that most NDIS miniport drivers use). The compat module also contains a small PE relocator/dynalinker which relocates the Windows .SYS image and then patches in our native routines.
sys/dev/if_ndis: the if_ndis driver wrapper. This module makes use of the ndis compat API and can be compiled with a specially prepared binary image file (ndis_driver_data.h) containing the Windows .SYS image and registry key information parsed out of the accompanying .INF file. Once if_ndis.ko is built, it can be loaded and unloaded just like a native FreeBSD kenrel module.
usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf into an ndis_driver_data.h file that can be compiled into if_ndis.o. Contains an .inf file parser graciously provided by Matt Dodd (and mercilessly hacked upon by me) that strips out device ID info and registry key info from a .INF file and packages it up with a binary image array. The ndiscvt(8) utility also does some manipulation of the segments within the .sys file to make life easier for the kernel loader. (Doing the manipulation here saves the kernel code from having to move things around later, which would waste memory.)
ndiscvt is only built for the i386 arch. Only files.i386 has been updated, and none of this is turned on in GENERIC. It should probably work on pc98. I have no idea about amd64 or ia64 at this point.
This is still a work in progress. I estimate it's about %85 done, but I want it under CVS control so I can track subsequent changes. It has been tested with exactly three drivers: the LinkSys LNE100TX v4 driver (Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK (e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It still needs to have a net80211 stuff added to it. To use it, you would do something like this:
# cd /sys/modules/ndis # make; make load # cd /sys/modules/if_ndis # ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h # make; make load # sysctl -a | grep ndis
All registry keys are mapped to sysctl nodes. Sometimes drivers refer to registry keys that aren't mentioned in foo.inf. If this happens, the NDIS API module creates sysctl nodes for these keys on the fly so you can tweak them.
An example usage of the Broadcom wireless driver would be:
# sysctl hw.ndis0.EnableAutoConnect=1 # sysctl hw.ndis0.SSID="MY_SSID" # sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc) # ifconfig ndis0 <my ipaddr> netmask 0xffffff00 up
Things to be done:
- get rid of debug messages - add in ndis80211 support - defer transmissions until after a status update with NDIS_STATUS_CONNECTED occurs - Create smarter lookaside list support - Split off if_ndis_pci.c and if_ndis_pccard.c attachments - Make sure PCMCIA support works - Fix ndiscvt to properly parse PCMCIA device IDs from INF files - write ndisapi.9 man page
|
#
123208 |
|
07-Dec-2003 |
imp |
The dgb driver is redundant with the digi driver in the tree. It uses lots of old interfaces, and digi now supports all cards that dgb supported. The author of the driver says that this is no longer necessary.
Approved by: babkin@
|
#
123194 |
|
07-Dec-2003 |
imp |
First part of the removal of drivers for hardware that isn't relevant or whose drivers haven't even compiled for years.
The loran hardware was very unique, and only a few copies of it ever existed. It used the old COMPAT_ISA_DRIVER and when the author was contacted, he indicated that he had no intention of ever updating this driver and it was no longer relevant to the FreeBSD world and can be removed without impact to anybody.
Approved by: phk
|
#
123139 |
|
03-Dec-2003 |
imp |
Connect the cx driver to its new location in the tree. Update notes to reflect that cx is no longer a counted device Update options for new cx option # commented out ELAN_PPS and ELAN_XTAL since they produced errors
Submitted by: rik@cronyx.ru Approved by: re@ <scottl>
|
#
122005 |
|
03-Nov-2003 |
jhb |
- Remove references to old interrupt and SMP code. - Add entries for new interrupt and SMP code.
|
#
121943 |
|
03-Nov-2003 |
phk |
Introduce new CPU_SOEKRIS option to tell soekris hardware from other hardware based on similar chipsets.
|
#
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.
|
#
119608 |
|
31-Aug-2003 |
phk |
Detect Geode CPUs and initialize the 27MHz timecounter "Geode".
This timecounter is 2usec faster than the i8254 and has 22 times better resolution.
|
#
119368 |
|
23-Aug-2003 |
mdodd |
AGP GART driver for NVIDIA nForce/nForce2 chipsets.
|
#
118948 |
|
15-Aug-2003 |
phk |
As warned: Initiate deorbit burn for the pcaudio driver.
|
#
118408 |
|
04-Aug-2003 |
imp |
fix disordering of filenames. Place the dev/ppc files in alphabetical order.
|
#
118292 |
|
01-Aug-2003 |
ambrisko |
Add printer support to puc(4) driver. - Move isa/ppc* to sys/dev/ppc (repo-copy) - Add an attachment method to ppc for puc - In puc we need to walk the chain of parents. Still to do, is to make ppc(4) & puc(4) work on other platforms. Testers wanted.
PR: 38372 (in spirit done differently) Verified by: Make universe (if I messed up a platform please fix)
|
#
117883 |
|
22-Jul-2003 |
ticso |
relocate eisa into MI files.
Suggested by: jhb
|
#
117870 |
|
22-Jul-2003 |
peter |
Initiate de-orbit burn for fpu-less operation. 386+387 is still theoretically supportable, but you'd really be happier with FreeBSD 2.1.8 on it.
|
#
116817 |
|
25-Jun-2003 |
sam |
config+build glue for Atheros support
|
#
115469 |
|
31-May-2003 |
phk |
Eliminate potential overflows by allocating softc dynamically, removing at the same time the need for this to be a "count" config option.
Found by: FlexeLint
|
#
114110 |
|
27-Apr-2003 |
imp |
Update to reflect tw removal.
Approved by: re@ (scottl)
|
#
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.
|
#
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.
|
#
112554 |
|
24-Mar-2003 |
mdodd |
- Consolidate smapi driver. - Attach to nexus. - Use null{open,close}() instead of rolling our own.
|
#
112553 |
|
24-Mar-2003 |
mdodd |
Add the 'vpd' and 'smbios' drivers. The 'smbios' driver is just a stub right now.
|
#
112551 |
|
24-Mar-2003 |
mdodd |
Use repo-copied files in sys/i386/bios.
|
#
111684 |
|
28-Feb-2003 |
ru |
Standardize handling of locore.[sS] etc. files.
Submitted by: jake, bde, ru
|
#
111411 |
|
24-Feb-2003 |
obrien |
pst(4) should be portable across all our platforms.
|
#
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.
|
#
110705 |
|
11-Feb-2003 |
nyan |
Sort.
|
#
110687 |
|
11-Feb-2003 |
phk |
Switch to using the TSC code in i386/i386/tsc.c.
|
#
110077 |
|
30-Jan-2003 |
phk |
Remove files which don't exist
|
#
109978 |
|
28-Jan-2003 |
phk |
NO_GEOM cleanup: Don't pull subr_disk{slice,label,mbr}.c into i386 kernels anymore, they are not needed.
|
#
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.
|
#
109412 |
|
17-Jan-2003 |
mdodd |
A driver for the System Management Application Program Interface (SMAPI) BIOS, which is present on some IBM Thinkpad models (560, 600, 770 to name a few.)
The SMAPI BIOS provides access to System Information, System Configuration, and Power Management.
|
#
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
|
#
105890 |
|
24-Oct-2002 |
jhb |
Rename 'device acpica' to 'device acpi'.
Approved by: msmith, iwasaki
|
#
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
|
#
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.
|
#
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.
|
#
104444 |
|
04-Oct-2002 |
scottl |
Alas, poor matcd, I knew ye well.
It doesn't work. It cannot be made to work. Goodbye.
X-MFC after: ASAP
|
#
103862 |
|
23-Sep-2002 |
jhb |
Add a new legacy(4) device driver for use on machines that do not have ACPI or for when ACPI support is disabled or not present in the kernel. Basically, the nexus device is now split into two with some parts (such as adding default ISA, MCA, and EISA busses if they aren't found as well as support for PCI bus device ivars) being moved to the legacy driver.
|
#
103222 |
|
11-Sep-2002 |
phk |
It's bad enough people can't figure out to use the same code, or in this case, ugly macros, but the data tables can be reused:
Put one copy of the software HDLC tables in its own file.
|
#
103051 |
|
06-Sep-2002 |
peter |
Make imgact_aout.c optional. It is i386 specific.
|
#
102934 |
|
04-Sep-2002 |
phk |
Change the support for AMDs ElanSC520 CPU from being a device driver to be options CPU_ELAN (NB: Soekris.com users!)
It is cleaner this way. We still recognize the cpu on the host-pci bridge.
|
#
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
|
#
102549 |
|
28-Aug-2002 |
peter |
Initiate deorbit burn for sys/kern/link_aout.c. We never shipped a.out kld's anywhere, and it was always possible to load ELF kld's even in an a.out kernel. There is no reason for this to exist anymore, and a.out kld support has been suffering serious bitrot over the years. They have not been fully functional for quite some time.
|
#
102156 |
|
19-Aug-2002 |
peter |
Untangle this warning a bit: COMPAT_SVR4 is broken and usage is, until fixed, not recommended BTW; does anybody remember why this is here?
|
#
102150 |
|
19-Aug-2002 |
peter |
de-count atkbdc and sc. Folks, remove the '1' from 'device sc 1' and 'device atkbdc 1'.
|
#
101226 |
|
02-Aug-2002 |
phk |
typo.
|
#
101225 |
|
02-Aug-2002 |
phk |
Add the minimalist elan-mmcr device driver.
This driver allows a userland program to mmap the MMCR of the AMD Elan sc520 CPU.
|
#
101101 |
|
31-Jul-2002 |
sos |
Finally first shot at a driver for the Promise SuperTrak SX6000 ATA RAID controller. Some testing has already been done, but its still greenish. RAID's has to be setup via the BIOS on the SuperTrak, but all RAID types are supported by the driver. The SuperTrak rebuilds failed arrays on the fly and supports spare disks etc etc...
Add "device pst" to your config file to use.
As usual bugsreports, suggestions etc are welcome...
Development sponsored by: Advanis Hardware donated by: Promise Inc.
|
#
100599 |
|
24-Jul-2002 |
jhb |
Move sio_isa.c back to MD files files due to PC98 brain damage.
|
#
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.
|
#
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.
|
#
98155 |
|
13-Jun-2002 |
brooks |
Remote pci.h/NPCI usage from i4b code.
Approved by: hm
|
#
97785 |
|
03-Jun-2002 |
pdeuskar |
Added support for 82545EM and 82546EB based adapters. Added Vlan support.
MFC after: 1 week
|
#
96890 |
|
18-May-2002 |
marcel |
Hook up the new linux_ptrace implementation.
PR: 33299 Submitted by: Alexander N. Kabaev <ak03@gte.com>
|
#
96486 |
|
13-May-2002 |
jake |
${MACHINE_ARCH}dump.c -> dump_machdep.c.
|
#
93494 |
|
31-Mar-2002 |
phk |
Add the i386dump.c dumpsys() source file.
|
#
93264 |
|
27-Mar-2002 |
dillon |
Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up).
Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement.
This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary.
Reviewed by: core Approved by: core
|
#
93116 |
|
25-Mar-2002 |
obrien |
Remove a FMT that was buried in here. I have no idea why the original committer even used it (in its KERNFORMAT spelling) as there is no a.out version.
|
#
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
|
#
91464 |
|
28-Feb-2002 |
peter |
Tag istallion.c with nowerror (third party)
|
#
91438 |
|
27-Feb-2002 |
peter |
Mark stallion.c as nowerror (known broken, this is a #warning)
|
#
90731 |
|
16-Feb-2002 |
jhay |
Add the puc (PCI "Universal" Communications) driver. The idea and some of the structure definitions come from NetBSD to make it easier to share card definitions. The driver only acts as a shim between the pci bus and the sio driver. Later pci parallel ports could also be supported through this driver. Support for most single and multiport pci serial cards should be as simple as adding its definition to pucdata.c
Tested with the following pci cards: Moxa Industio CP-114, 4 port RS-232,RS-422/485 Syba Tech Ltd. PCI-4S2P-550-ECP, 4 port RS-232 + 2 parallel ports Netmos NM9835 PCI-2S-550, 2 port RS-232
|
#
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
|
#
89983 |
|
30-Jan-2002 |
bde |
Removed the one use of the mandatory keyword (for npx).
npx is no more mandatory than sc. Its mandatoryness went away in rev.1.226 of i386/machdep.c 9 months before it was made mandatory in rev.1.24 of config/mkmakefile.c.
This change is mainly to test building of minimal kernel configurations. npx should really be even more standard than clk. It was optional mainly so that the usual device driver configuration info could be specified in the usual way in config files, but this hasn't been necessary for a few years.
|
#
89247 |
|
11-Jan-2002 |
peter |
genassym builds need the -fno-common stripped out.
|
#
89099 |
|
08-Jan-2002 |
fjoe |
- generic Arcnet framework - device driver for SMC COM90cx6 Arcnet network adapters
Obtained from: NetBSD
|
#
88953 |
|
06-Jan-2002 |
nyan |
Sorted the lists.
|
#
88405 |
|
22-Dec-2001 |
gj |
Add the ifpi2 driver.
MFC after: 4 weeks
|
#
87902 |
|
14-Dec-2001 |
luigi |
Device Polling code for -current.
Non-SMP, i386-only, no polling in the idle loop at the moment.
To use this code you must compile a kernel with
options DEVICE_POLLING
and at runtime enable polling with
sysctl kern.polling.enable=1
The percentage of CPU reserved to userland can be set with
sysctl kern.polling.user_frac=NN (default is 50)
while the remainder is used by polling device drivers and netisr's. These are the only two variables that you should need to touch. There are a few more parameters in kern.polling but the default values are adequate for all purposes. See the code in kern_poll.c for more details on them.
Polling in the idle loop will be implemented shortly by introducing a kernel thread which does the job. Until then, the amount of CPU dedicated to polling will never exceed (100-user_frac). The equivalent (actually, better) code for -stable is at
http://info.iet.unipi.it/~luigi/polling/
and also supports polling in the idle loop.
NOTE to Alpha developers: There is really nothing in this code that is i386-specific. If you move the 2 lines supporting the new option from sys/conf/{files,options}.i386 to sys/conf/{files,options} I am pretty sure that this should work on the Alpha as well, just that I do not have a suitable test box to try it. If someone feels like trying it, I would appreciate it.
NOTE to other developers: sure some things could be done better, and as always I am open to constructive criticism, which a few of you have already given and I greatly appreciated. However, before proposing radical architectural changes, please take some time to possibly try out this code, or at the very least read the comments in kern_poll.c, especially re. the reason why I am using a soft netisr and cannot (I believe) replace it with a simple timeout.
Quick description of files touched by this commit:
sys/conf/files.i386 new file kern/kern_poll.c sys/conf/options.i386 new option sys/i386/i386/trap.c poll in trap (disabled by default) sys/kern/kern_clock.c initialization and hardclock hooks. sys/kern/kern_intr.c minor swi_net changes sys/kern/kern_poll.c the bulk of the code. sys/net/if.h new flag sys/net/if_var.h declaration for functions used in device drivers. sys/net/netisr.h NETISR_POLL sys/dev/fxp/if_fxp.c sys/dev/fxp/if_fxpvar.h sys/pci/if_dc.c sys/pci/if_dcreg.h sys/pci/if_sis.c sys/pci/if_sisreg.h device driver modifications
|
#
87189 |
|
02-Dec-2001 |
pdeuskar |
This is the first commit of the Intel gigabit driver for PRO/1000 cards.
Submitted by:Prafulla Deuskar Reviewed by: Paul Saab MFC after:1 week
|
#
86900 |
|
25-Nov-2001 |
imp |
First part of patches to make sio grok 16-bit serial cards under NEWCARD. Other patches may be reqiured to sio to prevent a hang on eject. Also add commented out entries for sio_pccard.c in files.pc98 to match other architectures.
Submitted by: yamamoto shigeru-san
|
#
86752 |
|
21-Nov-2001 |
fjoe |
Add driver for Granch SBNI12-xx ISA and PCI network adapters.
MFC after: 1 week
|
#
86108 |
|
05-Nov-2001 |
phk |
GC userconfig after Peter axed it 15 months ago.
|
#
86101 |
|
05-Nov-2001 |
phk |
Remove the old RocketPort driver which was left behind in favour of the new driver. The new driver works, the old one is 1+ year behind.
|
#
85730 |
|
30-Oct-2001 |
imp |
Don't try to use sio with NEWCARD 16 bit yet. It eats all pccards :-)
Reported by: Marcell Moolenaar
|
#
85556 |
|
26-Oct-2001 |
iwasaki |
Add APM compatibility feature to ACPI. This emulates APM device node interface APIs (mainly ioctl) and provides APM services for the applications. The goal is to support most of APM applications without any changes. Implemented ioctls in this commit are: - APMIO_SUSPEND (mapped ACPI S3 as default but changable by sysctl) - APMIO_STANDBY (mapped ACPI S1 as default but changable by sysctl) - APMIO_GETINFO and APMIO_GETINFO_OLD - APMIO_GETPWSTATUS
With above, many APM applications which get batteries, ac-line info. and transition the system into suspend/standby mode (such as wmapm, xbatt) should work with ACPI enabled kernel (if ACPI works well :-)
Reviewed by: arch@, audit@ and some guys
|
#
85365 |
|
23-Oct-2001 |
imp |
Break out the bus front ends into their own files. Rewrite sio_pccard_detach to use new siodetach. Add an extra arg to sioprobe to tell driver to probe/not probe the device for IRQs.
This incorporates most of Bruce's review material. I'm at a good checkpoint, but there will be more to come based on bde's further reviews.
Reviewed by: bde
|
#
85302 |
|
22-Oct-2001 |
imp |
First commit after a repo copy of isa/sio* -> dev/sio:
Move sio from isa/sio.c to dev/sio/sio.c. The next step is to break out the front end attachments, improve support for these parts on different busses, and maybe, if we're lucky, merging in pc98 support. It will also be MI and live in conf/files rather than files.*.
Approved by: bde Tested with: i386, pc98
|
#
85297 |
|
21-Oct-2001 |
des |
Move procfs_* from procfs_machdep.c into sys_process.c, and rename them to proc_* in the process; procfs_machdep.c is no longer needed.
Run-tested on i386, build-tested on Alpha, untested on other platforms.
|
#
83230 |
|
08-Sep-2001 |
marcel |
Correct intended fix to my foul-up.
linux_uid16.c is in sys/compat/linux not in sys/i386/linux.
|
#
83224 |
|
08-Sep-2001 |
peter |
Add linux_sysctl.c, and linux_uid16.c to the x86 platforms.
|
#
83182 |
|
07-Sep-2001 |
green |
Correct the path for OsdEnvironment.c.
|
#
83179 |
|
07-Sep-2001 |
msmith |
Move OsdEnvironment.c into MD code; searching for the ACPI tables is not portable.
|
#
82518 |
|
29-Aug-2001 |
gallatin |
Fix linux_getcwd() so that if the cwd isn't cached (__getcwd() fails), the cwd is looked up inside the kernel. The native getcwd() in libc handles this in userland if __getcwd() fails.
Obtained from: NetBSD via OpenBSD Tested by: Chris Casey <chriss@phys.ksu.edu>, Markus Holmberg <markush@acc.umu.se> Reviewed by: Darrell Anderson <anderson@cs.duke.edu> PR: kern/24315
|
#
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.
|
#
81050 |
|
02-Aug-2001 |
yokota |
Use #ifdef DEV_SPLASH (from opt_splash.h) rather than #if NSPLASH > 0 (from splash.h) to test the presence of the splash driver.
|
#
80028 |
|
20-Jul-2001 |
takawata |
Add ACPI S2-S4BIOS Suspend/Resume code. Some problems may remain.
Reviewed by:iwasaki
|
#
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
|
#
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.
|
#
78135 |
|
12-Jun-2001 |
peter |
Hints overhaul: - Replace some very poorly thought out API hacks that should have been fixed a long while ago. - Provide some much more flexible search functions (resource_find_*()) - Use strings for storage instead of an outgrowth of the rather inconvenient temporary ioconf table from config(). We already had a fallback to using strings before malloc/vm was running anyway.
|
#
78059 |
|
11-Jun-2001 |
des |
Remove the old linprocfs code.
|
#
77112 |
|
24-May-2001 |
peter |
Produce a config-time warning about EXT2FS and GPL_MATH_EMULATE
|
#
75541 |
|
16-Apr-2001 |
jhay |
Move the isa parts to a separate file.
|
#
75416 |
|
11-Apr-2001 |
bp |
Add forgotten files for NETSMBCRYPTO option (may be DES based encryption should be enabled by default, not sure).
|
#
75374 |
|
10-Apr-2001 |
bp |
Import kernel part of SMB/CIFS requester. Add smbfs(CIFS) filesystem.
Userland part will be in the ports tree for a while.
Obtained from: smbfs-1.3.7-dev package.
|
#
73132 |
|
27-Feb-2001 |
peter |
Add and document the LINPROCFS option, so that we can build linprocfs (either as a module or in the kernel) after sys/modules/* dies.
|
#
72093 |
|
06-Feb-2001 |
asmodai |
Fix typo: compatability -> compatibility.
Compatability is not an existing english word.
|
#
71990 |
|
04-Feb-2001 |
phk |
Remove the LABPC driver.
Doesn't work, no maintainer, more promising code exists elsewhere.
|
#
71880 |
|
31-Jan-2001 |
peter |
Remove count for NSIO. The only places it was used it were incorrect. (alpha-gdbstub.c got sync'ed up a bit with the i386 version)
|
#
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.
|
#
71824 |
|
30-Jan-2001 |
jhay |
Reflect the new location of the ar and sr devices.
|
#
71797 |
|
29-Jan-2001 |
peter |
Convert mca (microchannel bus support) from something that we count (bogus) to something that we test for the presence of.
|
#
71776 |
|
29-Jan-2001 |
peter |
change 'count eisa' to 'optional eisa' and update the only consumer of 'NEISA' - userconfig.c. While there, send some defunct code to the file history.
|
#
71676 |
|
26-Jan-2001 |
hm |
Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards.
|
#
71576 |
|
24-Jan-2001 |
jasone |
Convert all simplelocks to mutexes and remove the simplelock implementations.
|
#
71262 |
|
19-Jan-2001 |
peter |
Convert apm from a bogus 'count' into a plain option. Clean out some other cruft from the files.alpha and files.ia64 that were related to this.
|
#
71241 |
|
19-Jan-2001 |
peter |
Remove the now-empty ipl_funcs.c file on all platforms.
|
#
70929 |
|
11-Jan-2001 |
hm |
Add infrastructure for the itjc ISDN hardware driver Submitted by: Sergio de Souza Prallon <prallon@tmp.com.br>
|
#
70928 |
|
11-Jan-2001 |
jake |
- Remove compatibility macros for accessing per-cpu variables. __FreeBSD_version 500015 can be used to detect their disappearance. - Move the symbols for SMP_prvspace and lapic from globals.s to locore.s. - Remove globals.s with extreme prejudice.
|
#
70837 |
|
09-Jan-2001 |
green |
Add a large _warning_ about using COMPAT_SVR4.
|
#
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
|
#
70224 |
|
20-Dec-2000 |
takawata |
Add PECOFF (WIN32 Execution file format) support. To use it, some dll is needed. And currently, the dll is only for NetBSD. So one more kernel module is needed. For more infomation, http://chiharu.haun.org/peace/ .
Reviewed by: bp
|
#
69873 |
|
11-Dec-2000 |
nsayer |
Add the spic driver, which is a simple first attempt at providing access to the jog dial device.
|
#
69456 |
|
01-Dec-2000 |
msmith |
We need support for comparing quad_t's now (ACPI CA uses this).
|
#
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.
|
#
67352 |
|
20-Oct-2000 |
jhb |
- Make the mutex code almost completely machine independent. This greatly reducues the maintenance load for the mutex code. The only MD portions of the mutex code are in machine/mutex.h now, which include the assembly macros for handling mutexes as well as optionally overriding the mutex micro-operations. For example, we use optimized micro-ops on the x86 platform #ifndef I386_CPU. - Change the behavior of the SMP_DEBUG kernel option. In the new code, mtx_assert() only depends on INVARIANTS, allowing other kernel developers to have working mutex assertiions without having to include all of the mutex debugging code. The SMP_DEBUG kernel option has been renamed to MUTEX_DEBUG and now just controls extra mutex debugging code. - Abolish the ugly mtx_f hack. Instead, we dynamically allocate seperate mtx_debug structures on the fly in mtx_init, except for mutexes that are initiated very early in the boot process. These mutexes are declared using a special MUTEX_DECLARE() macro, and use a new flag MTX_COLD when calling mtx_init. This is still somewhat hackish, but it is less evil than the mtx_f filler struct, and the mtx struct is now the same size with and without mutex debugging code. - Add some micro-micro-operation macros for doing the actual atomic operations on the mutex mtx_lock field to make it easier for other archs to override/optimize mutex ops if needed. These new tiny ops also clean up the code in some places by replacing long atomic operation function calls that spanned 2-3 lines with a short 1-line macro call. - Don't call mi_switch() from mtx_enter_hard() when we block while trying to obtain a sleep mutex. Calling mi_switch() would bogusly release Giant before switching to the next process. Instead, inline most of the code from mi_switch() in the mtx_enter_hard() function. Note that when we finally kill Giant we can back this out and go back to calling mi_switch().
|
#
66876 |
|
09-Oct-2000 |
hm |
update to i4b version 0.95.04
|
#
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.
|
#
66529 |
|
02-Oct-2000 |
msmith |
Move the i386 PCI attachment code out of i386/isa back into i386/pci.
Split out the configuration space access primitives, as these are needed elsewhere as well.
|
#
66522 |
|
02-Oct-2000 |
peter |
Put on my nuclear-grade asbestos suit and cvs rm the old, broken, sound drivers (again). These drivers have not compiled for 5-6 months. Now that the new sound code supports MIDI, the major reason we had for reviving it is gone. It is a far better investment polishing the new midi code than trying to keep this on life support. Come 5.0-REL, if there are major shortcomings in the pcm sound driver then maybe we can rethink this, but until then we should focus on pcm.
Remember, these have not been compilable since ~April-May this year.
|
#
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>
|
#
65865 |
|
14-Sep-2000 |
iwasaki |
Add Timer device driver for power management events. The code for suspend/resume is derived from APM device driver.
Some people suggested the original code is somewhat buggy, but I'd like to just move it from apm.c without any major changes for the initial version. This code should be refined later.
To use pmtimer to adjust time at resume time, add device pmtimer in your kernel config file, and add hint.pmtimer.0.at="isa" in your device.hints
Reviewed by: -current, bde
|
#
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
|
#
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
|
#
65368 |
|
02-Sep-2000 |
phk |
Move svr4 here as well...
|
#
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
|
#
64930 |
|
22-Aug-2000 |
marcel |
Connect the new sources in /sys/compat/linux and the new file in /sys/i386/linux.
|
#
64928 |
|
22-Aug-2000 |
marcel |
Style fixes: o Put the backslash in a fixed column by preference, o Sort the list of files.
|
#
61640 |
|
13-Jun-2000 |
peter |
Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the resource table at boot time.
config(8) no longer generates an ioconf.c table - ie: the configuration no longer has to be compiled into the kernel. You can reconfigure your isa devices with the likes of this at loader(8) time: set hint.ed.0.port=0x320
userconfig will be rewritten to use this style interface one day and will move to /boot/userconfig.4th or something like that.
It is still possible to statically compile in a set of hints into a kernel if you do not wish to use loader(8). See the "hints" directive in GENERIC as an example.
All device wiring has been moved out of config(8). There is a set of helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98) that extract the 'at isa? port foo irq bar' from the old files and produces a hints file. If you install this file as /boot/device.hints (and update /boot/defaults/loader.conf - You can do a build/install in sys/boot) then loader will load it automatically for you. You can also compile in the hints directly with: hints "device.hints" as well.
There are a few things that I'm not too happy with yet. Under this scheme, things like LINT would no longer be useful as "documentation" of settings. I have renamed this file to 'NOTES' and stored the example hints strings in it. However... this is not something that config(8) understands, so there is a script that extracts the build-specific data from the documentation file (NOTES) to produce a LINT that can be config'ed and built. A stack of man4 pages will need updating. :-/
Also, since there is no longer a difference between 'device' and 'pseudo-device' I collapsed the two together, and the resulting 'device' takes a 'number of units' for devices that still have it statically allocated. eg: 'device fe 4' will compile the fe driver with NFE set to 4. You can then set hints for 4 units (0 - 3). Also note that 'device fe0' will be interpreted as "zero units of 'fe'" which would be bad, so there is a config warning for this. This is only needed for old drivers that still have static limits on numbers of units. All the statically limited drivers that I could find were marked.
Please exercise EXTREME CAUTION when transitioning!
Moral support by: phk, msmith, dfr, asmodai, imp, and others
|
#
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.
|
#
61174 |
|
02-Jun-2000 |
bde |
Use "nm | awk ..." instead of genassym(1) to generate symbol value headers. Symbol values are now represented using array sizes (4 arrays per symbol so that 16-bit machines can represent 64-bit values) instead of being raw binary values.
Reviewed by: marcel
|
#
60554 |
|
14-May-2000 |
paul |
Build lnc driver from /sys/dev from now on.
|
#
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.
|
#
59082 |
|
07-Apr-2000 |
nyan |
Newbusify adv driver.
Reviewed by: imp
|
#
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>
|
#
58501 |
|
23-Mar-2000 |
bde |
Fixed most disordering (all except for targets with complicated rules).
|
#
58487 |
|
23-Mar-2000 |
bde |
Fixed clean rule for font.h.
|
#
58323 |
|
20-Mar-2000 |
peter |
Tag a warning on the isa compat shims at config time.
|
#
58305 |
|
19-Mar-2000 |
green |
Enable the K6-2 MTRR driver again, since there are reports of it working with the applied change.
Submitted by: Coleman Kane <cokane@one.net>
|
#
58287 |
|
19-Mar-2000 |
peter |
Connect the ISA and PCI compatability shims to an option. In this case it's options COMPAT_OLDISA and COMPAT_OLDPCI. This is meant to be a fairly strong incentive to update the older drivers to newbus, but doesn't (quite) leave anybody hanging with no hardware support. I was talking with a few folks and I was encouraged to simply break or disable the shims but that was a bit too drastic for my liking.
|
#
58055 |
|
14-Mar-2000 |
asmodai |
Remove the wd driver from the i386 kernel options.
|
#
57368 |
|
21-Feb-2000 |
gj |
Newbus-ify the USR Sportster TA Intern driver.
Enable the driver in sys/conf/files.i386.
In isa/isavar.h increase ISA_NPORT from 32 to 50. This is required because this brain-damaged card maps 49 (!) port ranges. This does not have a negative impact because this value only specifies the maximum number of entries in a linked list and not the size of an array which is allocated in all drivers.
The register/fifo access routines were not newbus-ified because 1) I knew that the old code worked and is simpler and more efficient 2) the if_ed driver does something similar and 3) the newbus macros collapse to inb/outb anyway.
Reviewed and tested by: hm Approved by: jkh
|
#
57104 |
|
09-Feb-2000 |
billf |
kbdcontrol isn't in everyones path(read: non-root people), so specify an absolute path for us mere mortals.
Approved by: jkh
|
#
56859 |
|
29-Jan-2000 |
peter |
Move the (duplicated exactly!) portable ISA pcm drivers to files and tighten up the logic a little.
|
#
56842 |
|
29-Jan-2000 |
peter |
Don't build the wdc atapi attachments unless wdc is also present.
|
#
56835 |
|
29-Jan-2000 |
peter |
Arrange for the following files to be compiled when the configuration conditions are met rather than having to resort to #if's in the code. > dev/syscons/scvgarndr.c optional sc vga > dev/syscons/scvesactl.c optional sc vga vesa > i386/isa/vesa.c optional vga vesa
|
#
56619 |
|
25-Jan-2000 |
dfr |
Get the ppc driver from sys/isa instead of sys/i386/isa.
|
#
56540 |
|
24-Jan-2000 |
peter |
Copy i386/isa/atapi-cd.[ch] to a new name so that it doesn't have the same object file (atapi-cd.o) as the ata drivers. I'd have called it wcd.[ch], but there's already one of those in the Attic that we can't clobber - the good names are taken. Fix building so that it can be compiled into LINT alongside ata.
Requested by: bde
|
#
56507 |
|
24-Jan-2000 |
peter |
Activate the newbusified version of si.
|
#
56226 |
|
18-Jan-2000 |
peter |
Add a warning for the snd drivers and a pointer to pcm/sbc/etc.
|
#
56043 |
|
15-Jan-2000 |
yokota |
This is the 3rd stage of syscons code reorganization.
- Split terminal emulation code from the main part of the driver so that we can have alternative terminal emulator modules if we like in the future. (We are not quite there yet, though.)
- Put sysmouse related code in a separate file, thus, simplifying the main part of the driver.
As some files are added to the source tree, you need to run config(8) before you compile a new kernel next time.
You shouldn't see any functional change by this commit; this is only internal code reorganization.
|
#
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
|
#
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.
|
#
55642 |
|
09-Jan-2000 |
bde |
Compile *_genassym.c with ordinary ${CFLAGS}. The (small) needs for -U_KERNEL became negative when all all the genassym.c's were converted to be cross-built. Related cleanups: PARAM went away, but was still used here; KERNEL was renamed to _KERNEL, but was still KERNEL here; the deprecated macros $@ and $< were still used here.
Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that genassym(1) doesn't need to support -o.
Removed half-baked hard-coded dependencies of *_genassym.o on headers. These objects should be added to the list of objects in the depend rule to get full dependencies. This doesn't happen automatically because they are not linked into the kernel. Half baked dependencies don't really help.
|
#
55637 |
|
09-Jan-2000 |
bde |
Quick fix for LINT breakage. KERNFORMAT went away, so don't use it for trlld.o.
|
#
55067 |
|
23-Dec-1999 |
marcel |
Update config rules for making {linux|svr4}_assym.h Assembler symbols are now made using genassym(1).
|
#
54959 |
|
21-Dec-1999 |
peter |
Only compile gusc for isa (the #if NISA inside gusc effectively covers the whole file)
|
#
54638 |
|
15-Dec-1999 |
hm |
update to isdn4bsd beta release 0.90: add ELSA PCC-16 isic support file
|
#
54609 |
|
14-Dec-1999 |
hm |
update to isdn4bsd beta release 0.90 drivers which are likely to be ported to newbus are commented out for now
|
#
54548 |
|
13-Dec-1999 |
yokota |
- Pull in kbd.c when sc or vt is included in the kernel, even if no keyboard driver is defined in the kernel config file.
|
#
54495 |
|
12-Dec-1999 |
peter |
Turn on warnings for the wd* driver with a loud pointer to ata*. This doesn't break builds, but is difficult to miss..
|
#
54391 |
|
10-Dec-1999 |
phk |
Remove the if_ze and if_zp drivers.
These drivers were cloned from the ed and ep drivers back in 1994 when PCMCIA cards were a very new thing and we had no other support for such devices. They treated the PCIC (the chip which controls the PCCARD slot) as part of their device and generally hacked their way to success. They have significantly bit-rotted relative to their ancestor drivers (ed & ep) and they were a dead-end on the evolution path to proper PCCARD support in FreeBSD.
They have been terminally broken since August 18 where mdodd forgot them and nobody seems to have missed them enough to fix them since.
I found no outstanding PRs against these drivers.
|
#
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.
|
#
54307 |
|
08-Dec-1999 |
newton |
Add support for compiling SVR4 as a static module
("AND THE CROWD GOES... uh.")
Tested by: Joerg Wunsch <joerg_wunsch@interface-business.de>
|
#
54160 |
|
05-Dec-1999 |
peter |
Switch over to using the generic joy driver
|
#
53842 |
|
28-Nov-1999 |
dan |
Introduce OpenBSD-like Random PIDs. Controlled by a sysctl knob (kern.randompid), which is currently defaulted off. Use ARC4 (RC4) for our random number generation, which will not get me executed for violating crypto laws; a Good Thing(tm).
Reviewed and Approved by: bde, imp
|
#
53702 |
|
25-Nov-1999 |
wpaul |
Update the WaveLAN/IEEE driver:
- Convert to new bus attachment scheme. Thanks to Blaz Zupan for doing the initial work here. One thing I changed was to have the attach and detach routines work like the PCI drivers, which means that in theory you should be able to load and unload the driver like the PCI NIC drivers, however the pccard support for this hasn't settled down yet so it doesn't quite work. Once the pccard work is done, I'll have to revisit this.
- Add device wi0 to PCCARD. If we're lucky, people should be able to install via their WaveLAN cards now.
- Add support for signal strength caching. The wicontrol utility has also been updated to allow zeroing and displaying the signal strength cache.
- Add a /sys/modules/wi directory and fix a Makefile to builf if_wi.ko. Currently this module is only built for the i386 platform, though once the pccard stuff is done it should be able to work on the alpha too. (Theoretically you should be able to plug one of the WaveLAN/IEEE ISA cards into an alpha with an ISA slot, but we'll see how that turns out.
- Update LINT to use only device wi0. There is no true ISA version of the WaveLAN/IEEE so we'll never use an ISA attachment.
- Update files.i386 so that if_wi is dependent on card.
|
#
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
|
#
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.
|
#
52247 |
|
15-Oct-1999 |
mdodd |
- Remove the ISA, PCI, and PCCARD specific code from if_ed.c; it now lives in the respective bus front end files. - Add various function prototypes to if_edvar.h - Clean up some debugging code that snuck into if_ed_isa.c - Turn on the right bits in files.i386
|
#
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.
|
#
52043 |
|
09-Oct-1999 |
mdodd |
Remove the DPT EISA driver entry.
|
#
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.
|
#
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.
|
#
51556 |
|
22-Sep-1999 |
sos |
Oops, the syntax didn't work that way...
|
#
51548 |
|
22-Sep-1999 |
sos |
Support quad & max speeds in wormcontrol. A bit more general cleanup.
|
#
51451 |
|
20-Sep-1999 |
phk |
On PIIX4 based SMP systems use the PMTMR register for timecounting.
It is about 2.5 microseconds or roughly 3 times faster to use this "PIIX" timecounter than the "i8254" timecounter. Resolution is also 3 times better.
The code cheats and don't register the PCI device, because other pieces of code want to use it too.
Originally spotted by: msmith
|
#
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.
|
#
51080 |
|
08-Sep-1999 |
peter |
Restore old sio driver for Bruce. We'll fix the bus problems in nsio instead.
|
#
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.
|
#
50963 |
|
05-Sep-1999 |
peter |
Temporarily disable k6_mem (k6 write combining) at Brian's request since it appears to be causing problems under XFree3.9.16.
|
#
50823 |
|
03-Sep-1999 |
mdodd |
This adds the i386 specific support for systems with a MicroChannel Architecture bus.
Reviewed by: msmith
|
#
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.
|
#
50551 |
|
29-Aug-1999 |
phk |
Merge alpha and pc98 changes into i386 MBR handling code and replace all three copies with one copy in MI land.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50465 |
|
27-Aug-1999 |
marcel |
Add sysctl variables for the Linuxulator. These reside under `compat.linux' as discussed on current.
The following variables are defined (for now):
osname (defaults to "Linux") Allow users to change the name of the OS as returned by uname(2), specially added for all those Linux Netscape users and statistics maniacs :-) We now have what we all wanted!
osrelease (defaults to "2.2.5") Allow users to change the version of the OS as returned by uname(2). Since -current supports glibc2.1 now, change the default to 2.2.5 (was 2.0.36).
oss_version (defaults to 198144 [0x030600]) This one will be used by the OSS_GETVERSION ioctl (PR 12917) which I can commit now that we have the MIB. The default version number is the lowest version possible with the current 'encoding'.
A note about imprisoned processes (see jail(2)): These variables are copy-on-write (as suggested by phk). This means that imprisoned processes will use the system wide value unless it is written/set by the process. From that moment on, a copy local to the prison will be used.
A note about the implementation: I choose to add a single pointer to struct prison, because I didn't like the idea of changing struct prison every time I come up with a new variable. As a side effect, the extra storage is only needed when a variable is set from within the prison. This also minimizes kernel bloat when the Linuxulator is not used; both compiled in or as a module.
Reviewed by: bde (first version only) and phk
|
#
49999 |
|
18-Aug-1999 |
alc |
Create callable (non-inline) versions of the atomic_OP_TYPE functions that are linked into the kernel. The KLD compilation options are changed to call these functions, rather than in-lining the atomic operations.
This approach makes atomic operations from KLDs significantly faster on UP systems (though somewhat slower on SMP systems).
PR: i386/13111 Submitted by: peter.jeremy@alcatel.com.au
|
#
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.
|
#
49498 |
|
07-Aug-1999 |
peter |
Re-delete the (meaningless) device-driver tokens that came back in 1.256 after having been removed in 1.253 and turned into a warning.
Noticed by: bde
|
#
49460 |
|
06-Aug-1999 |
hm |
updating isdn4bsd to beta version 0.83
|
#
49197 |
|
28-Jul-1999 |
msmith |
Major update to the kernel's BIOS-calling ability.
- Add support for calling 32-bit code in other segments - Add support for calling 16-bit protected mode code
Update APM to use this facility.
Submitted by: jlemon
|
#
49103 |
|
26-Jul-1999 |
phk |
Pave the way for the fla driver.
|
#
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'.
|
#
48523 |
|
03-Jul-1999 |
peter |
Only have the pci component compiled if pci is specified at config. Remove #if NPCI > 0 as a result.
|
#
48522 |
|
03-Jul-1999 |
peter |
Move bt_isa.c to the cpu-independent isa section.
|
#
48354 |
|
29-Jun-1999 |
peter |
sscape_mss is supposed to work..
|
#
48335 |
|
29-Jun-1999 |
peter |
(mostly) fix ordering.
|
#
48104 |
|
22-Jun-1999 |
yokota |
The second phase of syscons reorganization.
- Split syscons source code into manageable chunks and reorganize some of complicated functions.
- Many static variables are moved to the softc structure.
- Added a new key function, PREV. When this key is pressed, the vty immediately before the current vty will become foreground. Analogue to PREV, which is usually assigned to the PrntScrn key. PR: kern/10113 Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
- Modified the kernel console input function sccngetc() so that it handles function keys properly.
- Reorganized the screen update routine.
- VT switching code is reorganized. It now should be slightly more robust than before.
- Added the DEVICE_RESUME function so that syscons no longer hooks the APM resume event directly.
- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING, SC_NO_HISTORY and SC_NO_SYSMOUSE. Various parts of syscons can be omitted so that the kernel size is reduced.
SC_PIXEL_MODE Made the VESA 800x600 mode an option, rather than a standard part of syscons.
SC_DISABLE_DDBKEY Disables the `debug' key combination.
SC_ALT_MOUSE_IMAGE Inverse the character cell at the mouse cursor position in the text console, rather than drawing an arrow on the screen. Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)
SC_DFLT_FONT makeoptions "SC_DFLT_FONT=_font_name_" Include the named font as the default font of syscons. 16-line, 14-line and 8-line font data will be compiled in. This option replaces the existing STD8X16FONT option, which loads 16-line font data only.
- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.
- The video driver provides a set of ioctl commands to manipulate the frame buffer.
- New kernel configuration option: VGA_WIDTH90 Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. These modes are mot always supported by the video card. PR: i386/7510 Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.
- The header file machine/console.h is reorganized; its contents is now split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h (another new file). machine/console.h is still maintained for compatibility reasons.
- Kernel console selection/installation routines are fixed and slightly rebumped so that it should now be possible to switch between the interanl kernel console (sc or vt) and a remote kernel console (sio) again, as it was in 2.x, 3.0 and 3.1.
- Screen savers and splash screen decoders Because of the header file reorganization described above, screen savers and splash screen decoders are slightly modified. After this update, /sys/modules/syscons/saver.h is no longer necessary and is removed.
|
#
48009 |
|
18-Jun-1999 |
green |
K6-family MTRR support
This is tested, but I really can't say whether it works entirely. I don't know exactly what to look for when testing it. So let's say this is open for testing. Send any results to green@FreeBSD.org
Reviewed by: msmith (long ago)
|
#
47677 |
|
01-Jun-1999 |
jlemon |
Make vm86 a standard component
Reviewed by: silence on on -current
|
#
47664 |
|
01-Jun-1999 |
dfr |
Correct dumb mistake in previous commit.
|
#
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.
|
#
47193 |
|
14-May-1999 |
gibbs |
Nuke ucmpdi2.c from i386/libkern to serve as a reminder that switch statements on 64bit values generate poor code.
Requested by: bde
|
#
47160 |
|
14-May-1999 |
gibbs |
Add ucmpdi2.c to the i386 libkern build.
|
#
47155 |
|
14-May-1999 |
obrien |
Add the `xe' Xircom PC Card driver.
|
#
46806 |
|
09-May-1999 |
phk |
Major lobotomy of config(8). The
config kernel mumble mumble
line has been obsoleted and removed and with it went all knowledge of devices on the part of config.
You can still configure a root device (which is used if you give the "-r" flag) but now with an option:
options ROOTDEVNAME=\"da0s2e\"
The string is parsed by the same code as at the "boot -a" prompt.
At the same time, make the "boot -a" prompt both more able and more informative.
ALPHA/PC98 people: You will have to adapt a few simple changes (defining rootdev and dumpdev somewhere else) before config works for you again, sorry, but it's all in the name of progress.
|
#
46702 |
|
08-May-1999 |
peter |
Take a guess at a halfway reasonable fla entry so that the build doesn't break on isa_compat.[ch]. phk - change this to what you need..
|
#
46495 |
|
05-May-1999 |
wpaul |
Add device driver support for the Lucent WaveLAN/IEEE 802.11 PCMCIA adapter (and some workalikes). Also add man pages and a wicontrol utility to manipulate some of the card parameters.
This driver was written using information gleaned from the Lucent HCF Light library, though it does not use any of the HCF Light code itself, mainly because it's contaminated by the GPL (but also because it's pretty gross). The HCF Light lacks certain featurs from the full (but proprietary) HCF library, including 802.11 frame encapsulation support, however it has just enough register information about the Hermes chip to allow someone with enough spare time and energy to implement a proper driver. (I would have prefered getting my hands on the Hermes manual, but that's proprietary too. For those who are wondering, the Linux driver uses the proprietary HCF library, but it's provided in object code form only.)
Note that I do not have access to a WavePOINT access point, so I have only been able to test ad-hoc mode. The wicontrol utility can turn on BSS mode, but I don't know for certain that the NIC will associate with an access point correctly. Testers are encouraged to send their results to me so that I can find out if I screwed up or not.
|
#
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
|
#
45703 |
|
15-Apr-1999 |
bde |
Made booting with -a work for all configurations. Previously it only worked for configurations with "swap on generic".
usr.sbin/config/config.y: - ignore all "swap [on] device ...' specifications except for warning about them. They haven't done anything related to swap for almost 4 years, and were previously silently ignored, except for "swap on generic" which stopped swap${KERNEL}.c from being generated. Code to support swapping is now deader than before.
usr.sbin/config/mkswapconf.c: - don't generate a dummy setconf() function in swap${KERNEL}.c.
sys/i386/conf/files.i386: - swapgeneric.c is now standard. It should be merged into autoconf.c so that it doesn't conflict with swap${KERNEL}.c for kernels named "generic".
sys/i386/i386/autoconf.c: - don't call setroot() for mfs roots. Since setroot() doesn't do anything harmful, this was just a waste of time, except possibly for booting with -a it may have helped prevent an undesireable call to setconf() by finding a bogus rootdev. - honor -a for ffs roots. -a now overrides all other ways of specifying the root device. Previously, -r had precedence over -a, and the -a handling was usually a no-op. - don't honor -a for non-ffs roots, since it would currently just get in the way of a clean panic.
sys/i386/i386/swapgeneric.c: - don't declare things that are now always declared in swap${KERNEL}.c. Don't decide things that are now decided in autoconf.c. Code to support the "generic" case is now dead instead of useless.
|
#
45666 |
|
13-Apr-1999 |
peter |
Shoot the LKM support in the old wd/wdc/atapi driver set in the head and perform a cleanup/unifdef sweep over it to tidy things up. The atapi code is permanently attached to the wd driver and is always probed.
I will add an extra option bit in the flags to disable an atapi probe on either the master or slave if needed, if people want this.
Remember, this driver is destined to die some time. It's possible that it will loose all atapi support down the track and only be used for dumb non-ATA disks and all ata/atapi devices will be handled by the new ata system.
ATAPI, ATAPI_STATIC and CMD640 are no longer options, all are implicit.
Previously discussed with: sos
|
#
45404 |
|
07-Apr-1999 |
msmith |
Add i686_mem.c - memory range attribute support for P6 processors.
|
#
45162 |
|
30-Mar-1999 |
eivind |
Fix the oltr entries.
|
#
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.
|
#
45095 |
|
28-Mar-1999 |
sos |
Fourth update to the new ATA/ATAPI driver:
Well, better late than newer, but things has been hectic around here, sorry for the long delay.
DMA support has been added to the ATA disk driver. This only works on Intel PIIX3/4, Acer Aladdin and Promise controllers. The promise support works without the BIOS on the board, and timing modes are set to support up to UDMA speed. This solves the problems with having more than one promise controller in the same system. There is support for "generic" DMA, that might work on other controllers, but now you have been warned :) More chipset specific code will come soon, I have to find testers with the approbiate HW, more on that when I have it ready.
The system now uses its own major numbers, please run MAKEDEV with the devices you need (ad?, acd?, afd?, ast?). For now the disk driver will also attach to the old wd major so one can at least boot without this step, but be warned, this will eventually go away. The bootblocks will have to be changed before one can boot directly from an "ad" device though.
Fixed problems:
All known hang problems should be solved The probe code has been sligthly changed, this should solve the reports I have lying around (I hope).
Hangs when accessing ata & atapi device on the same channel simultaniously. A real braino in ata_start caused this, fixed.
As usual USE AT YOUR OWN RISK!!, this is still pre alpha level code. Especially the DMA support can hose your disk real bad if anything goes wrong, agaiin you have been warned :)
But please tell me how it works for you!
Enjoy!
-Søren
|
#
44801 |
|
16-Mar-1999 |
sos |
Rewert the atapi CDROM driver's name to wcd. This is to avoid confusion with the new system. Also provide real entires in MAKEDEV for the new system.
|
#
44628 |
|
10-Mar-1999 |
yokota |
Keyboard driver update in preparation for the USB keyboard driver.
- Refined internal interface in keyboard drivers so that: 1. the side effect of device probe is kept minimal, 2. polling mode function is added, 3. and new ioctl and configuration options are added (see below).
- Added new ioctl: KDSETREPEAT Set keyboard typematic rate. There has existed an ioctl command, KDSETRAD, for the same purpose. However, KDSETRAD is dependent on the AT keyboard. KDSETREPEAT provides more generic interface. KDSETRAD will still be supported in the atkbd driver.
- Added new configuration options: ATKBD_DFLT_KEYMAP Specify a keymap to be used as the default, built-in keymap. (There has been undocumented options, DKKEYMAP, UKKEYMAP, GRKEYMAP, SWKEYMAP, RUKEYMAP, ESKEYMAP, and ISKEYMAP to set the default keymap. These options are now gone for good. The new option is more general.)
KBD_DISABLE_KEYMAP_LOADING Don't allow the user to change the keymap.
|
#
44627 |
|
10-Mar-1999 |
julian |
Submitted by: Larry Lile Move the Olicom token ring driver to the officially sanctionned location of /sys/contrib. Also fix some brokenness in the generic token ring support.
Be warned that if_dl.h has been changed and SOME programs might like recompilation.
|
#
44552 |
|
07-Mar-1999 |
hm |
add kernel config support for i4b driver for AVM Fritz PCI
|
#
44458 |
|
04-Mar-1999 |
sos |
Add the atapi fd driver (LS120 & ZIP drive support)
|
#
44380 |
|
01-Mar-1999 |
sos |
Finally!!
The much roumored replacement for our current IDE/ATA/ATAPI is materialising in the CVS repositories around the globe.
So what does this bring us:
A new reengineered ATA/ATAPI subsystem, that tries to overcome most of the deficiencies with the current drivers.
It supports PCI as well as ISA devices without all the hackery in ide_pci.c to make PCI devices look like ISA counterparts.
It doesn't have the excessive wait problem on probe, in fact you shouldn't notice any delay when your devices are getting probed.
Probing and attaching of devices are postponed until interrupts are enabled (well almost, not finished yet for disks), making things alot cleaner.
Improved performance, although DMA support is still WIP and not in this pre alpha release, worldstone is faster with the new driver compared to the old even with DMA.
So what does it take away:
There is NO support for old MFM/RLL/ESDI disks. There is NO support for bad144, if your disk is bad, ditch it, it has already outgrown its internal spare sectors, and is dying.
For you to try this out, you will have to modify your kernel config file to use the "ata" controller instead of all wdc? entries.
example:
# for a PCI only system (most modern machines) controller ata0 device atadisk0 # ATA disks device atapicd0 # ATAPI CDROM's device atapist0 # ATAPI tapes
#You should add the following on ISA systems: controller ata1 at isa? port "IO_WD1" bio irq 14 controller ata2 at isa? port "IO_WD2" bio irq 15
You can leave it all in there, the system knows how to manage.
For now this driver reuses the device entries from the old system (that will probably change later), but remember that disks are now numbered in the sequence they are found (like the SCSI system) not as absolute positions as the old system.
Although I have tested this on all the systems I can get my hands on, there might very well be gremlins in there, so use AT YOU OWN RISK!! This is still WIP, so there are lots of rough edges and unfinished things in there, and what I have in my lab might look very different from whats in CVS at any given time. So please have all eventual changes go through me, or chances are they just dissapears...
I would very much like to hear from you, both good and bad news are very welcome.
Enjoy!!
-Søren
|
#
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>
|
#
43881 |
|
11-Feb-1999 |
gibbs |
Make the ahc_eisa file also optional on 'eisa'.
|
#
43827 |
|
10-Feb-1999 |
des |
Remove the lpt driver, as discussed on -hackers.
|
#
42878 |
|
20-Jan-1999 |
msmith |
Remove 'alog'. G'bye Jamil.
|
#
42831 |
|
19-Jan-1999 |
yokota |
syscons - Bring down the splash screen when a vty is opened for the first time. - Make sure the splash screen/screen saver is stopped before switching vtys. - Read and save initial values in the BIOS data area early. VESA BIOS may change BIOS data values when switching modes. - Fix missing '&' operator. - Move ISA specific part of driver initialization to syscons_isa.c.
atkbd - kbdtables.h is now in /sys/dev/kbd.
all - Adjust for forthcoming alpha port. Submitted by: dfr
|
#
42504 |
|
11-Jan-1999 |
yokota |
The first stage of console driver reorganization: activate new keyboard and video card drivers.
Because of the changes, you are required to update your kernel configuration file now!
The files in sys/dev/syscons are still i386-specific (but less so than before), and won't compile for alpha and PC98 yet.
syscons still directly accesses the video card registers here and there; this will be rectified in the later stages.
|
#
42218 |
|
01-Jan-1999 |
peter |
Part 1 of pcvt/voxware revival. I hope I have not clobbered any other deltas, but it is possible since I had a few merge conflicts over the last few days while this has been sitting ready to go.
Approved by: core
|
#
42199 |
|
31-Dec-1998 |
luigi |
Enable the ES1370 driver. You don't need any options for this, the existing "device pcm..." entry will take care of that.
|
#
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.
|
#
42086 |
|
27-Dec-1998 |
sos |
Pre 3.0 branch cleanup sos#2: sound
Superceded by the snd driver...
|
#
42084 |
|
27-Dec-1998 |
sos |
Pre 3.0 branch cleanup sos#1: wcd
Superceded by acd driver...
|
#
42083 |
|
27-Dec-1998 |
phk |
Pre 3.0 branch cleanup casualty #6: ft
|
#
42079 |
|
27-Dec-1998 |
phk |
Pre 3.0 branch cleanup casualty #5: nca, sea, wds, uha
No CAM drivers available. If somebody CAMifies one of these, they will be welcome back in the tree
|
#
42078 |
|
27-Dec-1998 |
phk |
Pre 3.0 branch cleanup casualty #4: pcvt
|
#
42077 |
|
27-Dec-1998 |
phk |
Pre 3.0 branch cleanup casualty #3: 3c505 ethernet support
|
#
42076 |
|
27-Dec-1998 |
phk |
Pre 3.0 branch cleanup casualty #2: Transputer support
|
#
41983 |
|
21-Dec-1998 |
joerg |
Include rdp(4).
Should i also include it into GENERIC?
|
#
40139 |
|
09-Oct-1998 |
peter |
elf_machdep.c and rindex.c are now standard
|
#
39509 |
|
20-Sep-1998 |
bde |
Remove vestiges of SLICE code.
Forgotten by: sos
|
#
39287 |
|
15-Sep-1998 |
sos |
Add VESA support to syscons.
Kazu writes:
The VESA support code requires vm86 support. Make sure your kernel configuration file has the following line. options "VM86" If you want to statically link the VESA support code to the kernel, add the following option to the kernel configuration file. options "VESA"
The vidcontrol command now accepts the following video mode names: VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60, VESA_800x600
The VESA_800x600 mode is a raster display mode. The 80x25 text will be displayed on the 800x600 screen. Useful for some laptop computers.
vidcontrol accepts the new `-i <info>' option, where <info> must be either `adapter' or `mode'. When the `-i adapter' option is given, vidcontrol will print basic information (not much) on the video adapter. When the `-i mode' option is specified, vidcontrol will list video modes which are actually supported by the video adapter.
Submitted by: Kazutaka YOKOTA yokota@FreeBSD.ORG
|
#
39242 |
|
15-Sep-1998 |
gibbs |
sd->da, od is gone, no SCSI control devices. new pass, xpt, and targ devices.
Nuke no longer used AHC options.
|
#
38956 |
|
08-Sep-1998 |
sos |
Add new atapi-cd driver that supports atapi CD-R/RW drives. This is only a stop-gab solution to get atapi burner support into 3.0.
|
#
38793 |
|
04-Sep-1998 |
nsouch |
pcf.c added, support for the Philips PCF8584 I2C bus controller (this is part of the iicbus system)
|
#
38108 |
|
04-Aug-1998 |
brian |
Add driver dgm - for the Digiboard PC/Xem Submitted by: "IBS / Andre Oppermann" <andre@pipeline.ch> DEVFS additions: brian
dgm gets major number 101.
|
#
37785 |
|
20-Jul-1998 |
msmith |
Add the 'cs' driver for Crystal Semiconductor CS89x0 devices. This supports PnP and if_media. I've been running a slightly older version here for several weeks now. Submitted by: Maxim Bolotin <max@rsu.ru>
|
#
37016 |
|
16-Jun-1998 |
bde |
Backed out rev.1.183, which had nothing to do with its log message. It was to support a half-baked optimization of certain long long divisions in gcc-2.8 and/or egcs. We now avoid these divisions.
|
#
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.
|
#
35078 |
|
06-Apr-1998 |
peter |
add globals.s for data that is treated differently on SMP.
|
#
34834 |
|
23-Mar-1998 |
peter |
si driver has changed microcode file locations.
|
#
34480 |
|
10-Mar-1998 |
julian |
Add EISA support for DPT drivers Submitted by: Matthew Dodd Reviewd by: shimon@simon-shapiro.org (DPT author)
|
#
33795 |
|
24-Feb-1998 |
phk |
Add the smallest and least useful device-driver by a fair margin...
|
#
33690 |
|
20-Feb-1998 |
phk |
Replace TOD clock code with more systematic approach.
Highlights: * Simple model for underlying hardware. * Hardware basis for timekeeping can be changed on the fly. * Only one hardware clock responsible for TOD keeping. * Provides a real nanotime() function. * Time granularity: .232E-18 seconds. * Frequency granularity: .238E-12 s/s * Frequency adjustment is continuous in time. * Less overhead for frequency adjustment. * Improves xntpd performance.
Reviewed by: bde, bde, bde
|
#
33568 |
|
18-Feb-1998 |
msmith |
Remove the 'qcam' driver. Development has ceased, and the driver is nonfunctional. Submitted by: pst (conversation some time ago)
|
#
33471 |
|
17-Feb-1998 |
sos |
Add 'wst" atapi tape devicefile.
|
#
33395 |
|
15-Feb-1998 |
peter |
Update to support SI/XIO PCI host cards (Z280 based) and the enhanced SXISA and SXPCI host cards (Transputer based).
PR: 4836, 5021, 5654 Submitted by: Nick Sayer <nick@specialix.com>
|
#
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
|
#
32801 |
|
26-Jan-1998 |
julian |
Add Simon Shapiro's DPT driver this shouldn't break anything existing. Userland utilities to follow.
|
#
32578 |
|
16-Jan-1998 |
pst |
Bring in IDE ATAPI floppy support. This is Junichi's v1.0 driver.
NOTE: Major device numbers have been changed to avoid conflict with other FreeBSD 3.0 devices. The new numbers should be considered "official." This driver is still considered "beta" quality, although we have been playing with it. Please submit bugs to junichi and myself.
Submitted by: junichi@astec.co.jp
|
#
32515 |
|
15-Jan-1998 |
gibbs |
Add entry for i386/i386/busdma_machdep.c
|
#
32348 |
|
08-Jan-1998 |
jmg |
update the AWE32 wave table driver to Iwai's 0.4.2c version. This also includes the patches to make it work under -current from Randall Hopper.
Remove the old AWE driver.
|
#
32286 |
|
06-Jan-1998 |
dyson |
Make our v_usecount vnode reference count work identically to the original BSD code. The association between the vnode and the vm_object no longer includes reference counts. The major difference is that vm_object's are no longer freed gratuitiously from the vnode, and so once an object is created for the vnode, it will last as long as the vnode does.
When a vnode object reference count is incremented, then the underlying vnode reference count is incremented also. The two "objects" are now more intimately related, and so the interactions are now much less complex.
When vnodes are now normally placed onto the free queue with an object still attached. The rundown of the object happens at vnode rundown time, and happens with exactly the same filesystem semantics of the original VFS code. There is absolutely no need for vnode_pager_uncache and other travesties like that anymore.
A side-effect of these changes is that SMP locking should be much simpler, the I/O copyin/copyout optimizations work, NFS should be more ponderable, and further work on layered filesystems should be less frustrating, because of the totally coherent management of the vnode objects and vnodes.
Please be careful with your system while running this code, but I would greatly appreciate feedback as soon a reasonably possible.
|
#
31682 |
|
12-Dec-1997 |
peter |
I've been using these tweaks to enable the sound driver to talk to the (mutant) Crystal CSS4236 chip on the Intel PR440FX SMP motherboard.
XXX this uses some rather ugly PnP bootstrap code that is *NOT* compatable with 'controller pnp0' or *ANY* other PnP devices. If you use some other PnP devices, enabling css0 will burn your house down. :-] The "simplified" PnP init sequence directly blats your config(8) settings onto the chip. I'm pretty sure 'css0' will conflict with 'mss0', this whole area desperately needs a cleanup.
I have been using the following with some success on the PR440FX: controller snd0 device css0 at isa? port 0x534 irq 5 drq 1 flags 0x08 vector adintr device opl0 at isa? port 0x388 device mpu0 at isa? port 0x330 irq 10 vector mpuintr
|
#
31652 |
|
09-Dec-1997 |
jamil |
add entry in LINT for alog driver added line to files.i386 to compile in alog.c optionally as a driver
|
#
31474 |
|
01-Dec-1997 |
ahasty |
Include sound_timer.c for mss device and added sound_timer.c, opl3.c, ad1848.c, adlib_card.c to trix device. trix is a driver for an AudioTrix Pro.
|
#
31415 |
|
25-Nov-1997 |
markm |
From the author:
Here are the remanding changes required to support the Ensoniq Soundscape using FreeBSD 3.0-current.
Notes:
1) ad1848_init already has code to detect if DMA_DUPLEX should be set so it is not necessary (and is in fact a mistake) to hard code setting it. Not all soundcards (i.e. the current sscape driver) are capable of using DMA_DUPLEX.
2) The other changes are hopefully self explanatory. Feel free to let me know if you need additional information.
Submitted by: john@feith.com (John Wehle)
|
#
30799 |
|
28-Oct-1997 |
joerg |
Use the new "mandatory" keyword for the npx driver.
|
#
29673 |
|
21-Sep-1997 |
gibbs |
Move the rules for aicasm to the MI conf file.
|
#
29418 |
|
14-Sep-1997 |
jmg |
docment the new sound drivers in LINT and add the necessary files to files.i386.
We aren't sure if this new code and the old sound code will co-exist in a kernel, so the device pcm0 line is left commented out in LINT.
Submitted-by: Luigi Rizzo
|
#
29242 |
|
09-Sep-1997 |
jmg |
add pnp device entries...
|
#
29050 |
|
03-Sep-1997 |
gibbs |
Make the aic7xxx sequencer assembler compile in the kernel's object directory. Rename (via repository copy) some files so that the potential for future conflicts is minimized.
PR: conf/4363
|
#
28872 |
|
28-Aug-1997 |
jlemon |
Remove the vm86 support as an LKM, and link it directly into the kernel if 'options "VM86"' is in the config file. The LKM was really for development, and has probably outlived its usefulness.
|
#
28867 |
|
28-Aug-1997 |
jkh |
Add entries for Comtrol Rocketport serial card. Submitted by: Amir Farah <amir@comtrol.com>
|
#
28222 |
|
14-Aug-1997 |
msmith |
Add support for the new Parallel-Port Bus and devices thereon. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
27821 |
|
01-Aug-1997 |
msmith |
Add new BIOS-related files.
|
#
27756 |
|
29-Jul-1997 |
sos |
Add support for busmaster DMA on some PCI IDE chipsets.
I changed a few bits here and there, mainly renaming wd82371.c to ide_pci.c now that it's supposed to handle different chipsets.
It runs on my P6 natoma board with two Maxtor drives, and also on a Fujitsu machine I have at work with an Opti chipset and a Quantum drive.
Submitted by:cgull@smoke.marlboro.vt.us <John Hood>
Original readme:
*** WARNING ***
This code has so far been tested on exactly one motherboard with two identical drives known for their good DMA support.
This code, in the right circumstances, could corrupt data subtly, silently, and invisibly, in much the same way that older PCI IDE controllers do. It's ALPHA-quality code; there's one or two major gaps in my understanding of PCI IDE still. Don't use this code on any system with data that you care about; it's only good for hack boxes. Expect that any data may be silently and randomly corrupted at any moment. It's a disk driver. It has bugs. Disk drivers with bugs munch data. It's a fact of life.
I also *STRONGLY* recommend getting a copy of your chipset's manual and the ATA-2 or ATA-3 spec and making sure that timing modes on your disk drives and IDE controller are being setup correctly by the BIOS-- because the driver makes only the lamest of attempts to do this just now.
*** END WARNING ***
that said, i happen to think the code is working pretty well...
WHAT IT DOES:
this code adds support to the wd driver for bus mastering PCI IDE controllers that follow the SFF-8038 standard. (all the bus mastering PCI IDE controllers i've seen so far do follow this standard.) it should provide busmastering on nearly any current P5 or P6 chipset, specifically including any Intel chipset using one of the PIIX south bridges-- this includes the '430FX, '430VX, '430HX, '430TX, '440LX, and (i think) the Orion '450GX chipsets. specific support is also included for the VIA Apollo VP-1 chipset, as it appears in the relabeled "HXPro" incarnation seen on cheap US$70 taiwanese motherboards (that's what's in my development machine). it works out of the box on controllers that do DMA mode2; if my understanding is correct, it'll probably work on Ultra-DMA33 controllers as well. it'll probably work on busmastering IDE controllers in PCI slots, too, but this is an area i am less sure about.
it cuts CPU usage considerably and improves drive performance slightly. usable numbers are difficult to come by with existing benchmark tools, but experimentation on my K5-P90 system, with VIA VP-1 chipset and Quantum Fireball 1080 drives, shows that disk i/o on raw partitions imposes perhaps 5% cpu load. cpu load during filesystem i/o drops a lot, from near 100% to anywhere between 30% and 70%. (the improvement may not be as large on an Intel chipset; from what i can tell, the VIA VP-1 may not be very efficient with PCI I/O.) disk performance improves by 5% or 10% with these drives.
real, visible, end-user performance improvement on a single user machine is about nil. :) a kernel compile was sped up by a whole three seconds. it *does* feel a bit better-behaved when the system is swapping heavily, but a better disk driver is not the fix for *that* problem.
THE CODE:
this code is a patch to wd.c and wd82371.c, and associated header files. it should be considered alpha code; more work needs to be done.
wd.c has fairly clean patches to add calls to busmaster code, as implemented in wd82371.c and potentially elsewhere (one could imagine, say, a Mac having a different DMA controller).
wd82371.c has been considerably reworked: the wddma interface that it presents has been changed (expect more changes), many bugs have been fixed, a new internal interface has been added for supporting different chipsets, and the PCI probe has been considerably extended.
the interface between wd82371.c and wd.c is still fairly clean, but i'm not sure it's in the right place. there's a mess of issues around ATA/ATAPI that need to be sorted out, including ATAPI support, CD-ROM support, tape support, LS-120/Zip support, SFF-8038i DMA, UltraDMA, PCI IDE controllers, bus probes, buggy controllers, controller timing setup, drive timing setup, world peace and kitchen sinks. whatever happens with all this and however it gets partitioned, it is fairly clear that wd.c needs some significant rework-- probably a complete rewrite.
timing setup on disk controllers is something i've entirely punted on. on my development machine, it appears that the BIOS does at least some of the necessary timing setup. i chose to restrict operation to drives that are already configured for Mode4 PIO and Mode2 multiword DMA, since the timing is essentially the same and many if not most chipsets use the same control registers for DMA and PIO timing.
does anybody *know* whether BIOSes are required to do timing setup for DMA modes on drives under their care?
error recovery is probably weak. early on in development, i was getting drive errors induced by bugs in the driver; i used these to flush out the worst of the bugs in the driver's error handling, but problems may remain. i haven't got a drive with bad sectors i can watch the driver flail on.
complaints about how wd82371.c has been reindented will be ignored until the FreeBSD project has a real style policy, there is a mechanism for individual authors to match it (indent flags or an emacs c-mode or whatever), and it is enforced. if i'm going to use a source style i don't like, it would help if i could figure out what it *is* (style(9) is about half of a policy), and a way to reasonably duplicate it. i ended up wasting a while trying to figure out what the right thing to do was before deciding reformatting the whole thing was the worst possible thing to do, except for all the other possibilities.
i have maintained wd.c's indentation; that was not too hard, fortunately.
TO INSTALL:
my dev box is freebsd 2.2.2 release. fortunately, wd.c is a living fossil, and has diverged very little recently. included in this tarball is a patch file, 'otherdiffs', for all files except wd82371.c, my edited wd82371.c, a patch file, 'wd82371.c-diff-exact', against the 2.2.2 dist of 82371.c, and another patch file, 'wd82371.c-diff-whitespace', generated with diff -b (ignore whitespace). most of you not using 2.2.2 will probably have to use this last patchfile with 'patch --ignore-whitespace'. apply from the kernel source tree root. as far as i can tell, this should apply cleanly on anything from -current back to 2.2.2 and probably back to 2.2.0. you, the kernel hacker, can figure out what to do from here. if you need more specific directions, you probably should not be experimenting with this code yet.
to enable DMA support, set flag 0x2000 for that drive in your config file or in userconfig, as you would the 32-bit-PIO flag. the driver will then turn on DMA support if your drive and controller pass its tests. it's a bit picky, probably. on discovering DMA mode failures or disk errors or transfers that the DMA controller can't deal with, the driver will fall back to PIO, so it is wise to setup the flags as if PIO were still important.
'controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0xa0ffa0ff vector wdintr' should work with nearly any PCI IDE controller.
i would *strongly* suggest booting single-user at first, and thrashing the drive a bit while it's still mounted read-only. this should be fairly safe, even if the driver goes completely out to lunch. it might save you a reinstall.
one way to tell whether the driver is really using DMA is to check the interrupt count during disk i/o with vmstat; DMA mode will add an extremely low number of interrupts, as compared to even multi-sector PIO.
boot -v will give you a copious register dump of timing-related info on Intel and VIAtech chipsets, as well as PIO/DMA mode information on all hard drives. refer to your ATA and chipset documentation to interpret these.
WHAT I'D LIKE FROM YOU and THINGS TO TEST:
reports. success reports, failure reports, any kind of reports. :) send them to cgull+ide@smoke.marlboro.vt.us.
i'd also like to see the kernel messages from various BIOSes (boot -v; dmesg), along with info on the motherboard and BIOS on that machine.
i'm especially interested in reports on how this code works on the various Intel chipsets, and whether the register dump works correctly. i'm also interested in hearing about other chipsets.
i'm especially interested in hearing success/failure reports for PCI IDE controllers on cards, such as CMD's or Promise's new busmastering IDE controllers.
UltraDMA-33 reports.
interoperation with ATAPI peripherals-- FreeBSD doesn't work with my old Hitachi IDE CDROM, so i can't tell if I've broken anything. :)
i'd especially like to hear how the drive copes in DMA operation on drives with bad sectors. i haven't been able to find any such yet.
success/failure reports on older IDE drives with early support for DMA modes-- those introduced between 1.5 and 3 years ago, typically ranging from perhaps 400MB to 1.6GB.
failure reports on operation with more than one drive would be appreciated. the driver was developed with two drives on one controller, the worst-case situation, and has been tested with one drive on each controller, but you never know...
any reports of messages from the driver during normal operation, especially "reverting to PIO mode", or "dmaverify odd vaddr or length" (the DMA controller is strongly halfword oriented, and i'm curious to know if any FreeBSD usage actually needs misaligned transfers).
performance reports. beware that bonnie's CPU usage reporting is useless for IDE drives; the best test i've found has been to run a program that runs a spin loop at an idle priority and reports how many iterations it manages, and even that sometimes produces numbers i don't believe. performance reports of multi-drive operation are especially interesting; my system cannot sustain full throughput on two drives on separate controllers, but that may just be a lame motherboard.
THINGS I'M STILL MISSING CLUE ON:
* who's responsible for configuring DMA timing modes on IDE drives? the BIOS or the driver?
* is there a spec for dealing with Ultra-DMA extensions?
* are there any chipsets or with bugs relating to DMA transfer that should be blacklisted?
* are there any ATA interfaces that use some other kind of DMA controller in conjunction with standard ATA protocol?
FINAL NOTE:
after having looked at the ATA-3 spec, all i can say is, "it's ugly". *especially* electrically. the IDE bus is best modeled as an unterminated transmission line, these days.
for maximum reliability, keep your IDE cables as short as possible and as few as possible. from what i can tell, most current chipsets have both IDE ports wired into a single buss, to a greater or lesser degree. using two cables means you double the length of this bus.
SCSI may have its warts, but at least the basic analog design of the bus is still somewhat reasonable. IDE passed beyond the veil two years ago.
--John Hood, cgull@smoke.marlboro.vt.us
|
#
27674 |
|
25-Jul-1997 |
phk |
Add option for compiling in a 8x16 font.
|
#
27661 |
|
24-Jul-1997 |
fsmp |
Added a new SMP specific file: i386/i386/simplelock.s. This code was split off from apic_ipl.s. It contains the Lite2 lock manager primitives: - s_lock_init() - s_lock() - s_lock_try() - s_unlock()
|
#
27065 |
|
29-Jun-1997 |
bde |
Fixed the fix for not using -fomit-frame-pointer with -pg. The previous fix stopped it being used in all cases, because substitution on unset variables does not work.
When profiling, put -malign-functions=4 in CFLAGS instead of in PROF. This fixes the histogram counts for profiling support functions. It gives bogus but harmless extra alignment for genassym etc.
|
#
26373 |
|
02-Jun-1997 |
dfr |
Move interrupt handling code from isa.c to a new file. This should make isa.c (slightly) more portable and will make my life developing the really portable version much easier.
Reviewed by: peter, fsmp
|
#
26350 |
|
01-Jun-1997 |
bde |
Don't use -fomit-frame-pointer for ipl_funcs.c if ${PROF} is nonempty, is incompatible with -pg. (We use a different version of mcount for profiling frame-pointer-less assembler functions, but gcc doesn't know about this.)
Added a missing dependency.
Cleaned up trailing backslashes.
Added comment about config's limitations/bugs handling dependencies and backslashe/newlines.
Finished removing support for isdn drivers.
|
#
26324 |
|
31-May-1997 |
peter |
specify compile-with option to get -fomit-frame-pointer on ipl_funcs.c
|
#
26308 |
|
31-May-1997 |
peter |
add ipl_funcs.c (Hmm.. should probably use a "compile-with" arg rather than a Makefile.i386 hook)
|
#
26002 |
|
22-May-1997 |
msmith |
Add the 'wl' ISA Wavelan driver. Obtained from: Jim Binkley <jrb@cs.pdx.edu>
|
#
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!
|
#
24908 |
|
13-Apr-1997 |
gibbs |
GENERIC, LINT: Add an ie entry that corresponds to the location the old ix entry used to probe and kill the ix entry.
files.i386: Remove entries for the ix driver.
|
#
24572 |
|
03-Apr-1997 |
gibbs |
make obj before building the aic7xxx assembler. This puts the object files in the right place.
The clean rule still isn't quite right since currently config doesn't allow the specification of arbitrary clean rules.
|
#
24112 |
|
22-Mar-1997 |
kato |
Improved CPU identification and initialization routines. This supports All Cyrix CPUs, IBM Blue Lightning CPU and NexGen (now AMD) Nx586 CPU, and initialize special registers of Cyrix CPU and msr of IBM Blue Lightning CPU.
If revision of Cyrix 6x86 CPU < 2.7, CPU cache is enabled in write-through mode. This can be disabled by kernel configuration options.
Reviewed by: Bruce Evans <bde@freebsd.org> and Jordan K. Hubbard <jkh@freebsd.org>
|
#
23941 |
|
16-Mar-1997 |
bde |
Fixed broken line continuation in the previous revision. Config apparently has buggy backslash-newline handling. Avoid it by using whitespace before backslash-newline.
|
#
23926 |
|
16-Mar-1997 |
gibbs |
Adapt build rules to new aic7xxx seqeuncer assembler.
|
#
23609 |
|
10-Mar-1997 |
markm |
Move this files* entry for the Brooktree TV driver toi the right 'files*'.
|
#
23599 |
|
10-Mar-1997 |
markm |
Initial import of the Brooktree PCI-TV drivers. I have not tested these, they may not even compile. I am importing them on behalf of the submitters. Submitted by: amancio, smp
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
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>
|
#
21769 |
|
16-Jan-1997 |
jkh |
Add the ex driver (Intel EtherExpress Pro/10).
I have no idea if this works since I don't have one of the cards to test. I also don't know what the LINT and GENERIC entries should look like, so I just made up some values for now and left them commented out. Someone who knows the factory settings for a Pro/10, please contact me!
Submitted-By: Javier Martín Rueda <jmrueda@diatel.upm.es>
|
#
21731 |
|
15-Jan-1997 |
sos |
Upgrade the kbdio rutines to provide queued kbd & mouse events. Minor other updates to syscons by me.
Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
19946 |
|
24-Nov-1996 |
peter |
Back out my previous change here. aic7xxx_asm is only a stdio program that runs in the host's build environment, not the kernel's environment.
|
#
19918 |
|
22-Nov-1996 |
peter |
Set a more explicit #include path for building aix7xxx_asm, otherwise it uses /usr/include/sys/*, which may point to a different build tree. I'm not sure that this is necessary, but there was a question mark over what /usr/include/sys points to when building the "user mode" binaries in the kernel code, especially when building the smp tree.
I suspect that the "right" line here is to use ${INCLUDES}, but that causes warnings about unused static inline functions in stdio.h and ctype.h
|
#
19791 |
|
15-Nov-1996 |
jkh |
This is the new AWE32 driver, with support for the AWE32's fancy MIDI synthesizer. The utilities for this will appear as port submissions soon afterwards, according to the submitter.
Submitted-By: Randall Hopper <rhh@ct.picker.com> Written-By: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
|
#
19753 |
|
14-Nov-1996 |
sos |
Finally a start at sharing the kdb controller routines between syscons and psm, curtesy Kazutaka Yokota with minor changes by me. This contains an update of the psm driver as well. This also fixes the breakage that I introduced to the psm driver by making syscons poll for keyboard events in the atempt to fix the hanging keyboard problem.
It works perfectly for me, and I'd like to hear from all that have had keyboard/ps/2 mouse problems if this is the cure...
Submitted by: Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
|
#
19462 |
|
06-Nov-1996 |
bde |
Compile linux_genassym with the same options as genassym. ${PARAM} and - were missingUKERNEL. This was harmless until I declared the kernel's main().
|
#
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
|
#
19000 |
|
17-Oct-1996 |
bde |
Improved non-statistical (GUPROF) profiling: - use a more accurate and more efficient method of compensating for overheads. The old method counted too much time against leaf functions. - normally use the Pentium timestamp counter if available. On Pentiums, the times are now accurate to within a couple of cpu clock cycles per function call in the (unlikely) event that there are no cache misses in or caused by the profiling code. - optionally use an arbitrary Pentium event counter if available. - optionally regress to using the i8254 counter. - scaled the i8254 counter by a factor of 128. Now the i8254 counters overflow slightly faster than the TSC counters for a 150MHz Pentium :-) (after about 16 seconds). This is to avoid fractional overheads.
files.i386: permon.c temporarily has to be classified as a profiling-routine because a couple of functions in it may be called from profiling code.
options.i386: - I586_CTR_GUPROF is currently unused (oops). - I586_PMC_GUPROF should be something like 0x70000 to enable (but not use unless prof_machdep.c is changed) support for Pentium event counters. 7 is a control mode and the counter number 0 is somewhere in the 0000 bits (see perfmon.h for the encoding).
profile.h: - added declarations. - cleaned up separation of user mode declarations.
prof_machdep.c: Mostly clock-select changes. The default clock can be changed by editing kmem. There should be a sysctl for this.
subr_prof.c: - added copyright. - calibrate overheads for the new method. - documented new method. - fixed races and and machine dependencies in start/stop code.
mcount.c: Use the new overhead compensation method.
gmon.h: - changed GPROF4 counter type from unsigned to int. Oops, this should be machine-dependent and/or int32_t. - reorganized overhead counters.
Submitted by: Pentium event counter changes mostly by wollman
|
#
18252 |
|
11-Sep-1996 |
phk |
Make userconfig two (default: on) options: USERCONFIG to enable VISUAL_USERCONFIG to get the gui stuff too. Requested by: pst
|
#
17847 |
|
27-Aug-1996 |
pst |
Support for GDB remote debug protocol.
Sponsored by: Juniper Networks, Inc. <pst@jnx.com>
|
#
17014 |
|
08-Jul-1996 |
wollman |
Fix something that's been bugging me for a long time: move the CPU type identification code out of machdep.c and into a new file of its own. Hopefully other grot can be moved out of machdep.c as well (by other people) into more descriptively-named files.
|
#
16981 |
|
05-Jul-1996 |
jhay |
This driver supports the SDL Communications RISCom/N2 ISA cards that is based on the HD64570 chip. Both the 1 and 2 port cards is supported.
Line speeds of up to 2Mbps is possible. At this speed about 95% of the bandwidth is usable with 486DX processors.
The standard FreeBSD sppp code is used for the link level layer. The default protocol used is PPP. The Cisco HDLC protocol can be used by adding "link2" to the ifconfig line in /etc/sysconfig or where ever ifconfig is run.
At the moment only the X.21 interface is tested. The others may need tweaks to the clock selection code.
|
#
16176 |
|
07-Jun-1996 |
nate |
Added index as a 'standard' file. It could be added as 'optional' for ibcs2, but I felt it might be useful in other code as well at a later point.
|
#
15618 |
|
04-May-1996 |
peter |
Add stl and stli drivers for the Stallion cards.
|
#
15537 |
|
02-May-1996 |
phk |
Rename the very bogus indeed option "LINUX" to "COMPAT_LINUX". I can only presume that the brain behind this have never seen code that says "#ifdef LINUX" :-(
|
#
14912 |
|
29-Mar-1996 |
bde |
Removed references to nonexistent files.
|
#
14825 |
|
26-Mar-1996 |
wollman |
Add support for Pentium and Pentium Pro performance counters. (This code is as yet untested; to come after man page is written.) This also adds inlines to cpufunc.h for the RDTSC, RDMSR, WRMSR, and RDPMC instructions. The user-mode interface is via a subdevice of mem.c; there is also a kernel-size interface which might be used to aid profiling.
|
#
14627 |
|
15-Mar-1996 |
peter |
Add "linux_assym.h" as a dependency for linux_locore.o when compiling the kernel with the linux emulator statically configured (options LINUX)
Problem noticed by: Brian Litzinger
|
#
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.
|
#
14318 |
|
02-Mar-1996 |
pst |
Update the Connectix QuickCam driver to match my current work. - split driver into FreeBSD specific and camera specific portions (qcamio.c can run in user mode, with a Linux "driver top" etc, and qcam.c should be trivial to port to NetBSD and BSDI.) - support for 4bppand bidirectional transfers working better - start of interleaved data-transfers byte-stream decodes (some of this stuff has been pulled out for the moment to make it easier to debug)
At this point, anyone who wants to port it to other platforms should feel free to do so. Please feed changes directly back to me so that I can produce a unified distribution.
|
#
14257 |
|
25-Feb-1996 |
gibbs |
Add i386/eisa/3c5x9.c, the eisaconf probe for the 3Com 3c579 and the 3c509 when in eisa configuration mode.
|
#
13848 |
|
02-Feb-1996 |
pst |
Add in hooks for quickcam driver
|
#
13672 |
|
28-Jan-1996 |
wollman |
Implement a prototype interface to bus-master IDE DMA on the Triton chipset. This does not attempt to do anything special with the timing on the hope that the BIOS will have done the right thing already. The actual interface from the wd driver to the new facility is not implemented yet (this commit being an attempt at prodding someone else to do it because looking at the wd driver always confuses the h*** out of me).
|
#
13610 |
|
24-Jan-1996 |
peter |
procfs_machdep.c is now shared with ptrace as well. It is now no longer optional.
|
#
13438 |
|
15-Jan-1996 |
phk |
Make bin2bcd and bcd2bin global macroes instead of having local implementations all over the place.
|
#
13178 |
|
03-Jan-1996 |
gibbs |
The long awaited stability patch set for the aic7xxx driver:
aic7xxx.seq and aic7xxx.c depend on aic7xx_reg.h
|
#
13107 |
|
29-Dec-1995 |
bde |
Implemented non-statistical kernel profiling. This is based on looking at a high resolution clock for each of the following events: function call, function return, interrupt entry, interrupt exit, and interesting branches. The differences between the times of these events are added at appropriate places in a ordinary histogram (as if very fast statistical profiling sampled the pc at those places) so that ordinary gprof can be used to analyze the times.
gmon.h: Histogram counters need to be 4 bytes for microsecond resolutions. They will need to be larger for the 586 clock. The comments were vax-centric and wrong even on vaxes. Does anyone disagree?
gprof4.c: The standard gprof should support counters of all integral sizes and the size of the counter should be in the gmon header. This hack will do until then. (Use gprof4 -u to examine the results of non-statistical profiling.)
config/*: Non-statistical profiling is configured with `config -pp'. `config -p' still gives ordinary profiling.
kgmon/*: Non-statistical profiling is enabled with `kgmon -B'. `kgmon -b' still enables ordinary profiling (and distables non-statistical profiling) if non-statistical profiling is configured.
|
#
13031 |
|
26-Dec-1995 |
bde |
Removed almost all traces of libkern.a. The objects that were in libkern.a are now specified by listing their source files in files.${MACHINE}. The list is machine-dependent to save space. All the necessary object for each machine must be linked into the kernel in case an lkm wants one.
|
#
13029 |
|
26-Dec-1995 |
bde |
Renamed isa/random.c to isa/random_machdep.c to avoid a conflict with libkern/random.c.
|
#
12954 |
|
21-Dec-1995 |
julian |
i386/i386/conf.c is no longer needed.. remove it from files.i386 redistribute a few last routines to beter places and shoot the file
I haven't act actually 'deleted' the file yet togive people time to have done a config.. I.e. they are likely to have done one in a week or so so I'll remove it then.. it's now empty. makes the question of a USL copyright rather moot.
|
#
12827 |
|
14-Dec-1995 |
peter |
GENERIC/LINT: Remove redundant quoting on some option lines. LINT: add a couple of new/missing/undocumented options files.i386: add linux code so that you can compile a kernel with static linux emulation ("options LINUX") i386/*: use #if defined(COMPAT_LINUX) || defined(LINUX) to enable static support of linux emulation (just like "IBCS2" makes ibcs2 static)
The main thing this is going to make obvious, is that the LINUX code (when compiled from LINT) has a lot of warnings, some of which dont look too pleasant..
|
#
12789 |
|
12-Dec-1995 |
gibbs |
Have bt0 entry specify "bt_isa_intr" for its vector. This one entry will allow one EISA/ISA/PCI/VL Buslogic controller to be probed. The driver is almost fully dynamic. It just needs some kdc work and for the SCSI code to stop passing unit numbers up in the scsi_xfer struct.
|
#
12440 |
|
21-Nov-1995 |
peter |
Add and document the hooks for John Hay's Arnet sync driver...
|
#
12355 |
|
18-Nov-1995 |
bde |
Restored the device-driverness off wd.c. It got lost when wdc was introduced. Fixed the device-driverness of atapi.c and spkr.c.
These changes are actually no-ops because ${DRIVER_C} is the same as ${NORMAL_C} for the i386. I could do without magic CFLAGS. Special handling should be in the sources if possible.
|
#
12175 |
|
09-Nov-1995 |
gibbs |
Convert Adaptec 1742 driver to new eisaconf interface.
|
#
12089 |
|
05-Nov-1995 |
gibbs |
Move aic7770.c to i386/eisa. It is the first driver to use the new eisaconf.
|
#
11960 |
|
31-Oct-1995 |
phk |
Get pccard stuff into LINT. rename i386/isa/pcic.c to .../pcicx.c this file will go away when the if_ze and if_zp dies.
|
#
11875 |
|
28-Oct-1995 |
markm |
Theodore Ts'po's random number gernerator for Linux, ported by me. This code will only be included in your kernel if you have 'options DEVRANDOM', but that will fall away in a couple of days. Obtained from: Theodore Ts'o, Linux
|
#
11399 |
|
10-Oct-1995 |
swallace |
Update files list to include new ibcs2 files needed to compile.
|
#
10823 |
|
16-Sep-1995 |
bde |
Remove transitory labelling code. Labels are now handled by essentially the original 4.4lite code. Machine Specific Partitions are now handled separately.
|
#
10617 |
|
08-Sep-1995 |
julian |
Submitted by: Luigi Rizzo (luigi@iet.unipi.it) Obtained from: Luigi Rizzo and Gunther Schadow config support for the asc driver and an example in LINT
|
#
10600 |
|
07-Sep-1995 |
swallace |
Change atapi.c to depend on the ATAPI option. Add wd.c entry based on the wdc controller. This will enable compilation of wcd device without wd.
|
#
10540 |
|
03-Sep-1995 |
jkh |
Bring the Digiboard driver (ALPHA version) into -current. Includes latest patches for PC/Xe boards. Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su>
|
#
10518 |
|
01-Sep-1995 |
jkh |
Something got spammed in my 2.2 work tree (don't know how :( ) and had a 2.1 tag, thus sending these two changes into the 2.1 branch instead of -current. Argh. I may bring these changes into the 2.1 anyway (they're benign there) so I'm not going to admin them out of 2.1 for the time being.
|
#
10097 |
|
18-Aug-1995 |
jkh |
Bring in Serge Vakulenko's IDE CDROM (ATAPI) driver. A number of people have now indicated to me that it's working more than well enough to bring into -current. Submitted by: Serge Vakulenko <vak@cronyx.ru>
|
#
9940 |
|
05-Aug-1995 |
peter |
Grab next major (68) for the Specialix SI/XIO driver which is due to come in RSN. As Jordan said "First in, first served.."
|
#
9749 |
|
28-Jul-1995 |
jkh |
Support for voxware 3.05. Submitted by: Amancio Hasty and Jim Lowe
|
#
9646 |
|
22-Jul-1995 |
bde |
Fix clean rule for aic7xxx_asm.
|
#
9595 |
|
20-Jul-1995 |
pst |
Remove vat_audio driver support
|
#
9396 |
|
04-Jul-1995 |
gibbs |
Add entry for i386/scsi/93cx6.c, the file that handles serial eeprom routines for the aic7xxx driver. If and when other drivers start to access similar serial eeproms, this file should probably be moved.
|
#
8114 |
|
27-Apr-1995 |
dufault |
Add National Instruments "LabPC" driver
|
#
8026 |
|
23-Apr-1995 |
wollman |
Substantially clean up LINT and add `fe'.
|
#
8013 |
|
23-Apr-1995 |
julian |
include new files for EISA configuration
|
#
7868 |
|
15-Apr-1995 |
gibbs |
Have the aic7xxx build rules point at the sequencer's new location.
|
#
7717 |
|
09-Apr-1995 |
jkh |
This is the new submission of the matcd driver. In addition to the new driver code, there are diffs to several other existing files on the system and a man page.
This version of matcd implements the rest of the key ioctls related to playing audio CDs and reading table of contents information from any type of disc.
This update also corrects several problems detected since the original version 1(10) was released. These include: 1. Jordons report on the kernel -c string problem. 2. A problem with the driver being confused by other types of devices located at addresses it probes. 3. An old CD TOC wouldn't always be cleared after a disc change. 4. Cleaned up code so -Wall yields no warnings on 2.0 and later. 5. A problem with drive getting out of sync with the driver when changing between CD-Data and CD-DA.
There have only been two reports from the field relating to problems so either the first release isn't really being used or doesn't have many problems.
If there are any problems with this submission, please let me know.
Submitted by: Frank Durda IV <uhclem%nemesis@fw.ast.com>
|
#
7660 |
|
08-Apr-1995 |
phk |
Added the "eg0" interface driver for the 3Com "3c505" or "etherlink/+" card. This is the braindamaged card with the 80186 CPU on it. It is slow, probably not very good after all, but hey, if you have one lying around doing nothing anyway...
Added the "zp0" driver to GENERIC.
|
#
7419 |
|
27-Mar-1995 |
ache |
Add hooks for upcoming riscom/8 driver
|
#
7331 |
|
24-Mar-1995 |
jkh |
scd driver now lives in non-GPL land.
|
#
7086 |
|
16-Mar-1995 |
bde |
Remove isa/prof_machdep.c. It doesn't exist yet.
|
#
7046 |
|
12-Mar-1995 |
swallace |
Remove old snd file configuration list and add new file list for the snd controller and the different sound devices.
Update LINT to include all sound device drivers using new format.
Reviewed by: wollman
|
#
6950 |
|
07-Mar-1995 |
sos |
Added ata.c device driver file.
Just so I don't have to repatch files.i386 again & again...
|
#
6829 |
|
02-Mar-1995 |
jkh |
Finish the matcd import. My face is red.
|
#
6802 |
|
01-Mar-1995 |
gibbs |
Fix "dependency" spelling error. Implement "clean" entries for device config entries. Add clean rules to aic7xxx and aic7xxx_seq.h.
Submitted by: Pointed out by Bruce Evans <bde@zeta.org.au>
|
#
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).
|
#
6515 |
|
17-Feb-1995 |
bde |
Restore alphabetical order (except gnu is last).
|
#
6512 |
|
17-Feb-1995 |
phk |
This is the latest version of the APM stuff from HOSOKAWA, I have looked briefly over it, and see some serious architectural issues in this stuff.
On the other hand, I doubt that we will have any solution to these issues before 2.1, so we might as well leave this in.
Most of the stuff is bracketed by #ifdef's so it shouldn't matter too much in the normal case.
Reviewed by: phk Submitted by: HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
|
#
6396 |
|
14-Feb-1995 |
jkh |
Add the ISDN entries
|
#
6370 |
|
14-Feb-1995 |
phk |
Jordan forgot to move the scd in this file.
|
#
6311 |
|
11-Feb-1995 |
jkh |
Remove dead sound blaster driver entry.
|
#
6261 |
|
09-Feb-1995 |
jkh |
Add the Cyclades serial driver code (ALPHA) from Andrew Werple and adapted to FreeBSD by Heikki Suonsivu <hsu@cs.hut.fi>. Submitted by: Andrew Werple <andrew@werple.apana.org.au> and Heikki Suonsivu <hsu@cs.hut.fi> Obtained from: NetBSD
|
#
6218 |
|
06-Feb-1995 |
jkh |
The very minimum driver required to support a Video Spigot. See the copyright notices in the code for information on where to go to pick up additional useful bits. Submitted by: Jim Lowe <james@blatz.cs.uwm.edu>
|
#
6102 |
|
01-Feb-1995 |
se |
Reviewed by: se Submitted by: wolf (Wolfgang Stanglmeier) Most PCI specific files moved from sys/i386/pci to sys/pci. One PC specific file (pcibus.c) new in sys/i386/isa.
|
#
5977 |
|
28-Jan-1995 |
jkh |
Tweak the location of the scd driver.
|
#
5952 |
|
27-Jan-1995 |
phk |
New and far better NCR5380/NCR53400 scsi-driver.
Handles at least Trantor T130 and ProAudioSpectrum adapters. The pas driver has consequently been removed. This driver can be configured without without interrupts.
Manpage to follow when PAS16 has been edited in.
Reviewed by: phk Submitted by: Serge Vakulenko, <vak@cronyx.ru>
|
#
5906 |
|
25-Jan-1995 |
jmz |
Add entry for the joystick driver
|
#
5787 |
|
22-Jan-1995 |
jkh |
Add support for Olof Johansson's WD7000 driver. Submitted by: Olof Johansson <offe@ludd.luth.se> Obtained from:
|
#
5566 |
|
13-Jan-1995 |
gibbs |
Point dependancy to i386/scsi
|
#
5563 |
|
13-Jan-1995 |
gibbs |
Add in aic7770.c (EISA/VL Adaptors) and aic7870.c (PCI adaptor) dependancies for the ahc driver.
|
#
5542 |
|
12-Jan-1995 |
ugen |
here ip_fw.c lived once..correct me if i am wrong but i think it shopuld be in conf/files
|
#
5428 |
|
07-Jan-1995 |
jkh |
Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>'s driver for the Genius GS-4500 hand scanner. Submitted by: gusw@fub46.zedat.fu-berlin.de
|
#
5327 |
|
31-Dec-1994 |
gibbs |
Handle the aic7770 driver's dependancies correctly.
YOU MUST REBUILD CONFIG.
|
#
5230 |
|
25-Dec-1994 |
ats |
Correct the devices.i386 for the major numbers. 8 was already used now by the lkm driver, so put scd and pcd to the numbers they have now in i386/conf.c. Add the pcd.c file for the panasonic driver in files.i386.
|
#
5134 |
|
17-Dec-1994 |
jkh |
Add Fred Cawthorne's GPIB driver. Submitted by: fcawth@delphi.umd.edu
|
#
5056 |
|
11-Dec-1994 |
bde |
Add i386/isa/diskslice_machdep.c. This will eventually replace readMBR.c. Sort.
|
#
4917 |
|
02-Dec-1994 |
wollman |
Add Cronyx/Sigma files and config information; delete outdated config files.
|
#
4613 |
|
18-Nov-1994 |
gibbs |
Never but never have a bad hair day and go to the movies.
Go to a single dependancy in files.i386. Using a .c file for the sequencer code won't work since I need to know the size of the program, so we just include the generated .h file as: "../../sys/gnu/misc/aic7770/aic7770_seq.h" Reviewed by: Submitted by: Obtained from:
|
#
4610 |
|
18-Nov-1994 |
jkh |
aha2742.c was bogus - use aic7770.c instead. Submitted by: gibbs
|
#
4605 |
|
18-Nov-1994 |
jkh |
Totally gut this thing and just use a precompiled gnu/misc/aha274x_seq.c instead. The entire scheme just doesn't work as envisioned (hint: think about make depend as well as all). Those extremely rare individuals who actually hack on the sequencer code will know how to keep stuff in sync, I *do* get the feeling!
|
#
4569 |
|
17-Nov-1994 |
gibbs |
New device-driver entries for the aic7770 driver. These use new features of config so YOU MUST RECOMPILE CONFIG. Modifying config was the cleanest solution to integrating this driver into the tree which will become more obvious in the next commit.
|
#
4118 |
|
03-Nov-1994 |
jkh |
Eliminate USERCONFIG. This option is now standard.
|
#
4037 |
|
31-Oct-1994 |
pst |
Add kernel hooks for /dev/vatio -- a minimalistic BSD audio driver emulator created by Amancio Hasty (specificly, this, in conjunction with his sound driver mods for dual-mode DMA will allow VAT compiled for BSD/386 1.1 to run under FreeBSD 2.x.)
|
#
3969 |
|
28-Oct-1994 |
jkh |
IP Firewall code from Daniel Boulet and J.S.Antsilevich Submitted by: danny ugen
|
#
3940 |
|
27-Oct-1994 |
jkh |
Julian Elischer's disklabel fixes.
|
#
3911 |
|
26-Oct-1994 |
jkh |
Add userconfig.
|
#
3564 |
|
13-Oct-1994 |
sos |
Added ibcs2_socksys file.
|
#
3539 |
|
12-Oct-1994 |
se |
Name change: pci_intel.c -> pcisupport.c
|
#
3272 |
|
01-Oct-1994 |
dg |
Added Cortex-I Frame Grabber by Paul S. LaFollette, Jr.
Submitted by: Paul S. LaFollette, Jr.
|
#
3258 |
|
01-Oct-1994 |
dg |
Laptop Advanced Power Management support by HOSOKAWA Tatsumi.
Submitted by: HOSOKAWA Tatsumi
|
#
3257 |
|
01-Oct-1994 |
swallace |
add new sound files to kernel config file list
|
#
3114 |
|
26-Sep-1994 |
jkh |
Jim Babb's port of the AIC6360 code. Submitted by: babb Obtained from: NetBSD
|
#
2944 |
|
20-Sep-1994 |
jkh |
Add entries for transputer driver. Reviewed by: jkh Submitted by: luigi
|
#
2673 |
|
11-Sep-1994 |
ats |
Deleted the pccons driver from the files.i386, added the seagate driver into files.i386. LINT: Deleted the timezone line. Commented out the maxfdescs line and the SYSVSHM and the SHMMAXPGS lines.
|
#
2527 |
|
06-Sep-1994 |
se |
Reviewed by: Stefan Esser <se> Submitted by: Added "i386/pci/pci_intel.c" for Intel PCI chip set specific driver code.
|
#
2519 |
|
05-Sep-1994 |
ats |
Reviewed by: Delete the hints to the sg driver. This thing was never finished and has now been beaten by the sea driver.
|
#
2463 |
|
02-Sep-1994 |
paul |
Added entry for if_lnc.c, soon to be added new Lancef amily ethernet driver. Reviewed by: Submitted by:
|
#
2438 |
|
01-Sep-1994 |
dg |
Added ze driver (brought over from 1.1.5).
|
#
2436 |
|
01-Sep-1994 |
se |
Submitted by: Stefan Esser <se@ZPR.Uni-Koeln.DE> Added entry for 'de' device in anticipation of Matt Thomas' PCI Ethernet driver (required by the PCI autoconfig code).
|
#
2431 |
|
31-Aug-1994 |
se |
Reviewed by: Submitted by: Added lines for 'pci' and 'ncr' devices (found under i386/pci).
|
#
2414 |
|
30-Aug-1994 |
dg |
Moved gpl'd fpemul into 2.0 cvs tree. Changed it's location to sys/gnu/i386/fpemul/.
|
#
2409 |
|
30-Aug-1994 |
bde |
Add conf.c, machdep.c, exception,s, support.s and swtch.s so that config will do most of the work for handling them. Only one extra flag and one bogus dependency was used for machdep.c and there was never anything special about the others.
Add locore.s, but commented out. It's still special.
Remove com.c and lpa.c.
|
#
2269 |
|
24-Aug-1994 |
ats |
Reviewed by: Submitted by: Add the elink.c file to the necessary modules for the ie and ep driver.
|
#
2253 |
|
24-Aug-1994 |
sos |
Added iBCS2 files Reviewed by: Submitted by:
|
#
2114 |
|
18-Aug-1994 |
phk |
Added my ProAudioSpectum SCSI driver for cards with the 5380 SCSI-chip. This is the slowest and most stupid of our SCSI-drivers, but it is there and it works. It has been tested with CD-ROM and disk. It uses no interrupts, no DMA, just polled I/0. Transfer-rate is <= 100Kbyte/sec. If you set the jumpers on the board, you can change the unit-number and you will be able to have four of these co-exist in one computer, why one would do that is somewhat unclear though. If I ever get my hand on the docs for this, I will improve it of course, but for now we can install and access those CD-ROMs.
|
#
2038 |
|
12-Aug-1994 |
dg |
New ethernet device driver from Matt Thomas:
This driver supports all the DEC EtherWORKS III NICs (DE203, DE204, and DE205) and the later DEC EtherWORKS II NICs (DE200, DE201, DE202, DE422). DEPCA-style boards prior to the DE200 have not been tested and may not work.
Submitted by: Matt Thomas (thomas@lkg.dec.com)
|
#
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
|
#
1435 |
|
29-Apr-1994 |
gclarkii |
Almost had problems. The directory on my system is gpl not gnu. corrected error
|
#
1433 |
|
29-Apr-1994 |
gclarkii |
Added files for option gpl_math_emulate
|
#
1402 |
|
23-Apr-1994 |
ache |
Sound driver updated to version 2.5
|
#
1388 |
|
21-Apr-1994 |
sos |
pcaudio.c added
|
#
1343 |
|
07-Apr-1994 |
dg |
from kimmel@varese.cs.umass.edu (Matt Kimmel): "el" driver for 3COM 3C501. This driver has some serious performance problems and drops packets on the floor like hot potatos.
|
#
1293 |
|
21-Mar-1994 |
ats |
Makefile.i386: put vers.o at the end of the loader line. We are simply jumping in the moment into the first location of the text segment in 386bsd. So the linking order is very important :-). With the addition of the const types in newvers.sh we jumped into them. I have experimented with an entry point specification, but was unsuccessfull. Someone else should look at this. devices.i386: files.i386: Added entries for a Sony cdrom driver.
|
#
1259 |
|
11-Mar-1994 |
swallace |
Added appropriate entries into files.i386 for snd drivers in /sys/i386/isa/sound Added new snd drivers and EXCLUDE_<driver> options to LINT.
|
#
1223 |
|
27-Feb-1994 |
phk |
dcfclk driver obsoleted, sio/TIOCTIMESTAMP took over.
|
#
1111 |
|
07-Feb-1994 |
alm |
Add floppy tape support
|
#
1103 |
|
06-Feb-1994 |
jkh |
Patches to allow the pcvt port to simply "drop in" with a minimum of effort.
|
#
977 |
|
16-Jan-1994 |
ats |
Documented the drivers more in the LINT file. Added a line in files.i386 and LINT for the integration of a Seagate ST01/02 SCSI controller.
|
#
959 |
|
09-Jan-1994 |
ats |
Added lines for an Etherlink III ( 3C509 ) driver.
|
#
936 |
|
04-Jan-1994 |
nate |
Removed wx driver hooks.
|
#
672 |
|
26-Oct-1993 |
nate |
Added alternative wd driver (called wx due to device name limitations)
This will be removed when a single driver that works on all hardware can be verified
|
#
671 |
|
26-Oct-1993 |
nate |
Added ps/2 mouse driver file to finish off what Jordan started before
The driver will have to come after it's probe routine has been written.
|
#
655 |
|
23-Oct-1993 |
rgrimes |
Put the sound stuff in alpabetic order.
|
#
650 |
|
23-Oct-1993 |
jkh |
Add config + files information for new Linux soundcard driver
|
#
603 |
|
14-Oct-1993 |
rgrimes |
Remove machdep.c from files.i386 and put machdep.o in the SYSTEM_OBJS line of Makefile.i386. Fixes the extra rule that gmake complains about for machdep.o. This fix is from Joans 0lsson.
Rework the depends and rules for assym.s and genassym so that we now use the .depend rule for genassym.o such that if you change any header files that are included by genassym.c the right things happen. This is probably what has caused more bad kernel builds than any other thing in the Makefile.i386!
|
#
576 |
|
11-Oct-1993 |
rgrimes |
Add support for mitsumi cd rom driver from Holger Viet, as fixed up by Gary Clark II.
|
#
571 |
|
10-Oct-1993 |
rgrimes |
Added if_ie entry for Garett Wollmans ATT driver, the drives will be imported soon.
|
#
565 |
|
09-Oct-1993 |
rgrimes |
Put sound blaster in alaphabetic order
|
#
563 |
|
09-Oct-1993 |
jkh |
Added sb entries for upcoming sound blaster driver
|
#
533 |
|
01-Oct-1993 |
rgrimes |
Remove old ethernet drivers if_ec, if_ne, and if_we from config files and from files.i386, they are no longer supported.
|
#
350 |
|
28-Aug-1993 |
rgrimes |
Added options MATH_EMULTATE to the kernel config files to pull in the 387 math emulator (sys/i386/i386/math_emulate.c). Made that file only get compiled if options MATH_EMULATE is in the kernel.
|
#
317 |
|
21-Aug-1993 |
rgrimes |
Moved if_we.c to be back in alphabetic order..
|
#
313 |
|
21-Aug-1993 |
rgrimes |
Removed patch kit header, added Id:
|
#
302 |
|
20-Aug-1993 |
rgrimes |
Moved /sys/scsi code files information to independed files file where it should have always been.
|
#
261 |
|
09-Aug-1993 |
rgrimes |
Removal of support for old scsi as.c driver, removal off old unneeded kernel config files since AH?TEST are now supported by GENERICISA, and the others used the old as driver they are no longer valid.
|
#
208 |
|
29-Jul-1993 |
jkh |
Removed entries for codrv, nuked sample config file since no longer necessary.
|
#
191 |
|
26-Jul-1993 |
jkh |
Added entry for syscons.
|
#
112 |
|
08-Jul-1993 |
jkh |
Put if_we driver well and truly back into the kernel.
|
#
23 |
|
18-Jun-1993 |
rgrimes |
Changed all we0's to ed0's. Obsoleting if_we.c driver.
|
#
5 |
|
12-Jun-1993 |
rgrimes |
This commit was generated by cvs2svn to compensate for changes in r4, which included commits to RCS files with non-trunk default branches.
|
#
4 |
|
12-Jun-1993 |
rgrimes |
Initial import, 0.1 + pk 0.2.4-B1
|