summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Introduce the GDB debugger backend for the new KDB framework. Themarcel2004-07-1014-0/+1515
| | | | | | | | | backend improves over the old GDB support in the following ways: o Unified implementation with minimal MD code. o A simple interface for devices to register themselves as debug ports, ala consoles. o Compression by using run-length encoding. o Implements GDB threading support.
* Clean up and wash struct iovec and struct uio handling.phk2004-07-109-407/+204
| | | | | | | | | | | | Add copyiniov() which copies a struct iovec array in from userland into a malloc'ed struct iovec. Caller frees. Change uiofromiov() to malloc the uio (caller frees) and name it copyinuio() which is more appropriate. Add cloneuio() which returns a malloc'ed copy. Caller frees. Use them throughout.
* Remove a pointless check.phk2004-07-101-2/+0
|
* Now socket buffer locks are being asserted at higher code blocks inrwatson2004-07-101-4/+1
| | | | soreceive(), remove some leaf assertions that are redundant.
* Assert socket buffer lock at strategic points between sections of coderwatson2004-07-101-0/+5
| | | | | in soreceive() to confirm we've moved from block to block properly maintaining locking invariants.
* - Add missing <sys/module.h>. [1]marius2004-07-092-7/+5
| | | | | | | - Remove unused includes. - Sort includes. Reported by: Pyun YongHyeon <yongari@kt-is.co.kr> [1]
* Check the lock lists to see if they are empty directly rather thanjhb2004-07-091-9/+21
| | | | | | | | | | | | | assigning a pointer to the list and then dereferencing the pointer as a second step. When the first spin lock is acquired, curthread is not in a critical section so it may be preempted and would end up using another CPUs lock list instead of its own. When this code was in witness_lock() this sequence was safe as curthread was in a critical section already since witness_lock() is called after the lock is acquired. Tested by: Daniel Lang dl at leo.org
* Bump __FreeBSD_versionemax2004-07-091-1/+1
| | | | Reviewed by: kris, ru
* Do not bzero() the softc, as newbus does it for us.cognet2004-07-095-5/+0
|
* Implement "FAST" mode for GEOM_STRIPE class and turn it on by default.pjd2004-07-091-80/+345
| | | | | | | | | | | | | | | In this mode you can setup even very small stripe size and you can be sure that only one I/O request will be send to every disks in stripe. It consumes some more memory, but if allocation fails, it will fall back to "ECONOMIC" mode. It is about 10 times faster for small stripe size than "ECONOMIC" mode and other RAID0 implementations. It is even recommended to use this mode and small stripe size, so our requests are always splitted. One can still use "ECONOMIC" mode by setting kern.geom.stripe.fast to 0. It is also possible to setup maximum memory which "FAST" mode can consume, by setting kern.geom.stripe.maxmem from /boot/loader.conf.
* Only detach consumers which are attached when we wither stuff away.phk2004-07-091-1/+2
| | | | Pointed out by: pjd
* Newbus returns a zeroed softc, so there's no need to call bzero() here.cognet2004-07-091-2/+0
|
* Accumulate directory entries in a fixed-length sbuf, and uiomove them indes2004-07-091-8/+10
| | | | | | | | | | | one go before returning. This avoids calling uiomove() while holding allproc_lock. Don't adjust uio->uio_offset manually, uiomove() does that for us. Don't drop allproc_lock before calling panic(). Suggested by: alfred
* Cosmetic adjustment to previous commit: name the second argument todes2004-07-091-4/+4
| | | | sbuf_bcat() and sbuf_bcpy() "buf" rather than "data".
* Have sbuf_bcat() and sbuf_bcpy() take a const void * instead of ades2004-07-092-5/+7
| | | | | const char *, since callers are likely to pass in pointers to all kinds of structs and whatnot.
* - correctly set the return value for the copyin/out fault buffer to 1grehan2004-07-092-4/+20
| | | | | | | | | | | so setfault would return correctly when a page fault was invalid (e.g. a syscall with a bad parameter). This caused an endless DSI loop, seen when running sendmail which does a setlogin() call with a NULL pointer. - introduce KTR_SYSC tracing. expose the syscallnames[] array to make the tracing more readable.
* Eliminate struct shm_handle. It is an unnecessary level of indirection toalc2004-07-091-24/+12
| | | | a vm_object.
* Use ETHER_IS_MULTICAST() consistently in ether_resolvemulti().bms2004-07-091-1/+1
| | | | Reviewed by: jmallett
* Fix mismerge of fdc. Also, OLDCARD never was supported on amd64, soimp2004-07-091-1/+1
| | | | remove fdc attachment for it.
* Document compile-time switches here as I'm going to yank them frombms2004-07-091-0/+12
| | | | if_de.c.
* Further improve locking in xl(4):bms2004-07-091-21/+34
| | | | | | | | | | | | | | - Avoid an additional lock acquire/release when leaving xl_intr(), by changing xl_start*() to xl_start*_locked(), and calling the appropriate routine by chip revision (as the DMA descriptors are different). - Simplify the appropriate routines now that they are called with the lock held. This should save a significant amount of CPU cycles spent on servicing each interrupt for both UP and SMP whilst remaining MPSAFE. Tested by: rwatson
* Apply the long-overdue hatchet of style(9) death to this file.bms2004-07-092-916/+1094
|
* Remove spl()'s from do_sendfile().rwatson2004-07-091-6/+1
|
* Further locking improvements for vr(4):bms2004-07-092-92/+138
| | | | | | | | | | | | - Add *_locked() entry points as needed to avoid unnecessary lock thrashing. - Use these entry points wisely. - Only acquire the lock once when servicing an interrupt. - Check 'suspended' on interrupt to avoid racing detach. - Correct a mis-spelled comment. - Don't take the lock in vr_reset() to avoid lock thrashing in attach. - Comment this. Reviewed by: -net (silence)
* Add a 'suspended' flag to softc so that we can avoid races on detach.bms2004-07-092-0/+2
|
* Actually turn on driver locking in xl(4).bms2004-07-091-10/+0
|
* Further rl(4) locking improvements:bms2004-07-091-48/+71
| | | | | | | | | | | - Avoid unnecessary re-acquisition elsewhere by adding *_locked() entry points as needed. - Correct locking for the DEVICE_POLLING case. - Hold the driver lock for the entire duration of interrupt servicing, to avoid unneeded, expensive re-acquisition; use *_locked() entry points as needed. Reviewed by: -net (silence)
* Change the following environment variables to kernel options:brian2004-07-0817-169/+143
| | | | | | | | | | | | | bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO - i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel. Pointed out by: dwmalone
* - Move contents of sched_add() into a sched_add_internal() function thatjhb2004-07-081-5/+11
| | | | | | | | | | | takes an argument to specify if it should preempt or not. Don't preempt when sched_add_internal() is called from kseq_idled() or kseq_assign() as in those cases we are about to call mi_switch() anyways. Also, doing so during the first context switch on an AP leads to a NULL pointer deref because curthread is NULL. - Reenable preemption for ULE. Submitted by: Taku YAMAMOTO taku at tackymt.homeip.net
* MFamd64 (1.275):marcel2004-07-081-12/+9
| | | | | Reduce the scope of the Giant lock being held for non-mpsafe syscalls. There was way too much code being covered.
* Define NSFBUFS and use it.cognet2004-07-081-0/+7
|
* This commit was generated by cvs2svn to compensate for changes in r131826,harti2004-07-0855-149/+7612
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Virgin import of NgATM share kernel/user part 1.0harti2004-07-0855-149/+7612
| |
* | Better handle the break instruction trap. The runtime specificationmarcel2004-07-081-7/+46
| | | | | | | | | | | | has outlined which break numbers are software interrupts, debugger breakpoints and ABI specific breaks. We mostly treated all break numbers we didn't care about as debugger breakpoints.
* | Make withering water tight.phk2004-07-083-25/+77
| | | | | | | | | | | | | | | | | | When we orphan/wither a provider, an attached geom+consumer could end up being withered as a result and it may be in front of us in the normal object scanning order so we need to do multi-pass. On the other hand, there may be withering stuff we can't get rid off (yet), so we need to keep track of both the existence of withering stuff and if there is more we can do at this time.
* | - Merged from sys/dev/fdc/fdc.c revision 1.275.nyan2004-07-088-749/+694
| | | | | | | | | | - Break out the cbus front end from fd.c. - Remove the pccard support because it was broken.
* | MFi386: revision 1.16.nyan2004-07-082-2/+30
| |
* | Remove obsolete defines.nyan2004-07-082-126/+0
| |
* | MFi386: revision 1.1164.nyan2004-07-081-7/+1
| |
* | Change the following kernel options to environment variables:brian2004-07-0817-143/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf: bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1" or even setting the variables manually from the OK prompt.
* | Use a linker script for the loader. This avoids issues withgrehan2004-07-084-4/+284
| | | | | | | | | | | | command-line options, such as misaligning the data segment. Exposed by the limited PearPC OFW ELF loader, but a good thing in general.
* | G4 requires isync after 256Mb ibat/dbat update, G3 requiresgrehan2004-07-083-9/+12
| | | | | | | | | | isync after each bat update. Otherwise, pmap_bootstrap causes an ISI exception. A fall-out of loader BAT removal.
* | Fail normally rather than KASSERT if attempt to open a spoiled consumer.phk2004-07-081-5/+3
| |
* | Use a couple of regular kernel entry points, rather than COMPAT_43phk2004-07-081-4/+12
| | | | | | | | entry points.
* | Add pmap locking to pmap_emulate_reference(). Remove unused and once-usedalc2004-07-081-8/+8
| | | | | | | | | | | | variables. Tested by: kensmith@
* | Remove cache flush, 256Mb 1:1 BAT mapping, and BAT clearing. This doesn'tgrehan2004-07-082-90/+0
| | | | | | | | | | | | | | work on a G5 (no BAT registers) or on PearPC (dBAT3 used for mapping the framebuffer and BATs not re-inited on OpenFirmware calls). It also hid a number of bugs.
* | fixup sysctl by fsid nodealfred2004-07-081-2/+2
| |
* | All hell breaks loose if the loader image is released beforegrehan2004-07-081-1/+3
| | | | | | | | | | | | | | jumping to the kernel. Another bug exposed by removing the 1:1 BAT mapping. Sparc64 doesn't do this either. Compile tested on: panther (sparc64). Code built, but not used, on sparc64.
* | Correctly calculate size of memory to be mapped when copying. Removalgrehan2004-07-081-1/+3
| | | | | | | | | | | | | | of the 256Mb 1:1 BAT mapping exposed this as copying into memory that hadn't been claimed from OpenFirmware. compiled-tested on: panther (sparc64). Code built, but not used, on sparc64
* | Extract entry point from elf header before releasing the heap.grehan2004-07-081-1/+3
| | | | | | | | | | | | | | This caused a data-miss trap when the BAT init code was removed on PPC. Compile tested on: panther (sparc64). Code built, but not used, on sparc64.
OpenPOWER on IntegriCloud