Commit Graph

21276 Commits

Author SHA1 Message Date
rat c8b88b5da7 Use snprintf(3) when printing into arrays allocated on the stack.
Patch submitted by David Holland <dholland@hcs.HARVARD.EDU>
1996-07-17 18:46:58 +00:00
explorer 24ff249a08 document AUTONICETIME and AUTONICEVAL sysctls 1996-07-17 18:06:36 +00:00
is a9c73c9405 Being bored, decided to scan the existing drivers for further additions
to the "not configured" list:
Added some devices, replaced an obvious placeholder.
1996-07-17 14:35:01 +00:00
is 397d9b2133 Add two manufacturer/product id combinations which I stumbled over analyzing
an unrelated bug report. This will make kernel startups a bit more readable
in the presence of unsupported hardware.
Information contributed by Andreas Bussjaeger.
1996-07-17 13:33:28 +00:00
chuck b3bed30d80 fixes/update:
- adjust txhiwat and mindma params a bit

 - fixed a couple of incorrectly labeled panic calls

 - the "location" was being calculated incorrectly in some cases (forgot
   to subtract off MID_RAMBASE).   this only caused problem when trying
   to change the size of the tx/rx buffers (e.g. to 64KB).

 - fixed possible non-aligned DMA burst in the starting byte burst case.
        (e.g. if we could DMA 3 bytes, but only have 2 it is not legal
        for us to use MIDDMA_BYTE2 mode).

 - opt: on tx: try and avoid flushing the internal buffer by padding out the
        length of the last mbuf a bit (if possible)
1996-07-17 03:53:39 +00:00
oki 72dd2d1350 XXX grf has some routines call ite function directly.
XXX check whether grf has no associated ite.  fixed PR/2626.
1996-07-17 01:51:43 +00:00
thorpej cc1c24bbec RCS id police. 1996-07-16 23:23:55 +00:00
chuck 1e5c811090 midway fixes + new stuff:
- merged multiple DRQ/DTQ ADD macros into a single DRQ and a single DTQ
   macro with a uniform interface to make the code simpler and easier to read.

 - en_start: only update atm_flags if EN_MBUF_OPT is enabled (which it
        should be)

 - for alburst: make sure we don't DMA more bytes than we need (on both
        tx and rx).   if the alburst is larger than we need, drop to
        MIDDMA_WORD mode.

 - major change: enable the use of byte and 2 byte DMA on the trasmit side.
   this allows us to DMA from non-word sized/aligned mbufs directly.
   [the old code would always call en_mfix which would copy (or move) the
    data in order to ensure proper alignment...   it turns out TCP gives
    us non-word sized/aligned mbufs when it is retransmitting, so we needed
    to handle this case more efficiently.]    the following functions
   were changed to make this work:
    - en_dqneed: add an arg to let us know if we are transmitting or not.
        if we are TX, then we must take into account byte DMAs when
        estimating the number of DTQs we will need for a buffer
    - en_start: only mfix mbufs if DMA is disabled
    - en_txdma: only set launch.nodma if we have en_mfix'd the mbuf chain
        also, we may need a DTQ to flush the chip's internal byte buffer
    - en_txlaunch: only attempt a copy if we have the proper alignment.
        add byte dma code for the front and end of the buffer.
        make sure the internal dma buffer is flushed out.
    - stats: keep track of how many times we have to use byte sized DMA

midwayreg:
 - add byte/2byte DMA defines

midwayvar:
 - add new stat counter to monitor less-than-word lengthed DMA
1996-07-16 22:11:05 +00:00
explorer 58400ed329 Increase FD_SETSIZE to 2048 from 256 -- might require a library recompile 1996-07-16 17:04:17 +00:00
oki 4e7614daa6 call Debugger() with options DDB, added #ifdef. 1996-07-16 16:29:16 +00:00
oki de609f142b From Ignatios Souvatzis <is@NetBSD.ORG>:
properly distinguish between a bus error and an MMU fault
	on systems with 68030 MMU
1996-07-16 16:18:34 +00:00
mhitch e4de48ff39 Don't flush the 53C94 fifo when starting dma_in. The fifo data is valid
at that point, and flushing the fifo will hang the system.
1996-07-16 15:20:38 +00:00
cgd 2549add59e rework bootstrap/startup process to match the BSD pmap startup model.
start adding back in tracing printfs.  add support for the virtual page
table.  Now it gets to user-land code, but fails because i've not
added support to the context switch code to activate and deactivate pmaps.
1996-07-16 04:51:16 +00:00
cgd 6713334e56 if !OLD_PMAP set up proc0 pcb asn and ptbr before return to assembly. 1996-07-16 04:42:49 +00:00
cgd f385991329 do TBIA rather than TBIAP after initial context switch 1996-07-16 04:40:32 +00:00
cgd b23ddc2150 regen for updated pcidevs 1996-07-15 22:55:14 +00:00
cgd da383d28de clean up, sort a few entries. Add many new entries, based on information
gleaned from the XFree86 3.1.2E release.
1996-07-15 22:52:16 +00:00
ws 7d29fb5aaa Allow renaming when destination exists.
Fixes PR#2629
1996-07-15 19:12:13 +00:00
cgd effd413ecd before #defining the vtophys() hack for the alpha, #undef vtophys since
it may be a macro.
1996-07-15 16:40:27 +00:00
ragge ce30ddd46b Obsoleted by now. 1996-07-15 11:50:40 +00:00
ragge 640bda0d46 Put in boot support for VAX 8200. 1996-07-15 11:11:01 +00:00
cgd 892dd0455b add FIX_UNALIGNED_VAX_FP. It wastes space, but hey, this kernel includes
netweird...
1996-07-15 08:32:30 +00:00
cgd c087540e8c actually implement code to handle unaligned VAX FP reg loads and stores.
Not tested yet, but also not compiled into the standard kernel.
1996-07-15 08:28:09 +00:00
leo 5a1a623e41 keymap -> keymaps 1996-07-15 06:35:43 +00:00
leo a8ea317ed4 keymap -> keymaps 1996-07-15 06:24:07 +00:00
cgd 60bbd380f2 pull up bug fix from libkern:
>frob the mask so that only the low set bit is set, to avoid lossage.
1996-07-15 05:21:09 +00:00
cgd a906c164d2 frob the mask so that only the low set bit is set, to avoid lossage. 1996-07-15 05:20:19 +00:00
cgd 3f38b4d7ad add an assembly version of ffs(), copied down from libc 1996-07-15 03:13:41 +00:00
cgd 2f6bb217b1 add an assembly version of ffs(). 1996-07-15 03:13:15 +00:00
cgd 14c123b28d include all PCI drivers that actually compile, clean up list, alphabetize,
and add descriptions.
1996-07-14 21:14:46 +00:00
cgd 6be650149e include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.
1996-07-14 20:20:10 +00:00
cgd ec9e01a05f #ifdefs are not allowed in macro invocations. 1996-07-14 20:13:08 +00:00
cgd 8ab5d16b77 insert the normal NetBSD/Alpha vtophys() hack, so that this will compile
and link nicely on the Alpha.  It may even run, if well written.
1996-07-14 20:05:31 +00:00
cgd ba9149a53e treat all "chipset drivers" similarly: include their file specs
up with the definitions of their attributes.  Previously, this was done
for most but not all, and there was no good reason to be inconsistent.
1996-07-14 20:03:44 +00:00
cgd ce626bee48 rename translation buffer invalidation macros to start with ALPHA_,
like all other macros defined in alpha_cpu.h.
1996-07-14 20:00:15 +00:00
cgd f632c1cea9 fix bogus casts from pointer to unsigned int. Use unsigned long for this. 1996-07-14 19:36:56 +00:00
cgd 4285a42e76 alphabetize by driver name 1996-07-14 19:13:22 +00:00
ragge 667d9ae775 Put in mt additions. Remove tms. 1996-07-14 13:58:38 +00:00
cgd c62727acea print the label for the opcode in unaligned access printf as "op" not "type" 1996-07-14 04:36:21 +00:00
cgd 0fb84b3c3f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:22:12 +00:00
cgd 6cb84cdd13 (1) Removed unused (and not likely useful) PALcode assembly stubs.
(2)     Minor cleanup.
1996-07-14 04:21:53 +00:00
cgd b431daf1d1 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add a boot flag ('H' and 'h') to make sure the kernel never
reboots after panic.  Useful for debugging kernels which panic early
on after user processes have started, to fend off infinite reboot cycles.
Sort boot flag switch.
(3)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:21:33 +00:00
cgd 2db316d75f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Clean up interrupt handling slightly.
(3)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(4)     Minor cleanup.
1996-07-14 04:21:09 +00:00
cgd 775cca7853 (1) Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(2)     Clean up interrupt handling slightly.
(3)     Clean up badaddr().
1996-07-14 04:20:40 +00:00
cgd 43588a48d5 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
1996-07-14 04:20:22 +00:00
cgd 3a2af0734c (1) Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(2)     Minor cleanup.
1996-07-14 04:15:27 +00:00
cgd 5beb1a522c (1) Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:15:10 +00:00
cgd 5a367fefb1 (1) Clean up interrupt handling slightly.
(2)     Clean up badaddr() definition.
1996-07-14 04:12:59 +00:00
cgd deb9f8f4b6 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(3)     Removed unused (and not likely useful) PALcode assembly stubs.
1996-07-14 04:12:46 +00:00
cgd 43dae279eb (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
1996-07-14 04:12:03 +00:00