summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the now-empty ipl_funcs.c file on all platforms.peter2001-01-191-34/+0
|
* Remove the static splXXX functions and replace them by static __inlinepeter2001-01-192-30/+0
| | | | | stubs. Remove the xxx_imask variables which have been all but gone for a while.
* Fix a warning due to missing prototype.peter2001-01-192-2/+2
|
* Fix a warning (the prototypes probably shouldn't be so over-zealouslypeter2001-01-192-2/+2
| | | | #ifdef'ed though)
* Implement MTX_RECURSE flag for mtx_init().bmilekic2001-01-192-5/+5
| | | | | | | | | | | | | | | | | | | All calls to mtx_init() for mutexes that recurse must now include the MTX_RECURSE bit in the flag argument variable. This change is in preparation for an upcoming (further) mutex API cleanup. The witness code will call panic() if a lock is found to recurse but the MTX_RECURSE bit was not set during the lock's initialization. The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to MTX_RECURSED, which is more appropriate given its meaning. The following locks have been made "recursive," thus far: eventhandler, Giant, callout, sched_lock, possibly some others declared in the architecture-specific code, all of the network card driver locks in pci/, as well as some other locks in dev/ stuff that I've found to be recursive. Reviewed by: jhb
* Protect p_stat and p_oncpu with sched_lock in forward_signal().jhb2001-01-183-6/+27
|
* - Sort of lie and say that %eax is an output only and not an input for thejhb2001-01-171-2/+2
| | | | | | | | | | | non-386 atomic_load_acq(). %eax is an input since its value is used in the cmpxchg instruction, but we don't care what value it is, so setting it to a specific value is just wasteful. Thus, it is being used without being initialized as the warning stated, but it is ok for it to be used because its value isn't important. Thus, we are only sort of lying when we say it is an output only operand. - Add "cc" to the clobber list for atomic_load_acq() since the cmpxchgl changes ZF.
* The stallion.c pci driver is broken. Emit a warning if compiling LINT.peter2001-01-171-0/+8
|
* Change NSWAPDEV to something else than the default value.des2001-01-161-1/+1
|
* These files have been on deathrow for a couple of months, no appeal.phk2001-01-162-8/+0
|
* Stop doing runtime checking on i386 cpus for cpu class. The cpu ispeter2001-01-165-64/+44
| | | | | | | | | | | | slow enough as it is, without having to constantly check that it really is an i386 still. It was possible to compile out the conditionals for faster cpus by leaving out 'I386_CPU', but it was not possible to unconditionally compile for the i386. You got the runtime checking whether you wanted it or not. This makes I386_CPU mutually exclusive with the other cpu types, and tidies things up a little in the process. Reviewed by: alfred, markm, phk, benno, jlemon, jhb, jake, grog, msmith, jasone, dcs, des (and a bunch more people who encouraged it)
* Argh, disable the micro-ops again. I didn't test these adequately andjhb2001-01-161-1/+2
| | | | | | managed to lock up one of my machines in world again. Pointy-hat to: me
* - Use "+a" instead of "=&a" for several constraints. This should fixjhb2001-01-161-25/+19
| | | | | | | | | | compiling errors where gcc would run out of registers. - Add "cc" to the list of clobbers for micro-ops where we perform instructions that alter %eflags. - Use xchgl instead of cmpxchgl to release a spin lock. This could allow for more efficient register allocation as we no longer mandate that %eax be used. - Reenable the optimized mutex micro-ops in the non-i386 case.
* Free the intrhand name when free'ing a intrhand.jhb2001-01-162-0/+2
| | | | Submitted by: bde
* - Fix atomic_load_* and atomic_store_* to generate functions for atomic.cjhb2001-01-161-168/+123
| | | | | | | | | that modules can call. - Remove the old gcc <= 2.8 versions of the atomic ops. - Resort the order of some things in the file so that there is only one #ifdef for KLD_MODULE, and so that all WANT_FUNCTIONS stuff is moved to the bottom of the file. - Remove ATOMIC_ACQ_REL() and just use explicit macros instead.
* Make NSWAPDEV reasonable so people do not mistakenly use unreasonabledillon2001-01-151-1/+6
| | | | | | values when creating custom kernels from LINT. Suggested-by: "Louis A. Mamakos" <louie@TransSys.COM>
* Implement an optimization for INTREN/INTRDIS that bde pointed out lastpeter2001-01-151-0/+14
| | | | | | | | | | | time I tinkered around here. Since INTREN is called from the interrupt critical path now, it should not be too expensive. In this case, we look at the bits being changed to decide which 8 bit IO port to write to rather than unconditionally writing to both. I could probably have gone further and only done the write if the bits actually changed, but that seemed overkill for the usual case in interrupt threads. [an outb is rather expensive when it has to cross the ISA bus]
* The Linuxulator needs sysvipc to work.des2001-01-141-0/+3
|
* Remove NOBLOCKRANDOM as a compile-time option. Instead, providemarkm2001-01-143-5/+0
| | | | | | | | | | | | | | | | exactly the same functionality via a sysctl, making this feature a run-time option. The default is 1(ON), which means that /dev/random device will NOT block at startup. setting kern.random.sys.seeded to 0(OFF) will cause /dev/random to block until the next reseed, at which stage the sysctl will be changed back to 1(ON). While I'm here, clean up the sysctls, and make them dynamic. Reviewed by: des Tested on Alpha by: obrien
* Argh, remove a local customization that snuck in here.jhb2001-01-141-1/+0
| | | | Noticed by: jasone
* Remove I386_CPU from GENERIC. Support for the 386 seriously pessimizesjhb2001-01-141-1/+1
| | | | | performance on other x86 processors. Custom kernels can still be built that will run on the 386.
* Revert the previous revision now that atomic_store_rel_ptr() actuallyjhb2001-01-141-4/+0
| | | | works.
* Fix the atomic_load_acq() and atomic_store_rel() functions to properlyjhb2001-01-141-5/+43
| | | | | | implement memory fences for the 486+. The 386 still uses versions w/o memory fences as all operations on the 386 are not program ordered. The 386 versions are not MP safe.
* Work around the broken atomic_store_rel_ptr() on the i386 arch by justjhb2001-01-141-0/+4
| | | | | | using atomic_cmpset_rel_ptr() instead for _release_lock_quick(). When atomic_store_rel_ptr() is functional and MP safe, then this can be reverted.
* Change return ??? to return -1 in some #if 0'ed code.jake2001-01-123-6/+6
|
* Remove declaration of airq variable from outer block. There were twobmilekic2001-01-122-2/+2
| | | | | | declarations of a variable of the same name. The one in the outer block was unused and probably just slipped in at one point or another. This silences a compiler warning.
* Remove unused per-cpu variables inside_intr and ss_eflags.jake2001-01-123-6/+0
|
* Remove useless include of sys/mbuf.h (no longer useful since thebmilekic2001-01-121-1/+0
| | | | mbuf subsystem init was moved to a better place).
* Add itjc ISDN hardware driverhm2001-01-111-4/+12
|
* - Remove compatibility macros for accessing per-cpu variables.jake2001-01-114-279/+11
| | | | | | | __FreeBSD_version 500015 can be used to detect their disappearance. - Move the symbols for SMP_prvspace and lapic from globals.s to locore.s. - Remove globals.s with extreme prejudice.
* Add infrastructure to support the ISDN itjc hardware driver.hm2001-01-111-7/+7
| | | | Submitted by: Sergio de Souza Prallon <prallon@tmp.com.br>
* Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variablesjake2001-01-1014-155/+166
| | | | other then curproc.
* select() DKI is now in <sys/selinfo.h>.wollman2001-01-092-2/+2
|
* Send the old if_wl in the old location to the Attic after a repo copy topeter2001-01-093-2738/+0
| | | | sys/dev/wi/*
* Fix a warning. The type of globaldata.gd_prvspace has changed.jake2001-01-083-3/+6
|
* Correct typo.nyan2001-01-081-1/+1
| | | | Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Part 2 of the netgraph rewrite.julian2001-01-082-30/+30
| | | | | | This is mostly cosmetic changes, (though I caught a bug or two while makeing them) Reviewed by: archie@freebsd.org
* Implement accessors for per-cpu variables which don't depend on thejake2001-01-063-155/+49
| | | | | | | | | | | | | | | | | symbols in globals.s. PCPU_GET(name) returns the value of the per-cpu variable PCPU_PTR(name) returns a pointer to the per-cpu variable PCPU_SET(name, val) sets the value of the per-cpu variable In general these are not yet used, compatibility macros remain. Unifdef SMP struct globaldata, this makes variables such as cpuid available for UP as well. Rebuilding modules is probably a good idea, but I believe old modules will still work, as most of the old infrastructure remains.
* Use %fs to access per-cpu variables in uni-processor kernels the samejake2001-01-0612-50/+29
| | | | | | | | | | | | | | | | | as multi-processor kernels. The old way made it difficult for kernel modules to be portable between uni-processor and multi-processor kernels. It is no longer necessary to jump through hoops. - always load %fs with the private segment on entry to the kernel - change the type of the self referntial pointer from struct privatespace to struct globaldata - make the globaldata symbol have value 0 in all cases, so the symbols in globals.s are always offsets, not aliases for fields in globaldata - define the globaldata space used for uniprocessor kernels in C, rather than assembler - change the assmebly language accessors to use %fs, add a macro PCPU_ADDR(member, reg), which loads the register reg with the address of the per-cpu variable member
* Rewrite of netgraph to start getting ready for SMP.julian2001-01-062-47/+74
| | | | | | | | This version is functional and is aproaching solid.. notice I said APROACHING. There are many node types I cannot test I have tested: echo hole ppp socket vjc iface tee bpf async tty The rest compile and "Look" right. More changes to follow. DEBUGGING is enabled in this code to help if people have problems.
* use 'profile 2' instead of 1, since it causes more code to be tested.peter2001-01-041-1/+1
|
* Remove alpm numbering.nsouch2001-01-031-1/+1
|
* Remove the old acpi stuff entry.takawata2000-12-291-6/+0
| | | | Submitted by:kurinyma
* Retire kernfs (kernel part).des2000-12-281-1/+0
|
* Protect proc.p_pptr and proc.p_children/p_sibling with thejake2000-12-231-0/+12
| | | | | | | | proctree_lock. linprocfs not locked pending response from informal maintainer. Reviewed by: jhb, -smp@
* Add PECOFF (WIN32 Execution file format) support.takawata2000-12-202-1/+63
| | | | | | | | | To use it, some dll is needed. And currently, the dll is only for NetBSD. So one more kernel module is needed. For more infomation, http://chiharu.haun.org/peace/ . Reviewed by: bp
* Re-enable the lnc driver in GENERIC.paul2000-12-201-2/+2
|
* Attempt to read and verify the card's status in wi_stop() before sending itjhb2000-12-181-2/+9
| | | | | | | the disable command. On some systems, writing to the card after it has been ejected causes the machine to hang. Reviewed by: wpaul
* Remove the "wd" driver.phk2000-12-181-1/+0
|
* Divorce the kernel binary ABI version number from the messagejulian2000-12-182-66/+61
| | | | | | | | | format version number. (userland programs should not need to be recompiled when the netgraph kernel internal ABI is changed. Also fix modules that don;t handle the fact that a caller may not supply a return message pointer. (benign at the moment because the calling code checks, but that will change)
OpenPOWER on IntegriCloud