summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/npx.c
Commit message (Collapse)AuthorAgeFilesLines
* Catch up to moving headers:jhb2000-10-201-1/+1
| | | | | - machine/ipl.h -> sys/ipl.h - machine/mutex.h -> sys/mutex.h
* - Heavyweight interrupt threads on the alpha for device I/O interrupts.jhb2000-10-051-1/+1
| | | | | | | | | | | - Make softinterrupts (SWI's) almost completely MI, and divorce them completely from the x86 hardware interrupt code. - The ihandlers array is now gone. Instead, there is a MI shandlers array that just contains SWI handlers. - Most of the former machine/ipl.h files have moved to a new sys/ipl.h. - Stub out all the spl*() functions on all architectures. Submitted by: dfr
* Major update to the way synchronization is done in the kernel. Highlightsjasone2000-09-071-5/+13
| | | | | | | | | | | | | | | 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
* Make the PnP 'slopsucker' quiet in the !bootverbose case - the real NPXmsmith2000-06-231-1/+5
| | | | | probe happens much earlier, and may come to very different conclusions about the system's NPX setup.
* Add SWI_TQ_MASK to all interrupt masks except SWI_CLOCK_MASK. Use abde2000-05-311-1/+1
| | | | | | | new macro SWI_LOW_MASK to give the mask for low priority SWIs instead of hard-coding this mask as SWI_CLOCK_MASK. Reviewed by: dfr
* Add a little do-nothing ``slopsucker'' device which gives a homewollman2000-05-041-0/+44
| | | | to PNP0c04 (legacy ISA coprocessor support). Tourist info.
* Remove a bunch of unused (NO-OP) #if NFOO > 0 type includes and somepeter2000-01-291-5/+0
| | | | #include "foo.h" headers.
* Use device_printf() instead of device_print_prettyname().dfr2000-01-251-10/+9
|
* Print out flags valuephk1999-09-211-0/+2
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add an identify method to allow npx to arrange itself to be attached topeter1999-08-221-1/+18
| | | | the nexus without explicit code in the nexus to do so.
* Various formatting fixes on my FPE trapcode commit.cracauer1999-07-261-140/+140
| | | | Submitted by: BDE
* On FPU exceptions, pass a useful error code (one of the FPE_...cracauer1999-07-251-24/+202
| | | | | | | | | | | | | | | | macros) to the signal handler, for old-style BSD signal handlers as the second (int) argument, for SA_SIGINFO signal handlers as siginfo_t->si_code. This is source-compatible with Solaris, except that we have no <siginfo.h> (which isn't even mentioned in POSIX 1003.1b). An rather complete example program is at http://www3.cons.org/cracauer/freebsd-signal.c This will be added to the regression tests in src/. This commit also adds code to disable the (hardware) FPU from userconfig, so that you can use a software FP emulator on a machine that has hardware floating point. See LINT.
* Don't hardcode IRQ 13 for NPX. It's as good as hardwired in the hardwarepeter1999-05-151-6/+11
| | | | | | though, on systems (386 mostly) that still have a seperate fpu, but it might be possible to find systems where the FPU coprocessor is wired to a different IRQ pin.
* Yet another place I missed when increasing trapframe size, which causes problemluoqi1999-05-111-2/+2
| | | | | | to SIGFPE handling. Reviewed by: Bruce Evans <bde@zeta.org.au>
* Move the declaration of the interrupt type from the driver structuredfr1999-05-081-3/+3
| | | | to the BUS_SETUP_INTR call.
* Fix unused variable "flags". (only used if #ifdef I586_CPU)peter1999-05-081-1/+3
|
* I'm not sure why the #ifdef SMP became #if 1 (this overrode the npx probepeter1999-05-061-5/+3
| | | | | and always succeeded as is required on SMP). Anyway, reverting this still compiles and appears ok.
* Fixed profiling of elf kernels. Made high resolution profiling compilebde1999-05-061-1/+3
| | | | | | | | | | | | for elf kernels (it is broken for all kernels due to lack of egcs support). Renaming of many assembler labels is avoided by declaring by declaring the labels that need to be visible to gprof as having type "function" and depending on the elf version of gprof being zealous about discarding the others. A few type declarations are still missing, mainly for SMP. PR: 9413 Submitted by: Assar Westerlund <assar@sics.se> (initial parts)
* Bring the 'new-bus' to the i386. This extensively changes the way thepeter1999-04-161-59/+100
| | | | | | | | | | | | | | | | | | 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
* Ifdef declaration of a conditionally defined function "timezero".dt1999-03-281-1/+3
|
* Moved declarations related to copying and zeroing to the right place.bde1999-01-081-12/+1
|
* Moved the declaration of another non-SMP variable into the non-SMP section.bde1998-12-141-2/+2
|
* The "easy" fixes for compiling the kernel -Wunused: remove unreferenced staticarchie1998-12-071-5/+9
| | | | and local variables, goto labels, and functions declared but not defined.
* Initialize isa_devtab entries for interrupt handlers in individualbde1998-10-221-1/+4
| | | | | | | device drivers, not in ioconf.c. Use a different hack in isa_device.h so that a new config(8) is not required yet. pc98 parts approved by: kato
* Removed unused includes.bde1998-06-211-2/+1
|
* Support compiling with `gcc -pedantic' (don't use hard newlines inbde1998-04-191-28/+24
| | | | (asm) string constants or hard long long constants).
* Finish supporting compiling with `gcc -ansi'. Fix missing `volatile'sbde1998-04-151-6/+6
| | | | in __asm() statements while I'm here.
* remove #ifdef declaration of npxproc, use globals.s and the extern always.peter1998-04-061-5/+1
|
* Removed a superstitious fnop() that broke the usefulness of the FPU'sbde1998-02-151-2/+1
| | | | "last instruction" pointer.
* Only use the i586-optimized copying and zeroing functions if they arebde1998-02-121-3/+38
| | | | | | actually faster (more than 20% faster for zeroing 1 MB at boot time). This fixes pessimized copying and zeroing on K6's and perhaps on other CPUs that are misclassified as i586's.
* Make the debug options new-style.eivind1998-01-311-1/+2
| | | | | This also zaps a DPT option from lint; it wasn't referenced from anywhere.
* Removed an unused #included.bde1997-11-181-3/+10
| | | | Ifdefed #includes that are not used in the SMP case.
* Don't include <machine/cputypes.h> or declare cputype/class interfacesbde1997-10-281-2/+5
| | | | | | | in <machine/cpu.h>. Moved the declarations to <machine/cputypes.h>. Fixed style bugs in the moved code. Fixed everything that depended on the nested include. Don't include <machine/cpu.h> (in the changed files) unless something in it is used directly.
* Revert my previous commit about using CS_SECURE macro.charnier1997-08-211-2/+2
| | | | Requested by: Bruce.
* Use CS_SECURE macro.charnier1997-08-181-2/+2
| | | | Reviewed by: John Dyson
* VM86 kernel support.dyson1997-08-091-2/+2
| | | | | | | Work done by BSDI, Jonathan Lemon <jlemon@americantv.com>, Mike Smith <msmith@gsoft.com.au>, Sean Eric Fagan <sef@kithrup.com>, and probably alot of others. Submitted by: Jnathan Lemon <jlemon@americantv.com>
* Made the SMP case ignore the possibility of an INT13 interface.fsmp1997-07-211-64/+43
| | | | | | | This eliminates all the APIC code, and thus several routines that would otherwise need to be made MP-safe. Reviewed by: Bruce Evans <bde@zeta.org.au>
* Removed unused #includes.bde1997-07-201-4/+1
|
* Remove the disable for the P5 cpu class bcopy using the FPU on SMP kernels,peter1997-07-171-3/+2
| | | | it is understood to work now (and has been for quite a while apparently).
* Preliminary support for per-cpu data pages.peter1997-06-221-7/+6
| | | | | | | | | | | | | | | | This eliminates a lot of #ifdef SMP type code. Things like _curproc reside in a data page that is unique on each cpu, eliminating the expensive macros like: #define curproc (SMPcurproc[cpunumber()]) There are some unresolved bootstrap and address space sharing issues at present, but Steve is waiting on this for other work. There is still some strictly temporary code present that isn't exactly pretty. This is part of a larger change that has run into some bumps, this part is standalone so it should be safe. The temporary code goes away when the full idle cpu support is finished. Reviewed by: fsmp, dyson
* Move interrupt handling code from isa.c to a new file. This should makedfr1997-06-021-1/+2
| | | | | | | isa.c (slightly) more portable and will make my life developing the really portable version much easier. Reviewed by: peter, fsmp
* Include file updates.. <machine/spl.h> -> <machine/ipl.h>, addpeter1997-05-311-2/+3
| | | | | <machine/ipl.h> to those files that were depending on getting SWI_* implicitly via <machine/cpufunc.h>
* remove now redundant (struct trapframe *) castpeter1997-05-071-2/+2
|
* Man the liferafts! Here comes the long awaited SMP -> -current merge!peter1997-04-261-3/+72
| | | | | | | | | | | | | | | | 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!
* Make the necessary changes so that an ELF kernel can be built. Ijdp1997-04-221-5/+9
| | | | | | | | | | | | | | | | have successfully built, booted, and run a number of different ELF kernel configurations, including GENERIC. LINT also builds and links cleanly, though I have not tried to boot it. The impact on developers is virtually nil, except for two things. All linker sets that might possibly be present in the kernel must be listed in "sys/i386/i386/setdefs.h". And all C symbols that are also referenced from assembly language code must be listed in "sys/i386/include/asnames.h". It so happens that failure to do these things will have no impact on the a.out kernel. But it will break the build of the ELF kernel. The ELF bootloader works, but it is not ready to commit quite yet.
* Don't include <sys/ioctl.h> in the kernel. Stage 1: don't includebde1997-03-241-2/+1
| | | | | it when it is not used. In most cases, the reasons for including it went away when the special ioctl headers became self-sufficient.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Disabled logging of masked exceptions on exit. Keep the side effect ofbde1997-01-291-2/+6
| | | | saving the state (see rev.1.17).
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | 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.
OpenPOWER on IntegriCloud