summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Grrr. Okay, changing the devnames was a bad idea. Put them back the waywpaul1999-09-2018-18/+18
| | | | they were.
* Fix the strings in the driver_t structs so that they match the new nameswpaul1999-09-2018-18/+18
| | | | in the DRIVER_MODULES() declarations. *sigh*
* On PIIX4 based SMP systems use the PMTMR register for timecounting.phk1999-09-203-0/+90
| | | | | | | | | | | 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
* Goofed and didn't change the second DRIVER_MODULE() linking these withobrien1999-09-2011-11/+11
| | | | | | the miibus. Noticed by: wpaul
* Change the name we register with DRIVER_MODULE() to include the leadingobrien1999-09-2020-20/+20
| | | | | | "if_". Reviewed by: msmith, wpaul
* Change the name of the installed KLM to contain a leading "if_".obrien1999-09-2016-16/+25
| | | | | | Except for miibus which is now installed as miibus.ko. Discussed by: msmith, peter, and wpaul
* Make if_ed work again on pci, isa, isapnp. The hack to make it work onpeter1999-09-209-1291/+20
| | | | | | 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.
* Add an alternate transmit strategy for 3c90xB adapters based on the transmitwpaul1999-09-202-73/+309
| | | | | | | | | | | | | | | strategy used in the 3Com Linux driver. The new strategy is to use transmit descriptor polling -- that is, the NIC polls the descriptors to see when new packets are available for transmission. The advantage to the new scheme is that no register accesses are needed in the transmit routine. The old scheme requires several register accesses to stall the TX engine, update the TX DMA list pointer register, then unstall the TX engine. Hopefully the new scheme will provide improved transmit performance with less CPU overhead. This only affects the 3c90xB or 3c90xC cards, not the 3c90x cards. This means the original 3c900 and 3c905 cards are unaffected. Newer cards include the 3c900B series, the 3c905B, 3c980, 3c980B, 3c905C and 3c905C, and the 3cSOHO100-TX OfficeConnect.
* RealTek driver module wasn't being built; add it to the Makefile.wpaul1999-09-191-1/+1
|
* Make some small performance tweaks to the tl driver. This should hopefullywpaul1999-09-192-42/+60
| | | | | | | close PR #13757, however I'm waiting on user feedback before declaring the PR officially closed. Among other things, this improves UDP transmit performance, and tx underruns are now detected and the TX start threshold adjusted accordingly.
* Convert the VIA Rhine driver to miibus.wpaul1999-09-197-1268/+242
|
* Allow the AMD PHY driver to support the DM9101 PHY. The DM9101 and thewpaul1999-09-191-3/+10
| | | | | AMD AM79c873 have identical registers. I'm not sure why; one is probably a clone of the other.
* This is what was "fdfix2.patch," a fix for fd sharing. It's prettygreen1999-09-1927-173/+257
| | | | | | | | | | | | | | | | | far-reaching in fd-land, so you'll want to consult the code for changes. The biggest change is that now, you don't use fp->f_ops->fo_foo(fp, bar) but instead fo_foo(fp, bar), which increments and decrements the fp refcount upon entry and exit. Two new calls, fhold() and fdrop(), are provided. Each does what it seems like it should, and if fdrop() brings the refcount to zero, the fd is freed as well. Thanks to peter ("to hell with it, it looks ok to me.") for his review. Thanks to msmith for keeping me from putting locks everywhere :) Reviewed by: peter
* Two more devstat_end_transaction() -> devstat_end_transaction_buf().phk1999-09-194-28/+4
|
* Fix the "dsp sync" debugging printf that was unconditional. Fix a fewpeter1999-09-192-14/+14
| | | | formatting nits/glitches/whatever.
* - Hang the scr_stat struct from dev_t.yokota1999-09-196-139/+97
| | | | | | | | | | | | | - Remove sc_get_scr_stat(). It's not necessary anymore. - Call ttymalloc() to allocate the struct tty for each vty, rather than statically declaring an array of struct tty. We still need a statically allocated struct tty for the first vty which is used for the kernel console I/O, though. - Likewise, call ttymalloc() for /dev/sysmouse and /dev/consolectl. - Delete unnecessary test on the pointer struct tty *tp in some functions. - Delete unused code in scmouse.c. WARNING: this change requires you to recompile screen savers!
* KASSERT that we cannot use M_WAITOK in interrupt context.phk1999-09-191-0/+9
| | | | Reviewed by: bde
* Add a version number field to the jail(2) argument so that future changesphk1999-09-192-3/+6
| | | | can be handled intelligently.
* Move an end-paren to its intended place.phk1999-09-191-1/+1
|
* - Preserve the content of the back scroll buffer when changing theyokota1999-09-193-10/+52
| | | | | | | video mode. Requested by: a lot of people. PR: kern/13764
* Make `ed' PC-Cards work again. It has been over two weeks that laptopobrien1999-09-191-470/+384
| | | | | | | | | | | | users have suffered from this breakage, w/o commitment from someone that they would fix the problems. This effectively backs out revs 1.{157-160}. It does however fix the build problem that caused 1.157 to be committed. If the changes from rev 1.156-1.160 can't be fully tested by the committer, may I offer posting a diff in the freebsd-current mailing list for broader testing before inflicting this breakage again.
* Fix BOOTP root FS mounts. Also cleanup vfs_getnewfsid() and collapsedillon1999-09-195-44/+117
| | | | | | | | | | addaliasu() into addalias() (no operational change) and clarify comments relating to a trick that vclean() uses. The fix to BOOTP is yet another hack. Actually, rootfsid handling is already a major hack. The whole thing needs to be cleaned up. Reviewed by: David Greenman <dg@root.com>, Alan Cox <alc@cs.rice.edu>
* This adds support for the 3Com Megahertz 574B ethernet 16-bit PC-Card.obrien1999-09-192-38/+108
| | | | | | | | 1) Reworked the probe routine 2) Addition of the 574B's product ID. 3) Added useful info when booting verbosely. Submitted by: Jason Young <doogie@anet-stl.com>
* Change so_cred's type to a ucred, not a pcred. THis makes more sense, actually.green1999-09-1910-46/+55
| | | | | | Make a sonewconn3() which takes an extra argument (proc) so new sockets created with sonewconn() from a user's system call get the correct credentials, not just the parent's credentials.
* Bump version number.phk1999-09-181-1/+1
| | | | Pointed out by: ken
* Only assign to si_bsize_phys if we have an intelligent value for it.phk1999-09-181-1/+0
| | | | Otherwise leave at zero and let the generic code decide.
* Use devstat_end_transaction_buf() rather than Use devstat_end_transaction()phk1999-09-1816-90/+19
|
* Count "free" operations in their own new tranaction type.phk1999-09-182-4/+40
| | | | | | | WARNING: libdevstat, iostat, vmstat, systat etc etc will need a recompile. Add devstat_end_transaction_buf() which pulls all the vital data out of a struct buf which is ready for biodone().
* Clean up two cases of the alpha vtophys() hack that should bewpaul1999-09-182-4/+2
| | | | using alpha_XXX_dmamap() but aren't.
* Fix the mechanism used to choose the unit numbers for the IP interfaceswpaul1999-09-184-14/+42
| | | | | attached by the SysKonnect driver. Use ifunit() to scan for existing skN interfaces and pick the first unused one.
* Get rid of some evil defines (a pair of snd and rcv.)green1999-09-171-19/+12
|
* Update to driver release 1.74roger1999-09-172-114/+278
| | | | | | | Bug fix: xmradio nolonger experiences a 6Mhz offset after running FXTV New feature: Automatic Tuner selection for AVerMedia cards with configuration EEPROMs on (ie the Bt878 based cards)
* Patch if_vr to add bridging support.wpaul1999-09-172-2/+40
| | | | | PR: 12385 Submitted by: lyndon@orthanc.ab.ca
* Remember to account for ETHER_ALIGN when setting the maxmimum packetwpaul1999-09-172-2/+2
| | | | | | | length for mini receive ring. The max length was MHLEN, however the mbufs are actually shortened to MHLEN - ETHER_ALIGN to force payload alignment. PR: 13793
* Sync with driver release 1.74roger1999-09-172-0/+22
|
* Fix getcwd. It must return the length of the path including the terminating 0.marcel1999-09-172-12/+38
| | | | | | While I'm here, fix style and debug printf. Fix derived from patch by: Darryl Okahata <darrylo@sr.hp.com>
* Parse resource descriptions which don't have START_DEPENDANT tagsdfr1999-09-171-0/+6
| | | | | correctly. This fixes resource allocation for various PnP ed cards but there are other problems which prevent that driver from working right.
* Add vfs.enable_userblk_io sysctl to control whether user reads and writesdillon1999-09-175-8/+25
| | | | | | | | | | | | | | | | | | to buffered block devices are allowed. The default is to be backwards compatible, i.e. reads and writes are allowed. The idea is for a larger crowd to start running with this disabled and see what problems, if any, crop up, and then to change the default to off and see if any problems crop up in the next 6 months prior to potentially removing support entirely. There are still a few people, Julian and myself included, who believe the buffered block device access from usermode to be useful. Remove use of vnode->v_lastr from buffered block device I/O in preparation for removal of vnode->v_lastr field, replacing it with the already existing seqcount metric to detect sequential operation. Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Asynchronized client-side nfs_commit. NFS commit operations weredillon1999-09-1712-34/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | previously issued synchronously even if async daemons (nfsiod's) were available. The commit has been moved from the strategy code to the doio code in order to asynchronize it. Removed use of lastr in preparation for removal of vnode->v_lastr. It has been replaced with seqcount, which is already supported by the system and, in fact, gives us a better heuristic for sequential detection then lastr ever did. Made major performance improvements to the server side commit. The server previously fsync'd the entire file for each commit rpc. The server now bawrite()s only those buffers related to the offset/size specified in the commit rpc. Note that we do not commit the meta-data yet. This works still needs to be done. Note that a further optimization can be done (and has not yet been done) on the client: we can merge multiple potential commit rpc's into a single rpc with a greater file offset/size range and greatly reduce rpc traffic. Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Remove inappropriate VOP_FSYNC from vm_object_page_clean(). The fsyncdillon1999-09-171-2/+4
| | | | | | | | | | | | | | | | | syncs the entire underlying file rather then just the requested range, resulting in huge inefficiencies when the VM system is articulated in a certain way. The VOP_FSYNC was also found to massively reduce NFS performance in certain cases. Change MADV_DONTNEED and MADV_FREE to call vm_page_dontneed() instead of vm_page_deactivate(). Using vm_page_deactivate() causes all inactive and cache pages to be recycled before the dontneed/free page is recycled, effectively flushing our entire VM inactive & cache queues continuously even if only a few pages are being actively MADV free'd and reused (such as occurs with a sequential scan of a memory-mapped file). Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Add 'lastr' field to vm_map_entry in preparation for its removaldillon1999-09-171-0/+1
| | | | | | | from the vnode. (The changeover is undergoing final testing and will be committed soon). Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Fix a bug in the block number calculation for VN disks with a sectordillon1999-09-173-10/+54
| | | | | | | | | | | | | | | | | | | | size != 512 that are configured without a label. The bug should only have effected swap-backed VN mounts without a label. Add several major features to VN. In the kernel we add a swap pre-reservation capability, which can be used to guarentee seek consistency for swap-backed VN nodes. This also incidently allows a swap-backed VN filesystem to be recovered after a crash in some cases (if the same swap blocks happen to be reserved). We also add a number of new options to vnconfig which do the work of pre-zeroing or creating/truncating/extending a file which greatly simplifies using VN in a file-backed configuration. Add FreeBSD CVS label to sys/sys/vnioctl.h, as well as a new ioctl flag for the swap pre-reservation feature. Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* The vnode pager (used when you do file-backed mmaps) must use thedillon1999-09-171-3/+11
| | | | | | | | | | | | underlying physical sector size when aligning I/O transfer sizes. It cannot assume 512 bytes. We assume the underlying sector size is a power of 2. If it isn't, mmap() will break badly anyway (in the same way mmap broke with NFS when NFS tried to cache piecemeal write ranges in buffers, before we enforced read-buffer-before-write-piecemeal for NFS). Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Fix a number of spl bugs related to reserving and freeing swap space.dillon1999-09-172-292/+234
| | | | | | | | | | | | | | | | | | | | Swap space can be freed from an interrupt and so swap reservation and freeing must occur at splvm. Add swap_pager_reserve() code to support a new swap pre-reservation capability for the VN device. Generally cleanup the swap code by simplifying the swp_pager_meta_build() static function and consolidating the SWAPBLK_NONE test from a bit test to an absolute compare. The bit test was left over from a rejected swap allocation scheme that was not ultimately committed. A few other minor cleanups were also made. Reorganize the swap strategy code, again for VN support, to not reallocate swap when writing as this messes up pre-reservation and can fragment I/O unnecessarily as VN-baesd disk is messed around with. Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Add required BUF_KERNPROC to flushchainbuf() to disassociate thedillon1999-09-171-0/+1
| | | | | | | | current process from the exclusive lock prior to initiating I/O. This fixes a panic related to swap-backed VN disks Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
* Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>dillon1999-09-176-116/+274
| | | | | | | | | | | | | | | | Replace various VM related page count calculations strewn over the VM code with inlines to aid in readability and to reduce fragility in the code where modules depend on the same test being performed to properly sleep and wakeup. Split out a portion of the page deactivation code into an inline in vm_page.c to support vm_page_dontneed(). add vm_page_dontneed(), which handles the madvise MADV_DONTNEED feature in a related commit coming up for vm_map.c/vm_object.c. This code prevents degenerate cases where an essentially active page may be rotated through a subset of the paging lists, resulting in premature disposal.
* Fix sf_probe() to detect the card type properly. I botched the readingwpaul1999-09-172-4/+4
| | | | | of the subsystem ID when I converted to newbus. The driver still detects the chipset and still works but fails to identify the exact card.
* Re-arrange the arp code so that fddi arps work properly.lile1999-09-161-29/+46
|
* wlinit() must be called to recalculate the multicast filter.roberto1999-09-152-0/+4
| | | | Submitted by: Francis Dupont <Francis.Dupont@inria.fr>
* Dangit: mispelled TORNADO in one place.wpaul1999-09-151-1/+1
|
OpenPOWER on IntegriCloud