Commit Graph

825 Commits

Author SHA1 Message Date
Joerg Wunsch
1160da921f Remove the stale `log' non-pseudodevice.
Found by:	the new config(8) ;-)
1997-10-28 07:24:35 +00:00
Nate Williams
e7e437dbfa - Do a bunch of gratuitous changes intended to make the code easier to
follow.
 * Rename/reorder all of the pccard structures, change many of the member
   names to be descriptive, and follow more closely other 'bus' drivers
   naming schemes.
 * Rename a bunch of parameter and local variable names to be more
   consistant in the code.
 * Renamed the PCCARD 'crd' device to be the 'card' device
 * KNF and make the code consistant where it was obvious.
 * ifdef'd out some unused code
1997-10-26 04:36:24 +00:00
Peter Wemm
48b29459ed Put in an initial %VERSREQ field. This will cause existing config(8)'s
to give a non-fatal warning about unknown directives, so there is no
hurry to rebuild config(8) yet, apart from shutting up the warning.
1997-10-22 00:48:36 +00:00
Joerg Wunsch
d37346eefb Make all the documented (in pcvt(4)) options supported options. While
i was at it, do no longer insist on `PCVT_FREEBSD' being declared in
the config file, but default it to a reasonable value.

More cleanup to follow, but this part is safe for RELENG_2_2, too.
1997-10-18 10:59:47 +00:00
Peter Wemm
829b5d5510 Don't doc PPP_BSDCOMP and PPP_DEFLATE twice. slight reorder so that the
options are not in the middle of the pseudo-device list.

Prompted by: bde
1997-10-18 10:10:36 +00:00
Peter Wemm
96be526ad0 Doc PPP_* options and add PPP_FILTER 1997-10-18 01:24:20 +00:00
Mike Smith
f88c134620 Mention that the Zip driver (vpo) requires SCSI disk support, and works
best with EPP 1.9 mode selected.
Submitted by:	Gianmarco Giovannelli <gmarco@giovannelli.it>
1997-10-15 07:35:48 +00:00
Peter Wemm
98823b2366 Convert the VM86 option from a global option to an option only depended
on by the files that use it.  Changing the VM86 option now only causes
a recompile of a dozen files or so rather than the entire kernel.
1997-10-10 09:44:12 +00:00
Nate Williams
9e5fbad43e - Enable PS/2 mouse support by default. Given that almost all new hardware
has a PS/2 port, this is a good thing.  Note, older 386/486 boxes may
  lockup the keyboard controller with this enabled, but most of these kinds
  of machines don't run -current, so the benefits outweigh the downsides.

Discussed with:		Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1997-10-08 17:05:03 +00:00
KATO Takenori
6593be6011 Added two Cyrix 6x86/6x86MX options.
- CPU_CYRIX_NO_LOCK enables weak locking.  If this option is not set and
  FAILESAFE is defined, NO_LOCK bit of CCR1 is cleared.
- CPU_WT_ALLOC enables write-through allocation.
1997-10-06 08:08:41 +00:00
Jordan K. Hubbard
8dd4744e1a Fix merge spam
Spotted by:	Alex Nash
1997-09-23 16:28:00 +00:00
Jordan K. Hubbard
0a648f6aad Reserve entry for CAN16-2 CAN-PC Interface
Submitted by:	Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE>
1997-09-23 08:45:33 +00:00
Jordan K. Hubbard
ab6e02da0f Be more explicit about one of IPFIREWALL's features. 1997-09-23 08:42:42 +00:00
Justin T. Gibbs
cec9e91f19 Oops. This file shouldn't have been committed. 1997-09-22 00:37:08 +00:00
Justin T. Gibbs
168bbc9927 Move the rules for aicasm to the MI conf file. 1997-09-21 21:34:31 +00:00
John Dyson
e871e61fcf Addition of support of the slightly rogue Promise IDE interface(Dyson), support
of multiple PCI IDE controllers(Dyson), and some updates and cleanups from
John Hood, who originally made our IDE DMA stuff work :-).

I have run tests with 7 IDE drives connected to my system, all in DMA
mode, with no errors.  Modulo any bugs, this stuff makes IDE look
really good (within it's limitations.)

Submitted by:	John Hood <cgull@smoke.marlboro.vt.us>
1997-09-20 07:41:58 +00:00
John-Mark Gurney
6a796ce0a1 teach sio how to attach to isa PnP cards. This is mainly for use with
internal modems.  Currently detects a USR modem, and a couple Supra
modems...  vendor id's for sio capabile cards welcomed...

document new option EXTRA_SIO that will increase sio's internal data
structures to support X more serial ports...  these are used by the
PnP part of sio for attaching...  If you don't have it specified, it
will default to 2...  This is defaulted to 0 if you don't have PnP
compiled into your kernel...

also document that if you set the PnP flags (pnp x flags y) to 0x1 that
the modem will be refused to be recognized by the sio driver... this
is for people that want the traditional isa driver to probe and attach
the modem... (for keeping legacy sio numbering)
1997-09-19 15:25:49 +00:00
Joerg Wunsch
d2fb48929a Make FDC_DEBUG a supported option.
Hide the bogus FDC ``chip type'' display behind a (mostly) undocumented
option, since people started to trust the bogus claim.  Once we're going
to handle 2.88 MB controllers, we have to redo the chip detection, by
now just leave it hidden.
1997-09-16 07:45:45 +00:00
John-Mark Gurney
c740608242 docment the new sound drivers in LINT and add the necessary files to
files.i386.

We aren't sure if this new code and the old sound code will co-exist in a
kernel, so the device pcm0 line is left commented out in LINT.

Submitted-by:	Luigi Rizzo
1997-09-14 21:45:05 +00:00
Joerg Wunsch
755b925e24 Addf flags 0x10 to the sio0 line, so it is available as a potential
console.  This features backwards-compatibility to the era when sio(4)
was always available for a console.
1997-09-14 18:57:01 +00:00
Peter Wemm
ffdd472de7 Allow a compile-time override of the ipfw deny rule. For a 'firewall'
you don't want this (and the documentation explains why), but if you
use ipfw as an as-needed casual filter as needed which normally runs as
'allow all' then having the kernel and /sbin/ipfw get out of sync is a
*MAJOR* pain in the behind.

PR: 4141
Submitted by: Heikki Suonsivu <hsu@mail.clinet.fi>
1997-09-10 03:07:14 +00:00
John-Mark Gurney
53a7a570be add pnp device entries... 1997-09-09 12:40:54 +00:00
Kazutaka YOKOTA
297976f79f Add a new compile option SC_HISTORY_SIZE for syscons. 1997-09-04 23:03:11 +00:00
Søren Schmidt
1f7727a963 Upgrade of EIDE DMA support, Johns comments:
* lots of fixes to error handling-- mostly works now
* improve DMA timing config for Triton chipsets-- PIIX4 and UDMA drive
  still untested
* generally improve DMA config in many ways-- mostly cleanup
* clean up boot-time messages
* rewrite PRD generation algorithm
* first wd timeout is now longer, to handle drive spinup

Submitted by: John Hood <cgull@smoke.marlboro.vt.us>
1997-09-04 18:49:53 +00:00
Justin T. Gibbs
c66dbc92d4 Make the aic7xxx sequencer assembler compile in the kernel's object
directory.  Rename (via repository copy) some files so that the potential
for future conflicts is minimized.

PR: conf/4363
1997-09-03 03:44:58 +00:00
Bruce Evans
6d58e6cbc4 Fixed options SHOW_BUSYBUFS and PANIC_REBOOT_WAIT_TIME which were broken
by incomplete cutting and pasting from machdep.c to kern_shutdown.c.

PR:		3953
1997-08-31 23:08:38 +00:00
Bruce Evans
f3086365a3 Put I*86_CPU options in opt_global.h and don't #include "opt_cpu.h"
centrally.
1997-08-31 22:43:46 +00:00
Jonathan Lemon
adeb9a12ce Document the VM86 option.
Reminded-by:	John-Mark Gurney
1997-08-28 15:00:05 +00:00
Jonathan Lemon
5f07393373 Remove the vm86 support as an LKM, and link it directly into the kernel
if 'options "VM86"' is in the config file.  The LKM was really for
development, and has probably outlived its usefulness.
1997-08-28 14:36:56 +00:00
Jordan K. Hubbard
3b577e1f2f Add entries for Comtrol Rocketport serial card.
Submitted by:	Amir Farah <amir@comtrol.com>
1997-08-28 12:18:09 +00:00
Peter Wemm
89327d27f7 Mention PPP_DEFLATE and PPP_BSDCOMP for kernel ppp. 1997-08-19 17:11:35 +00:00
Mike Smith
49975ec268 Assign character major 82 to the 'ppi' Generic Parallel Port I/O device. 1997-08-16 14:15:40 +00:00
Mike Smith
ab4c624ba4 Add support for the new Parallel-Port Bus and devices thereon.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 14:03:27 +00:00
Jordan K. Hubbard
56ed81f738 Reserve major 81 for rocketport driver. 1997-08-13 21:01:30 +00:00
John Dyson
b6a6d066a8 Add VM86 to the options. 1997-08-09 00:19:39 +00:00
Mike Smith
3476cdb9f4 Sanitise the Wavelan entries.
Submitted by:	bde
1997-08-02 05:20:14 +00:00
Mike Smith
e2c77d8580 Add new BIOS-related files. 1997-08-01 06:04:34 +00:00
Mike Smith
36bdbe9431 New LINT comments and options for the Wavelan (wl) driver.
Submitted by:	Jim Binkley <jrb@cs.pdx.edu>
1997-08-01 03:33:08 +00:00
Søren Schmidt
8b8a0b53b1 Add support for busmaster DMA on some PCI IDE chipsets.
I changed a few bits here and there, mainly renaming wd82371.c
to ide_pci.c now that it's supposed to handle different chipsets.

It runs on my P6 natoma board with two Maxtor drives, and also
on a Fujitsu machine I have at work with an Opti chipset and
a Quantum drive.

Submitted by:cgull@smoke.marlboro.vt.us <John Hood>

Original readme:

*** WARNING ***

This code has so far been tested on exactly one motherboard with two
identical drives known for their good DMA support.

This code, in the right circumstances, could corrupt data subtly,
silently, and invisibly, in much the same way that older PCI IDE
controllers do.  It's ALPHA-quality code; there's one or two major
gaps in my understanding of PCI IDE still.  Don't use this code on any
system with data that you care about; it's only good for hack boxes.
Expect that any data may be silently and randomly corrupted at any
moment.  It's a disk driver.  It has bugs.  Disk drivers with bugs
munch data.  It's a fact of life.

I also *STRONGLY* recommend getting a copy of your chipset's manual
and the ATA-2 or ATA-3 spec and making sure that timing modes on your
disk drives and IDE controller are being setup correctly by the BIOS--
because the driver makes only the lamest of attempts to do this just
now.

*** END WARNING ***

that said, i happen to think the code is working pretty well...

WHAT IT DOES:

this code adds support to the wd driver for bus mastering PCI IDE
controllers that follow the SFF-8038 standard.  (all the bus mastering
PCI IDE controllers i've seen so far do follow this standard.)  it
should provide busmastering on nearly any current P5 or P6 chipset,
specifically including any Intel chipset using one of the PIIX south
bridges-- this includes the '430FX, '430VX, '430HX, '430TX, '440LX,
and (i think) the Orion '450GX chipsets.  specific support is also
included for the VIA Apollo VP-1 chipset, as it appears in the
relabeled "HXPro" incarnation seen on cheap US$70 taiwanese
motherboards (that's what's in my development machine).  it works out
of the box on controllers that do DMA mode2; if my understanding is
correct, it'll probably work on Ultra-DMA33 controllers as well.
it'll probably work on busmastering IDE controllers in PCI slots, too,
but this is an area i am less sure about.

it cuts CPU usage considerably and improves drive performance
slightly.  usable numbers are difficult to come by with existing
benchmark tools, but experimentation on my K5-P90 system, with VIA
VP-1 chipset and Quantum Fireball 1080 drives, shows that disk i/o on
raw partitions imposes perhaps 5% cpu load.  cpu load during
filesystem i/o drops a lot, from near 100% to anywhere between 30% and
70%.  (the improvement may not be as large on an Intel chipset; from
what i can tell, the VIA VP-1 may not be very efficient with PCI I/O.)
disk performance improves by 5% or 10% with these drives.

real, visible, end-user performance improvement on a single user
machine is about nil. :) a kernel compile was sped up by a whole three
seconds.  it *does* feel a bit better-behaved when the system is
swapping heavily, but a better disk driver is not the fix for *that*
problem.

THE CODE:

this code is a patch to wd.c and wd82371.c, and associated header
files.  it should be considered alpha code; more work needs to be
done.

wd.c has fairly clean patches to add calls to busmaster code, as
implemented in wd82371.c and potentially elsewhere (one could imagine,
say, a Mac having a different DMA controller).

wd82371.c has been considerably reworked: the wddma interface that it
presents has been changed (expect more changes), many bugs have been
fixed, a new internal interface has been added for supporting
different chipsets, and the PCI probe has been considerably extended.

the interface between wd82371.c and wd.c is still fairly clean, but
i'm not sure it's in the right place.  there's a mess of issues around
ATA/ATAPI that need to be sorted out, including ATAPI support, CD-ROM
support, tape support, LS-120/Zip support, SFF-8038i DMA, UltraDMA,
PCI IDE controllers, bus probes, buggy controllers, controller timing
setup, drive timing setup, world peace and kitchen sinks.  whatever
happens with all this and however it gets partitioned, it is fairly
clear that wd.c needs some significant rework-- probably a complete
rewrite.

timing setup on disk controllers is something i've entirely punted on.
on my development machine, it appears that the BIOS does at least some
of the necessary timing setup.  i chose to restrict operation to
drives that are already configured for Mode4 PIO and Mode2 multiword
DMA, since the timing is essentially the same and many if not most
chipsets use the same control registers for DMA and PIO timing.

does anybody *know* whether BIOSes are required to do timing setup for
DMA modes on drives under their care?

error recovery is probably weak.  early on in development, i was
getting drive errors induced by bugs in the driver; i used these to
flush out the worst of the bugs in the driver's error handling, but
problems may remain.  i haven't got a drive with bad sectors i can
watch the driver flail on.

complaints about how wd82371.c has been reindented will be ignored
until the FreeBSD project has a real style policy, there is a
mechanism for individual authors to match it (indent flags or an emacs
c-mode or whatever), and it is enforced.  if i'm going to use a source
style i don't like, it would help if i could figure out what it *is*
(style(9) is about half of a policy), and a way to reasonably
duplicate it.  i ended up wasting a while trying to figure out what
the right thing to do was before deciding reformatting the whole thing
was the worst possible thing to do, except for all the other
possibilities.

i have maintained wd.c's indentation; that was not too hard,
fortunately.

TO INSTALL:

my dev box is freebsd 2.2.2 release.  fortunately, wd.c is a living
fossil, and has diverged very little recently.  included in this
tarball is a patch file, 'otherdiffs', for all files except wd82371.c,
my edited wd82371.c, a patch file, 'wd82371.c-diff-exact', against the
2.2.2 dist of 82371.c, and another patch file,
'wd82371.c-diff-whitespace', generated with diff -b (ignore
whitespace).  most of you not using 2.2.2 will probably have to use
this last patchfile with 'patch --ignore-whitespace'.  apply from the
kernel source tree root. as far as i can tell, this should apply
cleanly on anything from -current back to 2.2.2 and probably back to
2.2.0.  you, the kernel hacker, can figure out what to do from here.
if you need more specific directions, you probably should not be
experimenting with this code yet.

to enable DMA support, set flag 0x2000 for that drive in your config
file or in userconfig, as you would the 32-bit-PIO flag.  the driver
will then turn on DMA support if your drive and controller pass its
tests.  it's a bit picky, probably.  on discovering DMA mode failures
or disk errors or transfers that the DMA controller can't deal with,
the driver will fall back to PIO, so it is wise to setup the flags as
if PIO were still important.

'controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0xa0ffa0ff
vector wdintr' should work with nearly any PCI IDE controller.

i would *strongly* suggest booting single-user at first, and thrashing
the drive a bit while it's still mounted read-only.  this should be
fairly safe, even if the driver goes completely out to lunch.  it
might save you a reinstall.

one way to tell whether the driver is really using DMA is to check the
interrupt count during disk i/o with vmstat; DMA mode will add an
extremely low number of interrupts, as compared to even multi-sector
PIO.

boot -v will give you a copious register dump of timing-related info
on Intel and VIAtech chipsets, as well as PIO/DMA mode information on
all hard drives.  refer to your ATA and chipset documentation to
interpret these.

WHAT I'D LIKE FROM YOU and THINGS TO TEST:

reports.  success reports, failure reports, any kind of reports. :)
send them to cgull+ide@smoke.marlboro.vt.us.

i'd also like to see the kernel messages from various BIOSes (boot -v;
dmesg), along with info on the motherboard and BIOS on that machine.

i'm especially interested in reports on how this code works on the
various Intel chipsets, and whether the register dump works
correctly.  i'm also interested in hearing about other chipsets.

i'm especially interested in hearing success/failure reports for PCI
IDE controllers on cards, such as CMD's or Promise's new busmastering
IDE controllers.

UltraDMA-33 reports.

interoperation with ATAPI peripherals-- FreeBSD doesn't work with my
old Hitachi IDE CDROM, so i can't tell if I've broken anything. :)

i'd especially like to hear how the drive copes in DMA operation on
drives with bad sectors.  i haven't been able to find any such yet.

success/failure reports on older IDE drives with early support for DMA
modes-- those introduced between 1.5 and 3 years ago, typically
ranging from perhaps 400MB to 1.6GB.

failure reports on operation with more than one drive would be
appreciated.  the driver was developed with two drives on one
controller, the worst-case situation, and has been tested with one
drive on each controller, but you never know...

any reports of messages from the driver during normal operation,
especially "reverting to PIO mode", or "dmaverify odd vaddr or length"
(the DMA controller is strongly halfword oriented, and i'm curious to
know if any FreeBSD usage actually needs misaligned transfers).

performance reports.  beware that bonnie's CPU usage reporting is
useless for IDE drives; the best test i've found has been to run a
program that runs a spin loop at an idle priority and reports how many
iterations it manages, and even that sometimes produces numbers i
don't believe.  performance reports of multi-drive operation are
especially interesting; my system cannot sustain full throughput on
two drives on separate controllers, but that may just be a lame
motherboard.

THINGS I'M STILL MISSING CLUE ON:

* who's responsible for configuring DMA timing modes on IDE drives?
the BIOS or the driver?

* is there a spec for dealing with Ultra-DMA extensions?

* are there any chipsets or with bugs relating to DMA transfer that
should be blacklisted?

* are there any ATA interfaces that use some other kind of DMA
controller in conjunction with standard ATA protocol?

FINAL NOTE:

after having looked at the ATA-3 spec, all i can say is, "it's ugly".
*especially* electrically.  the IDE bus is best modeled as an
unterminated transmission line, these days.

for maximum reliability, keep your IDE cables as short as possible and
as few as possible.  from what i can tell, most current chipsets have
both IDE ports wired into a single buss, to a greater or lesser
degree.  using two cables means you double the length of this bus.

SCSI may have its warts, but at least the basic analog design of the
bus is still somewhat reasonable.  IDE passed beyond the veil two
years ago.

  --John Hood, cgull@smoke.marlboro.vt.us
1997-07-29 12:57:25 +00:00
Steve Passe
25717e9980 Removed "options SMP_TIMER_NC". 1997-07-26 01:46:03 +00:00
Poul-Henning Kamp
38d8a113a9 Add option for compiling in a 8x16 font. 1997-07-25 11:53:30 +00:00
Steve Passe
64ab539460 Added a new SMP specific file: i386/i386/simplelock.s.
This code was split off from apic_ipl.s.
It contains the Lite2 lock manager primitives:
 - s_lock_init()
 - s_lock()
 - s_lock_try()
 - s_unlock()
1997-07-24 23:45:17 +00:00
Jordan K. Hubbard
c1f94e717b Well, consensus seems very split on this so I talked it over with DG
and he says he's happy to see forward movement in aligning our defaults
with a 16 bit world, the 8 bit folk already being veterans by this
point who know how to use userconfig.

In any case, perhaps Warner will soon come to save us all with his Dynamic
Probing(tm) feature and this will all become totally moot in any case,
so it's probably not worth arguing about either way.
1997-07-22 08:33:52 +00:00
Steve Passe
4cb2abf6d8 Put in a "HEADS UP" concerning the 'SMP_TIMER_NC' option.
Disabled MATH_EMULATE, shouldn't ordinarily be needed for SMP.
1997-07-20 23:57:20 +00:00
Bruce Evans
96b89afc1d Disabled option SMP_TIMER_NC. It now conflicts with a default "option".
Moved description of sio 16650A flag to the sio section and rewrote the
description.  It was in the generic console flags section.

Added undocumented options CPU_UPGRADE_HW_CACHE and WLDEBUG.
1997-07-20 05:27:59 +00:00
Steve Passe
def1d1fe38 Added "options DDB", given the experimental nature of SMP... 1997-07-18 22:00:17 +00:00
John Dyson
955bc15107 Add some support for the 16650 type UARTS. 1997-07-17 06:01:15 +00:00
Jordan K. Hubbard
50c6520b96 Add SYSVSHM by default. Nobody seems to have objected too strongly
to this when raised, and most were in favor of at least this option
(some also asked for semaphores and messages, but I'll leave that argument
for another time :).
1997-07-15 04:04:45 +00:00
Bruce Evans
c3ed6aa9cd Added CPU_DIRECT_MAPPED_CACHE. 1997-07-13 15:26:54 +00:00
Andrey A. Chernov
29a4cf6d4d Remove 'conflicts' keyword from SB family devices, it is not
needed now. Uncomment awe0 device
1997-07-08 15:39:29 +00:00
Bruce Evans
06daa05136 Enabled some SMP options. LINT is for testing that all code compiles
cleanly, so only negative options should be commented out.  Options
should have non-default values.
1997-07-01 00:14:39 +00:00
Kazutaka YOKOTA
5d3b146552 options.i386:
- Added the psm options PSM_HOOKAPM and PSM_RESETAFTERSUSPEND.

LINT:
- Added the psm options PSM_HOOKAPM and PSM_RESETAFTERSUSPEND.
- Added comments on the flag 0x20 for syscons.
- Clarified descriptions on the flags (0x02, 0x04) regarding the cursor
  shape in syscons.
1997-06-30 14:37:43 +00:00
Bruce Evans
1013a13daf Fixed the fix for not using -fomit-frame-pointer with -pg. The previous
fix stopped it being used in all cases, because substitution on unset
variables does not work.

When profiling, put -malign-functions=4 in CFLAGS instead of in PROF.
This fixes the histogram counts for profiling support functions.  It
gives bogus but harmless extra alignment for genassym etc.
1997-06-29 16:39:11 +00:00
KATO Takenori
4962d93866 Added CPU_DIRECT_MAPPED_CACHE option which sets L1 cache in direct
mapped mode on Cyrix 486DLC box.
1997-06-27 13:46:19 +00:00
Peter Wemm
b3196e4b9f Preliminary support for per-cpu data pages.
This eliminates a lot of #ifdef SMP type code.  Things like _curproc reside
in a data page that is unique on each cpu, eliminating the expensive macros
like:    #define curproc (SMPcurproc[cpunumber()])

There are some unresolved bootstrap and address space sharing issues at
present, but Steve is waiting on this for other work.  There is still some
strictly temporary code present that isn't exactly pretty.

This is part of a larger change that has run into some bumps, this part is
standalone so it should be safe.  The temporary code goes away when the
full idle cpu support is finished.

Reviewed by: fsmp, dyson
1997-06-22 16:04:22 +00:00
Kenjiro Cho
3cbceb8234 correct the wrong ATM option name for native atm access
NETNATM --> NATM

reported by Bruce Evans.

Bruce also pointed out that NATM is confusing since config(8) defines
NATM as the number of atm pseudo device in "BUILD_DIR/atm.h".
We might change the name in the future but leave it as it is for now.
1997-06-17 05:58:15 +00:00
Jordan K. Hubbard
818de095b4 YAMF22 - XSERVER comment changes. 1997-06-06 12:24:43 +00:00
Paul Traina
562d05dfae Document a non-standard gdbremote protocol extension (kludge, really)
that I snuck in to our GDB last year.  This allows you to debug headless
machines by sharing the console port between the debugger and the system
console.  It's not 100% reliabile, but it works well.  It's optional
and disabled by default.
Submitted by:	Juniper Networks
1997-06-04 16:44:29 +00:00
Paul Traina
5ea6cb03f3 Bring back CONSPEED as a last-ditch default if you can't change the speed
any other way.

Requested by: dfr
1997-06-04 16:25:15 +00:00
Paul Traina
69d2ceed21 CONSPEED is defunct. 1997-06-04 04:55:26 +00:00
Doug Rabson
683523378c Move interrupt handling code from isa.c to a new file. This should make
isa.c (slightly) more portable and will make my life developing the really
portable version much easier.

Reviewed by:	peter, fsmp
1997-06-02 08:19:06 +00:00
Bruce Evans
20c776a50b Don't use -fomit-frame-pointer for ipl_funcs.c if ${PROF} is nonempty,
is incompatible with -pg.  (We use a different version of mcount for
profiling frame-pointer-less assembler functions, but gcc doesn't know
about this.)

Added a missing dependency.

Cleaned up trailing backslashes.

Added comment about config's limitations/bugs handling dependencies and
backslashe/newlines.

Finished removing support for isdn drivers.
1997-06-01 20:25:55 +00:00
Peter Wemm
f5d66b9bb4 specify compile-with option to get -fomit-frame-pointer on ipl_funcs.c 1997-05-31 18:01:38 +00:00
Peter Wemm
d8897edc0e Revert previous change, use "compile-with" in files.i386 instead. 1997-05-31 17:59:56 +00:00
Peter Wemm
49c6ff7dc2 add ipl_funcs.c (Hmm.. should probably use a "compile-with" arg rather
than a Makefile.i386 hook)
1997-05-31 09:23:44 +00:00
Peter Wemm
752bbf7aa8 compile ipl_funcs.c with -fomit-frame-pointer, as suggested by Bruce. This
cuts the cost of a function call instead of an inline.
1997-05-31 09:19:19 +00:00
Peter Wemm
2321ce34c1 uncomment wl again now that it compiles... 1997-05-25 07:18:22 +00:00
Peter Wemm
e83d2f266d The wavelan driver doesn't even compile! 1997-05-24 12:23:44 +00:00
Mike Smith
98d46ad0c9 Add the 'wl' ISA Wavelan driver.
Obtained from:	Jim Binkley <jrb@cs.pdx.edu>
1997-05-22 08:47:40 +00:00
John Polstra
61b005296f This commit affects ELF kernels only.
Remove "setdefs.h" and arrange to generate it automatically at
ELF kernel build time.

"gensetdefs.c" is a utility which scans a set of ELF object files
and outputs a line ``DEFINE_SET(name, length);'' for each linker
set that it finds.  When generating an ELF kernel, this is run just
before the final link to generate "setdefs.h".

Remove the init_sets() function from "setdef0.c", and its call from
"machdep.c".  Since "gensetdefs.c" calculates the length of each
set, it is no longer necessary in an ELF kernel to count the set
elements at kernel initialization time.  Also remove "set_of_sets"
which was used for this purpose.

Link "setdef0" and "setdef1" into the kernel only if building for
ELF.  Since init_sets() is no longer used, there is no need to link
them into an a.out kernel.
1997-05-21 23:21:30 +00:00
Andreas Klemm
99f962423c - fixed typo
- merged SMP option SMP_AUTOSTART from LINT
- enabled SMP_AUTOSTART, since it's the desired working mode and it's
  reported to work now.
PR:
Reviewed by:
Submitted by:
Obtained from:
1997-05-11 19:01:24 +00:00
Tor Egge
432aad0e98 Bring in some kernel bootp support. This removes the need for netboot
to fill in the nfs_diskless structure, at the cost of some kernel
bloat. The advantage is that this code works on a wider range of
network adapters than netboot. Several new kernel options are
documented in LINT.
Obtained from: parts of the code comes from NetBSD.
1997-05-11 18:05:39 +00:00
Steve Passe
a56fb4ee60 Documented SMP_AUTOSTART to be working. 1997-05-10 17:40:53 +00:00
John Hay
02c186c9bf Remove IPXPRINTFS, it is now a sysctl knob. 1997-05-10 11:16:22 +00:00
John-Mark Gurney
5719a93caf forgot to add the "longer" description of bktr and add an example device
line.
1997-05-10 09:23:55 +00:00
John-Mark Gurney
6baab37637 add a line for bktr (Bt848 base capture cards) to LINT. 1997-05-10 09:18:46 +00:00
Kenjiro Cho
68713f97a1 merge ATM driver 1997-05-09 12:19:06 +00:00
Peter Wemm
53815e2fe6 Round 1 of a long series of commits..
Move SMP and APIC_IO from opt_smp.h to opt_global.h
1997-05-07 19:39:16 +00:00
Doug Rabson
cea6c86c11 This is the kernel linker. To use it, you will first need to apply
the patches in freefall:/home/dfr/ld.diffs to your ld sources and set
BINFORMAT to aoutkld when linking the kernel.

Library changes and userland utilities will appear in a later commit.
1997-05-07 16:05:47 +00:00
Steve Passe
113656909f Make ident equal file name, ie SMP-GENERIC. 1997-05-06 20:40:52 +00:00
Steve Passe
53850c2fb0 A *little* more descriptive test for options. 1997-05-06 18:24:17 +00:00
Steve Passe
3cc17cf950 Added a generic config file for SMP kernels. 1997-05-06 18:18:51 +00:00
Joerg Wunsch
5a9714de76 This mega-commit brings the following:
. It makes cd9660 root f/s working again.
. It makes CD9660 a new-style option.
. It adds support to mount an ISO9660 multi-session CD-ROM as the root
  filesystem (the last session actually, but that's what is expected
  behaviour).

Sigh.  The CDIOREADTOCENTRYS did a copyout() of its own, and thus has
been unusable for me for this work.  Too bad it didn't simply stuff
the max 100 entries into the struct ioc_read_toc_entry, but relied on
a user supplied data buffer instead. :-(  I now had to reinvent the
wheel, and created a CDIOREADTOCENTRY ioctl command that can be used
in a kernel context.

While doing this, i noticed the following bogosities in existing CD-ROM
drivers:

wcd:	This driver is likely to be totally bogus when someone tries
	two succeeding CDIOREADTOCENTRYS (or now CDIOREADTOCENTRY)
	commands with requesting MSF format, since it apparently
	operates on an internal table.

scd:	This driver apparently returns just a single TOC entry only for
	the CDIOREADTOCENTRYS command.

I have only been able to test the CDIOREADTOCENTRY command with the
cd(4) driver.  I hereby request the respective maintainers of the
other CD-ROM drivers to verify my code for their driver.  When it
comes to merging this CD-ROM multisession stuff into RELENG_2_2 i will
only consider drivers where i've got a confirmation that it actually
works.
1997-05-04 15:24:23 +00:00
Stefan Eßer
862b403b04 Move CMD640 option from kernel Makefile into opt_wd.h
Submitted by:		Wolfgang Helbig <helbig@mx.ba-stuttgart.de>
1997-04-28 19:26:18 +00:00
Steve Passe
2b45006334 remove the SMP_INVLTLB option, making the code default for APIC_IO.
Reviewed by:	informal discussion with Peter Wemm <peter@spinner.DIALix.COM>
1997-04-28 00:24:28 +00:00
Peter Wemm
d061973c76 Create a special option file "opt_global.h" which is included by all
source files via a 'cc -include opt_global.h ...' type arrangement.
This means we can untangle certain header files.

options.i386 has a placeholder until it has a real member so we can avoid
having to teach config about it just yet.

Reviewed by: bde
1997-04-27 20:01:47 +00:00
Peter Wemm
477a642cee Man the liferafts! Here comes the long awaited SMP -> -current merge!
There are various options documented in i386/conf/LINT, there is more to
come over the next few days.

The kernel should run pretty much "as before" without the options to
activate SMP mode.

There are a handful of known "loose ends" that need to be fixed, but
have been put off since the SMP kernel is in a moderately good condition
at the moment.

This commit is the result of the tinkering and testing over the last 14
months by many people.  A special thanks to Steve Passe for implementing
the APIC code!
1997-04-26 11:46:25 +00:00
John Polstra
9081eec1fb Make the necessary changes so that an ELF kernel can be built. I
have successfully built, booted, and run a number of different ELF
kernel configurations, including GENERIC.  LINT also builds and
links cleanly, though I have not tried to boot it.

The impact on developers is virtually nil, except for two things.
All linker sets that might possibly be present in the kernel must be
listed in "sys/i386/i386/setdefs.h".  And all C symbols that are
also referenced from assembly language code must be listed in
"sys/i386/include/asnames.h".  It so happens that failure to do
these things will have no impact on the a.out kernel.  But it will
break the build of the ELF kernel.

The ELF bootloader works, but it is not ready to commit quite yet.
1997-04-22 06:55:47 +00:00
Justin T. Gibbs
c1aa7eb5f4 GENERIC, LINT:
Add an ie entry that corresponds to the location the old ix entry used
to probe and kill the ix entry.

files.i386:
Remove entries for the ix driver.
1997-04-14 00:35:25 +00:00
Bruce Evans
9546766a1b Documented new serial console flags.
Removed dead serial console options.

Reorganised sio and serial console options.

Added undocumented options CLUSTERDEBUG and NPX_DEBUG.
1997-04-07 01:26:34 +00:00
Bruce Evans
8e71151378 Moved COMCONSOLE, CONADDR and CONUNIT to defunct options. 1997-04-05 13:21:08 +00:00
Justin T. Gibbs
d98667394d make obj before building the aic7xxx assembler. This puts the object
files in the right place.

The clean rule still isn't quite right since currently config doesn't
allow the specification of arbitrary clean rules.
1997-04-03 05:57:16 +00:00
Poul-Henning Kamp
3d4d8fe94d Sanitize APM a bit. Convert various #ifdef to id_flags instead.
You may want to add "flags 0x31" to apm0 if you have a lousy
implementation.  Read LINT.
1997-03-29 11:07:12 +00:00
Andrey A. Chernov
5fba67d120 Add "conflicts" to sbmidi0 since configured irq passed back to isa
and conflict with sb0 irq.

NOTE: existen configurations require "conflicts" adding to sbmidi0 now
1997-03-26 17:46:03 +00:00
Andrey A. Chernov
348a8a6aab Add "conflicts" to sbxvi0 since all information now passed to isa
and conflict with sb0 happens.

NOTE: it affects existen configurations, add "conflicts" to sbxvi0 line
if you see probe error
1997-03-26 17:20:24 +00:00
Andrey A. Chernov
add8f4123b Don't trick with opl0 address since we have conflicts keyword 1997-03-26 16:10:43 +00:00
Andrey A. Chernov
0baa5ad9b2 Use port? for sbxvi0 since it is autoconfigured from sb0
Change sb0 irq from 7 to 5 since 5 is Creative default now.
1997-03-25 03:38:33 +00:00
KATO Takenori
56be183376 Created new section `CPU OPTIONS'. CPU classes and math emulator are
moved to there.  Options for CPU feature is also described there.
1997-03-23 11:08:28 +00:00
KATO Takenori
4c024bbdf8 Improved CPU identification and initialization routines. This
supports All Cyrix CPUs, IBM Blue Lightning CPU and NexGen (now AMD)
Nx586 CPU, and initialize special registers of Cyrix CPU and msr of
IBM Blue Lightning CPU.

If revision of Cyrix 6x86 CPU < 2.7, CPU cache is enabled in
write-through mode.  This can be disabled by kernel configuration
options.

Reviewed by:	Bruce Evans <bde@freebsd.org> and
            	Jordan K. Hubbard <jkh@freebsd.org>
1997-03-22 18:54:54 +00:00
Mike Pritchard
35846a8163 Typo police. 1997-03-20 16:33:15 +00:00
David E. O'Brien
c85cfdb229 typo (nthe --> the) 1997-03-19 02:59:02 +00:00
Bruce Evans
54c4d30615 Fixed broken line continuation in the previous revision. Config apparently
has buggy backslash-newline handling.  Avoid it by using whitespace before
backslash-newline.
1997-03-16 17:25:53 +00:00
Justin T. Gibbs
8733b9a7ca Adapt build rules to new aic7xxx seqeuncer assembler. 1997-03-16 07:09:01 +00:00
Bruce Evans
25292acb24 Updated comment about npx0.
Added obsolete option GATEWAY so that kern_opt.c gets tested.

Added undocumented options LOCKF_DEBUG and SIMPLELOCK_DEBUG so
that these options get tested.  The addition of LOCKF_DEBUG shows
that all of kern/kern_lockf.c shouldn't have been moved from ufs.
The debugging parts are very fs-dependent.
1997-03-13 19:23:27 +00:00
Bruce Evans
a92a5c234e Quoted CMD640. It's still missing from options.i386.
Removed stale comment saying that npx0 is mandatory.
1997-03-13 19:03:58 +00:00
Stefan Eßer
09d5def9ce Activate CMD640 workaround 1997-03-12 19:59:58 +00:00
Stefan Eßer
2928e6b5fd Add option CMD640 which is required to use both channels of that
EIDE chip
1997-03-12 19:11:59 +00:00
Joerg Wunsch
1b0d314332 Since i don't see that anybody is implementing a more correct EISA
probing anytime soon, make EISA_SLOTS a fully supported option.  It's
required for the HP NetServer LC series machines.

Next stop: make dset(8) aware of it as well.
1997-03-12 17:41:35 +00:00
Poul-Henning Kamp
fdc58e30da Add char#80 xdcp, assigned to Chris Ficklin <chris@serengeti.com> 1997-03-10 20:25:45 +00:00
Mark Murray
a30c77e886 Move this files* entry for the Brooktree TV driver toi the right 'files*'. 1997-03-10 17:55:49 +00:00
Mark Murray
51e053d6cc Initial import of the Brooktree PCI-TV drivers. I have not tested
these, they may not even compile. I am importing them on behalf
of the submitters.
Submitted by:	amancio, smp
1997-03-10 06:38:26 +00:00
Bruce Evans
98d0a0b543 Removed nonexistent option PSM_NO_RESET. 1997-02-28 16:56:06 +00:00
Peter Wemm
6875d25465 Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.
1997-02-22 09:48:43 +00:00
Bruce Evans
56a956e530 Use a valid value for MSGSSZ
Don't specify PSM_CHECKSYNC twice.

Submitted by:	MSGSSZ by mi@aldan.ziplink.net
1997-02-12 09:47:31 +00:00
Darren Reed
4b93480b2a IP Filter is now character device #79 1997-02-10 12:17:45 +00:00
Joerg Wunsch
a2f36095e2 The worm(4) driver needs a bdev major # now, too. 1997-02-06 22:20:33 +00:00
Joerg Wunsch
c37ddbb8bd Correct the usage of fea0. It's an EISA driver now, so the ISA usage
is bogus.

Also, correct a stale comment about non-existing EISA support.
1997-02-01 19:53:12 +00:00
Kazutaka YOKOTA
50c193eb05 Removed reference to PSM_NO_RESET which is no longer available. 1997-01-30 11:59:36 +00:00
Bruce Evans
d73ffacdf6 Removed bogus options CHILD_MAX and OPEN_MAX. 1997-01-27 12:39:39 +00:00
Bruce Evans
488600a422 Added KBD_MAXRETRY and PSM_NO_RESET. 1997-01-27 11:54:56 +00:00
Bruce Evans
4bc24b97bc Added lots of undocumented options KBD*, MSG*, NBUF, NMBCLUSTERS, PSM*,
SEM* and SHM*.  These are already supported in the options files.  I
mostly used the default value plus 1.  This ensures that the LINT kernel
depends on the options headers.
1997-01-27 11:37:16 +00:00
Joerg Wunsch
e4107dcf00 This mega-merge brings Matt Thomas' 960801 FDDI driver (almost) up
to -current.

Thanks goes to Ulrike Nitzsche <ulrike@ifw-dresden.de> for giving me
a chance to test this.  Only the PCI driver is tested though.

One final patch will follow in a separate commit.  This is so that
everything up to here can be dragged into 2.2, if we decide so.

Reviewed by:	joerg
Submitted by:	Matt Thomas <matt@3am-software.com>
1997-01-17 23:54:45 +00:00
Jordan K. Hubbard
0942673f33 Adjust ex0 entries properly after talking with Javier. 1997-01-17 14:19:04 +00:00
Bruce Evans
5131d64e0c Removed option EXTRAVNODES. All versions of FreeBSD-2.x have a sysctl
variable `kern.maxvnodes' which gives much better control over vnode
allocation than EXTRAVNODES (except in -current between 1995/10/28 and
1996/11/12, kern.maxvnodes was read-only and thus useless).
1997-01-16 13:16:10 +00:00
Jordan K. Hubbard
3b20426160 Add the ex driver (Intel EtherExpress Pro/10).
I have no idea if this works since I don't have one of the cards to test.
I also don't know what the LINT and GENERIC entries should look like,
so I just made up some values for now and left them commented out.
Someone who knows the factory settings for a Pro/10, please contact me!

Submitted-By: Javier Martín Rueda <jmrueda@diatel.upm.es>
1997-01-16 12:19:21 +00:00
Jordan K. Hubbard
827d623ef8 Document INCLUDE_CONFIG_FILE. 1997-01-16 07:43:27 +00:00
Søren Schmidt
b6b9dfa17e Upgrade the kbdio rutines to provide queued kbd & mouse events.
Minor other updates to syscons by me.

Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1997-01-15 18:16:32 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Nate Williams
ec0ae37d10 Added options 'LINT_PCCARD_HACK' which (will very soon) allow LINT to
compile again.  The code to protect users from combining the dedicated
PCCARD drivers and the generic code is a warning if the above option
is included in the config file.

Demanded by:	bde
1997-01-13 05:21:09 +00:00
Bruce Evans
078d4ac997 Added undocumented SCSI_DELAY and SCSI_NCR_* options. SCSI_DELAY gets
tested a lot in GENERIC, but the others weren't in any config file and
some of them were broken.
1996-12-23 19:04:20 +00:00
Bruce Evans
392cefd10c Fixed quoting of MAXDSIZ and DFLTDSIZ. The quoting rules changed when
they were put in an options header.

Should be in 2.2.
1996-12-23 18:23:14 +00:00
John Dyson
d43f0f0a78 Document MAXDSIZ and DFLDSIZ. This is a 2.2 candidate change. 1996-12-22 18:28:50 +00:00
Poul-Henning Kamp
94801746f6 Add & Document MD5 option. 1996-12-22 10:38:41 +00:00
Stefan Eßer
56ecc3824a Mention amd driver in comment regarding PCI drivers. 1996-12-21 02:09:04 +00:00
Stefan Eßer
e69742d795 Add Tekram DC390/390T driver "amd0", which is expected to work with
generic AMD 53c974 PCI SCSI controllers as well.
1996-12-18 11:43:33 +00:00
Stefan Eßer
f8fc022510 Add driver for AMD 53c974 SCSI (Tekram DC390/390T).
Remove MAX_LUN=2 option for NCR driver: FAILSAFE does
no longer imply MAX_LUN=1.
1996-12-18 01:30:19 +00:00
Stefan Eßer
b88a895923 Remove "options MAXLUN=2" since the ncr driver will probe for 8 LUNs
now anyway, even if compiled with FAILSAFE defined.
1996-12-15 16:31:18 +00:00
Bruce Evans
c08d58eade Moved nonstandard compiler profiling options out of config. Just print
the profiling level in config and decide what to do in makefiles.

Makefile.i386:
Align functions to 16-byte boundaries if profiling is enabled.  This
will allow a fourfold reduction in the size of the profiling buffers.
1996-12-13 12:46:28 +00:00
Jordan K. Hubbard
0b3870cb60 Close PR#2198:
I've added an installation from optical disk drive facility.
	This enables FreeBSD to be installed from an optical disk, which
	may be formatted in "super floppy" style or sliced into MSDOS-FS
	and UFS partitions.

	Note:  ncr.c should be reviewed by Stefan Esser <se@freebsd.org>
	and cd.c by Joerg Wunsch <joerg@freebsd.org> before bringing this
	into 2.2.

Submitted-By: Shunsuke Akiyama <akiyama@kme.mei.co.jp>
1996-12-13 07:55:14 +00:00
John Dyson
64a6e05c28 Clarified the comment about removing other CPU defs. Specifically,
I added the suggestion to remove the I386_CPU def if possible.
1996-11-29 07:08:48 +00:00
Andrey A. Chernov
f0b48537e8 Remove warning at AHC_SCBPAGING_ENABLE, not needed now 1996-11-27 22:52:09 +00:00
Peter Wemm
31461d3a75 Back out my previous change here. aic7xxx_asm is only a stdio program
that runs in the host's build environment, not the kernel's environment.
1996-11-24 08:15:11 +00:00
Peter Wemm
2fa4e5a7fc Set a more explicit #include path for building aix7xxx_asm, otherwise it
uses /usr/include/sys/*, which may point to a different build tree.  I'm
not sure that this is necessary, but there was a question mark over what
/usr/include/sys points to when building the "user mode" binaries in the
kernel code, especially when building the smp tree.

I suspect that the "right" line here is to use ${INCLUDES}, but that
causes warnings about unused static inline functions in stdio.h and ctype.h
1996-11-22 04:27:43 +00:00
Justin T. Gibbs
11b5ea7239 Since there have been so many reports of the Memory Mapped I/O to the
aic7xxx cards failing on certain motherboards, reverse the logic used to
control this feature.  AHC_FORCE_PIO is replaced with AHC_ALLOW_MEMIO.
GENERIC no longer needs to specify the AHC_FORCE_PIO option since this is
the default.
1996-11-16 01:09:20 +00:00
Jordan K. Hubbard
431995f177 This is the new AWE32 driver, with support for the AWE32's fancy MIDI
synthesizer.  The utilities for this will appear as port submissions soon
afterwards, according to the submitter.

Submitted-By: Randall Hopper <rhh@ct.picker.com>
Written-By: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
1996-11-15 18:36:25 +00:00
Søren Schmidt
6a90d9750d Finally a start at sharing the kdb controller routines between
syscons and psm, curtesy Kazutaka Yokota with minor changes by
me. This contains an update of the psm driver as well.
This also fixes the breakage that I introduced to the psm driver by
making syscons poll for keyboard events in the atempt to fix the
hanging keyboard problem.

It works perfectly for me, and I'd like to hear from all that
have had keyboard/ps/2 mouse problems if this is the cure...

Submitted by:	 Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
1996-11-14 22:19:17 +00:00
Andrey A. Chernov
7dbff5bf98 Change WARNING line about SCB paging to:
# WARNING: with AHC_TAGENABLE set can be dangerous on Adaptec 2842
1996-11-13 22:50:32 +00:00
Andrey A. Chernov
8ba1fe211b Near AHC_SCBPAGING_ENABLE add following comment
# WARNING: can effectively kill your disks with some controllers
(I am the victim of -current kernel, inodes wiped completely)
1996-11-12 06:43:24 +00:00
Nate Williams
a7320980f6 Removed (now unused) XT_KEYBOARD option. 1996-11-11 22:04:31 +00:00
Nate Williams
6620cf7868 Removed 'XT_KEYBOARD' option from syscons. Document new-style way of
getting the same behavior using the flags, which can be done inside of
UserConfig.  (Also document other syscons flags which were previously
undocumented).

Requested by:	bde
1996-11-11 22:01:56 +00:00