Commit Graph

3251 Commits

Author SHA1 Message Date
bde
33b5d083b8 Added new documented options I586_OPTIMIZED_BCOPY and I586_OPTIMIZED_BZERO.
Added old misnamed option I586_FAST_BCOPY in options.i386.

Added old undocumented CLK* and SI_DEBUG options in LINT.
1996-10-09 18:36:44 +00:00
jkh
9d2a3f5e23 Accept 'Q' or 'ESC' in intro screen as a "Jane, stop this crazy thing!"
request.
1996-10-09 18:31:20 +00:00
bde
f9a9c0927c Enable the i586-optimized bcopy if the cpu is a "586" and option
I586_OPTIMIZED_BCOPY is configured.

Similarly for bzero/I586_OPTIMIZED_BZERO.

Fake 586's had better have a hardware FPU with non-broken exception
handling (we mask exceptions, but broken exception handling may trap
on the instructions that do the masking).  I guess this means that
the routines won't work on most 386's or FPUless 486's even when they
have a h/w FPU.
1996-10-09 18:30:08 +00:00
bde
6b1de9ceec Added i586-optimized bcopy() and bzero().
These are based on using the FPU to do 64-bit stores.  They also
use i586-optimized instruction ordering, i586-optimized cache
management and a couple of other tricks.  They should work on any
i*86 with a h/w FPU, but are slower on at least i386's and i486's.
They come close to saturating the memory bus on i586's.  bzero()
can maintain a 3-3-3-3 burst cycle to 66 MHz non-EDO main memory
on a P133 (but is too slow to keep up with a 2-2-2-2 burst cycle
for EDO - someone with EDO should fix this).  bcopy() is several
cycles short of keeping up with a 3-3-3-3 cycle for writing.  For
a P133 writing to 66 MHz main memory, it just manages an N-3-3-3,
3-3-3-3 pair of burst cycles, where N is typically 6.

The new routines are not used by default.  They are always configured
and can be enabled at runtime using a debugger or an lkm to change
their function pointer, or at compile time using new options (see
another log message).

Removed old, dead i586_bzero() and i686_bzero().  Read-before-write is
usually bad for i586's.  It doubles the memory traffic unless the data
is already cached, and data is (or should be) very rarely cached for
large bzero()s (the system should prefer uncached pages for cleaning),
and the amount of data handled by small bzero()s is relatively small
in the kernel.

Improved comments about overlapping copies.

Removed unused #include.
1996-10-09 18:16:17 +00:00
bde
e8d192466f Don't claim the console when the driver is disabled. The getc/putc
part of the console driver usually works when the driver is disabled,
but the normal read/write part doesn't (it caused a panic).
1996-10-09 15:24:21 +00:00
bde
28e40e3bc6 Added option PROBE_KEYBOARD_LOCK which gives a serial console if the
keyboard is locked.
1996-10-08 22:41:34 +00:00
bde
da493162e3 Saved about 160 bytes by using the gcc-2.7 alignment options. 1996-10-08 22:35:48 +00:00
bde
de8a481c6f Print the dos device number for read failures. 1996-10-08 22:31:31 +00:00
bde
11c65a934b Removed unused arg to badsect(). It wasted 16 bytes.
Staticized badsect().

Avoid warning for benign signed vs unsigned comparison.
1996-10-08 22:25:22 +00:00
bde
34f60067c2 Use the same warning flags as for the kernel. This causes surprisingly
few warnings.
1996-10-08 22:18:34 +00:00
bde
fa51fcfcdd Centralized the definition of CWARNFLAGS into bsd.kern.mk. 1996-10-08 22:09:03 +00:00
bde
f89fc380f7 Fixed pessimized (short) i/o port types. 1996-10-08 21:08:18 +00:00
wollman
1d8ea9950b Fix padding of short packets (PR#1701).
Submitted by: seki@sysrap.cs.fujitsu.co.jp
1996-10-07 17:50:00 +00:00
gibbs
e90a9606df This commit was generated by cvs2svn to compensate for changes in r18781,
which included commits to RCS files with non-trunk default branches.
1996-10-07 02:07:07 +00:00
gibbs
2032d50b04 Advanced Systems Inc. SCSI Controller driver and ISA/VL front end.
I have only tested the ABP5140 card and only with a single CDROM drive
but it seems to work fine.  This driver relies on features found only in
the SCSI branch so will not work in -current until those changes
are brought in.  It also doesn't have any error handling code *yet*.
The goal is to use this driver as the development platform for the new
generic SCSI layer error recovery/handling code.

PCI and EISA front ends will show up as soon as I get my hands on
the cards.  There are also a few issues in the driver that I need
to clear up with AdvanSys before I can suggest sticking one of
these cards in your server. 8-)

Thanks to AdvanSys for releasing this code under a suitable copyright.

Obtained from:  Ported from the Linux driver writen by
		bobf@advansys.com (Bob Frey).
1996-10-07 02:07:07 +00:00
gibbs
66ad0d99e4 Bring in bug fix from 'SCSI' branch. 1996-10-06 22:50:56 +00:00
gibbs
cfd36b1a97 If, during an SDTR negotiation, the target comes back with a response
that is too low for the aic7xxx chip to handle with sync transfers,
negotiate async transfers.
1996-10-06 19:43:36 +00:00
bde
17a63a4cc6 Improved the btodb() and dbtob() macros. I made them give unsigned
[long long] results when I last worked on them, but they are normally
used together with to daddr_t's and off_t's which are signed, so the
unsigned results did little except cause warnings.
1996-10-06 19:24:02 +00:00
bde
c7220f5d81 Cleaned up vm types. Cosmetic.
The main change is from unsigned long unsigned int.  It just needs to
be a 32-bit type and unsigned int is most natural.  Using a non-long
type has the "advantage" of hiding bugs in the "machine-independent"
code where it prints foo_t's using %d or %x.  These bugs are currently
hidden bug not compiling with -Wformat.

I tried changing vm_ooffset_t from long long to unsigned long long, but
that was wrong because vm_ooffset_t needs to be long to match off_t,
although file offsets are never negative.

Reviewed by:	dyson
1996-10-06 19:13:37 +00:00
gibbs
39f7c443bb Bring aic7xxx driver bug fixes from 'SCSI' into current. 1996-10-06 16:38:45 +00:00
bde
5d54c37e3b Fixed build of LINT yet again. getchar() clashed with getchar() in pcvt.
Staticized it in userconfig.  The one in pcvt is unused.

Removed bogus unused arg to getchar().  This should not have compiled
in the USERCONFIG_BOOT case, but the getchar() was also non-prototyped
and defined in K&R style.

Staticized the badly named global variable `next'.  Even static variables
should have a unique module-specific prefix so that they can be referenced
easily in debuggers, etc.
1996-10-06 16:30:15 +00:00
dg
4d37fa0941 Moved a #if for VISUAL_USERCONFIG case...the last commit didn't completely
fix the problem.
1996-10-06 15:27:36 +00:00
jkh
b11d7a0ed1 Conditionalize introfunc on USERCONFIG_BOOT && VISUAL_USERCONFIG 1996-10-06 10:15:27 +00:00
jkh
b9987ee7d0 Document USERCONFIG_BOOT, even though it doesn't belong where it is. ;-) 1996-10-05 11:01:24 +00:00
jkh
92667e3313 Multiple changes stacked as one commit since they all depend on one another.
First, change sysinstall and the Makefile rules to not build the kernel
nlist directly into sysinstall now.  Instead, spit it out as an ascii
file in /stand and parse it from sysinstall later.  This solves the chicken-n-
egg problem of building sysinstall into the fsimage before BOOTMFS is built
and can have its symbols extracted.  Now we generate the symbol file in
release.8.

Second, add Poul-Henning's USERCONFIG_BOOT changes.  These have two
effects:

	1. Userconfig is always entered, rather than only after a -c
	   (don't scream yet, it's not as bad as it sounds).

	2. Userconfig reads a message string which can optionally be
	   written just past the boot blocks.  This string "preloads"
	   the userconfig input buffer and is parsed as user input.
	   If the first command is not "USERCONFIG", userconfig will
	   treat this as an implied "quit" (which is why you don't need
	   to scream - you never even know you went through userconfig
	   and back out again if you don't specifically ask for it),
	   otherwise it will read and execute the following commands
	   until a "quit" is seen or the end is reached, in which case
	   the normal userconfig command prompt will then be presented.

  How to create your own startup sequences, using any boot.flp image
from the next snap forward (not yet, but soon):

	% dd of=/dev/rfd0 seek=1 bs=512 count=1 conv=sync <<WAKKA_WAKKA_DOO
USERCONFIG
irq ed0 10
iomem ed0 0xcc000
disable ed1
quit
WAKKA_WAKKA_DOO


Third, add an intro screen to UserConfig so that users aren't just thrown
into this strange screen if userconfig is auto-launched.  The default
boot.flp startup sequence is now, in fact, this:

	USERCONFIG
	intro
	visual

(Since visual never returns, we don't need a following "quit").

Submitted-By: phk & jkh
1996-10-05 10:44:07 +00:00
dg
b38c34237f Oops, missed a chunk in that last commit. 1996-10-04 14:17:32 +00:00
dg
eefb56463e Implemented a more sophisticated mechanism for finding the chip iobase
so that 32Y boards will work.
Fixed bogus indenting and added a pair of parens.
1996-10-04 10:33:13 +00:00
jkh
f9b9b4c29c Make return or newline synonymous with down-arrow in the value editor.
It's a lot easier to whap through multiple changes if you can use the return
key.
1996-10-03 07:51:40 +00:00
jkh
11e93a3db3 Fix stupid typo. 1996-10-03 01:22:22 +00:00
jkh
32ed919bea Add fxp and vx to list of known device types. 1996-10-03 01:01:01 +00:00
jkh
2639570a5e scresume erroneously used before declared. Move the function
rather than add another APM ifdef just for the forward decl.
[Boy, sure a lot of warnings in here!]
1996-10-03 00:42:27 +00:00
sos
c97ef12c6f Fixed the userconfig problem (and one with ddb as well).
The rudimentary support for a splash page is there, and works, it
just needs a splash page...
1996-10-02 22:00:38 +00:00
jkh
1fa5cda8ef New support for displaying PCI devices without making you insane.
Submitted-by: msmith [bless his heart]
1996-10-02 08:09:09 +00:00
pst
34e1d6fb54 add SC_SPLASH_SCREEN to opt_syscons.h (sigh) 1996-10-02 03:48:09 +00:00
sos
857683bede Fixed the "missing updates" reported by ache.
Moved a little closer to having a splash page capability.
1996-10-01 23:24:09 +00:00
jkh
8dadb394b6 #ifdef another instance of toggle_splash_screen() which Soren missed. 1996-10-01 07:38:14 +00:00
pst
d79a1dfb71 Document the Adaptec driver options for tagged command queueing and SCB
paging (with a warning not to use SCB paging) and create an opt_aic7xxx.h
file for these options.
1996-10-01 03:01:06 +00:00
sos
08863f3e47 Dont make splash screen the default :) 1996-09-30 23:10:35 +00:00
sos
1b6b2c9e3b Fix a couble of nasties regarding mouse pointer and different
resolutions.
Allow middle mouse button to be used for pasting.
Also added the beginnings of support for a splash page.
1996-09-30 23:00:58 +00:00
bde
b5f59abb8b Work around UMC8669F and Startech UART bugs by not writing to the
divisor latch registers if the registers wouldn't change.

Use the default console cfcr setting while setting the divisor
latch registers for console i/o.  Input may be messed up by
transiently changing the cfcr.

Use a usual cfcr setting while setting the divisor latch registers
in the probe.  This shouldn't matter, but this is not the place to
test the UART's handling of 5 bit words.

Removed a stale devfs comment.
1996-09-30 12:22:27 +00:00
bde
834343f74c Whaddya know, visual userconfig sort of supports pci, but the support
was always disabled because "pci.h" wasn't included.  Now the configured
pci devices are listed and you can edit bogus flags for them.

Fixed bitrot in the disabled code.  A used #include was removed and const
poisoning wasn't fixed.

Removed unused #include.
1996-09-30 11:25:19 +00:00
bde
1f72e78389 Added "memory" to clobber list in invlpg(). It needs it if invltlb()
needs it.

Fixed style in invlpg().

Sorted recently renamed functions.

Added prototypes in the non-gcc section for recently added/renamed
functions.
1996-09-29 18:35:07 +00:00
dyson
58c3d8c035 Essentially rename pmap_update to be invltlb. It is a very machine
dependent operation, and not really a correct name.  invltlb and invlpg
are more descriptive, and in the case of invlpg, a real opcode.

Additionally, fix the tlb management code for 386 machines.
1996-09-28 22:37:57 +00:00
bde
fbeded0a86 Restored my change in rev.1.119 which was clobbered by the previous commit. 1996-09-28 15:28:40 +00:00
dyson
087fec3920 Move pmap_update_1pg to cpufunc.h. Additionally,
use the invlpg opcode instead of the nasty looking .byte directives.
There are some other minor micro-level code improvements to pmap.c
1996-09-28 04:22:46 +00:00
bde
091c6db883 Added -I- to ${INCLUDES}. This makes 4.4Lite's (mis?)use of "foo.h"
for headers in the compile directory work unsurprisingly.  Without
-I-, the search for "foo.h" begins in the directory of the file
that includes it, and the compile directory is only searched because
`-I.' is in ${INCLUDES}.

Removed -I$S/sys from ${INCLUDES}.  It was once necessary to find
things like "param.h" in $S/sys.  Now <sys/param.h> is found in $S.
1996-09-27 16:34:16 +00:00
peter
860717e26f Some warning cleanups. There were some needless casts that also caused
gcc -Wcast-qual to scream.  There's still quite a few left, but since I'm
cleaning out my tree, I'll commit these now.
1996-09-27 13:50:59 +00:00
peter
88c942b446 part 2 of the bsdi compat tweak attempt. I believe that BSDI use both
lcall 7,0 (ie: ldt slot 0) and lcall 0x87,0 (ldt slot 16, it's shifted
three bits to the left).  I was fiddling with this so long ago, I don't
recall the specifics.
1996-09-27 13:38:02 +00:00
peter
9a03ada005 Apparently, BSDI have a new system call gate. I was experimenting
with this quite a while ago when somebody reported a BSD/OS 2.1 binary
that wouldn't run.  I'm pretty sure they tried it and I'm pretty sure
they mentioned to me that the patch worked.
1996-09-27 13:33:49 +00:00
peter
98dc36f716 Drat, missed this prototype for random_select(). 1996-09-27 13:29:41 +00:00