Commit Graph

338 Commits

Author SHA1 Message Date
David Greenman
03cfe1fd06 Change filesystem buffer cache size calculation to be less for 4MB
machines (now 20% of all memory after the first 3MB). This is necessary
in order for 4MB machine to be able to rebuild the entire source tree
and not run out of physical memory because of fixed memory requirements
of processes and kernel VM.
1993-10-29 08:58:34 +00:00
Jordan K. Hubbard
4506032117 Update to latest Linux sound driver 2.0 1993-10-29 03:44:07 +00:00
Rodney W. Grimes
2110b1cd9d Put back the $Id$ strings 1993-10-28 06:15:14 +00:00
Rodney W. Grimes
e7e96f200b Put back the $Id$ string 1993-10-28 06:11:38 +00:00
Jordan K. Hubbard
33853f9752 This is syscons version 1.1 1993-10-28 05:27:36 +00:00
Rodney W. Grimes
ce0dbe6e66 Fix for 1542C support, it turns out that the 0x8 extended bios flag is only
set when extended translation is turned on, thus we need to do the mailbox
unlock command no matter what value is in the extended bios flag byte as
the other extensions (ie, > 2 drive support) cause the same problems.

The code has been changed to ALWAYS unlock the mailbox interface on ALL
1542C class boards.
1993-10-28 02:38:36 +00:00
Nate Williams
256a080003 Added character 21 to conf.c table for future ps/2 mouse driver. This
finishes the install of the device short of adding the driver itself to
i386/isa/psm.c
1993-10-26 22:25:20 +00:00
Nate Williams
a777901110 Bad kludge to work around the alternative wd driver problems 1993-10-26 21:27:07 +00:00
Nate Williams
d6e9fac5ef Added alternative wd driver (called wx due to device name limitations)
This will be removed when a single driver that works on all hardware can
be verified
1993-10-26 21:26:19 +00:00
Nate Williams
f13a87bc86 Added ps/2 mouse driver file to finish off what Jordan started before
The driver will have to come after it's probe routine has been written.
1993-10-26 21:24:34 +00:00
Jordan K. Hubbard
92f1946205 From: Amancio Hasty Jr <hasty@netcom.com>
Make sure calls to gus_voice_irq() are protected from interrupts.
1993-10-24 19:38:06 +00:00
Paul Richards
73b69d9921 Removed #define ISDEBUG from top of file, should be config option
to get debugging code compiled in.

Moved bpfilter.h out of ifdef'd code so it can be seen.
1993-10-24 04:42:32 +00:00
Paul Richards
568eb51a26 Moved allocation of memory into is_attach so that malloc gets
called once when card is attached. Solved problem with driver
getting hosed when a reset takes place.

Removed init_block array -- now part of malloced memory. No more
static declarations left.

Added code so that debug ioctl actually does something.
ifconfig is0 debug will now switch on debugging code.

Other general cleanups.
1993-10-24 04:27:00 +00:00
Jordan K. Hubbard
e597e9115d Needed to bump symtab space even more (to 102452). 1993-10-23 22:55:43 +00:00
Jordan K. Hubbard
355ef93e2a Enable mpu401 driver. 1993-10-23 22:21:00 +00:00
Jordan K. Hubbard
3568631904 Enabled all sound drivers by default. 1993-10-23 22:20:47 +00:00
Jordan K. Hubbard
4ec867953a Fixed up to at least compile (can't test) properly for FreeBSD 1993-10-23 22:13:42 +00:00
Jordan K. Hubbard
5f42fb024b Moved sound driver from major 21 to major 30 1993-10-23 22:13:08 +00:00
Jordan K. Hubbard
dd442d34e7 Removed comments from LINT file, left small example for SoundBlaster
in its place and moved commentary into /sys/i386/doc/sound.doc
1993-10-23 21:21:52 +00:00
Jordan K. Hubbard
1cdd75d714 Made kernel printf's more closely follow standard BSD convention. 1993-10-23 21:11:49 +00:00
Rodney W. Grimes
9c2d9218cc Put the sound stuff in alpabetic order. 1993-10-23 20:31:17 +00:00
Jordan K. Hubbard
6b8afe4d37 This is the Linux generic soundcard driver, version 1.0c. Supports
SBlaster/Adlib/ProAudio Spectrum/Gravis/etc cards.  This is a BETA test
driver, please test it and get back to me!
1993-10-23 10:55:52 +00:00
Jordan K. Hubbard
dad544ec41 Soundcard driver include file (/usr/include/machine/soundcard.h) 1993-10-23 10:50:21 +00:00
Jordan K. Hubbard
e59b35bd07 New soundcard driver at major device 21 1993-10-23 10:49:24 +00:00
Jordan K. Hubbard
ce551cce65 Add config + files information for new Linux soundcard driver 1993-10-23 10:49:01 +00:00
Nate Williams
85c856e747 Removed un-necessary dependencies for assym.s 1993-10-23 08:28:17 +00:00
Nate Williams
b0da334790 Reverted back to older version of ./genassym, instead of ./genassym.o
since make depend wasn't picking up any new dependencies.  However, due
to a bug in the old code, the original dependencies weren't being used, so
this version is better than the original and the lastest version.
(And is more readable as well)
1993-10-23 06:46:24 +00:00
David Greenman
2bcdabe146 * Revision 2.11 1993/10/23 04:21:03 davidg
* Novell probe changed to be invasive because of too many complaints
 * about some clone boards not being reset properly and thus not
 * found on a warmboot. Yuck.
 *
 * Revision 2.10  1993/10/23  04:07:12  davidg
 * increment output errors if the device times out (done via watchdog)
 *
 * Revision 2.9  1993/10/23  04:01:45  davidg
 * increment input error counter if a packet with a bad length is
 * detected.
1993-10-23 04:52:41 +00:00
Nate Williams
e2aa2f4e4e Updated LINT to have the mse0 config line 1993-10-19 19:49:24 +00:00
Nate Williams
eb77639e83 This is my patched version of a busmouse driver originally by Rick Macklem
(rick@snowhite.cis.uoguelph.ca).  I am currently using it with a Microsoft
InPort busmouse, under FreeBSD Epsilon.  I hadn't planned on supporting it,
but I have patched it a few times, and I guess this is now the de facto
reference version, so send me any problems or improvements.

                                                        - Gene Stark
                                                          stark@cs.sunysb.edu
                                                          October 9, 1993
1993-10-19 19:46:49 +00:00
Rodney W. Grimes
2ce29564c2 Add ie0 to standard kernels, this is the ATT starlan/ethernet driver
from Garrett Wollman.
1993-10-19 01:28:09 +00:00
Paul Richards
e5e0d5829e Free malloc'ed memory when resetting card. 1993-10-18 22:48:48 +00:00
Rodney W. Grimes
ec43e20a66 Correct config line for ie0 per Garrett Wollman. 1993-10-18 22:46:58 +00:00
Rodney W. Grimes
965b29039e >From: Julian Elischer <julian@jules.dialix.oz.au>
Date: Tue, 19 Oct 1993 02:22:41 -40962758 (WST)

As the subject line says:
I can;t believe this typo is still here.

Has NOBODY used the isa_dmastart() routine for 16bit DMA?

I know I just hit the dma regs directly for the AHA1542,
and it appears that either everybody else does as well, or
they only use 8bit DMA (e.g. floppy)

Editors Note:
	The definition of DMA2_CHN was incorrectly using IO_DMA1!
1993-10-18 18:45:48 +00:00
David Greenman
519471cc84 Yank out Christoph Robitschko's hack for the hanging console problem as
it didn't actually fix it, and because starting the getty on /dev/console
instead of /dev/vga is a good work-around.
1993-10-18 14:21:48 +00:00
Jordan K. Hubbard
538430ae1a Patch from stever@csuohio.edu (Steve Ratliff) to make FAT_CURSOR work
on HDA/CGA displays.
1993-10-18 02:19:54 +00:00
Paul Richards
1697bdcd61 Modified memory allocation to use malloc rather than a static array. 1993-10-17 22:22:46 +00:00
Rodney W. Grimes
dd05fde699 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 19:17:18 +00:00
Rodney W. Grimes
34a8ed1be1 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 14:40:57 +00:00
Rodney W. Grimes
47cacd3854 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 14:15:10 +00:00
Rodney W. Grimes
6f78ca6026 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 13:48:52 +00:00
Rodney W. Grimes
9157622183 Add:
device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr
1993-10-16 12:28:35 +00:00
Rodney W. Grimes
8b80a85bb0 Disable the aha_set_speed code since it breaks more than it fixes. 1993-10-16 12:27:20 +00:00
Rodney W. Grimes
902e518080 Enable mcd0 (Mistumi CDROM) since we now have load space for it 1993-10-15 12:47:02 +00:00
Rodney W. Grimes
6de3bf82d0 Dont just mask the Megabyte, we need all the bits below too,
and ELIMITNATE THE 28K BOGOUSITY.
1993-10-15 12:33:03 +00:00
David Greenman
836e51b4a3 * Revision 2.8 1993/10/15 10:59:56 davidg
* increase maximum time to wait for transmit DMA to complete to 120us.
 * call ed_reset() if the time limit is reached instead of trying
 * to abort the remote DMA.
 *
 * Revision 2.7  1993/10/15  10:49:10  davidg
 * minor change to way the mbuf pointer temp variable is assigned in
 * ed_start (slightly improves code readability)
 *
 * Revision 2.6  93/10/02  01:12:20  davidg
 * use ETHER_ADDR_LEN in NE probe rather than '6'.
1993-10-15 11:06:41 +00:00
Rodney W. Grimes
960173b9b2 genassym.c:
Remove NKMEMCLUSTERS, it is no longer define or used.

locores.s:
	Fix comment on PTDpde and APTDpde to be pde instead of pte
	Add new equation for calculating location of Sysmap
	Remove Bill's old #ifdef garbage for counting up memory,
	that stuff will never be made to work and was just cluttering
	up the file.

	Add code that places the PTD, page table pages, and kernel
	stack below the 640k ISA hole if there is room for it, otherwise
	put this stuff all at 1MB.  This fixes the 28K bogusity in
	the boot blocks, that can now go away!

	Fix the caclulation of where first is to be dependent on
	NKPDE so that we can skip over the above mentioned areas.
	The 28K thing is now 44K in size due to the increase in
	kernel virtual memory space, but since we no longer have
	to worry about that this is no big deal.

	Use if NNPX > 0 instead of ifdef NPX for floating point code.

machdep.c
	Change the calculation of for the buffer cache to be
	20% of all memory above 2MB and add back the upper limit
	of 2/5's of the VM_KMEM_SIZE so that we do not eat ALL
	of the kernel memory space on large memory machines, note
	that this will not even come into effect unless you have
	more than 32MB.  The current buffer cache limit is 6.7MB
	due to this caclulation.

	It seems that we where erroniously allocating bufpages pages
	for buffer_map.  buffer_map is UNUSED in this implementation
	of the buffer cache, but since the map is referenced in
	several if statements a quick fix was to simply allocate
	1 vm page (but no real memory) to it.

pmap.h
	Remove rcsid, don't want them in the kernel files!

	Removed some cruft inside an #ifdef DEBUGx that caused
	compiler errors if you where compiling this for debug.

	Use the #defines for PD_SHIFT and PG_SHIFT in place of
	constants.

trap.c:
	Remove patch kit header and rcsid, fix $Id$.
	Now include "npx.h" and use NNPX for controlling the
	floating point code.

	Remove a now completly invalid check for a maximum virtual
	address, the virtual address now ends at 0xFFFFFFFF so
	there is no more MAX!!  (Thanks David, I completly missed
	that one!)

vm_machdep.c
	Remove patch kit header and rcsid, fix $Id$.
	Now include "npx.h" and use NNPX for controlling the
	floating point code.

	Replace several 0xFE00000 constants with KERNBASE
1993-10-15 10:34:29 +00:00
Rodney W. Grimes
d42d25c451 param.h:
Mark the fact that PGSHIFT and PDRSHIFT are really the same as
PG_SHIFT and PD_SHIFT, these should be collapsed some day soon.

Document that KERNBASE should really be KPTDPTDI << PDRSHIFT, for
now leave it as the constant 0xFE000000 until I make a seperate
common header file for this stuff (vmaddresses.h?)

Remove NKMEMCLUSTERS define, it was only being used to define
VM_KMEM_SIZE, so why have all the indirection.  Besides who wants
to work in CLBYTE sizes chuncks.


pmap.h:

Fix $Id$ and some other minor format clean ups.

Remove the XXX comment about NKPDE, since it now has the correct value
of 7.

Remove unused LASTPTDI and move the APTD into the very end of memory to
free up 4MB of kernel virtual address space.
Remove unused RSVDPTDI and free up 12MB of kernel virtual address space.


vmparam.h

Fix $Id$.

Increase SHMMAXPGS to 512 (2MB) now that there is room for it to be
bigger.  The XXX comment stays until the kernel moves down in memory
to free up enough space to use the proper default of 4MB.

VM_KMEM_SIZE is now a direct constant stating the size of the kernel
malloc region.  Increased the value from 3MB to 16MB.
1993-10-15 10:07:45 +00:00
Rodney W. Grimes
37378adeb5 Add detection code for what model of AHA154X/Z we are running on,
then use that information to fix the enhancemode features of the
1542C/CF boards by turning them off.

When doing this I found that the Buslogic 545S does NOT properly
mimic the 1542 families AHA_INQUIRE command.  It only returns 1
byte of information, when the adaptec manual clearly states that 4
bytes are to be returned.  I added a printf that explains the error
when we see a 545S for now, I tried to come up with a better solution,
but it involved to much work for now.
1993-10-15 09:43:51 +00:00
Rodney W. Grimes
9f2d973525 Moved wt0 (Wangtek/Archive tape driver) to be with the rest of the
bio (block I/O) devices.

Added mcd0 (Mitsumi CDROM driver) but commented it out since there is not
enough room in this kernel for it.
1993-10-14 21:59:50 +00:00
Rodney W. Grimes
cd632cb9fb >From David Greenman
Bruce Evans had limited the kernel virtual address space to not include the
last 4MB since it was not being used.  Other changes are being made that will
reloate the Alternate Page Directory Table (APDT) into this area so the limit
is being fixed to be the last virtual address. (Infact with this patch you
can now do that relocation)
1993-10-14 18:15:35 +00:00
Rodney W. Grimes
9a91485c70 Remove machdep.c from files.i386 and put machdep.o in the SYSTEM_OBJS
line of Makefile.i386.  Fixes the extra rule that gmake complains about
for machdep.o.  This fix is from Joans 0lsson.

Rework the depends and rules for assym.s and genassym so that we now use
the .depend rule for genassym.o such that if you change any header files
that are included by genassym.c the right things happen.  This is probably
what has caused more bad kernel builds than any other thing in the
Makefile.i386!
1993-10-14 17:09:55 +00:00
Rodney W. Grimes
2fa5acb59a Move the wt0 (archive/wangtek tape driver) so that it is with the
other bio type devices.

Add mcd0 (mitsumi cd rom driver), to bad that GENERICBT is to large,
otherwise I could add this driver to it too.
--- 72,77 ----
1993-10-14 14:05:44 +00:00
David Greenman
cc44412791 Disassociate DTR and RTS. They were coupled together and shouldn't have
been. This was necessary to work around problems with some equipment
that don't respond favorably to having these both dropped simultaneously.
1993-10-14 09:13:54 +00:00
Rodney W. Grimes
08222b297c Surround printf for uha_init board not responding printf with #ifdef UHADEBUG,
since the main line probe code now tells you it did not find one.
1993-10-14 00:07:04 +00:00
Rodney W. Grimes
b200ffec79 Increase the DELAY that supposedly makes the Bustek 545 work from
1ms to 10ms.  I have my doubts, but oh well.
1993-10-13 16:34:10 +00:00
Rodney W. Grimes
5c644711a9 ALL:
Removed patch kit headers and rcsid strings, add $Id$.

isa.c:

Removed old #ifdef notyet isa_configure code, since it will never be
used, and I have done 90% of what it attempted to.

Add conflict checking code that searchs back through the devtab's looking
for any device that has already been found that may conflict with what
we are about to probe.  Checks are mode for I/O address, memory address,
IRQ, and DRQ.  This should stop the screwing up of any device that has
alread been found by other device probes.
Print out messages when we are not going to probe a device due to
a conflict so the user knows WHY something was not found.  For example:

aha0 not probed due to irq conflict with ahb0 at 11

Now print out a message when a device is not found so the user knows
that it was probed for, but could not be found.  For example:

ed1 not found at 0x320

For devices that have I/O address < 0x100 say that they are on the
motherboard, not on isa!  The 0x100 magic number is per ISA spec.  It
may seem funny that pc0 and sc0 report as being on the motherboard, but
this is due to the fact that the I/O address used is that of the keyboard
controller which IS on the motherboard.  We really need to split the
keyboard probe from the display probe.  It is completly legal to build
a pc with out one or the other, or even with out both!

npx.c:

Return -1 from the probe routine if we are using the Emulator so
that the i/o addresses are not printed, this is the same trick used
for 486's.

Do not print the ``Errors reported via Exception 16'', and
``Errors reported via IRQ 13'' messages any more, since these just lead
to more user confusion that anything.  It still prints the message
``Error reporting broken, using 387 emulator'' so that the person is
aware that there mother board is ill.
1993-10-13 15:59:30 +00:00
Rodney W. Grimes
e5ff3be604 Removed hack that did the R_SHIFT of unsigned numbers, no longer need
to do this as I have changed to using PDTI's as the bases for the vm
system layout.

Eliminate constants SYSPDROFF and SYSPDREND, now use NKPTE to control the size
of the kernel virtual space.

Eliminate constant PDRPDROFF, now use PDTDTPI to control location of PTD,
PTDmap and PTDpde

Eliminate constant APDRPDROFF, now use APTDPTDI to control location of APTD,
APTDmap and APTDpde.

Still need to fix Sysmap location (it is still a constant).

.globl statements are now consistent with respect to <comma><space>, the
<space> being removed from all .globl statements.

Document the fillkpt macro as to what registers control what.

Fix some comments that went past column 80, and clean/line some others up.

Remove constand for _Crtat, now use KERNBASE+constant, this still needs work.

Replace constants for offsets of sigcode parameters with symbolic names
from assym.s

Mark the sigreturn() call with XXX since we use the hardcoded constant
for the system call number, this is bogus and should be a #define or
something some place!

The kernel before and after this change was verified with cmp, not one
byte changed.  These are all cosmetic clean up changes that makes the
code more correct and easier to move the kernels virtual address space
and size.
1993-10-13 07:11:11 +00:00
Rodney W. Grimes
c1c1b7df77 Add Page Table Directory Indexes (NKPDE, KPTDI, PTDPTDI, APTDPTDI) to
be used to replace more constants in locore.
1993-10-12 15:33:18 +00:00
Rodney W. Grimes
a27df7823f KPTDI_LAST renamed to KPTDI 1993-10-12 15:09:37 +00:00
Rodney W. Grimes
988d75b3d6 Eliminate definition of I386_PAGE_SIZE and use NBPG instead
Cleaned up tabs vs spaces after #define to make file consistent.
Removed now unused definitions of I386_PAGE_SIZE and I386_PDR_SIZE

Note That these two where unused and had the wrong values anyway!
Changed I386_KPDES to NKPDE
Changed I386_UPDES to NUPDE

Redid constant assignments of *PTDI's to be sizeable and relative.
1993-10-12 13:58:01 +00:00
Rodney W. Grimes
9aa17d68ce Eliminate definition of I386_PAGE_SIZE and use NBPG instead
Replace 0xFE000000 constants with KERNBASE
Use new definition NKPDE in place of a first-last+1 calculation.
1993-10-12 13:53:25 +00:00
Rodney W. Grimes
da73bf46a5 Fixed PHYSTOKV, addition operator on pointers is the wrong thing to do
here.  This is really a crock, but it works.
1993-10-12 12:08:16 +00:00
Rodney W. Grimes
7a94ec038f Remove erronous definitions of PHYSTOKV, correct one is in param.h now. 1993-10-12 07:15:38 +00:00
Rodney W. Grimes
d529c3d85c Add PHYSTOKV used in scsi drivers with a correct definition based on
KERNBASE.

Change #define<tab> to #define<space> on lines that had it wrong
1993-10-12 07:13:12 +00:00
Rodney W. Grimes
b05fb556cf Use KERNBASE for locating stuff in kernel virtual memory, not hard coded
constants.
1993-10-12 06:59:36 +00:00
Rodney W. Grimes
963a0adea5 i82586 support file for Garrett Wollmans ie driver 1993-10-12 06:53:10 +00:00
Rodney W. Grimes
e191da859f > Gcc2 generates memcpy calls when doing some structure copying in the
> code. As this memcpy generation is done by the compiler it doesn't
> work to have memcpy a macro. Instead I made it a static function that
> calls bcopy.

Okay, I tracked down the d*mn thing that is causing the memcpy to be
emmitted by gcc2.  In the following patch is a fix to eliminate the
one place that was causing gcc to do the memcpy in function ie_readframe
for the ie_recv_frame_desc rfd = *(ie->rframes[num]) structure copy.

I also fixed the code so that the NS (XNS) support would compile with
out error and removed the cruft #define ns_* stuff from the softc
structures (I did this a while back for all the other either drivers)

Removed the $Log$ and all of the old log stuff, that is all kept in
the cvs tree, no need to duplicate it in the file... I'll copy it
into my commit message so that it is all retained, except the
revision numbers are going to get screwed up.

It now compiles cleanly under my LINT kernel...

>  I have not yet tested this on the AT&T fiver cards yet. But, Wollman
> has used it on various other AT&T cards. I'm pretty sure Terry also
> uses this driver.

$Log$ stuff from Garretts original file
 * $Log$
 * Revision 1.32  1993/06/20  15:56:15  wollman
 * Fixed warning message.
 *
 * Revision 1.31  93/06/20  15:52:28  wollman
 * More compilation lint.
 *
 * Revision 1.30  93/06/20  15:48:16  wollman
 * Commented all the rest of the cast-qual warnings.  Might be
 * fixed someday by changing the prototypes of bcopy(), bzero(), etc.
 *
 * Revision 1.29  93/06/20  15:40:13  wollman
 * Started fixing some of the cast-qual warnings (most just commented).
 *
 * Revision 1.28  93/06/12  20:39:14  wollman
 * Changed definition of MK_24 to silence -Wcast-qual.
 *
 * Revision 1.27  93/06/08  17:05:57  wollman
 * Attach routine now returns void.
 *
 * Revision 1.26  93/06/08  16:31:21  wollman
 * Deleted attempt to set watchdog timer, since we don't use it.
 *
 * Revision 1.25  93/04/16  22:15:31  wollman
 * Fixed infinite loop in iestart() which would cause the transmitter
 * to constantly step on the Ethernet, sending the same two packets over
 * and over again.  This crashes the router (really!) and makes other
 * network users very angry.
 *
 * Revision 1.24  93/04/14  23:57:47  wollman
 * Increased transmit buffer size from 1504 to 1512, just in case I don't
 * understand how the MTU is used.
 *
 * Revision 1.23  93/04/14  23:16:19  wollman
 * Fix iestart() so that it only tries to execute a command if one was
 * queued up (oops...).
 *
 * Revision 1.22  93/04/14  23:02:16  wollman
 * Unknown changes.
 *
 * Revision 1.21  93/04/12  18:29:33  wollman
 * Added multiple transmit commands.  Note that they are always queued in
 * pairs (there are only two to begin with), and the I flag is only set
 * on the second one.  This should decrease interrupt activity somewhat.
 *
 * Revision 1.20  93/04/12  15:36:05  wollman
 * Changed setup of config block to take into account difference between
 * StarLAN (10BASE-T) and Ethernet: StarLAN is Manchester, Ethernet is NRZ.
 *
 * Revision 1.19  93/03/23  18:58:44  wollman
 * Raised count of receive buffers from 32 to 48 and included analysis of
 * memory usage in a comment near that definition.
 *
 * Revision 1.18  93/03/18  03:59:53  wollman
 * Last try to get large TCP windows to work...
 *
 * Revision 1.17  93/03/18  03:54:10  wollman
 * Added RNR processing as a part of receive interrupts.  Hopefully this
 * will make everything Just Work now.
 *
 * Revision 1.16  93/03/18  03:23:24  wollman
 * Still having problems with RNR conditions.  Basic problem: say we
 * set TCP window to 16k, which is a semsible value.  Then smart
 * partners will blast 16k to us, of which we can fit 8k minus a bit
 * into our buffers.  (Need to look at that memory map..)  So, we get
 * an RNR interrupt.  The problem is, what do we need to do in this case?
 * The original code doesn't work, but it doesn't hang the system either.
 *
 * Revision 1.15  93/03/18  02:37:00  wollman
 * Disabled watchdog timer.  This gets called from a timeout somewhere,
 * which is running up at softclock.  This is at a higher priority than
 * we are, so we can get interrupted in the process of receiving something
 * by the timer expiration, which is not a nice thing to have happen.
 * Question: how can we keep this functionality, but do it in sync with
 * our interrupts?  (Ugh!)
 *
 * Revision 1.14  93/03/18  02:35:46  wollman
 * Fixed some more problems with receive code---it works!
 *
 * Revision 1.13  93/03/17  20:15:59  wollman
 * Think we fixed the serious (showstopper) bugs in 1.12.
 *
 * Revision 1.12  93/03/15  17:45:39  wollman
 * Changed filtering logic dramatically to avoid the unnecessary copyin
 * for BPF or multicast routing when the packet is not for us.  (We
 * have to run in promiscuous mode in this case.)  We still need to
 * deal with the problem of allocating one mbuf per receive buffer;
 * we should be able to get away with a single mbuf for all reasonable
 * incoming packets, and using an mbuf cluster will help avoid unnecessary
 * copying of data.
 *
 * Revision 1.11  93/01/30  20:23:15  wollman
 * Fiddled with reset code to hopefully make it work better when the
 * watchdog timer expires.  Question: why does it make a difference that
 * we do the same thing through ieioctl() as we were doing before.  The
 * old code, when iereset() was called, the receive unit would completely
 * die.  But, a cycle of ifconfig ie0 down ; ifconfig ie0 up' would bring
 * things back to normal.  So, we try to mimic that now.  Grrr...
 *
 * Revision 1.10  93/01/29  17:26:50  wollman
 * Finally fixed multicast routing/BPF mb_map full problem!!!!
 * It turned out that, when we received a packet not for us, we
 * would just return from ie_readframe(), *WITHOUT* freeing the
 * mbuf that the packet was in.  So, when running in promiscuous
 * mode (i.e., multicast routing or BPF without -p), we would have
 * (on our extremely busy subnet 4) a memory leak of epic proportions.
 *
 * We now hold on to a single mbuf chain allocated in this way,
 * and the next time a packet is read, we free it.  Also, the
 * next time a packet is transmitted, we free it.  This way,
 * we never lose more than 6 mbufs total (and on average more like
 * 3).
 *
 * Revision 1.9  93/01/23  14:22:21  wollman
 * Added some StarLAN Fiber modifications from L. Jonas Olsson.
 *
 * Revision 1.8  93/01/23  14:02:34  wollman
 * Added support for IP multicasting.
 *
 * Revision 1.7  92/11/21  17:51:59  wollman
 * Added StarLAN Fiber version point to my driver.
 *
 * Revision 1.6  92/11/20  18:21:45  wollman
 * Fixed documentation, made out-of-mbuf condition an error.
 *
 * Revision 1.5  92/11/20  18:14:02  wollman
 * Move change of ethertype to host byte order so that it's after
 * bpf_mtap.  Hopefully, this will allow us to listen to incoming
 * IP packets.
 *
 * Revision 1.4  92/11/20  18:11:00  wollman
 * Added code to drop packets when we run out of mbufs rather than
 * panicking.  This should alleviate the problems observed when using tcpdump.
 *
 * Revision 1.3  92/11/14  14:12:40  wollman
 * Added BPF support code.
 *
 * Revision 1.2  92/11/14  13:30:26  wollman
 * Added RCS keywords
 *
1993-10-12 06:52:34 +00:00
David Greenman
357eebce38 incorporated patches from Marc Frajola (marc@escargot.rain.com) to
unset TS_TBLOCK when the RBLEN falls below the low water mark.
1993-10-12 06:32:28 +00:00
Rodney W. Grimes
5e89f9d804 Add ie0 (ATT ether net driver) and mcd0 (Mitsumi cd rom driver) 1993-10-12 06:24:02 +00:00
Rodney W. Grimes
54b7aa6d2b Mitsumi cd rom driver from Holger Viet as fixed up by Gary Clark II.
Still a little rought, but it seems to be working.
1993-10-12 06:08:31 +00:00
Rodney W. Grimes
965373a89e Add support for Holger Viets mitsumi cd rom driver as prepared by Gary
Clark II.
1993-10-11 07:39:13 +00:00
Rodney W. Grimes
460346376e Add support for mitsumi cd rom driver from Holger Viet, as fixed up by
Gary Clark II.
1993-10-11 06:19:40 +00:00
Rodney W. Grimes
64e154d67b Fixed the options hd(1,... to be more accurate (removed word options it
now reads:

printf("use hd(1,a)/386bsd to boot sd0 when wd0 is also installed\n");

I know the person wanted more explination, but there is little room in
the boot blocks for verbose text!
1993-10-11 02:43:42 +00:00
Rodney W. Grimes
0d0a2b1998 Added if_ie entry for Garett Wollmans ATT driver, the drives will be imported
soon.
1993-10-10 16:25:13 +00:00
Rodney W. Grimes
1c622fc1dc SYSPDROFF and SYSPDREND are now calculated using KERNBASE, KERNSIZE and
PDRSHIFT.

The SYSTEM constant that was defined in this file has been replaced
with KERNBASE from param.h.

Changed almost all # style comments to /* */ C style comments.  Several
comments cleaned up so that they make a little more since.

In the comments that describe C calling conventions to assembler routines
used a comma space sequence to seperate arguments and removed the space
between the function name and the argument list.

Removed useless comments like /* clr eax */.

Changed all comma space sequences on assemble instructions to just be comma.

Removed spaces after $ operators to make the file consistent, this may need
to change again (ie: $KERNBASE should probably be $(KERNBASE), but for now
it all seems to work just fine.)  This may become a problem with the C
pre-processor.

Changed several double blank lines to single blank lines that where used
to seperate the I/O routines, these routines are blocked enough that we
don't need double blank lines between them.

Changed sequence of I/O routines to be all input functions, all output
functions instead of just the opposite.

Moved the SHOW_A_LOT debug stuff to near the end of the file.

Changed two occurances of the constant 0xfff to NBPG-1.
1993-10-10 06:07:57 +00:00
Rodney W. Grimes
845dee6b85 Added a compile time #error so that if the user does not specify on of
the proper I_X86CPU in the config file the following error will occur
while building the kernel: (had to line wrap the error for this message)

../../i386/i386/machdep.c:343: #error This kernel is not configured for one \
of the supported CPUs
1993-10-10 06:01:44 +00:00
Rodney W. Grimes
156812b7e4 Added PDRSHIFT and KERNSIZE so that the PDR offsets can be calculated in
locore.s instead of being constants (3F8, 3FA).
1993-10-10 02:09:44 +00:00
Rodney W. Grimes
08ac278533 Put sound blaster in alaphabetic order 1993-10-09 23:59:13 +00:00
Rodney W. Grimes
a2bad62649 Remove patch kit header, add $Id$, fix tabing on sound blaster cdev entry 1993-10-09 23:56:53 +00:00
Jordan K. Hubbard
0216aa9be2 Added sb entries for upcoming sound blaster driver 1993-10-09 17:00:04 +00:00
Jordan K. Hubbard
0aecb361f8 Add devsw entries for upcoming sound blaster driver. 1993-10-09 16:56:44 +00:00
David Greenman
89ccb410d4 Correct spelling of "SHMMAXPGS" so the config override will actually work. 1993-10-09 15:29:04 +00:00
Christoph Robitschko
950d93597c Changed the "Insert filesystem floppy" prompt to give the user a choice in
which drive he wants the root file system (A or B).
1993-10-09 08:31:39 +00:00
Jordan K. Hubbard
11851b0ee1 Removed FAT_CURSOR as default since it breaks certain CGA displays
and it is better to conform to the lowest common denominator.
Those wishing to retain it can always use options FAT_CURSOR in
their config files.
1993-10-08 21:21:59 +00:00
Rodney W. Grimes
09f07fb057 All:
Remove patch kit headers, and add $Id$
	This is mostly to align some more code with NetBSD.

cpu.h:
	Remove the old function vs. include configuration stuff that was
	ifdefed out when we went to inline functions.
	Remove the define of resettodr that made it a nop, there is
	already a function that makes it a nop, no need to #define one.
	Remove the #defines of processor types, they are now defined
	in cputypes.h, #include that file.
	Add struct cpu_nameclass for support of cpu types.

frame.h:
	include sys/signal.h, it will be needed in the future.
	put the sigframe structure here that was in machdep.c

pcb.h:
	Add multiple inclusion protection.
	Add pcb_ldt and pcb_ldt_len to pcb structure, this is for the
	user mode ldt.
1993-10-08 20:51:00 +00:00
Rodney W. Grimes
3409a2f663 All:
removed patch kit headers and sccsids, add $Id$.  This is a general
	clean up and reallignment with NetBSD-current where possible.

genassym.c:
	removed extranious include of reg.h
	removed old FP_* defines that have been ifdefed out since the patch kit
	removed PCB_SIGC that is not referenced anywhere
	add trapframe and sigframe defines
	add KERNBASE define for use in locore.s

locore.s:
	include npx.h and use NNPX for turning on and off FPU
	include machine/cputypes.h for the types of cpu (used in cpu_identify)
	change SYSPDREND to be one higher, this is really the base of the
	next area, and will be changing again next time I revise the file
	Reverse the NOP defines, you now get slow NOP's by default, this
	may be what is casuing us trouble with some systems.  If you want
	the NOPS to be null you now need to have options DUMMY_NOPS.
	Now get esym from the boot blocks which don't pass it yet, and
	it is not used, but this will be changing.
	Move the bit_colors stuff to be in with the rest of Bruces SHOW_A_LOT
	things for debugging.
	Added NetBSD's CPU type probe code, we now know what type of CPU
	we are running on.
	Adjust kernel pde calcuation to correct for change in SYSPDREND, no
	longer need the +1.

machdep.c
	include npx.h and use NNPX for turning on and off FPU
	include isa.h, map.h(new file), exec.h in preperation for
	changes that are still in process.
	Add some of the code for MACHINE_NONCONTIG that will alow us
	to better map around the BIOS memory area.
	Now print the version, cpu id, real memory and availiable memory
	during boot.
	Correct the calculation of bufpages, the code was mixing pages
	and bytes, it now does the right things.  Removed Bill's hack
	for limiting the erronous calculation.
	add the identifycpu print out code from NetBSD.
	remove the definition of the sigframe struct, it belongs in
	frame.h
	put in printf's about syncing disks on a halt/reboot.
	Change the halted message to be a little easier reading.
	Clean up of the dump messages, makes the source and the output
	much more readable.
	Change 0,0 in several places to have spaces after the commas.
1993-10-08 20:45:12 +00:00
Rodney W. Grimes
bb9b7f49b4 Remove the ``loader overlaps bss, kernel must bzero'' printf since that
is so often reported as an error condition when it is not.  We print the
size of things so for those who want to know if this happened they can
figure it out from the size information that is printed.
1993-10-08 20:19:23 +00:00
Rodney W. Grimes
f87a326945 >From NetBSD
Change the cpu "i386" line to 2 lines:
cpu "I386_CPU"
cpu "I486_CPU"
This is so we can do real CPU classification of code.

Fix missing depend for assym.s which does depend on genassym.c
1993-10-08 16:52:45 +00:00
Rodney W. Grimes
3225c4b443 Define the types of cpu's there are, from NetBSD 1993-10-08 13:40:54 +00:00
Rodney W. Grimes
c77ba36045 Fix definitions to be in terms of a minimum number of constants by
using the SHIFT value as the basis for the other values, for example
instead of:
#define		NBPG		4096
#define		PGSHIFT		12
use:
#define		PGSHIFT		12
#define		NBPG		(1 << PGSHIFT)

===================================================================
RCS file: /a/cvs/386BSD/src/sys/i386/include/param.h,v
retrieving revision 1.3
diff -c -r1.3 param.h
*** 1.3	1993/10/08 12:49:55
--- param.h	1993/10/08 12:53:19
***************
*** 52,76 ****
  #define ALIGNBYTES	(sizeof(int) - 1)
  #define ALIGN(p)	(((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)

- #define	NBPG		4096		/* bytes/page */
- #define	PGOFSET		(NBPG-1)	/* byte offset into page */
  #define	PGSHIFT		12		/* LOG2(NBPG) */
  #define	NPTEPG		(NBPG/(sizeof (struct pte)))

- #define NBPDR		(1024*NBPG)	/* bytes/page dir */
- #define	PDROFSET	(NBPDR-1)	/* byte offset into page dir */
  #define	PDRSHIFT	22		/* LOG2(NBPDR) */

  #define	KERNBASE	0xFE000000	/* start of kernel virtual */
  #define	BTOPKERNBASE	((u_long)KERNBASE >> PGSHIFT)

! #define	DEV_BSIZE	512
  #define	DEV_BSHIFT	9		/* log2(DEV_BSIZE) */
  #define BLKDEV_IOSIZE	2048
  #define	MAXPHYS		(64 * 1024)	/* max raw I/O transfer size */

- #define	CLSIZE		1
  #define	CLSIZELOG2	0

  /* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */
  #define	SSIZE	1		/* initial stack size/NBPG */
--- 52,79 ----
  #define ALIGNBYTES	(sizeof(int) - 1)
  #define ALIGN(p)	(((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)

  #define	PGSHIFT		12		/* LOG2(NBPG) */
+ #define	NBPG		(1 << PGSHIFT)	/* bytes/page */
+ #define	PGOFSET		(NBPG-1)	/* byte offset into page */
  #define	NPTEPG		(NBPG/(sizeof (struct pte)))

  #define	PDRSHIFT	22		/* LOG2(NBPDR) */
+ #define NBPDR		(1 << PDRSHIFT)	/* bytes/page dir */
+ #define	PDROFSET	(NBPDR-1)	/* byte offset into page dir */

  #define	KERNBASE	0xFE000000	/* start of kernel virtual */
  #define	BTOPKERNBASE	((u_long)KERNBASE >> PGSHIFT)

! #define	KERNSIZE	0x00C00000	/* size of kernel virtual */
!
  #define	DEV_BSHIFT	9		/* log2(DEV_BSIZE) */
+ #define	DEV_BSIZE	(1 << DEV_BSHIFT)
+
  #define BLKDEV_IOSIZE	2048
  #define	MAXPHYS		(64 * 1024)	/* max raw I/O transfer size */

  #define	CLSIZELOG2	0
+ #define	CLSIZE		(1 << CLSIZELOG2)

  /* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */
  #define	SSIZE	1		/* initial stack size/NBPG */
***************
*** 92,99 ****
  #ifndef	MCLSHIFT
  #define	MCLSHIFT	11		/* convert bytes to m_buf clusters */
  #endif	/* MCLSHIFT */
! #define	MCLBYTES	(1 << MCLSHIFT)	/* size of a m_buf cluster */
! #define	MCLOFSET	(MCLBYTES - 1)	/* offset within a m_buf cluster */

  #ifndef NMBCLUSTERS
  #ifdef GATEWAY
--- 95,102 ----
  #ifndef	MCLSHIFT
  #define	MCLSHIFT	11		/* convert bytes to m_buf clusters */
  #endif	/* MCLSHIFT */
! #define	MCLBYTES	(1 << MCLSHIFT)	/* size of an m_buf cluster */
! #define	MCLOFSET	(MCLBYTES - 1)	/* offset within an m_buf cluster */

  #ifndef NMBCLUSTERS
  #ifdef GATEWAY
1993-10-08 13:01:34 +00:00
Rodney W. Grimes
89ec6ec6bf Removed patch kit header. Cleaned up tabbing and removed extra blank
lines to match NetBSD.  Added $Id$.
Added MID_MACHINE from NetBSD.
Removed definition of DELAY() for non-kernel soures.
Fixed some small english errors that had been corrected in NetBSD.
File is now identical to NetBSD's, but will be changing soon for some
of my clean up work.
1993-10-08 12:49:55 +00:00
Rodney W. Grimes
f43bd59ec7 Architecture specific syscalls (i386) from NetBSD 1993-10-08 11:31:40 +00:00
Rodney W. Grimes
3331c2af28 Removed patch kit headers, and rcsid, add $Id$, relocate Terry Lamberts
copyright to match the location that it is in NetBSD.

Remove the __main() {} dummy function, it belongs in kern/init_main.c
1993-10-08 10:47:13 +00:00
Rodney W. Grimes
dd06619c32 From ljo:
machdep.o is a defined to be a target in 2 places.  This was caused by
the addition of the LOAD_ADDRESS stuff.  Removed the extranious target
of machdep.o.
1993-10-06 20:49:17 +00:00
Jordan K. Hubbard
bd41f6854b Latest changs for XFree86 2.0 1993-10-04 22:23:03 +00:00
Jordan K. Hubbard
0978d2b15f Latest changes for XFree86 2.0 1993-10-04 22:21:10 +00:00
Rodney W. Grimes
fac3d38c04 Fixed cd0 line to match the GENERIC* kernel configs 1993-10-01 04:26:21 +00:00
Rodney W. Grimes
1af37a7b59 Remove old ethernet drivers if_ec, if_ne, and if_we from config files
and from files.i386, they are no longer supported.
1993-10-01 04:20:19 +00:00
David Greenman
627d219551 * Revision 2.5 93/09/30 17:44:14 davidg
* patch from vak@zebub.msk.su (Serge V.Vakulenko) to work around
 * a hardware bug in cheap WD clone boards where the PROM checksum
 * byte is always zero
1993-10-01 00:56:43 +00:00
Rodney W. Grimes
60de6c38e0 New resting home for console.h, it is machine specific. 1993-10-01 00:00:43 +00:00
Rodney W. Grimes
380888c9fa Change #include <sys/console.h> to <machine/console.h>, file will be moved
shortly
1993-09-30 23:59:49 +00:00
Rodney W. Grimes
b145f751d3 This is a fix for the 32K DMA buffer region that was not accounted for,
it relocates it to be after the BIOS memory hole instead of right below
the 640K limit.
THANK YOU CHRIS!!!

From: <cgd@postgres.Berkeley.EDU>
Date: Wed, 29 Sep 93 18:49:58 -0700
basically, reserve a new 32k space right after firstaddr,
and put the buffer space there...

the diffs are below, and are in ~cgd/sys/i386/i386 (in machdep.c)
on freefall.  i obviously can't test them, so if some of you would
look the diffs over and try them out...
1993-09-30 23:16:17 +00:00
Rodney W. Grimes
ea3edf6db5 Remove we0, since it is being removed from the system 1993-09-30 20:45:37 +00:00
Rodney W. Grimes
71b9f75a78 Only configure one cd unit now since the code is fully dynamic,
add comment about this to the device cd0 line.
1993-09-30 20:44:32 +00:00
Rodney W. Grimes
982970298f >From: vak@zebub.msk.su (Serge V.Vakulenko)
Date: Thu, 30 Sep 1993 15:13:17 +0300

Description:
	Old wt driver is too incomplete and buggy.
	It does not support Archive controllers, BSD-like
	tape ioctls, multiple tape controllers, different
	tape density etc.
Fix:
	This driver is a replacement of the old one.
	It was not tested on different controllers, though.

	This is the streamer tape driver for 386bsd and FreeBSD,
	which supports Wangtek and Archive controllers.
	It was developed as a replacement of the old Wangtek
	tape driver from CMU.

In comparison with the CMU driver, this version has the following enhancements:
1) Support for Archive SC402 and SC499 tape controllers added.
2) Support for up to three tape controllers on the same machine.
3) Support for BSD-style ioctls MTIOCGET, MTIOCTOP.
   Mt command now works adequately with this driver.
4) Asynchronous REWIND and FSF operations, close() will not wait
   until they finish.  The next open() will wait for it instead.
5) Use of WTQICMD ioctl is limited to ERASE and RETENS operations.
   This prevents the user from locking the tape driver by strange
   tape operations.
6) Tape density switching added.
7) The status of the process, blocked on the tape operation,
   is displayed at the WCHAN column of the `ps' command as:

	wtread    reading data from the tape
	wtwrite   writing data to the tape
	wtrfm     reading the tape marker
	wtwfm     writing the tape marker
	wtrew     rewinding the tape
	wterase   doing WTQICMD ERASE operation
	wtretens  doing WTQICMD RETENS operation
	wtorew    doing MTIOCTOP REW/OFFL operation
	wtorfm    doing MTIOCTOP FSF operation
	wtowfm    doing MTIOCTOP WEOF operation

Block interface (writing blocks less than 2048 bytes) is not functioning
pwoperly.  Use raw interface instead.
1993-09-30 20:12:37 +00:00
David Greenman
2da38870a3 * Revision 2.4 93/09/29 21:24:30 davidg
* Added software NIC reset in NE probe to work around a problem
 * with some NE boards where the 8390 doesn't reset properly on
 * power-up. Remove initialization of IMR/ISR in the NE probe
 * because this is inherent in the reset.
1993-09-30 05:27:55 +00:00
David Greenman
e34ff1781d * Revision 2.3 93/09/29 15:10:16 davidg
* credit Charles Hannum
1993-09-29 22:15:53 +00:00
David Greenman
9699168bba * Revision 2.2 93/09/29 13:23:25 davidg
* added no multi-buffer override for 3c503
 *
 * Revision 2.1  93/09/29  12:32:12  davidg
 * changed multi-buffer count for 16bit 3c503's from 5 to 2 after
 * noticing that the transmitter becomes idle because of so many
 * packets to load.
 *
 * Revision 2.0  93/09/29  00:00:19  davidg
 * many changes, rewrites, additions, etc. Now supports the
 * NE1000, NE2000, WD8003, WD8013, 3C503, 16bit 3C503, and
 * a variety of similar clones. 16bit 3c503 now does multi
 * transmit buffers. Nearly every part of the driver has
 * changed in some way since rev 1.30.
1993-09-29 20:30:26 +00:00
Rodney W. Grimes
b1929a9f4a Add symbolic name for system page directory end, and change constant to
a calculation for the system page directory tables.
1993-09-29 02:37:41 +00:00
Rodney W. Grimes
d2f07716e2 >From: "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
Date: Wed, 29 Sep 1993 01:54:53 +0300

To bring this error try to make two swap partitons on one disk:
one of the partitions will be not recognized.
Fix is simple: set uninitialized val variable.
1993-09-29 01:11:19 +00:00
Jordan K. Hubbard
0e583a0138 From: "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
AltGr Lock code for zero repeat count ommited, so AltGr Lock
works only one time and never again :-)
1993-09-29 00:42:10 +00:00
Rodney W. Grimes
e730ca26a3 Convert another printf into an lprintf since this should only be output
for debugging.

Thanks Chris.
1993-09-28 21:50:59 +00:00
Jordan K. Hubbard
b5275b8103 Version number support for XFree86 1993-09-28 20:53:48 +00:00
Rodney W. Grimes
5487793b4b >From: chmr@edvz.tu-graz.ac.at (Christoph Robitschko)
Date: Tue, 28 Sep 1993 09:03:13 +0100 (MET)
The only place I found with a printf("status %x") is in /sys/i386/isa/lpt.c,
and looks much like a left-over debugging printout...

And it was... I changed it to an lprintf (which is defined if debuggin is on)
			Rod
1993-09-28 17:02:34 +00:00
Jordan K. Hubbard
fae56ff15f Change to sio for recognising the last serial port on a multiport
card correctly.

Updated syscons to 0.2e, added features for upcoming XFree86 2.0,
fixed crashbug.
1993-09-28 00:01:18 +00:00
Rodney W. Grimes
b6c78fe436 define SHMMAXPGS where it is suppose to be, you can over ride this with
a kernel config options "SHMAXPGS=xxx", default is currently 64 pages
due to limit kernel map space.
1993-09-27 00:36:57 +00:00
Rodney W. Grimes
a0ea6f1c94 Added at 0xFE100000 to config line as this kernel HAS to load high, and
it is the place people seem to look for samples.  Also since this kernel
has so so many symbols in it also added SYMTAB_SPACE=89000.
1993-09-26 23:21:12 +00:00
Rodney W. Grimes
2d717e4a25 This Makefile is for FreeBSD, not 4.3 BSD-Reno. Moved $Id$.
Added STRIP=, DBSYM=, and LOAD_ADDRESS?=
Now use LOAD_ADDRESS for linking kernel and for dbsym, added strip -x to
cut kernel size.

Added machde.o: dependency, this will be needed in the future, and for
now it does not hurt anyone.

Cleaned out conf.o: dependency, mkdep does the right things.  Same for
param.c:

This is really a Merge in of NetBSD's Makefile.i386, here is the relevant
rlog info:
----------------------------
revision 1.27
date: 1993/08/27 23:58:20;  author: brezak;  state: Exp;  lines: +2 -2
Need LOAD_ADDRESS for depend pass.
----------------------------
revision 1.25
date: 1993/07/19 16:52:16;  author: mycroft;  state: Exp;  lines: +3 -3
Add ${DEBUG} to CFLAGS and -f to dbsym.
----------------------------
revision 1.22
date: 1993/07/18 10:08:22;  author: mycroft;  state: Exp;  lines: +5 -6
Change to work with new config stuff for specifying load address.
----------------------------
revision 1.20
date: 1993/07/18 09:47:40;  author: mycroft;  state: Exp;  lines: +6 -5
Use new -T option to dbsym.
----------------------------
revision 1.17
date: 1993/07/11 08:42:22;  author: cgd;  state: Exp;  lines: +2 -2
don't ignore errors from dbsym...  it might say that, e.g. there's
not enough symbol space!
----------------------------
revision 1.14
date: 1993/06/06 23:29:03;  author: cgd;  state: Exp;  lines: +2 -2
make conf.o actually depend on conf.c...
----------------------------
revision 1.8
date: 1993/04/29 03:27:39;  author: cgd;  state: Exp;  lines: +5 -10
use ed instead of ex.  the script to use is identical, and we might
want to switch back to using ex when our ex supports -.
----------------------------
revision 1.5
date: 1993/03/24 18:48:57;  author: cgd;  state: Exp;  lines: +1 -1
now use absolute path for dbsym
----------------------------
1993-09-26 19:44:33 +00:00
Jordan K. Hubbard
05c1dd5de3 Fixed spelling errors 1993-09-25 15:50:43 +00:00
David Greenman
ee0ccf358a * Revision 1.30 93/09/24 18:43:31 davidg
* fix bug where Compex boards ident themselves as 8003E's and the
 * 16bit override wasn't working
1993-09-25 01:50:15 +00:00
Rodney W. Grimes
2eca4bfaec Enable SYSVSHM, and set SHMMAXPGS=64. 1993-09-24 21:01:11 +00:00
Rodney W. Grimes
96210b28be >From: rich@id.slip.bcm.tmc.edu.cdrom.com (Rich Murphey)
Date: Sun, 12 Sep 1993 18:19:05 -0500
This will allow you to compile and run a freebsd kernel with shared
memory support.  I haven't tested the shm*() calls yet.

You run out of page table descriptors if you specify 4Mb of sharable
memory (SHMMAXPGS=1024).  I don't know what the limit is, but
SHMMAXPGS=64 works.   Rich
1993-09-24 21:00:29 +00:00
Rodney W. Grimes
92ed385a09 >From: bde@kralizec.zeta.org.au (Bruce Evans)
Date: Thu, 16 Sep 93 01:35:10 +1000
Julian writes:

>In fact DEVIDLE and FINDWORK ended up being basically equivalent.
>the bit I wonder about, is the returning of 0.. What (other than
>another request from somewhere else in the kernel) is going to start
>work on the next item on the queue?

I think removing FINDWORK would make things clearer.

Nothing much is going to start work on the next item.  However, it is
pointless to continue processing the queue for the same unready drive.
Aborting all reads and trying harder to perform all writes would be
better.
Julian writes.

> no, actually it should be:
> fdt = fd_data[FDUNIT(minor(dev))].ft;

Fixed.
From: bde@kralizec.zeta.org.au (Bruce Evans)
Date: Thu, 16 Sep 93 22:56:01 +1000
The fd driver reported the wrong cylinder/head/sector numbers after an
error (ST3 is only valid after a sense-drive command), and didn't report
fs block numbers (diskerr was not used).

There was an old problem with writes to block fd devices.   Try this:

1. write protect floppy in fd0.
2. tar cf /dev/fd0a /dev/null.  Repeat a few times.  Later writes tend to
   terminate earlier.
   3. un-write protect floppy.
   4. repeat step 2.  The writes tend to return 0, 2048, 4096, ... and then
      succeed.

This was caused by a bug in vfs__bios.c.  (The bug is fixed in NetBSD's
vfs_bio.c.)  fd.c sets bp->b_resid to nonzero after an error.  vfs__bios.c
was not initializing bp->b_resid.  This causes some writes to terminate
early (e.g., writes to block devices; see spec_write()).

Related funnies:

1. Nothing tries to write the residual bytes.
2. The wd driver sets bp->b_resid to 0 after an error, so there's no
   way anything else could write the residual bytes.
3. I use the block fd device for tar because the raw device seemed to
   have more bugs long ago, and because it ought to be able to handle
   buffering more transparently (I don't want to have to know the
   device size).  But spec_write() always uses the size BLKDEV_IOSIZE
   == 2048 which is too small.  For disks it should use the size of
   one track (rounded down to meet the next track boundary or the i/o
   size).  Here it would help if the DIOCGPART ioctl worked.  But
   DIOCGPART is not implemented for floppies, and the disk size is
   ignored except for partitions of type FS_BSDFFS.

Bruce
1993-09-23 15:22:57 +00:00
David Greenman
60381058cd rewrote interrupt code to be cleaner, fixed up some other parts
to make it easier to add future board types.
1993-09-22 17:47:43 +00:00
Rodney W. Grimes
e13ca98c57 Increased pseudo-device bpfilter from 1 unit to 4 units 1993-09-21 06:16:07 +00:00
Rodney W. Grimes
29a25f9ec3 Increase the number of ptys to 12, puts the kernel sizes very close to
the limit.
1993-09-21 06:12:20 +00:00
Rodney W. Grimes
c81df31a3b Enabled floppy drive ioctl's so that disklabel on a floppy is now
quite and works correctly.  This is derived from notes in Bruce Evans
lattest patches to fd.c:

>From: bde@kralizec.zeta.org.au (Bruce Evans)
>Subject: fixes for fd driver

6. I picked up some code posted the other day to implement label ioctls.
   Now `disklabel fd0' works.  See a comment for how to modify conf.c.
1993-09-15 23:29:11 +00:00
Rodney W. Grimes
dc4ff321f2 Removed $Log$ section and patch kit headers. And here is the full
message for Bruces changes:

>From: bde@kralizec.zeta.org.au (Bruce Evans)
>Subject: fixes for fd driver

I think I've fixed some bugs in the 0.2.4 fd driver.

1. The main cause of hangs was that there was no timeout for seeks.  So
   attempting i/o with no floppy in the drive hung iff a seek was required.

2. Opens of unattached drives were allowed.  The kernel usually paniced
   soon after due to a bad pointer.

3. Some timeout functions ran at splclock() instead of splbio().  This
   may not have mattered.

4. The state machine was left in a funny state after a timeout.

5. Some function headers were new-style.

6. I picked up some code posted the other day to implement label ioctls.
   Now `disklabel fd0' works.  See a comment for how to modify conf.c.
1993-09-15 23:27:45 +00:00
Rodney W. Grimes
02aa90d831 >From: paul@u.tvt.se (Paul Pries)
>Subject: Bad bug in kbdtables.h [FreeBSD]

I found a bug in /sys/i386/isa/kbdtables.h which contain the
different keyboard layouts for syscons.  This regards all tables exept
the Danish and US.  When compiling the kernel with any other keymapping
than Danish or none at all (US), you get an error that 'key_map' is undefined.
This is because there is a typo in the name of the struct containing
the tables, keymap intead of key_map.
1993-09-15 23:03:21 +00:00
Jordan K. Hubbard
f5f7ba035f Bruce's multifarious patches for the floppy driver (not well tested, but
since what we have is crap as it is, it can't do much worse!).
1993-09-14 19:34:32 +00:00
Rodney W. Grimes
3bb1d96cd0 Put the uha0 controller at its proper default IRQ of 14! Thanks Warner! 1993-09-13 03:15:26 +00:00
Nate Williams
7c2b54e804 Removed volatile functions which were causing grief in the system, since
volatile functions are undefined, and there is no reason to have them
in our kernel.
1993-09-10 22:14:37 +00:00
Rodney W. Grimes
70a3b3d1af This is just to shut the compiler up
===================================================================
RCS file: /a/cvs/386BSD/src/sys/i386/i386/vm_machdep.c,v
retrieving revision 1.3
diff -c -r1.3 vm_machdep.c
*** 1.3	1993/07/27 10:52:21
--- vm_machdep.c	1993/09/10 20:12:53
***************
*** 179,184 ****
--- 179,186 ----
  #endif
  	splclock();
  	swtch();
+ 	/*NOTREACHED*/
+ 	for(;;);
  }

  cpu_wait(p) struct proc *p; {
1993-09-10 20:39:13 +00:00
Rodney W. Grimes
e793dbb026 From guido@gvr.win.tue.nl Wed Sep 8 13:34:16 1993
That is because TIOCMGET was broken. Yes...this is known for some time
and no, we (Bruce and me) never posted it. Why? Simply because we choose
to post fixes when we fixed most of the bugs.

Anyway..now that the slip problems are coming, here is a fix for
correct TIOCMGET behaviour.

-Guido
Note: this should be tested first (Rich?).  Tested by rgrimes
1993-09-10 16:59:16 +00:00
David Greenman
1df5695c0a As of this revision, all known bugs have been fixed. Some of the fixes include:
1) fixed 3c503 lock-up if the thinwire cable was disconnected at boot time
2) 8013EBT boards now work (quite well!) in 16bit/16k mode
3) ED_NO_DOUBLE_BUFFERING flag now works
4) slightly higer performance (about 3%) with 16bit WD/SMC boards
5) support for WD8013WC (10BaseT) boards

   Additionally, the probe code has been reorganized to be much cleaner. This
revision of the driver is 1.25. The release notes have been updated as well.
1993-09-09 07:01:23 +00:00
Rodney W. Grimes
b4f05987df Changed the pg("ptdi> %x") to a printf and then a panic, since we are
going to panic shortly after this anyway.  Destroys less state, and
keeps the machine from waiting for someone to smash the return key
a few times before it panics!
1993-09-09 01:11:41 +00:00
Jordan K. Hubbard
cc4dfeaaa0 Soren's latest syscons changes. 1993-09-08 22:11:48 +00:00
Rodney W. Grimes
84ecc220b1 >From Theo Derradt
This is a machine specific include, it belongs in the machine specific
directory.
1993-09-08 19:29:54 +00:00
Rodney W. Grimes
bfdbfb98fd From michaele@vice.ico.tek.com Wed Sep 8 09:50:45 1993
Subject: Re: Some small errors in GAMMA
4.      Move printf("\n"); at line 491 in "/sys/i386/isa/sio.c" to after
        COM_MULTIPORT block at line 512.
From rgrimes:
The above would cause the word (multiport) with out a new line to
appear after the uart type message if you had COM_MULTIPORT enabled.
1993-09-08 17:38:05 +00:00
Rodney W. Grimes
0ad99dbc30 Reverting wd driver back to version before Bruces new driver until the
many bugs can be worked out of it...
1993-09-07 02:08:51 +00:00
Rodney W. Grimes
5c954fb68d Removed patch kit header, added $Id$
Increased timeout in wdwait from 1000 to 2000, this makes the st157A's
at least pass the probe routines :-)
1993-09-06 17:41:46 +00:00
Rodney W. Grimes
fa96c3be0c Enabled options NS since it can now be compiled! 1993-09-06 16:17:37 +00:00
Rodney W. Grimes
246bb5c345 Fixed usage of arpcom and #define blahblah arpcom.blahblah, fixed ioctl
support for options NS (XNS networking).
1993-09-06 16:13:15 +00:00
Rodney W. Grimes
2a5017c0e0 Removed patch kit header, added $Id$
Added support of DONET({IMP,NS,ISO}) so you can now compile with options
NS and ISO, still missing some IMP code, but since the imp is old and
gone I doubt this will ever be used.
1993-09-06 16:12:05 +00:00
Rodney W. Grimes
d5d681f4cc Add the following line to all generic configs as a comment so people would
know that they need to turn this on to get packets to forward.
#options      GATEWAY                 #Host is a Gateway (forwards packets)
1993-09-06 12:26:10 +00:00
Rodney W. Grimes
b19498e103 Added ns_cksum.c from NetBSD 1993-09-06 12:12:24 +00:00
Rodney W. Grimes
6d1dd8f2f8 From: barclay_a_c <barclay_a_c@bt-web.bt.co.uk>
Subject: More information on "netstat -r
Date: Mon, 7 Jun 1993 11:57:33 +0100

Gentlemen,
I have been trying for some time now to get "netstat -r"
working from the 0.2.2 patchkit. I have the following solution to the
bug.

The symbol _radix_node_head needs to be added to the symbols.raw file
to enable the new routing table access. If this symbol is not present
then the old system us used which results in no routes being given. I
don't think that this justifies a patch in its own right but perhaps
could be added to a related patch sometime..
1993-09-05 18:30:58 +00:00
Rodney W. Grimes
cfd895c81e Date: Fri, 3 Sep 93 01:25:44 +1000
From: bde@kralizec.zeta.org.au (Bruce Evans)

This fixes several problems.

It has almost everything that is in the FreeBSD version of Aug 22.
It is missing the bug for 2 drives and still prints <> around the
drive type.  It handles BADEND144 less verbosely.  It does wdgetctlr()
somewhat differently from NetBSD/FreeBSD.

Date: Sun Sep  5 06:45:12 PDT 1993
From: rgrimes@cdrom.com

Fixed printf's to be correct, since Bruce used the old ones.  This driver
still prints phantom wd1's on some Maxtor and other IDE drives, I have
a patch I am sending to Bruce for checking.
1993-09-05 13:46:17 +00:00
Rodney W. Grimes
b3b174f5cd Increased stack size to 8MB just to be on the real safe side. 1993-09-01 09:38:32 +00:00