summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Use __FBSDID rather than rcsid[].obrien2003-04-03102-529/+262
|
* Remove useless initialization.mux2003-04-031-1/+0
|
* Add support for the HP Smart Array 6400 EMps2003-04-031-3/+4
| | | | | Change the interrupt mask for the Smart Array 6xxx controllers after discussions w/ HP.
* Retire the DIOCGMBR ioctl before anybody starts to use it.phk2003-04-032-6/+0
|
* Remove BIO_SETATTR from non-GEOM part of kernel as well.phk2003-04-032-2/+0
|
* Remove all references to BIO_SETATTR. We will not be using it.phk2003-04-038-31/+0
|
* Update the initializer for GEOM_MBREXT, I overlooked it previously.phk2003-04-031-3/+2
|
* Add #define for DOSPTYP_PMBR, and use it.phk2003-04-032-1/+2
|
* Add optimized block copy and zero functions using vis instructions, whichjake2003-04-032-0/+140
| | | | | | | | | | can do 64 bytes at a time and don't allocate lines in the L2 cache. These assume that everything is 64 byte aligned, and that there's more than 128 bytes of data (best for whole pages). The block load and store instructions don't follow normal memory ordering rules and require either a memory barrier or move between registers before the data can actually be used. This implementation correctly shuffles around 3 out of the 4 sets of registers in order to avoid memory barriers expect for the last 2 blocks.
* Fix fxp(4), this changed shouldn't have crept in.mux2003-04-031-2/+2
| | | | | Pointy hat to: mux Reported by: Pawel Worach <pawel.worach@nordea.com>
* Add support for saving and restoring kernel floating point state. The statejake2003-04-032-1/+45
| | | | | | | | will be saved if we context switch as a result of an interrupt which occured while using the floating point registers in the kernel (which actually can't happen right now). This allows fp disabled traps in the kernel, which normally shouldn't happen, so make sure the trapping code is what we expect it is.
* - Add space for kernel floating point registers to the pcb. These will bejake2003-04-033-10/+18
| | | | | | | | | used to support block copy and zero operations in the kernel which use the floating point registers. - While I'm changing the size, improve the layout of struct pcb, sort by size, then alphabetical etc. - Add some assertions to validate assumptions made about how the pcb is allocated.
* - Generally improve register usage in cpu_switch. Use the 'in' registersjake2003-04-031-71/+63
| | | | | | for temporaries relating to the state of the new process instead of the outs, so that functions can be called without fear of clobbering them. - Use savefpctx instead of rolling our own.
* <sys/disk.h> -> <geom/geom_disk.h>des2003-04-031-1/+1
|
* Don't assume the fp state is at offset 0 in the pcb.jake2003-04-031-1/+1
|
* Fix typos (don't use * when taking the size of an array).jake2003-04-031-2/+2
|
* Remove all the bogus volatile qualifiers from the structs definitionsmux2003-04-032-148/+146
| | | | and associated evil casts to discard them.
* MFi386: revision 1.188nyan2003-04-031-0/+2
|
* MFi386: revision 1.561nyan2003-04-032-6/+66
|
* #include <sys/endian.h> as needed.phk2003-04-032-0/+2
|
* Remove geom_enc.c, a superset of these functions are now available inphk2003-04-033-135/+0
| | | | <sys/endian.h>
* Use <sys/endian.h> instead of geom_enc.c for endianess-agnostification.phk2003-04-035-116/+119
|
* Use sys/endian.h instead of geom_enc.c for endian-agnostfication.phk2003-04-032-17/+19
|
* Pointy hat commit:phk2003-04-031-3/+3
| | | | | Don't Cut&Paste from big endian to little endian function without subsequent adjustments.
* Make sure we don't ignore error codes.phk2003-04-031-32/+24
|
* Use "unsigned char" instead of "u_char" to avoid trouble.phk2003-04-031-12/+12
|
* Add support for Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232phk2003-04-031-0/+13
| | | | Submitted by: sst@cybercity.dk
* Add inline functions {be,le}{16,32,64}{enc,dec}() for encoding decodingphk2003-04-031-0/+108
| | | | into byte strings of unknown alignment.
* NO_GEOM cleanup: Remove dkmakeminor().phk2003-04-031-32/+0
|
* Don't use dkmakeminor(), create our own minor encoding instead.phk2003-04-031-3/+2
|
* Don't use dkmakeminor(), it has nothing to do with CDroms.phk2003-04-031-6/+2
|
* - Keep seperate statistics and run queues for different scheduling classes.jeff2003-04-031-48/+134
| | | | | | | | - Treat each class specially in kseq_{choose,add,rem}. Let the rest of the code be less aware of scheduling classes. - Skip the interactivity calculation for non TIMESHARE ksegrps. - Move slice and runq selection into kseq_add(). Uninline it now that it's big.
* Commit a partial lazy thread switch mechanism for i386. it isn't as lazypeter2003-04-0234-271/+900
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as it could be and can do with some more cleanup. Currently its under options LAZY_SWITCH. What this does is avoid %cr3 reloads for short context switches that do not involve another user process. ie: we can take an interrupt, switch to a kthread and return to the user without explicitly flushing the tlb. However, this isn't as exciting as it could be, the interrupt overhead is still high and too much blocks on Giant still. There are some debug sysctls, for stats and for an on/off switch. The main problem with doing this has been "what if the process that you're running on exits while we're borrowing its address space?" - in this case we use an IPI to give it a kick when we're about to reclaim the pmap. Its not compiled in unless you add the LAZY_SWITCH option. I want to fix a few more things and get some more feedback before turning it on by default. This is NOT a replacement for Bosko's lazy interrupt stuff. This was more meant for the kthread case, while his was for interrupts. Mine helps a little for interrupts, but his helps a lot more. The stats are enabled with options SWTCH_OPTIM_STATS - this has been a pseudo-option for years, I just added a bunch of stuff to it. One non-trivial change was to select a new thread before calling cpu_switch() in the first place. This allows us to catch the silly case of doing a cpu_switch() to the current process. This happens uncomfortably often. This simplifies a bit of the asm code in cpu_switch (no longer have to call choosethread() in the middle). This has been implemented on i386 and (thanks to jake) sparc64. The others will come soon. This is actually seperate to the lazy switch stuff. Glanced at by: jake, jhb
* Lock the process before sending it a SIGIO. Not doing so is a panic(2)jhb2003-04-021-2/+7
| | | | implementation with INVARIANTS.
* Add handling for cancelled events in the g_call_me() methods.phk2003-04-028-14/+43
|
* Change events to have an array of "void *" references, and give thephk2003-04-0211-98/+90
| | | | | | | | | | | event posting functions varargs to fill these. Attribute g_call_me() to appropriate g_geom's where necessary. Add a flag argument to g_call_me() methods which will be used to signal cancellation of events in the future. This commit should be a no-op.
* Back out support for RFC3514.mdodd2003-04-026-49/+1
| | | | RFC3514 poses an unacceptale risk to compliant systems.
* - Use the correct constant define.mdodd2003-04-021-2/+3
| | | | - Add a missing break.
* Convert the fxp(4) driver to the busdma API.mux2003-04-023-230/+453
| | | | | | | | | | | | | | | This patch is rather big because I had to significantly redesign the driver to make the busdma conversion possible. Most notably, hardware and software structures were carefully splitted to get rid of all the structs overlapping evilness. Special thanks to phk and Richard Puga <puga@mauibuilt.com> for providing me with fxp(4) hardware to do this work. Thanks to marcel for testing this on ia64, and to Fred Clift <fclift@verio.net> for testing this on alpha. Tested on: i386, ia64, alpha
* Need to hold the same SMP lock for (knote) list traversal as forhsu2003-04-021-1/+1
| | | | | list manipulation. This lock also protects read-modify-write operations on the pipe_state field.
* Only orphan things if the open/close actually succeeded.phk2003-04-021-11/+10
|
* Properly handle races between open/close and orphan.phk2003-04-021-10/+34
| | | | | | | KASSERT the race between close and strategy, it is an error in the upper echelons if this happens, Add XXX: comment explaining why the ioctl/orphan race is not closed.
* Instead of not grapping a request binfinish(ENOMEM) it if malloc fails.sos2003-04-021-1/+2
|
* MFi386: revisions 1.556 and 1.557.nyan2003-04-022-24/+18
| | | | Backout revision 1.312.
* Merged from sys/dev/syscons/syscons.c revision 1.400.nyan2003-04-021-1/+1
|
* Sync constant define with NetBSD.mdodd2003-04-023-6/+7
| | | | Requested by: Tom Spindler <dogcow@babymeat.com>
* - Make the interactivity calculator decay faster.jeff2003-04-021-2/+2
| | | | - Make the pcpu estimator update faster.
* - I meant divide by two and not shift by two in SCHED_PRI_NHALF.jeff2003-04-021-1/+1
|
* Implement cpu_thread_setup. Fix cpu_set_upcall.jake2003-04-021-3/+9
|
* - Make casuptr return the old value of the location we're trying to update,jake2003-04-024-25/+25
| | | | | | and change the umtx code to expect this. Reviewed by: jeff
OpenPOWER on IntegriCloud