1016 Commits

Author SHA1 Message Date
ats
75635299bc Delete the extra's int nosys(); declarations like the new makesyscall.sh
do it now.
1994-09-11 20:56:02 +00:00
ats
e55f4b3d3c Change the makesyscalls.sh to only generate one line for the external
declaration of nosys. This prevents some warnings from the compiler.
1994-09-11 20:45:34 +00:00
phk
f0361d86de Better definitions for the NCR 5380 chip.
Poul-Henning
1994-09-11 20:29:18 +00:00
phk
ceb75b8c41 ProAudioSpectrum 16 {Zilog|Ncr} 5380 based SCSI-driver.
This puppy is in good shape now.

It is a fully blown SCSI-driver, but it isn't a high performance one.  It is
implemented entirely with polled I/O, and is intended to drive CD-ROM's, not
disks and tapes.  It will run disks and tapes if asked to, but it isn't a
very good idea to do so.  Transfer-rates max out at 600-700 kbyte/sec.

There is one problem: when write-requests get over 8192 bytes, the pseudo-DMA
stalls.  This is only a problem if you dd(1) to a raw-device of some kind,
for mounting a disk it is ok.  I have circumvented this by disabling the
pseudo-DMA in those cases.

It's very unlikely that I will spend more time on improving the performance
of this driver, it can do what I want it to now: install from a CD-ROM, and I
don't see any benefit in actually adding interrupts to the driver, considering
that performance never will be better than 700 kbyte/sec anyway.

You can install it under 1.1.5 too, by adding the lines to files.i386, your
config-file and copying pas.c and ic/ncr_5380.h over.

I will fix any bugs I can get a handle on.

Poul-Henning
1994-09-11 20:28:50 +00:00
dg
0756c91ab2 Be more careful about dereferencing curproc, p_vmspace, and curpcb,
otherwise the machine will overflow the stack in a recursive fault loop
(causing the machine to spontaneously reboot because of the stack fault
that ultimately happens).

Submitted by:	Inspired by Bruce Evans, but this change is different
		than what he suggested.
1994-09-11 11:26:18 +00:00
dg
d42dae3660 Fixed problem with no swap on boot device, but there is some on an
alternate device (as specified via kernel config file)...that casues
the machine to panic.
1994-09-11 03:55:39 +00:00
csgr
35e39ab690 Change "asm" to "__asm" - makes it possible to compile code with
"-ansi" compiler switch set.
1994-09-10 20:03:14 +00:00
dg
2c773dae9d Brought over two fixes from 1.1.5; this now makes this driver "up to date"
with 1.1.5:

  revision 1.40
  date: 1994/06/17 16:57:03;  author: pst;  state: Exp;  lines: +4 -2
  From: Gill Kloepfer Jr. <gil@limbic.ssdl.com>
  Verified by: pst

  > The DIOCSBAD ioctl sets a bad block table (is almost suredly called by
  > the bad144 utility) and changes the memory-resident bad block table.  The
  > problem is that bad144intern() is not called after the "disk" structure has
  > been changed, so that the internal bad144 table will become out-of-sync with
  > the one in the disk structure.
  ----------------------------
  revision 1.39
  date: 1994/06/07 01:36:39;  author: phk;  state: Exp;  lines: +3 -2
  another place option !defined(DISKLABEL_UNPROTECTED) was needed.
1994-09-10 03:19:49 +00:00
wollman
7ae0ceacbd Define new MIB variable, hw.floatingpoint, which is true if FP hardware
is present, and false if an emulator is being used.
1994-09-09 23:13:03 +00:00
csgr
02b9a39b49 Remove *_SAVER syscons options - I don't know how they go in here:
(These options did not even really exist in 1.1.5.1)
CVS:
1994-09-09 22:12:38 +00:00
wollman
d8b7eaadb8 Disable IPMULTICAST_VIF socket option when MROUTING is not defined,
since it doesn'tmake any sense for non-routers.
CVS:
1994-09-09 22:05:02 +00:00
wollman
ded5569bee Don't include options MULTICAST or MROUTING in generic kernels. MULTICAST
has no effect now, and MROUTING should never be defined by default.
(Eventually the code should be dynamically loadable.)

Also, allow for Pentium CPUs in GENERICBT kernels.

Add an `install' rule to Makefile.i386, which looks like this:
	mv /kernel /kernel.old
	install -c -m 555 -o root -g root -fschg kernel /
I'd like comments on whether or not you think it's a good idea to have
the kernel be immutable by default; I'm happy either way.
CVS:
1994-09-09 22:03:51 +00:00
dfr
0818c1ddfb Fixed a couple of typos which made S_ISFIFO and S_ISSOCK return true for
regular files.
1994-09-09 15:19:40 +00:00
dg
0d2e67cf3e Relaxed panic in fdesc_setattr() to just return error. 1994-09-09 13:24:26 +00:00
dg
d3296d0014 Fixed off by one error in referencing an array.
Stolen from:	NetBSD
1994-09-09 13:23:20 +00:00
dg
3e7f1f5c50 Made SLMTU kernel config'able. 1994-09-09 12:58:10 +00:00
dfr
61c0b9282d Added the psm driver from 1.1.5.
Submitted by:	dfr
1994-09-09 11:27:50 +00:00
dfr
8e7267d0ad Fixed some confusion between the size of a logical block and the size of a
device block which was stopping symbolic links working.

cd9660_readdir was incorrectly casting a pointer to the d_namlen field of a
struct dirent to a (u_short*) which caused the directory entries "." and ".."
to read incorrectly.

Submitted by:	dfr
1994-09-09 11:11:01 +00:00
jkh
6d8bc96be8 Recycle cdev 20, sound blaster driver is long since deceased.
Assign cdev 8 to Luigi's transputer driver.
Submitted by:	jkh
1994-09-08 18:02:35 +00:00
bde
9a1bbfc6ca Quote the first arg to _IO(). Not quoting it didn't matter because
this file is never used.

Uniformize use of idempotence identifier.
1994-09-08 12:26:07 +00:00
bde
b186b56427 Get all the definitions from DEFS.h and not directly from asmacros.h
if KERNEL is not defined.  lib/msun/i387/*.S include asmacros.h to
get the definitions of ENTRY(), etc.  This is bogus since asmacros.h
is only supposed to give definitions suitable for the kernel.  The
current definitions for the kernel almost worked but are missing
the ".type" declarations.  This caused the linker to print warnings
about doubtful relocations for almost anything linked to libm[sun].

Uniformize name and use of idempotence identifier.
1994-09-08 12:25:18 +00:00
bde
b0b76e7d37 Remove <machine/eflags.h> and all dependencies on it. eflags.h is just
the Mach/i386 version of the BSD/vax(?) <machine/psl.h>.  The Mach
version has slightly better names for many macros but is now out of
date and little used.  It was originally used even less (for spelling
PSL_T as EFL_TF in <machine/db_machdep.h>).
1994-09-08 11:49:04 +00:00
wollman
e3a1806f35 The mrt_ioctl goop properly depends on MROUTING, not MULTICAST. (Oof!) 1994-09-08 00:17:22 +00:00
se
a885c3925e Reviewed by: Stefan Esser
Submitted by:
rtioctl(): changed parameter to mrt_ioctl from "cmd" to "req" to make
it compile with MULTICAST defined.
1994-09-07 19:50:42 +00:00
dg
a26bb838f1 Removed MULTICAST ifdef's; it's no longer optional. Cleaned up code a
little.
1994-09-07 06:11:29 +00:00
wollman
e226404dd2 unifdef -DMULTICAST, since multicast support is always enabled in 4.4. 1994-09-07 03:34:12 +00:00
wollman
75ad508fd1 Initial get-the-easy-case-working upgrade of the multicast code
to something more recent than the ancient 1.2 release contained in
4.4.  This code has the following advantages as compared to
previous versions (culled from the README file for the SunOS release):

- True multicast delivery
- Configurable rate-limiting of forwarded multicast traffic on each
  physical interface or tunnel, using a token-bucket limiter.
- Simplistic classification of packets for prioritized dropping.
- Administrative scoping of multicast address ranges.
- Faster detection of hosts leaving groups.
- Support for multicast traceroute (code not yet available).
- Support for RSVP, the Resource Reservation Protocol.

What still needs to be done:

- The multicast forwarder needs testing.
- The multicast routing daemon needs to be ported.
- Network interface drivers need to have the `#ifdef MULTICAST' goop ripped
  out of them.
- The IGMP code should probably be bogon-tested.

Some notes about the porting process:

In some cases, the Berkeley people decided to incorporate functionality from
later releases of the multicast code, but then had to do things differently.
As a result, if you look at Deering's patches, and then look at
our code, it is not always obvious whether the patch even applies.  Let
the reader beware.

I ran ip_mroute.c through several passes of `unifdef' to get rid of
useless grot, and to permanently enable the RSVP support, which we will
include as standard.

Ported by: 	Garrett Wollman
Submitted by:	Steve Deering and Ajit Thyagarajan (among others)
1994-09-06 22:42:31 +00:00
se
f624d4a80e This commit was generated by cvs2svn to compensate for changes in r2528,
which included commits to RCS files with non-trunk default branches.
1994-09-06 22:39:12 +00:00
se
034badb61c Reviewed by: Stefan Esser <se>
Submitted by:	
Current development version of PCI and NCR 53c810 driver.
Not yet tested under FreeBSD-2.0 !
1994-09-06 22:39:12 +00:00
se
ffdd9f3386 Reviewed by: Stefan Esser <se>
Submitted by:
Added "i386/pci/pci_intel.c" for Intel PCI chip set specific driver code.
1994-09-06 21:58:53 +00:00
se
524a01bc62 Reviewed by: Stefan Esser <se>
Submitted by:
Changed "bp->av_forw" into "bp->b_actf" to make it compile ...
1994-09-06 21:56:09 +00:00
dg
ec8e5a16d9 Disabled a debugging printf. 1994-09-06 17:53:24 +00:00
dg
0a37b9feee Simple changes to paging algorithms...but boy do they make a difference.
FreeBSD's paging performance has never been better. Wow.

Submitted by:	John Dyson
1994-09-06 11:28:46 +00:00
ats
24b9b7c35e Reviewed by:
Delete the hints to the sg driver. This thing was never finished and
has now been beaten by the sea driver.
1994-09-05 22:32:42 +00:00
ats
2edb8b6c96 Reviewed by:
Add initialization to the if_ie driver for the Micom Interlan NI5210 card.
This is a very old 82586 based card with only 8Kb or 16Kb on board memory.
Also only 8-bit wide instead of 16-bit like the AT& or 3COM card.
Warning: this thing is only tested so far that it detects all bits
correctly but is not yet on an ethernet. Will do that tomorrow.
1994-09-05 22:28:31 +00:00
jkh
b5390b8431 Get rid of a superfluous echo.
Submitted by:	jkh
1994-09-05 19:10:01 +00:00
jkh
4b891bdb68 Remove symlink before remaking it for libkern.a
Reviewed by:	jkh
Submitted by:	dima
1994-09-05 19:09:15 +00:00
bde
889bf31f37 Fix comments. 1994-09-05 14:09:41 +00:00
bde
6e409adfcf 386bsd -> kernel in strings. 1994-09-05 14:04:56 +00:00
dg
b47ee85a34 DOn't allow I/O register access in process 1 (oops). 1994-09-05 05:20:29 +00:00
dg
8747eb313f Improved some comments. 1994-09-04 23:10:27 +00:00
pst
915907cc03 Detect if we're running on a Cyrix 486DLC and enable automatic cache
negation whenever we access memory between 640k and 1M.

Original code from NetBSD 1.0-BETA.  The exact origins are unclear but
Theo de Raadt, Charles, and Michael V. may have contributed to it.

Submitted by:	pst
1994-09-04 19:59:24 +00:00
dg
0b6f9dbfcb Rewrote last vestige of code that used gs (copyinstr). The use of gs in
this routine caused problems for machines that don't set it up properly
before boot (such was the case on an EVEREX machine sitting next to me).
1994-09-04 10:24:22 +00:00
dg
4f4f361dff Added pmap_mapdev() function to map device memory. 1994-09-04 04:11:57 +00:00
dg
a155a99a15 Initialize eflags register - brought over from 1.1.5. 1994-09-04 00:33:00 +00:00
csgr
7b6e72a847 Make it possible to run lptcontrol on a printer port which does not
actually have a printer connected or online:
- MAKEDEV:		remove all signs of lpa
			add lpctl? devices (minor # = unit + 128)
- usr.sbin/Makefile	add lptcontrol
- sys/i386/isa/lpt.c	implement the LP_BYPASS flag: when a unit is
			opened with this flag set, the printer is
			not primed, and no check is made to see that
			the printer is online.  This can only be used
			to pass ioctls.  (giving us /dev/lpctl?)
- lptcontrol.c		use /dev/lpctl? (LP_BYPASS)
			-f flag removed, -u flag added
- lptcontrol.8		document changes in lptcontrol
			rewrite using mandoc macros
Submitted by:	Geoff.
1994-09-03 22:47:08 +00:00
ats
75e0beaff3 Reviewed by:
Submitted by:
Update the if_ep driver for the 3C579 and bring over some of the
changes from the netbsd driver.
This is not complete: the detection of the irq in the eisa does not
work and sometimes the reset for the 3C509 in ISA in an EISA bus system
don't work ( Need a hard reset to be found again == reset knob).
1994-09-03 18:10:44 +00:00
ache
5f18a711b2 Newly implemented ioctls list:
DIOCGDINFO, DIOCGPART, DIOCWDINFO, DIOCSDINFO, CDIOCPLAYMSF, CDIOCRESET,
CDIOCEJECT.

CDIOCPLAYBLOCKS removed (old implementation completely wrong and I don't
know how to implement it correctly).

All routines now detects media change correctly.

DELAY_GETREPLAY increased for long time access from first track
to last.

mcd_waitrdy() now use MIN_DELAY=15 as minimal delay which independs
of machine speed.

mcd_doread() now uses real status (old code uses obsoleted soft copy of it).

clear XBSY on error in mcd_doread()

mcd_statrt(): add missing splx(s), cause dead hang with unmatched slpbio()

optimize mcd_doread(), don't set CD mode each time, keep soft copy of mode.

call getdisklabel() _after_ mcdsize() for proper sizes

mcdopen(): old code forget to set MCDREADRAW in flags when open RAW
partition, doread check it for setting RAW CD mode.

Do nothing on stray interrupt (which sometimes occurse, because driver
read data block too slow, DOS driver use 'insb' here). Old stray code
cause timeouts.

Read toc entries code rewritten to return many requested entries
(as supposed) instead of one entry with incorrect structure.

CMDREAD2 requests covered with disable_intr()/enable_intr()
(from DOS driver)

Read junk code added after read block code in doread (from DOS driver)

mcd_read_toc() code fixed to read all needed entries, old code cause
some audio tracks is not played.

mcd_playtracks() code fixed to proper check valid track range.

New binary read modes implemented (from DOS driver).
1994-09-03 16:48:13 +00:00
csgr
570c3ecb10 make id_iobase an int - the change to a u_short broke lpt,
which uses port? (which results in id_iobase == -1)
Submitted by:	Geoff.
1994-09-03 16:03:09 +00:00
ats
399e5eca6e Reviewed by:
Submitted by:
Put the printf("can't map 3c507 ram.. into an ifdef DEBUG. This will
confuse only normal users and the ie0 found/not found is sufficient.
1994-09-02 23:23:57 +00:00