Commit Graph

11794 Commits

Author SHA1 Message Date
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
Rodney W. Grimes
1c9af4358a >From: "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
Date: Wed, 20 Oct 1993 18:28:44 +0300

Editors Note:
	Line ended with comma (``,'') instead of semicolon (``;''),
	this should not have effected the code.
	Submitter made no comments other than it was ``simple''.
1993-10-20 15:49:02 +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
624dc0c13b 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 17:21:10 +00:00
Rodney W. Grimes
0edf66eca4 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 16:47:35 +00:00
Rodney W. Grimes
b8b4b679c0 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 15:24:44 +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
0e08d66ab8 >From: Julian Elischer <julian@jules.DIALix.oz.au>
Subject: Re: Error reading from DAT (fwd)
Date: Mon, 11 Oct 1993 03:02:39 -40962758 (WST)

Some tapes won't do anything until you tell them to load.
Other tapes think that being asked to load is a great excuse to
make the next command return a "unit attention" (media changed) error.
Since we need to do the load, throw in a dummy instruction to cop the
error.

specifically for DEC DAT drives.
1993-10-11 04:53:23 +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
2f5ccc2f2e Bring README into sync with Julians latest README (1 line deleted which was
a reference to README.AHA1742)
1993-09-21 20:26:02 +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
a70983c40b >From julian@jules.DIALix.oz.au Fri Sep 10 22:58:30 1993
>Date: Sat, 11 Sep 93 12:59:39 +0800

1/ fix bug where cd0a was unusable because it was compared against
the number of 2k blocks not the number of 512byte blocks.. gave
an error for all reads past 1/4 way through the disk (cd0d was ok).

2/ fix open code so that it now notices if a disk has been changed
and updates the disklabel.

3/ use the new error handling code from st.c

4/ start adding stuff to get ready for using cd_scsi_cmd from
cd_start (like is done in st and sd)

5/ more general cleanups including making dmesg report
sector size of disk.. (believe it or not SUN drives use 512 byte)
1993-09-21 05:30:35 +00:00
Rodney W. Grimes
06a1e2ded2 Increase the timeout from 2000 counts to 6000 counts, reported by someone
on the net (I lost the mail).  This should fix some units not showing up
during probes.
1993-09-20 06:28:13 +00:00
Rodney W. Grimes
968d6ea058 The dynamically allocated struct's where not getting properly initialized
as malloc memory is NOT zerod.  Added bzero's after the malloc calls
to make sure that things are initialized.

>From Julian Elischer
1993-09-20 06:27:06 +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
Rodney W. Grimes
20d85dc7f5 >From: rich@id.slip.bcm.tmc.edu.cdrom.com (Rich Murphey)
I'd like to be able to say:

options         "SYMTAB_SPACE=78000"    # Kernel debugger symbol table size

If this seems a reasonable interim solution for freebsd, here's the
patch.. Rich
1993-09-12 21:56:50 +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
Andreas Schulz
3400567027 Fixed a small typo in an error printf. 1993-09-10 18:03:21 +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
Rodney W. Grimes
572de91566 Moved db_end_line after db_printf to eliminate forward reference and
shut up the compiler about prototype mismatch.
1993-09-09 23:03:24 +00:00
Rodney W. Grimes
f03cb6c766 The scsi cd.c driver is now fully dynamic. You can change the lines
in your config file from:
device          cd0
device          cd1
...
device          cdn
to either
device          cd0
or
psuedo-device   cd0

The driver now dynamically allocates all per unit dependent structs, so it
will never run out of units (okay, so now we need 32 bit device major/minor
numbers!).  It will allocate unit numbers as it needs them.
1993-09-09 07:18:52 +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
5c8830eef2 Changed the delay from 100 seconds to 20 seconds if you don't have scsi
dump code.
1993-09-09 01:30:46 +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
65119574e4 First pass fixes to start using malloc structures for all per unit
data.  cd_data is now malloced on a per unit basis.

Protected all if ({scsi,cd}_debug).... with #ifdef CDDEBUG to reduce the
the size of the kernel when not debugging.
1993-09-08 21:04:32 +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
57dd4ca1b2 Several fixes to the st driver, for density detection and selection. No
longer have to do the st -f /dev/rst0 blocksize 0 on dat drives!
1993-09-07 15:58:00 +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
2b40491738 Fixed printf if you are using SCSI_DELAY to allow the scsi bus to
settle down after the reset.
1993-09-05 17:41:07 +00:00
Rodney W. Grimes
682834bbb5 SCSI code update from Julian 1993-09-05 15:42:22 +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
Rodney W. Grimes
e501a58197 Changed default irq and iomem address for ed0 so that most 3c503's and
wd80x3 class boards can be configured to the GENERIC kernels.

Entry was:
device ed0 at isa? port 0x280 net irq 9 iomem 0xd0000 vector edintr

Is now:
device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr
1993-08-31 15:17:26 +00:00
Rodney W. Grimes
4ada418a9b Replaced the return (1)'s with return (IO_KBDSIZE) in the probe code so
that the printfs during the probing prints the range instead of just the
start address.
1993-08-28 13:26:30 +00:00
Rodney W. Grimes
a0ad3760a2 Changed trap.c so that a panic will occur if we do not have hardware
FP and we try to call the emulator when it is not compiled in.
Removed the #if defined(i486) || defined(i387) that use to call the
panic if we did not have a math emulator.
Removed an extranious include of i386/i386/math_emu.h from math_emulate.c.
1993-08-28 13:25:22 +00:00
Rodney W. Grimes
34f949aed5 Added options MATH_EMULTATE to the kernel config files to pull in the
387 math emulator (sys/i386/i386/math_emulate.c).  Made that file only
get compiled if options MATH_EMULATE is in the kernel.
1993-08-28 13:21:48 +00:00
Rodney W. Grimes
8373b81238 Changed MAXSSIZ from MAXDSIZ to 2MB 1993-08-28 09:19:01 +00:00
Rodney W. Grimes
d1de7f30db Revised headers from Julian. Support for generic scsi.
Better audio support
1993-08-28 03:10:05 +00:00
Rodney W. Grimes
a3e4335498 Revised drivers from Julian. Support for generic scsi. Fixed scsi tape (st.c)
problems with respect to multiple tar files on one tape.  Now uses malloc
of data structures to reduce static kernel size.
1993-08-28 03:08:59 +00:00
Rodney W. Grimes
6526fb8330 Revised drivers from Julian. 1993-08-28 03:07:44 +00:00
Rodney W. Grimes
b5bf8c098a Added support for scsi/sg.c as cdev major 18. 1993-08-28 03:06:59 +00:00
Rodney W. Grimes
89bc97311a xxxprobe now returns the correct number of I/O registers used so that
the probe output during boot gives the I/O range instead of just the
starting address
1993-08-28 03:02:52 +00:00
Andrew Moore
6bef4df57c prefixed inline functions' parameter names with _ and declared
the return type explicitly.
1993-08-27 05:09:38 +00:00
Rodney W. Grimes
17825e1736 Kernel support for ppp 1.3 + fixes 1993-08-27 02:10:12 +00:00
Rodney W. Grimes
22665bad1f Added the following line to all the supplied config files to shut up the
config program until this thing is fixed correctly.

maxfdescs	2048			#Max file descriptors per process
1993-08-26 17:55:59 +00:00
Andrew Moore
24a82630a2 adding fpgetround(3) IEEE floating point environment support 1993-08-25 09:01:44 +00:00
Rodney W. Grimes
905ee1678d Fix so that unit number 1 is found again. 1993-08-24 19:41:58 +00:00
Rodney W. Grimes
237fbcc806 Corrected off by 2 error in DELAY macro (it was delaying for 2 * value).
From Bruce Evans.
1993-08-24 01:24:43 +00:00
Rodney W. Grimes
f254020327 Some more small nits in the printf's fixed. 1993-08-22 10:00:16 +00:00
Rodney W. Grimes
2365e64f8b New kernel config file for checking out the kernel sources. It does pulls
in every thing that is known to work, and a lot of things that don't!
1993-08-22 02:59:49 +00:00
Rodney W. Grimes
de3755e751 Moved if_we.c to be back in alphabetic order.. 1993-08-21 23:52:36 +00:00
Rodney W. Grimes
452743e9f7 Update to be a clone of GENERICAH, but for syscons driver. 1993-08-21 23:48:06 +00:00
Rodney W. Grimes
a62a649d23 Added Id: string 1993-08-21 23:47:20 +00:00
Rodney W. Grimes
67126047f2 Updated GENERICAH to be more current, new kernel GENERICBT for bt/uha
systems cloned from new GENERICAH.
1993-08-21 23:46:42 +00:00
Rodney W. Grimes
c3e722894a Removed patch kit header, added Id: 1993-08-21 22:24:24 +00:00
Rodney W. Grimes
6068842d3a Removal of patch kit header, removal of old scsi as device, added Id: 1993-08-21 22:20:50 +00:00
Rodney W. Grimes
296cbdb15b Fixed printf's so that they announce them selfs correctly (ie aha%d: before
every error message and every probe message).
1993-08-21 20:01:59 +00:00
Rodney W. Grimes
3c742f974a Added from: line to reference the pccons.c derivation of this code, otherwise
the BSD copyright would be very bad to have on this file.
1993-08-20 17:19:29 +00:00
Rodney W. Grimes
12a53a9e4d Enabled call to sddump so that if you have options SCSIDUMP in your kernel
you'll get to the dump code.  If you don't trust this on your disk also
add option NOT_TRUSTED, that disables the dump code, but prints out what
it WOULD do it it was going to scrible on your disk.
1993-08-20 12:51:53 +00:00
Rodney W. Grimes
e5cf9f6134 Update scsi code to the latest from Julian. This code is now identical
to the last copy from Julian.  After this commit I will be commiting the
local fixes and makeing diffs to send back to Julian so he can update his
code.

----
From julian@jules.DIALix.oz.au  Thu Aug  5 09:25:23 1993
To: hd@world.std.com, julian@jules.DIALix.oz.au
Cc: nate@bsd.coe.montana.edu
Subject: Re: new scsi

----
From julian@jules.DIALix.oz.au  Sat Aug  7 04:13:17 1993
To: hd@world.std.com (HD Associates)
Cc: nate@bsd.coe.montana.edu
Subject: Re: timeout diffs

Here are the diffs to take the scsi stuff to my latest tree from what
Nate and you received..

the changes remove all the local timeout stuff and use (un)timeout(),

----
From julian@jules.DIALix.oz.au  Sat Aug  7 04:13:45 1993
To: hd@world.std.com (HD Associates)
Cc: nate@bsd.coe.montana.edu, briggs@csugrad.cs.vt.edu

here is a fix for a silly bug in the scsiconf I just sent out
and a similar fix for st.c
1993-08-20 09:23:30 +00:00
Rodney W. Grimes
b6105e6d2a Update scsi code to the latest from Julian. This code is now identical
to the last copy from Julian.  After this commit I will be commiting the
local fixes and makeing diffs to send back to Julian so he can update his
code.

----
>From julian@jules.DIALix.oz.au  Thu Aug  5 09:25:23 1993
To: hd@world.std.com, julian@jules.DIALix.oz.au
Cc: nate@bsd.coe.montana.edu
Subject: Re: new scsi

----
>From julian@jules.DIALix.oz.au  Sat Aug  7 04:13:17 1993
To: hd@world.std.com (HD Associates)
Cc: nate@bsd.coe.montana.edu
Subject: Re: timeout diffs

Here are the diffs to take the scsi stuff to my latest tree from what
Nate and you received..

the changes remove all the local timeout stuff and use (un)timeout(),

----
>From julian@jules.DIALix.oz.au  Sat Aug  7 04:13:45 1993
To: hd@world.std.com (HD Associates)
Cc: nate@bsd.coe.montana.edu, briggs@csugrad.cs.vt.edu

here is a fix for a silly bug in the scsiconf I just sent out
and a similar fix for st.c
1993-08-20 09:21:40 +00:00
Rodney W. Grimes
3c4067ef4d Update scsi code to the latest from Julian. This code is now identical
to the last copy from Julian.  After this commit I will be commiting the
local fixes and makeing diffs to send back to Julian so he can update his
code.

----
From julian@jules.DIALix.oz.au  Thu Aug  5 09:25:23 1993
To: hd@world.std.com, julian@jules.DIALix.oz.au
Cc: nate@bsd.coe.montana.edu
Subject: Re: new scsi

----
From julian@jules.DIALix.oz.au  Sat Aug  7 04:13:17 1993
To: hd@world.std.com (HD Associates)
Cc: nate@bsd.coe.montana.edu
Subject: Re: timeout diffs

Here are the diffs to take the scsi stuff to my latest tree from what
Nate and you received..

the changes remove all the local timeout stuff and use (un)timeout(),

----
From julian@jules.DIALix.oz.au  Sat Aug  7 04:13:45 1993
To: hd@world.std.com (HD Associates)
Cc: nate@bsd.coe.montana.edu, briggs@csugrad.cs.vt.edu

here is a fix for a silly bug in the scsiconf I just sent out
and a similar fix for st.c
1993-08-20 09:14:22 +00:00
Rodney W. Grimes
b648f67ad6 Moved /sys/scsi code files information to independed files file where it
should have always been.
1993-08-20 08:53:08 +00:00
Andrew Moore
5bb374bc76 patch 1of2 to prevent kill -1 syslogd from hanging the console
blindly applied patch provided by Christoph Robitschko:
*** cons.c.orig	Sat Jun 12 07:57:53 1993
--- cons.c	Thu Aug 19 22:34:53 1993
***************
*** 56,61 ****
--- 56,62 ----
  #include "sys/tty.h"
  #include "sys/file.h"
  #include "sys/conf.h"
+ #include "sys/vnode.h"

  #include "cons.h"

***************
*** 105,118 ****
--- 106,130 ----
  	(*cp->cn_init)(cp);
  }

+ static struct vnode	*cnopenvp = NULLVP;
+
+
  cnopen(dev, flag, mode, p)
  	dev_t dev;
  	int flag, mode;
  	struct proc *p;
  {
+ 	int		error;
+
+
  	if (cn_tab == NULL)
  		return (0);
  	dev = cn_tab->cn_dev;
+ 	if (cnopenvp == NULLVP)
+ 		if ((error = getdevvp(dev, &cnopenvp, VCHR))) {
+ 			printf("cnopen: getdevvp returned %d !\n", error);
+ 			return(error);
+ 		}
  	return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
  }

***************
*** 121,130 ****
  	int flag, mode;
  	struct proc *p;
  {
  	if (cn_tab == NULL)
  		return (0);
  	dev = cn_tab->cn_dev;
! 	return ((*cdevsw[major(dev)].d_close)(dev, flag, mode, p));
  }

  cnread(dev, uio, flag)
--- 133,153 ----
  	int flag, mode;
  	struct proc *p;
  {
+ 	int		error;
+
+
  	if (cn_tab == NULL)
  		return (0);
  	dev = cn_tab->cn_dev;
! 	if (vcount(cnopenvp) <= 1)
! 		error = (*cdevsw[major(dev)].d_close)(dev, flag, mode, p);
! 	else
! 		error = 0;
! 	if (error == 0) {
! 		vrele(cnopenvp);
! 		cnopenvp = NULLVP;
! 	return(error);
! 	}
  }

  cnread(dev, uio, flag)
1993-08-20 05:46:09 +00:00
Andrew Moore
7aed710168 added Bustek 545 support (patch from Christoph Robitschko):
*** aha1542.c~	Thu Aug 19 14:25:33 1993
--- aha1542.c	Thu Aug 19 14:25:49 1993
***************
*** 954,959 ****
--- 954,960 ----
  	printf("aha%d:",unit);
  #define	PRNT(x) printf(x)
  #endif	__386BSD__
+ 	DELAY(1000);	/* for Bustek 545 */
  	aha_cmd(unit,0, sizeof(conf), 0 ,&conf, AHA_CONF_GET);
  	switch(conf.chan)
  	{
1993-08-19 21:32:59 +00:00
Rodney W. Grimes
3b3837db61 Fixed poor timeout code in out_fdc. The timeout counter was not being
reinitialized between while loops.  Added comments about what was going
on in the out_fdc routine.

out_fdc now returns if the direction bit is not set in time instead of
trying to wait for MRQ to get cleared.
1993-08-12 09:21:20 +00:00
Rodney W. Grimes
1acce5a995 Removed one more reverence to the old Adaptec 1542b as.c driver, one less
dependent for autoconf.c.
1993-08-10 10:18:33 +00:00
Rodney W. Grimes
a08d4ed348 Finish removal of reminents of as.c Adaptec scsi driver. 1993-08-09 19:02:21 +00:00
Rodney W. Grimes
1ce6e34045 Moved _eintr{names,cnt} so that vmstat -i does not report all the debugging
stuff of the fast interrupt code.
1993-08-09 18:20:26 +00:00
Rodney W. Grimes
fc1fd08682 Removal of support for old scsi as.c driver, removal off old unneeded
kernel config files since AH?TEST are now supported by GENERICISA,
and the others used the old as driver they are no longer valid.
1993-08-09 14:39:37 +00:00
Rodney W. Grimes
78d172cab6 From guido@gvr.win.tue.nl Sat Aug 7 06:58:04 1993
I posted some patches on the 386bsd_patchkit list to prohibit io access.
Because of a noninitialised filed in the tss, this was possible.
It is included below as the patch to machdep.c
However, when you do this *necessary* fix (security), it will be
impossible form within user space to do io.

therefor, I included another fix: when you open /dev/io, you
get the access. Of course you can rewrite it to use another minor
and thus giving access to the iospace when /dev/mem is opened, e.g.

NOTE: The /dev/io entry has not been added to /dev/MAKEDEV yet.
The patch is in NetBSD.
1993-08-09 06:16:42 +00:00
Rodney W. Grimes
0f5b6b9987 Fixed for DQFLQUIET flag from: Terry Lee <terry@uivlsisd.csl.uiuc.edu>
I submitted the part of patch00155 that fixes wd.c not reporting any
bad blocks.  Unfortunately, the patch created a new problem that makes new
installations using that kernel impossible.  I have included a patch below that
should fix both problems.  The fix comes from Tom Ivar Helbekkmo's wd driver
(the Norway wd driver).  I've also eliminated the use of the DKFL_QUIET flag
completely, since it is not used anymore.

Fixed wdgetctrl routines for so that it returns a meaniful string for
non IDE disk drives.  It also nolonger returns success when a drive is
not really there.
1993-08-08 07:03:21 +00:00
Rodney W. Grimes
3db77f6ee9 Removed the asking for a root file system when booting from floppy as that
is now handled by the new boot blocks immediatly after the kernel is loaded.
1993-08-08 06:24:15 +00:00
Rodney W. Grimes
7e00252602 Added printf for cases AHB_ASN (async even notification) and AHB_HW_ERR so
that we are notified when these events occur.  This may lead us to the
cause of certain AHB timeout/lockup problems.

From: Roy Neese of Adaptec
1993-08-08 04:46:37 +00:00
Rodney W. Grimes
903a4691a3 Removed tabs from the front of XXU: messages to make it fit the other
messages closer.  Added missing new line to the message about to many
scsi cd drives.
1993-08-06 12:11:52 +00:00
Rodney W. Grimes
2ea3f75bd2 Fixed **probing for scsi devices** message to have a controller and unit
message on the begining of it:
aha0: **probing for scsi devices**
1993-08-06 11:59:06 +00:00
Nate Williams
4ff3cd9d3d Fix the problem where newvers gets called every time make is run on
the kernel.
1993-08-04 23:51:59 +00:00
David Greenman
0d1a37c0f1 * Fixed problem where some rev 8013EBT boards want the DCR_LS flag
* set in order to work in 16bit mode.

   Seems also to improve performance by 15%! (?!) I think there might
be more to this flag than the manual says.
1993-08-02 10:36:05 +00:00
Jordan K. Hubbard
1172bacb07 Whoops - try again. Include safeties. 1993-07-30 10:57:09 +00:00
Jordan K. Hubbard
c8fadf0180 Now have very necessary include safety checks 1993-07-30 10:51:58 +00:00
Jordan K. Hubbard
c3b435bb51 Updated syscons to 0.2b - please test this! It won't be in the ALPHA
release, but it's still worth testing.
1993-07-30 02:20:26 +00:00
Jordan K. Hubbard
e5d2fcc149 Free'd up major number assigned to codrv. 1993-07-30 00:57:06 +00:00
Jordan K. Hubbard
e483a5b233 Removed entries for codrv, nuked sample config file since no longer necessary. 1993-07-30 00:56:31 +00:00
Nate Williams
02e451a8a9 Syncing our sources back with Julian's, and removing PATCHKIT headers.
Large Bustek changes, most everything else is minimal.
1993-07-29 11:55:37 +00:00
Nate Williams
d97875d4b0 Removed PATCHKIT headers and updated our sources to Julian's with
our patches back in.  Major changes to the Bustek driver and the
Tape driver, the rest are minor.
1993-07-29 11:49:13 +00:00
Nate Williams
f798d06073 fts(3) integration patches 1993-07-28 01:42:17 +00:00
David Greenman
269312019a * Applied fixes from Bruce Evans to fix COW bugs, >1MB kernel loading,
profiling, and various protection checks that cause security holes
  and system crashes.
* Changed min/max/bcmp/ffs/strlen to be static inline functions
  - included from cpufunc.h in via systm.h. This change
  improves performance in many parts of the kernel - up to 5% in the
  networking layer alone. Note that this requires systm.h to be included
  in any file that uses these functions otherwise it won't be able to
  find them during the load.
* Fixed incorrect call to splx() in if_is.c
* Fixed bogus variable assignment to splx() in if_ed.c
1993-07-27 10:52:31 +00:00
David Greenman
49386830c3 * Added include of systm.h to pick up inlined min/max/bcmp if you have
* them in cpufunc.h. Modified wait loop in reset to look a little better.
 * Added read for talley counters to prevent an infinite loop on old
 * 8003E's if they (the counters) overflow.
1993-07-27 03:13:50 +00:00
Jordan K. Hubbard
0f8495d03c Sample kernel config for syscons. 1993-07-26 21:27:38 +00:00
Jordan K. Hubbard
916347f77e Added necessary files for syscons (may move font include later, but for now
it's easier to leave there since I don't feel like breaking anything).
1993-07-26 21:21:11 +00:00
Jordan K. Hubbard
37338777df Added entry for syscons. 1993-07-26 21:19:30 +00:00
David Greenman
d0338d9612 Fixed logic problem which caused a bogus value to be written to the 3c503
asic register even if the board isn't a 3c503. This caused old 8003E's not
to work because they ignore IO address bits >10bits and the 3c503 asic is
located at +0x400....the offset was ignored by the 8003E and so the
value was written to one of the NIC registers. The bug was discovered by
Wolfgang Solfrank.
1993-07-25 23:43:30 +00:00
Rodney W. Grimes
5bd44448a9 Very small patch from Julian Elischer to make the ultra14f.c driver work
with the 34f as well.
1993-07-22 00:56:23 +00:00
Paul Richards
31e73a990a Fixed attach printfs for new format (thanks Chris) 1993-07-21 06:07:58 +00:00
Paul Richards
d55523f96b Added statistical counters ipackets,opackets etc. 1993-07-21 04:18:47 +00:00
David Greenman
69a164c5e3 Added config file override for memory size and added flags to force
8bit or 16bit operation, and a flag to disable transmitter double buffering.
   See the updated "ed.relnotes" file for information about how to set
the flags.
   This should be considered the first "production"  release. It still
needs a manual page, though.
1993-07-20 23:16:50 +00:00
Jordan K. Hubbard
ba52f64934 Applied Andrew's patch to fix loop-on-logout problem. 1993-07-20 02:06:49 +00:00
Jordan K. Hubbard
c58613f344 Changed comment relating to memsize to be a little less misleading. 1993-07-20 02:02:12 +00:00
Jordan K. Hubbard
2a1e5244b2 Fixed to allow iosiz config parameter to override what was (for me,
incorrectly) probed.  This allows you more flexibility in getting weird
WD 80x3 clones to work.
1993-07-20 01:39:24 +00:00
Jordan K. Hubbard
bb5d729efe Removed check for interrupting board before interrupts were enabled.
This should result in more AST clones getting seen.
1993-07-20 00:22:30 +00:00
Rodney W. Grimes
7ea04e18b1 Fixed sccs id to be From:\n com.c xxxx. The sccs id was changed by the
patch kit and it should not have been.
1993-07-18 21:27:57 +00:00
Paul Richards
1e41bb4918 Fixed warning from gcc1 (but not gcc2 for some reason).
2nd parameter to isread was unsigned char and function declaration was for
char. Changed function declaration to unsigned char.
1993-07-18 20:57:34 +00:00
Paul Richards
75124a8b13 Added volatile void to cpu_exit() in the hope that it would
stop warning about returning from gcc.

It hasn't but the declaration is still correct.
1993-07-18 20:56:17 +00:00
Paul Richards
a94a9c9493 Small fix to correct warning --
missing cast of u_short to int in isread call.
1993-07-18 04:18:00 +00:00
David Greenman
80b939867b New locore from Christoph Rubitschko. 1993-07-16 23:55:07 +00:00
David Greenman
01ae5b20df Updated kernel files to move occurances of "struct args" syscall
argument definitions outside of the function parameter list.  This is
to reduce the copious warning messages that (non-Jolitz) gcc produces.
Also fixed some bogus variable declarations and casts to make the
compiler happy.
1993-07-16 20:50:44 +00:00
Rodney W. Grimes
6d36c167f4 Changed header from 386BSD BOOT to FreeBSD BOOT. 1993-07-16 13:06:08 +00:00
David Greenman
2a6c898016 Modified attach printf's so that the output is compatible with the "new"
way of doing things. There still remain several drivers that need to
be updated.  Also added a compile-time option to pccons to switch the
control and caps-lock keys (REVERSE_CAPS_CTRL) - added for my personal
sanity.
1993-07-15 17:53:14 +00:00
Rodney W. Grimes
0d01087b28 From Bruce Evans:
lpt doesn't work here if the printer is not turned on at boot time (this
has been reported for other systems).

lpt has a weird mapping of the flag bits vs printer numbers and MAKEDEV
does not understand this (printer 0 uses minor numbers 0-0x3f, printer 1
uses minors 0x40-0x7f, etc).

The following (simpler) problems are fixed by the patch.

lpt did not check the minor number on open, so if NLPT1 == 1 and you
try to open printer 1 then random memory above the lpt_sc array is
accessed.  I thought I had this problem for minors 1 and 2.  However,
it does not actually occur until minor 0x40.  Does anyone have lpt64?

lpt had several unnecessary && broken ANSIisms and other sloppy
declarations.

Bruce
1993-07-13 18:52:49 +00:00
Charlie Root
f7710986e2 New boot blocks, from Bruce Evans, and NetBSD fixes. Allows kernel to
be loaded above 1MB.  Same boot code for floppies now.  Speed improvements.
etc etc etc. (I don't have much history on this, but then have been tested)
1993-07-13 18:15:32 +00:00
Rodney W. Grimes
605d655975 Fixed two occarances of ldos which should have been lods.
(From Christoph Robitschko)
1993-07-12 09:34:38 +00:00
Rodney W. Grimes
f2a2ec318a For all ed0 driver lines removed iosiz 8192, and fixed the weintr to be
edintr (error from last time I updated these)
1993-07-12 09:30:31 +00:00
Jordan K. Hubbard
e51a2feb26 Put if_we driver well and truly back into the kernel. 1993-07-09 01:17:46 +00:00
Paul Richards
8efffeb95f Added copyright message -- it didn't have one before 1993-07-09 00:09:34 +00:00
Charlie Root
c26491ecf4 Increased default data size (DFLDSIZ) to 16MB. Need to rebuild libutil,
kernel, ps and w for this to work!
1993-07-03 21:21:35 +00:00
Nate Williams
beb7ebb072 Added (protection) around negative constants, in case a program wants
to use the negative of that constant.

#define NEG_NUM -3
#define SAFE_NEG_NUM (-3)

i = -NEG_NUM;		/* Error --3 */
j = -SAFE_NEG_NUM	/* Okay -(-3) */
1993-06-30 22:59:18 +00:00
Nate Williams
330b151312 Setting up for updated (usable) FPE atof/vfprintf/vfscanf fixes 1993-06-29 13:34:33 +00:00
David Greenman
43d5830f3d fixed bugs in the probe routine uncovered by the previous fix. 1993-06-27 10:28:28 +00:00
David Greenman
3340e10399 fixed bug in probe that causes it to complain about 'Invalid irq configuration'
if the interface isn't present in the system.
1993-06-26 02:32:26 +00:00
David Greenman
c8378b88c6 Second beta release of device driver for SMC/WD 80x3 ethernet boards +
some additional comments.
1993-06-23 16:22:04 +00:00
David Greenman
258445a954 Second beta release of device driver for WD/SMC 80x3 and 3c503 ethernet boards 1993-06-22 12:10:07 +00:00
Paul Richards
ee4a642ef6 Added bpf support to if_is.c (Isolan driver) 1993-06-19 08:24:14 +00:00
Rodney W. Grimes
4232df2cf0 Obsolete if_we.c driver, more attach call to where it belongs.
Still need to fix all the drivers.
1993-06-18 22:18:57 +00:00
Rodney W. Grimes
16f4391768 Changed all we0's to ed0's. Obsoleting if_we.c driver. 1993-06-18 22:17:43 +00:00
Paul Richards
ba98737aba New if_is.c isolan ethernet driver that can handle multiple cards. 1993-06-18 20:25:32 +00:00
Paul Richards
7c434002a4 Upgrade to GCC 2.X 1993-06-18 02:47:24 +00:00
David Greenman
8eece53087 Beta release of device driver for SMC/WD80x3 and 3C503 ethernet boards. 1993-06-14 22:21:25 +00:00
Rodney W. Grimes
5b81b6b301 Initial import, 0.1 + pk 0.2.4-B1 1993-06-12 14:58:17 +00:00