Commit Graph

43 Commits

Author SHA1 Message Date
matt b8cccfafd8 Move spl macros from <machine/param.h> to <machine/intr.h>
Fix botch on my part and make the IPL_* match reality on VAX.
Redefine spl macro using the symbolic IPL_ instead of being hardcoded.
Move schedsoftnet, schedsoftclock from <machine/cpu.h> to <machine/intr.h>
Add a _setsirr macro for schedsoft*.
Add softintr function and framework.
2000-06-02 21:47:02 +00:00
matt e8c7c2f842 add real vmapbuf/vunmapbuf routines. needed for VS4000 SCSI support. 2000-03-07 00:05:59 +00:00
thorpej dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
ragge ffbd2c2f5e CL* discarding. 1999-12-12 14:39:18 +00:00
ragge 16a09f9b9c Remove the vmapbuf()/vunmapbuf() routines. They are quite unneccessary
on a machine that has MMU for its I/O devices.
1999-10-22 21:14:34 +00:00
thorpej d936f02b0b Implement priority raising, and use it as appropriate. 1999-08-05 18:48:55 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
ragge a5ce96e985 EEEK! The signal changes a while ago caused the user struct to be
on top of the "red zone" in the kernel stack. This phenomenon has
caused many unexplainable things to happen the last year.
1999-05-02 17:28:43 +00:00
ragge bef0af5311 Allocate (almost) all interrupt vectors dynamically. Simplifies much
work when adding support for new machines and devices.
1999-01-19 21:04:47 +00:00
ragge d0e7a99a8a Giant change: NBPG now set to 4k and CLSIZE == 1 for vax. This change
made a whole bunch of annoying bugs disappear; mostly depending on
bad use of NBPG in non-MD code. The VAX port was the only port that
used this historical "feature".

The CL* macros should probably go away totally, there is no reason
at all to keep them.
1999-01-01 21:43:17 +00:00
ragge f07a586dc6 the btoc/ctob/btop macros must use CLBYTES, not NBPG. How this should
work in the long run is an open issue; some parts must be reworked
in a MI way.
1998-11-29 14:48:51 +00:00
ragge 218681f3e5 Kernel stach should be 4K, not 32K. Increase MCLSHIFT to 11.
Remove ovbcopy().
1998-08-25 17:35:23 +00:00
ragge b3574d3923 VAX logical page size increased to 4k. 1998-08-21 13:41:09 +00:00
ragge fecd3f54fc Expand kmem map. 1998-06-20 18:47:33 +00:00
thorpej 1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
thorpej cc1f5b65c9 asm -> __asm__ 1997-11-05 04:23:35 +00:00
ragge ae27edc757 Major rewriting, optimization and simplifying of the pmap code:
- Map in all physical memory first in system space. This reduces
  pmap_copy_page() and pmap_zero_page to 3 resp. 2 instructions.
- Have fized position user page tables. Makes the pv_table smaller
  and all reverse references faster (and simpler).
- Remove the wiring code. Nobody doesn't even know what a DR32 is anymore.
- Simulate page reference bit by setting page invalid, as suggested by
  Rich Draves in a paper for 1991 Mach Usenix Symposium.

This reduced the time spent in the pmap module to between 70-75% of
the previous; and made process startup _much_ faster.
1997-11-02 14:25:19 +00:00
ragge efa4c7c48e MSGBUFSIZE must be in CLBYTES, not NBPG. Also expand it to 4 * CLBYTES. 1997-10-19 20:48:47 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
ragge cd0d651d0f delay() must be protected by #ifdef _KERNEL. 1997-08-05 13:28:51 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
ragge f98e31628a #define MAXBSIZE to some nice value. 1997-01-11 11:06:17 +00:00
ragge caff7b03d4 Numerous changes to be able to put Bertram Barth's VAXstation support in.
(Some) Support for VAXstation 2000/MicroVAX 2000, VAXstation 3100/76.
1996-07-20 17:58:12 +00:00
ragge 02d0803c80 Add spl4 - spl7 macros, easy to use when playing with buses. 1996-07-10 23:51:08 +00:00
cgd 18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
ragge 5d89814116 Changes due to 11/780 support. Raise splimp() to BR7. 1996-03-02 14:27:52 +00:00
cgd 1c5d7babe5 Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE. 1996-03-01 23:30:08 +00:00
ragge 26d151d2bb Prototype for delay(). 1996-02-11 13:45:37 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
ragge d987547daf An '&' missing in splx macro; causing that sometimes didn't
the interrupt level get set.
1995-12-30 21:37:31 +00:00
ragge 31f199d4e6 Added earlier forgotten MACHINE_ARCH, pointed out by Arne Henrik Juul.
Cleaned up a bit.
1995-12-04 22:32:53 +00:00
mycroft 6deb1a5816 Fix comment on splnet(). 1995-08-13 00:45:21 +00:00
mycroft 0e29cb31fa Replace splnet() with splsoftnet(). Add splnet(). 1995-08-13 00:32:47 +00:00
cgd 2d49c3885b clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob().  remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
ragge 913f0b045e DDB support. splddb() and trapcode for ddb. 1995-06-16 15:17:27 +00:00
ragge a412d4803c mtpr support for 11/780 added. DELAY added. mcount() corrected.
trapframe fixed to support all registers.
1995-05-03 19:53:40 +00:00
ragge c362495157 Some bug fixes & update of pcb. 1995-03-30 20:42:55 +00:00
cgd b8403d582b don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information.  This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
1995-03-18 07:22:43 +00:00
ragge 4fb1817e07 Lots of fixes... 1995-02-13 00:43:20 +00:00
ragge ca49094181 Lots of updates & fixes. 1994-11-25 19:08:50 +00:00
cgd d62187c043 new RCS ID format. 1994-10-26 08:01:33 +00:00
ragge 186e16d63e Minor updates of some errouneous parameters. 1994-08-16 23:41:53 +00:00
ragge 8026fb53f2 Initial VAX port merging. 1994-08-02 20:18:46 +00:00