summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/icu_vector.s
Commit message (Collapse)AuthorAgeFilesLines
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Go back to the old (icu.s rev.1.7 1993) way of keeping the AST-pendingbde1999-07-101-3/+3
| | | | | | | bit separate from ipending, since this is simpler and/or necessary for SMP and may even be better for UP. Reviewed by: alc, luoqi, tegge
* Fixed glitches (jumps) of about 1/HZ seconds for the i8254 timecounter.bde1999-05-281-18/+20
| | | | | | | | | | | | | | | | The old version only worked right when the time was read strictly more often than every 1/HZ seconds, but we only guarantee reading it every (1/HZ + epsilon) seconds. Part of rev.1.126-1.127 attempted to fix this but didn't succeed. Detect counter rollover using the heuristic from the old version of microtime() with additional complications for supporting calls from fast interrupt handlers. This works provided i8254 interrupts are not delayed by more than 1/(2*HZ) seconds. This needs more comments, and cleanups for the SMP case, and more testing of the SMP case before it is merged into RELENG_3. Tested by: jhay
* Enable vmspace sharing on SMP. Major changes are,luoqi1999-04-281-5/+10
| | | | | | | | | | | | | | | | | - %fs register is added to trapframe and saved/restored upon kernel entry/exit. - Per-cpu pages are no longer mapped at the same virtual address. - Each cpu now has a separate gdt selector table. A new segment selector is added to point to per-cpu pages, per-cpu global variables are now accessed through this new selector (%fs). The selectors in gdt table are rearranged for cache line optimization. - fask_vfork is now on as default for both UP and SMP. - Some aio code cleanup. Reviewed by: Alan Cox <alc@cs.rice.edu> John Dyson <dyson@iquest.net> Julian Elischer <julian@whistel.com> Bruce Evans <bde@zeta.org.au> David Greenman <dg@root.com>
* Generate intrnames[] dynamically. This should be new-bus friendly.bde1999-04-141-34/+1
| | | | Old version reviewed by: se
* Register tty software interrupt handlers at run time using register_swi()bde1998-08-111-2/+2
| | | | | | | instead of at compile time using ifdefs. Use _swi_null instead of dummycamisr. CAM and dpt should call register_swi() instead of hacking on ihandlers[] directly.
* Implemented dynamic registration of software interrupt handlers. Notbde1998-08-111-6/+5
| | | | | | used yet. Use dummy SWI handlers to avoid some checks for null pointers.
* Addition of splsoftvm and a VM SWI to handle bus dma related callbacks.gibbs1998-01-151-3/+3
| | | | This SWI may be useful for other, defered, VM tasks.
* Fix a serious bug I introduced while adding in support for CAM interrupts.gibbs1997-09-281-5/+7
| | | | | | | | | | | | It seems I didn't count my 0's properly when adding the new masks into icu_vector.s pushing SWI_AST_MASK off the end of the array and screwing up the indexing for SWI_CLOCK_MASK. Fix the bug icu_vector.s and also reformat the code in both icu_vector.s and apic_vector.s so that it will be much harder to make the same mistake in the future. Submitted by: Bruce Evans <bde@zeta.org.au>
* aha1542.c aic6360.c cy.c fd.c ft.cgibbs1997-09-211-4/+6
| | | | | | | | | | | | if_ie.c if_wl.c if_zp.c isa.c isa_device.h labpc.c mcd.c ncr5380.c scd.c seagate.c si.c sio.c tw.c ultra14f.c wcd.c wd.c: Update for changes in the callout interface. apic_vector.s icu_vector.s ipl.s ipl_funcs.c: Add CAM software/hardware interrupt support.
* Change an assemble-time divide into a shift. Under binutils-2.8 gas in elfpeter1997-09-081-2/+2
| | | | | | mode, the slash is a comment leader, while under non-elf it is a divide symbol (what a concept! :-). Theoretically, #APP/#NO_APP can change this but that doesn't seem to mesh too well with macros and line continuation.
* Removed the defunct GET_MPLOCK/REL_MPLOCK macros.fsmp1997-07-241-5/+1
| | | | | These are no-ops for UP, and should have been removed when vector.s was split into UP and SMP subsets.
* The SWI_NET_MASK and SWI_TTY_MASK handlers are now back adjacent to thepeter1997-05-311-3/+5
| | | | | | | | top of the hardware interrupt handlers. Apparently this is slightly faster with the bit scanning instruction that looks these up - this set of changes reverts the original change. Reviewed by: bde
* Split vector.s into UP and SMP specific files:fsmp1997-05-261-0/+249
- vector.s <- stub called by i386/exception.s - icu_vector.s <- UP - apic_vector.s <- SMP Split icu.s into UP and SMP specific files: - ipl.s <- stub called by i386/exception.s (formerly icu.s) - icu_ipl.s <- UP - apic_ipl.s <- SMP This was done in preparation for massive changes to the SMP INTerrupt mechanisms. More fine tuning, such as merging ipl.s into exception.s, may be appropriate.
OpenPOWER on IntegriCloud