Commit Graph

819 Commits

Author SHA1 Message Date
Poul-Henning Kamp 040bdbb2c7 Two minor nits, a printf wasn't #ifdef PAS_DEBUG'ed and probe should return 4. 1994-09-13 06:44:39 +00:00
Poul-Henning Kamp 1b4997efff Only say eisa if ((ioaddr & 0xfff) >= 0x400) 1994-09-13 06:43:57 +00:00
Poul-Henning Kamp 66ce0eae53 Added DSI_SOFT_MODEM 1994-09-13 03:34:08 +00:00
Poul-Henning Kamp 5b7ffe398f Digicom Systems Inc, makes "softmodems". What this means is simply that
you download the microcode to the DSP everytime you power on your system.
They provide a dos-program to do so, but no other support.  This commit adds
code to the sio-driver, which implement an ioctl, which will down-load the
micro-code.

To get this functionality, you must define DSI_SOFT_MODEM.

The program to actually employ the ioctl is not included, but the entire
source looks like this:

        #include <sys/ioctl.h>
        #include <stdio.h>

        main()
        {
                unsigned char buffer[100000];
                int i;

                read(0,buffer,100000);
                if((i = ioctl(1,TIOCDSIMICROCODE,buffer)) < 0)
                    perror("ioctl");
                return i;
        }

And you use it like this:
	smload < data144b.dsi > /dev/ttyid3

You need to copy the *.DSI files from the dos-media provide with your modem.
You can see what is downloaded by issuing the ATI3 command to the modem.
DSI's scheme for what code you can run on your modem isn't violated by this.

Poul-Henning Kamp
phk@freefall.cdrom.com
1994-09-13 03:30:31 +00:00
David Greenman cde7257454 Eliminated a whole pile of ancient (we're taking 4.3BSD) VM system
related #define constants. Corrected incorrect VM_MAX_KERNEL_ADDRESS.

Reviewed by:	John Dyson
1994-09-12 11:38:31 +00:00
Andreas Schulz 2c2006d83f Deleted the pccons driver from the files.i386, added the seagate driver
into files.i386.
LINT:
Deleted the timezone line. Commented out the maxfdescs line and the
SYSVSHM and the SHMMAXPGS lines.
1994-09-11 21:09:52 +00:00
Poul-Henning Kamp c6875d6c17 Better definitions for the NCR 5380 chip.
Poul-Henning
1994-09-11 20:29:18 +00:00
Poul-Henning Kamp 30902edcfb 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
David Greenman f7d6afc696 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
Geoff Rehmet 20dcc37daa Change "asm" to "__asm" - makes it possible to compile code with
"-ansi" compiler switch set.
1994-09-10 20:03:14 +00:00
David Greenman c1bb2f57d0 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
Garrett Wollman 501c23938c 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
Geoff Rehmet e32458368f 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
Garrett Wollman 6bf5b24768 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
Doug Rabson 010a751e0a Added the psm driver from 1.1.5.
Submitted by:	dfr
1994-09-09 11:27:50 +00:00
Jordan K. Hubbard 95112be9b3 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
Bruce Evans 8aca2c0a98 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
Bruce Evans ab9678ac9d 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
Bruce Evans fe7bb84c74 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
David Greenman b9a3bebbc7 Removed MULTICAST ifdef's; it's no longer optional. Cleaned up code a
little.
1994-09-07 06:11:29 +00:00
Garrett Wollman 9c50c38bb5 unifdef -DMULTICAST, since multicast support is always enabled in 4.4. 1994-09-07 03:34:12 +00:00
Stefan Eßer 9c1cc29eec 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
Stefan Eßer e579efa207 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
Stefan Eßer d4a8d8c52b 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
Andreas Schulz 2ac8be827f 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
Andreas Schulz a97f37a9db 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
Jordan K. Hubbard 7d5a70fc3b Get rid of a superfluous echo.
Submitted by:	jkh
1994-09-05 19:10:01 +00:00
Jordan K. Hubbard 82e08a73de Remove symlink before remaking it for libkern.a
Reviewed by:	jkh
Submitted by:	dima
1994-09-05 19:09:15 +00:00
Bruce Evans 350ce31055 Fix comments. 1994-09-05 14:09:41 +00:00
David Greenman 426c995032 DOn't allow I/O register access in process 1 (oops). 1994-09-05 05:20:29 +00:00
David Greenman 654f13335e Improved some comments. 1994-09-04 23:10:27 +00:00
Paul Traina c784172318 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
David Greenman 7a5f7b0656 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
David Greenman 9cbeeedde3 Added pmap_mapdev() function to map device memory. 1994-09-04 04:11:57 +00:00
David Greenman 5c06a7a368 Initialize eflags register - brought over from 1.1.5. 1994-09-04 00:33:00 +00:00
Geoff Rehmet 12365022c0 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
Andreas Schulz 780f8a2611 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
Andrey A. Chernov c4ff2eb1dd 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
Geoff Rehmet 006e55746d 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
Andreas Schulz 7dfcb69ffc 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
Andreas Schulz 3d76654d68 Reviewed by:
Submitted by:
1) if_ie.c:
	Changed a printf and put a space in it. Formerly the "<3C507>"
	confused the syslog. He tried to see that as the priority to
	log that message.

2) isa_device.h:
	Changed the iobase variable from short to u_short. EISA
	Adresses can go up to 0xf000 and the sign extension doesn't
	look good in the probe output. Example:
	ep1 at 0xffff8000-0xffff8000f is not good :-), i like more a
	ep1 at 0x8000-0x8000f.

3) isa.c:
	Changed a string constant from "probe" to "prob", it gets
	later already an "ed" tagged on the end.
1994-09-02 22:13:34 +00:00
Bruce Evans 86a8648eef Restore some explicit dependencies for locore.s so that "make clean; make"
works even if .depend doesn't exist.
1994-09-02 20:24:15 +00:00
Paul Richards 040071b276 Added entry for if_lnc.c, soon to be added new Lancef amily ethernet
driver.
Reviewed by:
Submitted by:
1994-09-02 15:49:48 +00:00
David Greenman 35aee0800d Converted P_LINK -> P_FORW, P_RLINK -> P_BACK, minor optimization. 1994-09-02 05:58:51 +00:00
David Greenman 2c7a40c7ca Removed all vestiges of tlbflush(). Replaced them with calls to pmap_update().
Made pmap_update an inline assembly function.
1994-09-02 04:12:26 +00:00
David Greenman 9ee9202471 It's not necessary to make page tables write-through, so get rid of this
(this was an experimental change which probably shouldn't have been
committed). I/O pages are still marked non-cacheable, however.
1994-09-02 01:29:20 +00:00
David Greenman 55020640dc Changed MAX to max. 1994-09-01 11:06:36 +00:00
David Greenman e8fb0b2c17 Realtime priority scheduling support.
Submitted by:	Henrik Vestergaard Draboel
1994-09-01 05:12:53 +00:00
David Greenman 431be400a7 Got rid of some old, unused junk. 1994-09-01 03:16:40 +00:00
David Greenman eb0c95a462 Got rid of redundant declaration, and changed IFF_LLC0 to IFF_LINK0. 1994-09-01 03:08:27 +00:00