Commit Graph

14305 Commits

Author SHA1 Message Date
Søren Schmidt
55bfaed1c0 Fourth update to the new ATA/ATAPI driver:
Well, better late than newer, but things has been hectic
around here, sorry for the long delay.

DMA support has been added to the ATA disk driver.
This only works on Intel PIIX3/4, Acer Aladdin and Promise controllers.
The promise support works without the BIOS on the board,
and timing modes are set to support up to UDMA speed. This
solves the problems with having more than one promise controller
in the same system.
There is support for "generic" DMA, that might work on other
controllers, but now you have been warned :)
More chipset specific code will come soon, I have to find testers
with the approbiate HW, more on that when I have it ready.

The system now uses its own major numbers, please run MAKEDEV
with the devices you need (ad?, acd?, afd?, ast?).
For now the disk driver will also attach to the old wd major
so one can at least boot without this step, but be warned, this
will eventually go away. The bootblocks will have to be changed
before one can boot directly from an "ad" device though.

Fixed problems:

    All known hang problems should be solved
	The probe code has been sligthly changed, this should solve
	the reports I have lying around (I hope).

    Hangs when accessing ata & atapi device on the same channel simultaniously.
	A real braino in ata_start caused this, fixed.

As usual USE AT YOUR OWN RISK!!, this is still pre alpha level code.
Especially the DMA support can hose your disk real bad if anything
goes wrong, agaiin you have been warned :)

But please tell me how it works for you!

Enjoy!

-Søren
1999-03-28 18:57:20 +00:00
Doug Rabson
f1f1b5e0c1 Fix some warnings. 1999-03-28 17:52:17 +00:00
Doug Rabson
e8d4dc28dc Fix a few warnings. 1999-03-28 17:33:38 +00:00
Doug Rabson
7e2bb9dbfe Remove trigraph. 1999-03-28 17:33:14 +00:00
Greg Lehey
ccaba9fc2b Restructure the .gdbinit files:
.gdbinit.crash contains a top-level .gdbinit suitable for debugging
               crash dumps

.gdbinit.serial contains a top-level .gdbinit suitable for serial
              debugging

Each of these two files reads the following files:

.gdbinit.kernel: This file contains general macros suitable for kernel
               debugging.  It is not related to vinum

.gdbinit.vinum:  This file contains macros specific to debugging
               vinum.

.gdbinit.paths:  Contains information about the location of the source
               and object files on the system.
1999-03-28 09:12:17 +00:00
Greg Lehey
61f64b85ae Restructure the .gdbinit files:
.gdbinit.crash contains a top-level .gdbinit suitable for debugging
               crash dumps

.gdbinit.serial contains a top-level .gdbinit suitable for serial
		debugging

Each of these two files reads the following files:

.gdbinit.kernel: This file contains general macros suitable for kernel
		 debugging.  It is not related to vinum

.gdbinit.vinum:  This file contains macros specific to debugging
		 vinum.

.gdbinit.paths:  Contains information about the location of the source
		 and object files on the system.
1999-03-28 09:10:56 +00:00
Greg Lehey
dfb9ab7989 Add definition LongJmp for longjmp if -DVINUMDEBUG.
Change some comment texts
1999-03-28 08:55:04 +00:00
Greg Lehey
d7c4c59f03 set_sd_state: Handle sd_empty correctly. In particular, require
force to bring a subdisk of a RAID-5 plex out of this
		state.

update_plex_state:  Rewrite yet again.
1999-03-28 08:54:48 +00:00
Greg Lehey
d8118f9d41 Put some \ns in some log messages. 1999-03-28 08:54:25 +00:00
Greg Lehey
1238689209 Add function LongJmp which checks the parameters before calling
longjmp.  I suspect that the occasional double panic may be the result
of incorrect parameters to longjmp.  This happens, of course, like the
entire file, only with -DVINUMDEBUG.
1999-03-28 08:54:03 +00:00
Greg Lehey
738082e8b0 Remove longjmp declaration. 1999-03-28 08:53:46 +00:00
Greg Lehey
d0fe90e337 Add declaration for forceup () (in vinumstate.c)
Add declarations for setjmp, cmd_buf and longjmp.
1999-03-28 08:53:23 +00:00
Greg Lehey
f41c5231bf Remove longjmp declaration.
give_sd_to_plex: Don't set Raid-5 subdisk state here.

config_subdisk: handle the name parameter correctly when the subdisk
		was referenced in a previous plex definition.  The
		name parameter must come first.

		Handle autosizing relatively correctly.  There is
		still a danger of losing drive space if problems
		occur with an autosized subdisk.

		Set state to empty, not up, when complete.  This also
		solves a nagging problem about enforcing the need to
		initialize RAID-5 plexes.

config_plex:    handle the name parameter correctly when the plex
		was referenced in a previous volume definition.  The
		name parameter must come first.

		Handle initial state better.

update_plex_config:
		Calculate the trim factor for RAID-5 plexes correctly.

		Set the number of down subdisks correctly when reading
		from disk config.
1999-03-28 08:53:02 +00:00
Greg Lehey
cec9815419 Remove longjmp declaration.
free_vinum:	Put a timeout on waiting for the daemon to die.
1999-03-28 08:52:33 +00:00
Greg Lehey
bd51f0eff9 Add 'referenced' states to subdisks and plexes. 1999-03-28 08:52:11 +00:00
Greg Lehey
89d8b5e853 Add support for SiS 5591/5595 chipset.
Contributed-by: "Richard Seaman, Jr." <dick@tar.com>

Tested-by:	Chris Piazza <cpiazza@home.net>
		Tugrul Galatali <tugrul@ianai.BlackSun.org>
		grog

This code includes lots of stuff for verbose probing.  I'm not 100%
sure that the output of the verbose probe is correct, but everything
else works fine, and -CURRENT was broken for the 5591 before, so I'm
committing it anyway.
1999-03-28 05:05:12 +00:00
Alan Cox
ad5fca3b4a Mainly, eliminate the comments about share maps. (We don't have share maps
any more.)  Also, eliminate an incorrect comment that says that we don't
coalesce vm_map_entry's.  (We do.)
1999-03-27 23:46:04 +00:00
Nick Hibma
e1c81f1d94 Cleaning up of code, remove unneeded cruft and make
code more compact.
1999-03-27 23:08:44 +00:00
Nick Hibma
2bee57be2f Fixed line counting error. 1999-03-27 22:41:40 +00:00
Alan Cox
4160ccd978 Added pread and pwrite. These functions are defined by the X/Open
Threads Extension.  (Note: We use the same syscall numbers as NetBSD.)

Submitted by:	John Plevyak <jplevyak@inktomi.com>
1999-03-27 21:16:58 +00:00
Bill Paul
8fe2c75e31 Make the xl and pn drivers work on FreeBSD/alpha and add them to
sys/alpha/conf/GENERIC.

Note: the PNIC ignores the lower few bits of the RX buffer DMA address,
which means we have to add yet another kludge to make it happy. Since
we can't offset the packet data, we copy the first few bytes of the
received data into a separate mbuf with proper alignment. This puts
the IP header where it needs to be to prevent unaligned accesses.

Also modified the PNIC driver to use a non-interrupt driven TX
strategy. This improves performance somewhat on x86/SMP systems where
interrupt delivery doesn't seem to be as fast with an SMP kernel as
with a UP kernel.
1999-03-27 20:41:25 +00:00
Steve Price
d5477a461b Bump __FreeBSD_version to denote that we now have a functional
dladdr(3) implementation.

Discussed with:	jdp, nate
1999-03-27 05:26:10 +00:00
Eivind Eklund
361d0ec590 Remove incorrect lock specs for vop_whiteout (introduced by Lite/2).
The lock specs are for vnodes only.

Add (hopefully correct) lock specs for vop_strategy, vop_getpages and
vop_putpages.
1999-03-27 03:08:07 +00:00
Eivind Eklund
4491ea9111 Correct a comment. 1999-03-27 02:39:01 +00:00
Alan Cox
cde9bc877b Changed vn_read/write such that fp->f_offset isn't touched
if uio->uio_offset != -1.  This fixes a problem with aio_read/write
and permits a straightforward implementation of pread/pwrite.

PR:		kern/8669
Submitted by:	John Plevyak <jplevyak@inktomi.com>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
1999-03-26 20:25:21 +00:00
Luigi Rizzo
6d41201fc5 Use the correct length from the mbuf header instead of the one from
the IP header (this would not work for bridged packets).
This has been fixed long ago in the 2.2 branch.

Problem noticed by: a few people
Fix suggested by: Remy Nonnenmacher
1999-03-26 14:15:59 +00:00
Matt Jacob
3bd28825dd Annoying little nigglet- apparently *some* Qlogic temporarily ignore
settings you've just sent them and return random values if you follow
the set by a get. This causes problems when you latter run a Tag-enabled
command when you've command tagged mode off.
1999-03-26 00:33:13 +00:00
Nate Williams
efc7b6fd9d - Made the setting of the machdep.pccard.pcic_irq from the boot config file
actually work.

Reviewed by:	"Sean O'Connell" <sean@stat.Duke.EDU>, msmith
1999-03-26 00:20:25 +00:00
Matt Jacob
92c49d78da enable 1080 LVD support 1999-03-25 22:53:56 +00:00
Matt Jacob
4394c92f52 Add in 1080 LVD support and some basis also for the 1240. The port database
printout is now enabled.
1999-03-25 22:52:45 +00:00
Matt Jacob
7aae9d1348 roll internal tag level 1999-03-25 19:53:54 +00:00
Matt Jacob
dcb409d935 roll internal tag level 1999-03-25 19:47:33 +00:00
KATO Takenori
9939a2a908 Sync with sys/i386/isa/wd.c revision 1.190. 1999-03-25 08:29:32 +00:00
KATO Takenori
b2fa1a8926 Sync with sys/i386/isa/sio.c revision up to 1.231. 1999-03-25 08:26:50 +00:00
KATO Takenori
c87c3c5cc8 Sync with sys/i386/conf/majors.i386 revision 1.69. 1999-03-25 08:25:45 +00:00
Brian Somers
42889ed1d5 PacketAliasProxyRule takes a const char *
Reminded by: bde
1999-03-25 06:48:05 +00:00
Chuck Robey
dbc5af6d2b Add Turtle Beach Malibu soundcard (and a sample config) to CARDS as
a real example of a CS4237 soundcard.
Luigi said all contributions like this were welcome in this file.
1999-03-25 04:25:38 +00:00
Steve Price
9e7e4882cb Add support for Cardinal MVP288IV PnP modem.
Submitted by:	Alex Zepeda <garbanzo@hooked.net>
1999-03-25 00:32:54 +00:00
Dag-Erling Smørgrav
b56fecc80b Implement TUNSIFMODE and TUNSLMODE.
Submitted by:	Alfred Perlstein <bright@cygnus.rush.net>
1999-03-24 21:20:12 +00:00
Brian Somers
942759e756 Add a ``const'' and remove some inconsistent prototype args. 1999-03-24 20:28:58 +00:00
Steve Price
222b8f6a91 Add support for the USR3090 PnP modem.
PR:		10773
Submitted by:	Mike Durian <durian@boulderlabs.com>
1999-03-24 17:59:25 +00:00
Luigi Rizzo
efce68a2e9 add missing #include "opt_bdg.h" 1999-03-24 12:43:39 +00:00
Nick Hibma
acf3654412 Added a number of device names: Konica, Microsoft, Macally 1999-03-24 07:46:53 +00:00
Peter Wemm
67ef82978d Update Specialix download microcode for the transputer based serial host
cards from the 3.0-beta to 3.0.4 release.

Submitted-by:  Nick Sayer <nsayer@quack.kfu.com>
PR: 10674
1999-03-24 02:49:43 +00:00
Greg Lehey
1d2ade2043 Correct the text of an obscure error message. 1999-03-24 00:43:05 +00:00
Bill Fumerola
26bb956563 Remove duplicate line.
Reviewed by:	eivind
1999-03-23 23:01:15 +00:00
Nick Hibma
d0ef08ba15 Check whether the PIRQD enable bit is set in LegSup and if not, set it.
On my PIIX4 chip rev 1 this is required. Have not had any complaints from
other people so it might be a problem with this stepping.
1999-03-23 21:37:45 +00:00
Nick Hibma
7dfd509563 1) clean up debugging output
2) remove erroneous querying of PCI LegSup register while it should be
   fetched from PCI config space
3) change name of define for this register
1999-03-23 21:35:57 +00:00
Doug Rabson
6ca34d85be Call the module's unload handler before removing the device from the
cdevsw list.  This allows a handler to veto the load without losing its
place in the list.

PR:	kern/10653
1999-03-23 21:11:47 +00:00
Poul-Henning Kamp
cc7532aaf0 Add a sysctl variable which can help stop chroot(2) escapes.
kern.chroot_allow_open_directories = 0
	chroot(2) fails if there are open directories.

kern.chroot_allow_open_directories = 1 (default)
	chroot(2) fails if there are open directories and the process
	is subject of a previous chroot(2).

kern.chroot_allow_open_directories = anything else
	filedescriptors are not checked.  (old behaviour).

I'm very interested in reports about software which breaks when
running with the default setting.
1999-03-23 14:26:40 +00:00