Commit Graph

2644 Commits

Author SHA1 Message Date
Peter Wemm
14537e784b Reran makesyscalls.sh.. 1996-01-08 05:27:29 +00:00
Peter Wemm
801942bdd4 Oops. forgot to remove #include "opt_sysvipc.h" 1996-01-08 05:24:09 +00:00
Peter Wemm
1529bb2d55 reran makesyscalls
Always call the SYSV ipc functions, stubs will take their place if
necessary.
1996-01-08 04:34:54 +00:00
Peter Wemm
e7ae3bf08d Remove the #ifdef SYSVSHM etc. Always call the functions, some stubs
are about to go in.  This is to fix the problem with the ibcs2 and linux
lkm's not being able to call the sysv ipc functions unless the build is
modified.
1996-01-08 04:13:25 +00:00
Peter Wemm
0f7183ad60 Also move /var/db/kvm_kernel.db to /var/db/kvm_kernel.old.db IF we change
sysctl kern.bootfile - since libkvm expects it there.
1996-01-08 03:55:36 +00:00
Poul-Henning Kamp
3b3f55c76f Only change the sysctl variable if it presently points to /kernel. 1996-01-07 22:31:27 +00:00
Justin T. Gibbs
7faea34be2 Use the new adapter_softc field in the scsi_link structure so that
these drivers don't need to maintain an array of configured units.

The bt driver still needs to because ISA interrupt handlers take a
unit number. :(
1996-01-07 19:24:36 +00:00
Justin T. Gibbs
d026722aff Use the new adapter_softc field in the scsi_link structure so that
in the future, these drivers won't need to maintain an array of
configured units. They still need to because ISA interrupt handlers
take a unit number. :(

Pass "softc" pointers instead of unit numbers to many functions that
did a conversion of unit->softc anyway.
1996-01-07 19:22:39 +00:00
Justin T. Gibbs
b3b779573c Use the new adapter_softc field in the scsi_link structure so that
this driver no longer needs to maintain an array of configured units.

Pass "softc" pointers instead of unit numbers to many functions that
did a conversion for unit->softc anyway.
1996-01-07 19:20:59 +00:00
Justin T. Gibbs
a8ce2e68d7 Add comment about only needing on of either ahc, ncr, or ahb type
controllers to handle any number of devices.
Remove unnecessary extra units for these controllers.
1996-01-07 19:19:38 +00:00
Bill Paul
0c83bb499c Add NMSS to the list of things that local.h checks for when decding
whether of not to automatically #define EXCLUDE_AUDIO; MSS is a real
audio device and we should not #define EXCLUDE_AUDIO if we have one.
(And I want it because it's the only mixer-capable audio driver that I
can use with my crummy Packard Bell (nee Aztech) audio board.)

This fixes the very confusing condition where having all of this:

mss0 at 0x530 irq 10 drq 1 on isa
gus0: <MS Sound System (CS4231)>
opl0 at 0x388 on isa
opl0: <Yamaha OPL-3 FM>
mpu0 at 0x300 irq 9 drq 0 on isa
mpu0: <MPU-401 MIDI Interface 0.0 >

will still give you this:

% cat /dev/sndstat
SoundCard Error: The soundcard system has not been configured

Also remove an unnecessary newline in the printf() message for the
'gus0' device shown above so that we don't wind up printing a blank
line between mss0 and gus0.
1996-01-07 08:12:13 +00:00
Joerg Wunsch
301c758249 Document the ``BOOT_HD'' make option for the bootblocks. 1996-01-06 23:37:10 +00:00
Peter Wemm
d92566062f Choose a different name to hold the option definition.. The original one
was overlapping with another file, and making some undesirable behavior a
little worse - it's triggering a bug in config that appears to have been
there for some time (before the options files, anyway.)
1996-01-06 23:10:57 +00:00
Garrett Wollman
d4fb926c62 Finally demolished the last, tottering remnants of GATEWAY. If you want
to enable IP forwarding, use sysctl(8).  Also did the same for IPX,
which involved inventing a completely new MIB from whole cloth (which
I may not quite have correct); be aware of this if you use IPX forwarding.
(The two should never have been controlled by the same option anyway.)
1996-01-05 20:47:05 +00:00
Garrett Wollman
8890984dc9 Convert BOUNCE_BUFFERS and BOUNCEPAGES to new option scheme. 1996-01-05 20:12:53 +00:00
Garrett Wollman
d90f925367 The Linux emulator depends on SYSV IPC but doesn't actually reference
the options.
1996-01-05 19:52:49 +00:00
Andrey A. Chernov
eb8421526c Remove -fno-strength-reduce, gcc bug recently fixed 1996-01-05 19:28:55 +00:00
Paul Richards
3d019cce2c Added multicast support, currently #ifdef LNC_MULTICAST.
Changed parameter of lnc_watchdog to match what upper levels expect, fixed
a warning.
1996-01-05 19:12:47 +00:00
Garrett Wollman
b6794438ad Delete a couple of unnecessary dependencies on Makefile. 1996-01-05 18:30:10 +00:00
Justin T. Gibbs
661104e49c The sequencer sets Intstat to REJECT_MSG, not MSG_REJECT.
Submitted by: "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
1996-01-05 16:13:44 +00:00
Garrett Wollman
0e41ee3037 Convert DDB to new-style option. 1996-01-04 21:13:23 +00:00
Garrett Wollman
50c73f3620 Convert SYSV IPC to new-style options. (I hope I got everything...)
The LKMs will need an extra file, to come later.
1996-01-04 20:29:06 +00:00
Garrett Wollman
a73af3a214 convert the math emulation to use the new-style options. 1996-01-04 19:51:50 +00:00
Garrett Wollman
db6a20e23e Converted two options over to the new scheme: USER_LDT and KTRACE. 1996-01-03 21:42:35 +00:00
Justin T. Gibbs
6cb248359e The long awaited stability patch set for the aic7xxx driver:
Simplify the initialization of adapters by pulling all card specific
initialization to the card specific modules.

Update comments and fix formating.

Pass struct ahc_data*'s to functions instead of unit numbers.

Take advantage of the quad word alignment of SCB fields.

Adapt to new sequencer changes:

	1) Waiting scb list no longer has a tail.

	2) Fill the message buffer as appropriate during a parity error.

	3) Count all of the SGs involved in a residual instead of just
	   the current one.

The reset/abort code still needs a lot of work.

Reviewed by:   David Greenman <davidg@FreeBSd.org>
1996-01-03 06:32:12 +00:00
Justin T. Gibbs
dad30388b2 The long awaited stability patch set for the aic7xxx driver:
aic7770.c:
Simplify the initialization of adapters by pulling all card specific
initialization to the card specific modules.

eisaconf.c:
outb 0x80 instead of 0xc80.  The top byte is truncated anyway, and 0x80
was what was intended.
1996-01-03 06:28:01 +00:00
Justin T. Gibbs
cc4f672cec The long awaited stability patch set for the aic7xxx driver:
aic7xxx.seq and aic7xxx.c depend on aic7xx_reg.h
1996-01-03 06:26:15 +00:00
Peter Wemm
876791a6b6 Fix the number of ports created for devfs.. it had been only creating
enough nodes for the number of ports on the last module, not the number
of ports _total_ that the driver is managing...

Submitted by:  Robert Sanders <rsanders@mindspring.com>
1996-01-02 19:39:09 +00:00
Peter Wemm
5c7acd6044 Fix last "fix" - I had introduced a fencepost error.. :-(
Happily pointed out by: julian :-)
1996-01-02 09:20:29 +00:00
Peter Wemm
638c3d07b7 Fix up the DEVFS minor numbers that the Specialix driver registers... 1996-01-02 09:18:07 +00:00
Bruce Evans
e5171bbec0 Fixed user-mode mcount which I broke in the previous revision.
Do it the old way for now.

Moved recent additions around a lot to minimise ifdefs.

Added prototypes.
1996-01-01 17:11:21 +00:00
Joerg Wunsch
cfaaf1594e Restrict /devfs/io perms to 0600.
Nobody in our regular source tree, or in the non-distfile part of the
ports tree does use /dev/io anyway, so this might be replaced by
another scenario some day.
1995-12-31 09:32:16 +00:00
David Greenman
b2b1f785bc In memory test, cast pointer as "volatile int *", not "int *" to make sure
that gcc doesn't cache the value used in the test. Pointed out by Erich
Boleyn <erich@uruk.org>.
1995-12-30 23:13:32 +00:00
Peter Wemm
6065a0be11 This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
1995-12-30 19:02:48 +00:00
Peter Wemm
a5b996a7ec recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
Bruce Evans
5c0ea38c00 Restored likely_com_ports[] from rev.1.122 so that Hayes ESP support at
least compiles.
1995-12-30 03:52:58 +00:00
Søren Schmidt
96e0f535ef Oops, forgot a little difference between my src-tree and ours... 1995-12-30 00:42:25 +00:00
Søren Schmidt
b6bf472318 Fixed a bug with the ATAPI_STATIC option, so it compiles again. 1995-12-29 22:17:12 +00:00
Søren Schmidt
bb5889bdb5 My first shot at get sound to work on the emulator.
Inspired by the work Amancio Hasty has done, but implemented
somewhat differently.
1995-12-29 22:12:14 +00:00
Bruce Evans
912e603778 Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches.  The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes.  Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header.  This
hack will do until then.  (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'.  `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.
1995-12-29 15:30:05 +00:00
Bruce Evans
2c28d76196 Oops, this should have been committed with the other Hayes ESP changes. 1995-12-29 13:18:58 +00:00
Bruce Evans
768fd661e4 Added support for the Hayes ESP serial card.
Submitted by:	Sean Eric Fagan (sef@kithrup.com)
Based on code by John Vinopal (banshee@resort.com)
Cosmetic (I hope) changes by me (bde).
1995-12-29 12:51:32 +00:00
Mark Murray
aba89c509d 1) ifdef out some unused functions (for now)
2) improve 586 support
3) add 686 support
4) clean up comments etc
Submitted by:	bde
1995-12-29 08:04:32 +00:00
Jordan K. Hubbard
56c7a48c93 Make a couple of options that hurt when they're removed more
carefully noted.
1995-12-29 02:04:20 +00:00
Peter Wemm
13b6889458 Add the attempted DMA address to the 'DMA beyond end of ISA' message so that
we can see if it's a small distance beyond the end, or way out. This may
give some clues as to whether it is being caused by something coalescing
the transfers in spite of the bounce buffers, or simply because of buffer
corruption.  (The BT driver seems to occasionally get hit by from this too,
except that it does not trap the transfer, and the system panics later
with vm_bounce_page_free.)  This "event" usually happens to me during a
savecore (on the rare occasion that a kernel coredump is actually taken
after a crash - the lack of kernel core dumps is another problem...).
1995-12-29 00:30:06 +00:00
David Greenman
d079690c14 Made bzero a function vector and added a 586/686 optimized version of
bzero.
Deprecated blkclr (removed it).
Removed some old cruft from cpufunc.h.

The optimized bzero was submitted by Torbjorn Granlund <tege@matematik.su.se>
The kernel adaption and other changes by me.
1995-12-28 23:34:30 +00:00
David Greenman
83e33b0197 Made bzero a function vector and added a 586/686 optimized version of
bzero.
Deprecated blkclr (removed it).
Removed some old cruft from cpufunc.h.

The optimized bzero was submitted by Torbjorn Granlund <tege@matematik.su.se>
The kernel adaption and other changes by me.
1995-12-28 23:14:40 +00:00
David Greenman
99beca17d7 Fix one more label that I overlooked with the P6 support. Sigh. 1995-12-28 21:01:54 +00:00
Mark Murray
179c10f92d 1) Add #include <machine/cpu.h> to catch some 586 #defines
2) swap the 2 arguments to outb (kato)
Pointed out by: Kato Takenori <kato@eclogite.eps.nagoya-u.ac.jp>
1995-12-28 17:09:14 +00:00
Andrey A. Chernov
717df65cce Add more disc_optim calls to track line disc changes 1995-12-28 11:58:35 +00:00
David Greenman
014374187c Update bcopyb & bcopy to reflect changes I made in the libc version of
bcopy:

Be smarter about handling overlapped copies and only go backwards if it
is really necessary. Going backwards on a P6 is much slower than forwards
and it's a little slower on a P5. Also moved the count mask and 'std'
down a few lines - it's a couple percent faster this way on a P5.
1995-12-27 18:54:51 +00:00
Bruce Evans
f15351202f Finished removing MACH_KERNEL stuff. 1995-12-27 16:16:02 +00:00
Mark Murray
0738b16169 random_machdep.c: New version, also includes revectored interrupts, rather
than hooking permanently.
vector.s:       : Remove the interrupt hook. This is done dynamically, now.
1995-12-27 11:22:05 +00:00
Mark Murray
6a9bf141bd Clean up and make more universal. Next version of random device. 1995-12-27 11:19:41 +00:00
Mark Murray
e85ceed0ff Modify the ioctl to handle revectored interrupts for the entropy gatherers. 1995-12-27 11:18:29 +00:00
Bruce Evans
3eafdede1c Removed nonexistent option AUTO_EOI_1. 1995-12-26 14:01:16 +00:00
Bruce Evans
62394a63c8 Removed almost all traces of libkern.a. The objects that were in
libkern.a are now specified by listing their source files in
files.${MACHINE}.  The list is machine-dependent to save space.
All the necessary object for each machine must be linked into the
kernel in case an lkm wants one.
1995-12-26 13:58:31 +00:00
Bruce Evans
337e9f0bd2 Renamed isa/random.c to isa/random_machdep.c to avoid a conflict with
libkern/random.c.
1995-12-26 12:50:24 +00:00
David Greenman
d7b1079903 Fix a lable goofup I made in the previous P6 support changes. 1995-12-25 14:40:49 +00:00
Bruce Evans
c6bbb6d152 Fixed staticizing. Some functions aren't static but depend on
the undocumented previously unLINTed option `APM_SLOWSTART'.
1995-12-25 07:38:47 +00:00
David Greenman
5493045648 Fix typo in CPUCLASS. 1995-12-25 01:02:32 +00:00
David Greenman
17acc2b264 Added device fxp0 (device driver for Intel EtherExpress Pro/100). 1995-12-24 08:13:23 +00:00
David Greenman
7059cdf2d3 Added I686_CPU. 1995-12-24 08:11:46 +00:00
David Greenman
6410f76727 Add Pentium Pro CPU detection and special handling. For now, all the
optimizations we have for 586s also apply to 686s...this will be fine-
tuned in the future as appropriate.
1995-12-24 08:10:52 +00:00
David Greenman
e8636c6c19 Made "AUTO_EOI_1" standard. auto-EOI on the master ICU is a documented
feature of the ICU. auto-EOI on the slave is not safe, however, so it
remains an option. Killed religious FASTER_NOP when writing the ICU.

Reviewed by:	bde
1995-12-23 16:53:57 +00:00
David Greenman
44198d45b6 Use FASTER_NOP rather than NOP in rtcin() - only one inb delay was ever
needed.
Reviewed by:	bde
1995-12-23 16:46:31 +00:00
Bruce Evans
439187de6b Added undocumented option DEBUG so that debugging code gets maintained
or deleted.

Motivated by:	`int doclusteread = 1;' in ext2_vnops.c redefined
doclusterread if DEBUG is defined, so it could not have worked.
This was fixed by staticizing things before it caused problems.
I didn't find any more cases like this.
1995-12-22 18:44:07 +00:00
Bruce Evans
e390090674 Staticized code that was hidden by `#ifdef DEBUG'. 1995-12-22 18:21:26 +00:00
Bruce Evans
02f90f3b3c Increased the double fault stack size from 512 to PAGE_SIZE. This is
wasteful, but better than clobbering the variables below the stack.
About 300 bytes of variables were clobbered when I examined double
faults using ddb.  Perhaps a page that is known not to be accessed by
the double fault handler could be used.  Such pages are not easy to
find, since the double fault handler calls panic() which calls sync()
and possibly dumpsys().
1995-12-22 18:17:34 +00:00
Poul-Henning Kamp
9dc731e563 Typo in my last commit. 1995-12-22 15:52:07 +00:00
Bruce Evans
b3a96d8a4c Renamed private DEBUG macro to avoid warnings when DEBUG is an option. 1995-12-22 15:39:45 +00:00
Bruce Evans
4fa403fb86 Fixed permissions of /dev/pcaudio*. 1995-12-22 15:27:48 +00:00
Bruce Evans
aa67202b2b Fixed arg order in an outb() call. add_timer_randomness() clobbered
part of the DMA channel 0 address and wasn't random in the intended
way.
Submitted by:	KATO Takenori <kato@eclogite.eps.nagoya-u.ac.jp>

Disable interrupts while reading the clock.  This probably isn't
important (allowing interrupts probably increased randomness in
the usual case).

Removed __i386__ ifdef.  This file is in an i386 directory and has
other i386 dependencies.
1995-12-22 15:20:50 +00:00
Bruce Evans
526d7a354a Synced with sio.c. This fixed the DEVFS initialization. cy.c is
supposed to be identical with sio.c for hardware-independent details.
1995-12-22 15:02:22 +00:00
Bruce Evans
bfd6eab381 Fixed bugs introduced in rev. 1.127 (some broken 16650 support was
unintentionally committed):
- the fifo was completely disabled for low speeds.  Apart from being
  unnecessarily inefficient, this invalidated com->tx_fifo_size.
- `ftl' became a bogus name.
- the 16650 probe breaks the COM_NOFIFO() case and has other bugs
  (disabled, not fixed).

Fixed bogus change of the fifo settings for the non-speed of 0.  This
bug made the above fifo bug occur even at non-low speeds.

Fixed the modes of the cua devices.  It isn't possible to set the uid
and gid correctly since the kernel can't know who uucp.dialer is.

Register the devswitch at device attach time.  SYSINIT() is not
the right way to initialize devswitches (if anything :->).
Eventually, the devswitch should be deregistered at device detach
and/or unload time and reregistered at device attach time ...  Then
some com->gone tests could be removed.

Cleaned up some other recent changes.
1995-12-22 14:58:55 +00:00
Poul-Henning Kamp
df85d797f7 Remove crufty "pg" function. 1995-12-22 13:09:39 +00:00
Poul-Henning Kamp
0fccf9dcec Cleanup. 1995-12-22 13:08:27 +00:00
David Greenman
b0aa8fc32f Fix a small logic bug that caused the arguments of the previous frame to
be used instead of the ones for the current frame if a breakpoint had been
set at the entry to a function.
1995-12-22 07:09:24 +00:00
Julian Elischer
1dfcbb0ce3 i386/i386/conf.c is no longer needed.. remove it from files.i386
redistribute a few last routines to beter places and shoot the file

I haven't act actually 'deleted' the file yet togive people time
to
have done a config.. I.e. they are likely to have done one in a week or so
so I'll remove it then..
 it's now empty.
makes the question of a USL copyright rather moot.
1995-12-21 20:09:46 +00:00
Julian Elischer
ee0ef56952 Reviewed by: peter (verbally :)
Move functions specific to mem.c to mem.c from conf.c
1995-12-21 19:22:49 +00:00
David Greenman
328315528d Rewrote most of the ddb stack traceback code. These changes are smarter
about decoding trap/syscall/interrupt frames and generally works better
than the previous stuff.
Removed some special (incorrect) frobbing of the frame pointer that
was messing some things up with the new traceback code.
1995-12-21 19:20:58 +00:00
Garrett Wollman
a8178e4bb6 Increase Pentium cyclecounter calibration time to 131072 us. This
experimentally seems to give better results on my machine.
1995-12-20 20:57:33 +00:00
David Greenman
c96819306b Corrected a typo in a comment. 1995-12-19 14:47:41 +00:00
David Greenman
2838c9682a Implemented a (sorely needed for years) double fault handler to catch stack
overflows.
It sure would be nice if there was an unmapped page between the PCB and
the stack (and that the size of the stack was configurable!). With the
way things are now, the PCB will get clobbered before the double fault
handler gets control, making somewhat of a mess of things. Despite this,
it is still fairly easy to poke around in the overflowed stack to figure
out the cause.
1995-12-19 14:30:50 +00:00
Poul-Henning Kamp
27a0b398a7 Staticize.
Unstaticize a function in scsi/scsi_base that was used, with an undocumented
option.
My last count on the LINT kernel shows:
Total symbols:  3647
unref symbols:   463
undef symbols:     4
1 ref symbols:  1751
2 ref symbols:   485
Approaching the pain threshold now.
1995-12-17 21:23:44 +00:00
Bruce Evans
927c0b1131 Cleaned up prototypes in pmap headers: removed ones for nonexistent
functions; moved misplaced ones; restored most of KNFish formatting
from 4.4lite version; removed bogus __BEGIN/END_DECLS.
1995-12-17 07:39:05 +00:00
Bruce Evans
f2c6b65bab Fixed 1TB filesize changes. Some pindexes had bogus names and types
but worked because vm_pindex_t is indistinuishable from vm_offset_t.
1995-12-17 07:19:58 +00:00
Bruce Evans
cc3b5b8ba6 Return the i/o size, not a truth value, in the probe. 1995-12-16 21:37:58 +00:00
Bruce Evans
62f84fd1ba One less magic number. 1995-12-16 21:32:19 +00:00
Bruce Evans
c01db44a14 Fixed comment about IPFIREWALL_VERBOSE.
Added undocumented option SCSI_2_DEF.
1995-12-16 21:00:14 +00:00
Peter Wemm
c33b06ba4f Catch a couple more null devsw dereferences... 1995-12-16 18:52:08 +00:00
Peter Wemm
15a76dc428 Another shot at getting working si DEVFS entries.. Apparently, it didn't
understand %02d in it's format string...
1995-12-16 14:03:02 +00:00
Bruce Evans
526eacf611 Added undocumented option LINUX so that it gets tested. 1995-12-16 02:19:17 +00:00
Bruce Evans
a5db65d39f Added `-Wstrict-prototypes -Wmissing-prototypes' to CWARNFLAGS so that
prototypes don't go missing again.  Also added -Winline so that some
doubtful (non-)inlines get fixed.

bsd.kmod.mk:
Also added `-Wreturn-type -Wimplicit -Wnested-externs' to catch up
with the kernel.
1995-12-16 01:57:25 +00:00
Bruce Evans
6ea3e9d839 Completed function declarations and/or added prototypes and/or added
#includes to get prototypes.

pci now uses a different interrupt handler type for interrupts that it
dispatches and the isa interrupt handler type for the interrupts that
it handles.
1995-12-16 00:27:59 +00:00
Bruce Evans
82b945084b Completed function declarations and added prototypes. Sorted prototypes. 1995-12-15 23:49:42 +00:00
David Greenman
51cdbfcdaf Changed arg type for pio functions.
Cast a few things appropriately to shut up the compiler.
1995-12-15 07:31:40 +00:00
Peter Wemm
2e69c13c32 Update linux_ipc.c to use the now generated prototypes for the shm* calls
it makes while emulating the linux equivalents.
1995-12-15 05:07:20 +00:00
Peter Wemm
d3cc2bd29e Initial attempt at getting Linux QMAGIC shared lib support. I have
successfully run linux netscape 2.0b3 with a QMAGIC ld.so and libc/libm
that I found on some linux machine that I _think_ is running slackware 3.0.

There are still problems..  ld.so claims the libraries are the wrong
format, but it still runs anyway.. :-/  The QMAGIC ld.so also screams
about needing ld.so.cache, and running a linux ldconfig is quite
educational.  You soon learn to run "chroot /compat/linux /bin/ldconfig"
where ldconfig is living in /compat/linux/bin. :-]

(Lets just say that it puts loads of symlinks in /usr/lib otherwise :-)
1995-12-15 03:28:38 +00:00
Peter Wemm
ef04503da8 Clean up some warnings by using the generated structures in <sys/sysproto.h>
for passing to the bsd system calls, rather than inveninting our own
equivalent structures.
1995-12-15 03:06:57 +00:00
Bruce Evans
0dfe10a65c Completed function declarations and/or added prototypes and/or added
#includes to get prototypes.
1995-12-15 00:54:32 +00:00
Bruce Evans
bfd8f1484e Removed unused #includes. 1995-12-15 00:40:38 +00:00
Bruce Evans
28cc517d85 Removed duplicated #includes of <sys/conf.h> 1995-12-15 00:29:31 +00:00
Bruce Evans
44faa2919b Completed function declarations and added prototypes. Sorted prototypes. 1995-12-15 00:11:27 +00:00
Bruce Evans
c3741af960 Added a prototype. Merged prototype lists. 1995-12-14 23:59:04 +00:00
Bruce Evans
f3fcde035c Added a prototype. 1995-12-14 23:50:54 +00:00
Bruce Evans
cffba52f8b Moved some more prototypes outside of ifdefs and grouped them together. 1995-12-14 23:35:17 +00:00
Bruce Evans
fb314a11e2 Completed function declarations and added prototypes. Sorted prototypes. 1995-12-14 23:26:53 +00:00
Bruce Evans
f92ad69369 Added a prototype. 1995-12-14 23:23:48 +00:00
Bruce Evans
d14122ea44 Fixed staticization of DDB functions. 1995-12-14 23:01:51 +00:00
Bruce Evans
e0067d71f4 Restored a vm #include. 1995-12-14 22:35:45 +00:00
Bruce Evans
d1022821ae Removed my devsw access functions [un]register_cdev() and
getmajorbyname() which were a better (sigh) temporary interface to
the going-away devswitches.

Note that SYSINIT()s to initialize the devswitches would be fatal
in syscons.c and pcvt_drv.c (and are bogus elsewhere) because they
get called independently of whether the device is attached; thus
devices that share a major clobber each other's devswitch entries
until the last one wins.

conf.c:
Removed stale #includes and comments.
1995-12-14 22:03:12 +00:00
Bruce Evans
7cbb44a1d9 Fixed the type of some sysinit functions. 1995-12-14 20:21:58 +00:00
Peter Wemm
b1529bda75 GENERIC/LINT: Remove redundant quoting on some option lines.
LINT: add a couple of new/missing/undocumented options
files.i386: add linux code so that you can compile a kernel with static
linux emulation ("options LINUX")
i386/*: use #if defined(COMPAT_LINUX) || defined(LINUX) to enable static
support of linux emulation (just like "IBCS2" makes ibcs2 static)

The main thing this is going to make obvious, is that the LINUX code
(when compiled from LINT) has a lot of warnings, some of which dont look
too pleasant..
1995-12-14 14:35:36 +00:00
Peter Wemm
73852f5e36 Update the skeleton DEVFS code to match reality a little closer.. :-) 1995-12-14 14:29:10 +00:00
Peter Wemm
60f17fcd9f Change the generic "btintr" function's name to "bt_intr" - the same as
all the other bt_XXX() functions in i386/scsi/bt*.

This the important effect of forcing a link error if the user is
still using the old "vector btintr" which is dangerously wrong
after Justin's updates to the driver.

The correct isa vector line for the bt driver is "vector bt_isa_intr".
Justin mentioned this in the commit message and updated LINT and
GENERIC.  This change is to enforce that.. :-)
1995-12-14 14:19:19 +00:00
Poul-Henning Kamp
f708ef1b9e Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
Poul-Henning Kamp
87b6de2b76 A Major staticize sweep. Generates a couple of warnings that I'll deal
with later.
A number of unused vars removed.
A number of unused procs removed or #ifdefed.
1995-12-14 08:32:45 +00:00
Poul-Henning Kamp
5e46340891 Make math_emulators LKMable. 1995-12-14 08:21:33 +00:00
Julian Elischer
6ba9ebce28 devsw tables are now arrays of POINTERS to struct [cb]devsw
seems to work hre just fine though  I can't check every file
that changed due to limmited h/w, however I've checked enught to be petty
happy withe hte code..

WARNING... struct lkm[mumble] has changed
so it might be an idea to recompile any lkm related programs
1995-12-13 15:13:57 +00:00
Bruce Evans
99406bcc38 Completed function declarations and added prototypes.
Fixed 3 serious type mismatches that were introduced when the driver
was split up.

Reviewed by:	gibbs
1995-12-13 14:32:59 +00:00
Poul-Henning Kamp
85f689485d Staticize. 1995-12-13 10:36:03 +00:00
Poul-Henning Kamp
c08c8adcf5 Remove MACH_KERNEL, ORIGINAL, and ZP_DEBUG,
I should have done this before it was imported.
1995-12-13 10:35:36 +00:00
Justin T. Gibbs
c343bdc635 The core of the Buslogic SCSI driver that is shared for all models on
all buses.

Known problems:
-The PCI probe code has not been tested. Someone with a PCI Bt card will
 have to validate it, but even if it is broken all cards the earlier version
 of this driver found in ISA compatibility mode should still be found.
-Still missing the BT956 PCI ID, so it will be found as an ISA card until
 someone suplies it.
-PCI interrupts go through an interrupt stub that returns an int until
 we remove the edge-triggered PCI compatibiliity cruft.
-ISA interrupts go through an interrupt stub until they pass in (void *).
-The driver could support more mboxes and concurrent commands by allocating
 structures separately and hanging them off the bt_data struct to get around
 the 4K page limit. Someone with documentation should do this and also
 enable tagged queuing.
1995-12-12 08:57:22 +00:00
Justin T. Gibbs
09c30e3a1e Isa/VL probe portion of the Buslogic SCSI driver. 1995-12-12 08:50:54 +00:00
Justin T. Gibbs
ab8f0fa54c Have Eisa and PCI probes occur before ISA probes. Buslogic EISA and PCI cards
can be found in ISA compatibility mode by the ISA driver, but since the
EISA and PCI probes are non-invasive, we prefer them to find the card first.
Since both EISA and PCI probes can rely on interrupts, enable them before
probing of any type is performed.  All ISA probes are still "protected" by
splhigh().
1995-12-12 08:50:15 +00:00
Justin T. Gibbs
8313579d97 Eisa Probe portion of revamped Buslogic SCSI driver. 1995-12-12 08:47:11 +00:00
Justin T. Gibbs
a1d01daf77 Have bt0 entry specify "bt_isa_intr" for its vector. This one entry will
allow one EISA/ISA/PCI/VL Buslogic controller to be probed.  The driver
is almost fully dynamic.  It just needs some kdc work and for the SCSI code
to stop passing unit numbers up in the scsi_xfer struct.
1995-12-12 08:46:40 +00:00
Poul-Henning Kamp
94e20eb776 Staticize 1995-12-11 09:26:18 +00:00
John Dyson
983d613468 Undo a change that should not have been committed with the 1Tb enhancements. 1995-12-11 05:02:52 +00:00
John Dyson
a316d390bd Changes to support 1Tb filesizes. Pages are now named by an
(object,index) pair instead of (object,offset) pair.
1995-12-11 04:58:34 +00:00
Bruce Evans
174f8afaa3 Added pcvt option FAT_CURSOR.
Fixed comment about PCVT_VERSION=210.

Fixed tabs and trailing blanks.
1995-12-10 22:14:15 +00:00
Bruce Evans
94c948049a Added undocumented option EXT2FS so that it gets tested.
Enabled option GPL_MATH_EMULATE so it gets tested.  This will cause linkage
errors.

Fixed comment about PCVT_VERSION=210.
1995-12-10 22:09:14 +00:00
Bruce Evans
cb8cad01f8 Unstaticized cx_cdevsw (it is used in if_cx.c).
Added a prototype.
1995-12-10 21:08:11 +00:00
Bruce Evans
81ab2caf0a Replaced nxreset by noreset (if the reset function gets called, then the
device must be configured.  It's hard to tell whether a reset function
should be noreset or nullreset since reset functions are never called.
Most drivers use nullreset but noreset has the advantage of complaining
if somehow gets called).
1995-12-10 20:54:38 +00:00
Bruce Evans
26ec204be0 Replaced nxmmap by nommap (if the mmap function gets called, then the
device must be configured).
1995-12-10 20:34:53 +00:00
Bruce Evans
690999827d Replaced scdsize by generic nopsize. 1995-12-10 20:10:23 +00:00
Bruce Evans
4439655d52 Replaced nxdump by nodump (if the dump function gets called, then the
device must be configured, so ENXIO is a bogus errno).

Replaced zerosize by nopsize.  zerosize was a temporary alias.
1995-12-10 19:53:42 +00:00
Bruce Evans
f332b8a1d5 Replaced nxdump by nodump (if the dump function gets called, then the
device must be configured, so ENXIO is a bogus errno).

Replaced zerosize by nopsize.  zerosize was a temporary alias.
1995-12-10 19:44:58 +00:00
Bruce Evans
c73feca0b7 Removed new alias d_size_t for d_psize_t.
Removed old aliases d_rdwr_t and d_ttycv_t for d_read_t/d_write_t and
d_devtotty_t.

Sorted declarations of switch functions into switch order.

Removed duplicated comments and declarations of nonexistent switch
functions.
1995-12-10 15:55:34 +00:00
Poul-Henning Kamp
6f4e0beb7e Staticize and cleanup. 1995-12-10 13:40:44 +00:00
Poul-Henning Kamp
3b0b66ee0e Staticize and cleanup.
Ohh, forgot this bit:
(covers sio.c too) recognize the 16650 too.
1995-12-10 13:40:33 +00:00
Poul-Henning Kamp
87b9115751 Staticize and cleanup.
remove a TON of #includes from machdep.
1995-12-10 13:36:34 +00:00
Poul-Henning Kamp
31774c91a7 Staticize and cleanup.
Make debug variable sysctl aware in 1742.
1995-12-10 13:33:49 +00:00
Julian Elischer
46746c3b26 Add DEVFS to LINT 1995-12-10 10:50:32 +00:00
Bruce Evans
965797322b Restored used function fusword() (used by GPL math emulator). 1995-12-10 03:11:32 +00:00
Bruce Evans
81c5b5f59a Moved vm includes out of centralized headers again. 1995-12-10 02:53:07 +00:00
Poul-Henning Kamp
7dfe504fe2 Remove various unused symbols and procedures. 1995-12-09 20:40:43 +00:00
Poul-Henning Kamp
162a9e8732 Move sysctl machdep.consdev to cons.c 1995-12-09 20:39:47 +00:00
Poul-Henning Kamp
dd82b06157 Remove option ARP_PROXYALL, it's now a sysctl var. 1995-12-09 16:10:20 +00:00
Julian Elischer
4d92e19833 clean a few DEVFS things..
fix a bug where you couldn't place devices in the root directory
of devfs

remove deprecated routines

On my machine devfs now shows:
julian@erf.tfs.com:
julian@erf.tfs.com: ls -RF
bpf0            mem             ptypb           spkr            ttyp8
bpf1            null            ptypc           stderr          ttyp9
bpf2            pcaudio         ptypd           stdin           ttypa
bpf3            pcaudioctl      ptype           stdout          ttypb
console         pt              ptypf           tty             ttypc
cuaa0           ptyp0           random          ttyd0           ttypd
cuaia0          ptyp1           rsd0            ttyid0          ttype
cuala0          ptyp2           rsd1            ttyld0          ttypf
fd/             ptyp3           rvn             ttyp0           tun0
fd0.1440        ptyp4           rworm           ttyp1           urandom
fd1.1200        ptyp5           scsi/           ttyp2           vn
io              ptyp6           sd0             ttyp3           zero
kmem            ptyp7           sd1             ttyp4
lkm             ptyp8           snp0            ttyp5
log             ptyp9           snp1            ttyp6
lpt0            ptypa           snp2            ttyp7

./fd:
0       15      21      28      34      40      47      53      6       9
1       16      22      29      35      41      48      54      60
10      17      23      3       36      42      49      55      61
11      18      24      30      37      43      5       56      62
12      19      25      31      38      44      50      57      63
13      2       26      32      39      45      51      58      7
14      20      27      33      4       46      52      59      8

./scsi:
sctarg  ssc
julian@erf.tfs.com:

which is all devices really there except for disk slices/partitions..
(if I don't have it it's not there, which has GOT to be an improvement..)

no DEVFS fixes from device maintainers yet?
1995-12-09 09:11:25 +00:00
Peter Wemm
ac9a8f2f81 Attempt to make the Linux LKM compile again after the recent VM include
de-nesting changes...
(I figured this might be usefulif it actually built, since I've told
 everybody to rebuild it or die.. :-)
1995-12-09 08:17:24 +00:00
Peter Wemm
c0072256cd Update ibcs2 to use the new ps_strings / stack gap arrangements.. 1995-12-09 04:33:27 +00:00
Peter Wemm
b3728b2483 Update the Linux LKM to use the new ps_strings and stack gap arrangements.
(note you should recompile the linux and ibcs2 lkms after this)
1995-12-09 04:31:47 +00:00
Poul-Henning Kamp
d2f265fab8 Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
Julian Elischer
87f6c6625d Pass 3 of the great devsw changes
most devsw referenced functions are now static, as they are
in the same file as their devsw structure. I've also added DEVFS
support for nearly every device in the system, however
many of the devices have 'incorrect' names under DEVFS
because I couldn't quickly work out the correct naming conventions.
(but devfs won't be coming on line for a month or so anyhow so that doesn't
matter)

If you "OWN" a device which would normally have an entry in /dev
then search for the devfs_add_devsw() entries and munge to make them right..
check out similar devices to see what I might have done in them in you
can't see what's going on..
for a laugh compare conf.c conf.h defore and after... :)
I have not doen DEVFS entries for any DISKSLICE devices yet as that will be
a much more complicated job.. (pass 5 :)

pass 4 will be to make the devsw tables of type (cdevsw * )
rather than (cdevsw)
seems to work here..
complaints to the usual places.. :)
1995-12-08 11:19:42 +00:00
Peter Wemm
9470f03905 The static prototype for setroot() was apparently accidently moved
into a block of code that was #ifdef CD9660, meaning you got a compile
failure if you didn't have the CD9660 filesystem configured.
1995-12-07 20:31:02 +00:00
David Greenman
efeaf95a41 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
Peter Wemm
cde694287a Implement detection of whether or not bounce-buffering is required
for the particular card in use.  At the moment, I've set it to any of
the bt445S VLB cards (not the bt445C which apparently work) and the
bt5xx series (isa cards).  The 742 and PCI cards should not need it. :-)

It may be useful to have something like this:
#ifndef BOUNCE_BUFFERS
  if (bounce_buffers_required && more_than_16MB_ram)
    panic("this card requires bounce buffers for more than 16MB ram!")
#endif
1995-12-07 09:13:48 +00:00
Bruce Evans
0310c19f5d Replaced #includes of <sys/user.h> by less gross headers, usually
<sys/vm.h>.  Many device drivers need only the definition of vtophys()
from vm.

Added nearby #includes of <sys/conf.h> where appropriate.
1995-12-06 23:52:35 +00:00
Bruce Evans
86a1c05db0 Removed unnecessary #includes of <sys/user.h>. Some of these were just
to get the definitions of TRUE and FALSE which happen to be defined in
a deeply nested include.

Added nearby #includes of <sys/conf.h> where appropriate.
1995-12-06 23:44:23 +00:00
Bruce Evans
9346dbcbca Added explicit #include of <vm/vm.h> so that conf.c doesn't break when
vnode_if.h doesn't include vm stuff.
1995-12-06 22:31:54 +00:00
Bruce Evans
d973c0554a Include <vm/vm.h> explicitly to avoid breaking when vnode_if.h doesn't
include vm stuff.
1995-12-06 19:14:16 +00:00
Peter Wemm
44036f9429 Moving the kern.dumpdev sysctl handler from kern_sysctl.c to swapgeneric.c
is not real helpful since swapgeneric.c doesn't seem to be used, except
perhaps on a GENERIC kernel. (Sorry Paul.. :-)

I've moved it from swapgeneric.c to autoconf.c, since autoconf.c also deals
with dumpdev things.  There may be a better place.....
1995-12-06 09:04:44 +00:00
Bruce Evans
3b8511179e Fixed ity's d_stop entry. itystop() wasn't used. itystop() is inadequate
but probably harmless.  It's hard to tell because apparently no one runs
ity.

Fixed ity's d_reset entry.  `nx' entries should never be used for existing
devices.

conf.c:
Moved a prototype to a better place.

Removed a stale #define.
1995-12-05 20:33:57 +00:00
Bruce Evans
ef6f4fab97 Moved some prototypes to a better place.
Removed stale prototypes.

Added prototypes.

Added empty lines.
1995-12-05 20:10:41 +00:00
Bruce Evans
7c3bc2bfe9 Removed dummy routines sscstrategy(), sscread(), sscwrite() and
sscselect().  Use the standard dummies nostrategy(), noread(),
nowrite() and noselect() instead.

sscread() and sscwrite() returned bogus errnos.  It isn't possible
to return an error from a select routine so noselect() is just as
bogus as sscselect() (it's equivalent to nullselect()).
1995-12-05 19:36:47 +00:00
David Greenman
21864bc400 Updated my copyright.
Fixed two cases of "=" that should have been "==" in card type comparison.
Simplified expression that checks for interface up/down.
Moved ed_ring_copy to before its first use so that it's inlined as intended.
Change mbuf allocation policy so that a received packet is stored in just
an mbuf header (no cluster) if it will fit in one.
1995-12-05 13:01:33 +00:00
David Greenman
4a5f1499b0 all:
Removed ifnet.if_init and ifnet.if_reset as they are generally unused.
Change the parameter passed to if_watchdog to be a ifnet * rather than
a unit number. All of this is an attempt to move toward not needing an
array of softc pointers (which is usually static in size) to point to
the driver softc.

if_ed.c:
Changed some of the argument passing to some functions to make a little
more sense.

if_ep.c, if_vx.c:
Killed completely bogus use of if_timer. It was being set in such a way
that the interface was being reset once per second (blech!).
1995-12-05 02:01:59 +00:00
Peter Wemm
80308cade5 aargh! I tested JREMOD, only to discover that the "good oil" part of
it for si.c was accidently inside some #ifdef DEBUG code....
1995-12-04 17:33:45 +00:00
Poul-Henning Kamp
946bb7a268 A major sweep over the sysctl stuff.
Move a lot of variables home to their own code (In good time before xmas :-)

Introduce the string descrition of format.

Add a couple more functions to poke into these marvels, while I try to
decide what the correct interface should look like.

Next is adding vars on the fly, and sysctl looking at them too.

Removed a tine bit of defunct and #ifdefed notused code in swapgeneric.
1995-12-04 16:48:58 +00:00
Bruce Evans
6fae63d840 Added prototypes.
Staticized.

Moved a NULL-initialized variable to the bss.
1995-12-03 18:46:49 +00:00
Bruce Evans
d71f232008 __purified pmap_pte(). This seems to make no difference. 1995-12-03 18:37:44 +00:00
Bruce Evans
8ae2aed25c Completed function declarations and/or added prototypes. 1995-12-03 18:35:28 +00:00
Bruce Evans
62621eb3be Staticized.
Completed function declarations and added prototypes.

Cleaned up prototypes.

Cleaned up #includes.

Removed unused variable `dkn'.
1995-12-03 17:51:36 +00:00
Bruce Evans
1630f073cf Moved inline functions for insque() and remque() to <sys/queue.h>.
Protected them with `#ifdef KERNEL' so that <sys/queue.h> is valid C++.
Added the necessary #includes of <sys/queue.h>.

These functions are bogus and should be replaced by the queue macros.
1995-12-03 13:45:34 +00:00
Bruce Evans
b667af1da9 Removed unused thread support (partly to get rid of its incomplete
function declarations).

Removed unused #includes (lots of vm ones).
1995-12-03 10:40:16 +00:00
Poul-Henning Kamp
dd05856fd3 I don't know what I messed up in 1.40, but the crynwr mode didn't make it.
Here it is then, I hope.
1995-12-02 20:33:40 +00:00
Julian Elischer
124b8f8150 A quick fix for a problem that will go away in a few days anyway.. 1995-12-01 23:09:20 +00:00
Julian Elischer
1eeac5367e remove typo 1995-12-01 01:38:49 +00:00
Julian Elischer
de1676f933 A pair of really tiny patches that not only allow it all to compile
but also IT ACTUALLY WORKS!
FreeBSD with options  JREMOD now runs with no entries in the devsw tables
prior to the devices puting their own entries there..

Thanks to bde and terry for thoughts and comments.
next stop 'Real' devfs support in devices.
1995-11-30 05:59:09 +00:00
Andrey A. Chernov
662f3a95dd Fix my color/attr separation patch.
Swap foreground/background logic to allow DIM REVERSE
1995-11-30 03:29:31 +00:00
Nate Williams
e9aaac99f2 GENERIC - Add a commented out line for adding support for IBM ThinkPad
keyboards

LINT - Add SCANSET=2 support to the LINT kernel and comments reflecting it's
       purpose.
1995-11-29 20:07:49 +00:00
Nate Williams
98e9e66ccb Add some comments above the npx0 device to make it even more obvious
that it is a mandatory device.
1995-11-29 20:02:29 +00:00
Garrett Wollman
9350db19e7 Fix Pentium CPU rate diagnosis:
- Don't print out meaningless iCOMP numbers, those are for droids.
	- Use a shorter wait to determine clock rate to avoid deficiencies
	  in DELAY().
	- Use a fixed-point representation with 8 bits of fraction to store
	  the rate and rationalize the variable name.  It would be
	  possible to use even more fraction if it turns out to be
	  worthwhile (I rather doubt it).

The question of source code arrangement remains unaddressed.
1995-11-29 19:57:22 +00:00
Bruce Evans
cd0ef57bb3 Don't staticize again (twice).
Cleaned up includes.
1995-11-29 17:40:47 +00:00
Bruce Evans
56cb20cd72 Removed builtin list of port addresses. The address for sio3
conflicted with S3 graphics cards.  Now users should put sio[2-3]
in the config file if the hardware exisst, even if the probe is
certain to fail due to an interrupt conflict.  Otherwise, ports
sharing the interrupt may fail the probe if the system is warm
booted while sio[2-3] are active (perhaps under another OS).  The
same problem for nonstandard ports is now handled better than
before.
1995-11-29 15:00:07 +00:00
Julian Elischer
7198bf4725 If you're going to mechanically replicate something in 50 files
it's best to not have a (compiles cleanly) typo in it! (sigh)
1995-11-29 14:41:20 +00:00
Julian Elischer
adb2dc299a #ifdef out nearly the entire file of conf.c when JREMOD is defined
add a few safety checks in specfs because
now it's possible to get entries in [cd]devsw[] which are ALL NULL
so it's better to discover this BEFORE jumping into the d_open() entry..

more check to come later.. this getsthe code to the stage where I
can start testing it, even if I haven't caught every little error case...
I guess I'll find them quick enough..
1995-11-29 12:38:49 +00:00
Julian Elischer
53ac6efbd8 OK, that's it..
That's EVERY SINGLE driver that has an entry in conf.c..
my next trick will be to define cdevsw[] and bdevsw[]
as empty arrays and remove all those DAMNED defines as well..

Each of these drivers has a SYSINIT linker set entry
that comes in very early.. and asks teh driver to add it's own
entry to the two devsw[] tables.

some slight reworking of the commits from yesterday (added the SYSINIT
stuff and some usually wrong but token DEVFS entries to all these
devices.

BTW does anyone know where the 'ata' entries in conf.c actually reside?
seems we don't actually have a 'ataopen() etc...

If you want to add a new device in conf.c
please  make sure I know
so I can keep it up to date too..

as before, this is all dependent on #if defined(JREMOD)
(and #ifdef DEVFS in parts)
1995-11-29 10:49:16 +00:00
Poul-Henning Kamp
3924871a1d staticize. 1995-11-29 10:26:51 +00:00
Poul-Henning Kamp
ad46e209d2 Add crynwr mode to the lp# interface.
Reviewed by:	pst, phk
Submitted by:	tim@sarc.city.ac.uk
1995-11-29 10:17:03 +00:00
Poul-Henning Kamp
bd8b134f3b Staticize again. 1995-11-29 10:12:34 +00:00
Jordan K. Hubbard
d01b66804a A batch of Jim Lowe's patches:
o Add signed/unsigned functionality to the matrox meteor device driver.
	o Apply a few fixes to the sound driver.
	o Add a ``SPIGOT_UNSECURE'' compile time definition so, if one defines
	  SPIGOT_UNSECURE in their conf file, then they can use the spigot w/o
	  root.  There is a warning that this allows users access to the IO
	  page which is probably not secure.
Submitted by:	james
1995-11-29 01:07:59 +00:00
Julian Elischer
b2b028bab9 oops forgot one.. 1995-11-28 09:44:42 +00:00
Julian Elischer
376c314995 the second set of changes in a move towards getting devices to be
totally dynamic. (the first was about 7 weeeks ago)

this is only the devices in i386/isa
I'll do more tomorrow.
they're completely masked by #ifdef JREMOD at this stage...
the eventual aim is that every driver will do a SYSINIT
at startup BEFORE the probes, which will effectively
link it into the devsw tables etc.

If I'd thought about it more I'd have put that in in this set (damn)
The ioconf lines generated by config will also end up in the
device's own scope as well, so ioconf.c will eventually be gutted
the SYSINIT call to the driver will include a phase where the
driver links it's ioconf line into a chain of such. when this phase is done
then the user can modify them with the boot: -c
config menu if he wants, just like now..
config will put the config lines out in the .h file
(e.g. in aha.h will be the addresses for the aha driver to look.)
as I said this is a very small first step..
the aim of THIS set of edits is to not have to edit conf.c at all when
adding a new device.. the tabe will be a simple skeleton..

when this is done, it will allow other changes to be made,
all teh time still having a fully working kernel tree,
but the logical outcome is the complete REMOVAL of the devsw tables.

By the end of this, linked in drivers will be exactly the same as
run-time loaded drivers, except they JUST HAPPEN to already be linked
and present at startup..
the SYSINIT calls will be the equivalent of the "init" call
made to a newly loaded driver in every respect.

For this edit,
each of the files has the following code inserted into it:

obviously, tailored to suit..
----------------------somewhere at the top:
#ifdef JREMOD
#include <sys/conf.h>
#define CDEV_MAJOR 13
#define BDEV_MAJOR 4
static void 	sd_devsw_install();
#endif /*JREMOD */
---------------------somewhere that's run during bootup: EVENTUALLY a SYSINIT
#ifdef JREMOD
        sd_devsw_install();
#endif /*JREMOD*/
-----------------------at the bottom:
#ifdef JREMOD
struct bdevsw sd_bdevsw =
	{ sdopen,	sdclose,	sdstrategy,	sdioctl,	/*4*/
	  sddump,	sdsize,		0 };

struct cdevsw sd_cdevsw =
	{ sdopen,	sdclose,	rawread,	rawwrite,	/*13*/
	  sdioctl,	nostop,		nullreset,	nodevtotty,/* sd */
	  seltrue,	nommap,		sdstrategy };

static sd_devsw_installed = 0;

static void 	sd_devsw_install()
{
	dev_t descript;
	if( ! sd_devsw_installed ) {
		descript = makedev(CDEV_MAJOR,0);
		cdevsw_add(&descript,&sd_cdevsw,NULL);
#if defined(BDEV_MAJOR)
		descript = makedev(BDEV_MAJOR,0);
		bdevsw_add(&descript,&sd_bdevsw,NULL);
#endif /*BDEV_MAJOR*/
		sd_devsw_installed = 1;
	}
}
#endif /* JREMOD */
1995-11-28 09:43:45 +00:00
Julian Elischer
7146c13e43 the second set of changes in a move towards getting devices to be
totally dynamic.

this is only the devices in i386/isa
I'll do more tomorrow.
they're completely masked by #ifdef JREMOD at this stage...
the eventual aim is that every driver will do a SYSINIT
at startup BEFORE the probes, which will effectively
link it into the devsw tables etc.

If I'd thought about it more I'd have put that in in this set (damn)
The ioconf lines generated by config will also end up in the
device's own scope as well, so ioconf.c will eventually be gutted
the SYSINIT call to the driver will include a phase where the
driver links it's ioconf line into a chain of such. when this phase is done
then the user can modify them with the boot: -c
config menu if he wants, just like now..
config will put the config lines out in the .h file
(e.g. in aha.h will be the addresses for the aha driver to look.)
as I said this is a very small first step..
the aim of THIS set of edits is to not have to edit conf.c at all when
adding a new device.. the tabe will be a simple skeleton..

when this is done, it will allow other changes to be made,
all teh time still having a fully working kernel tree,
but the logical outcome is the complete REMOVAL of the devsw tables.

By the end of this, linked in drivers will be exactly the same as
run-time loaded drivers, except they JUST HAPPEN to already be linked
and present at startup..
the SYSINIT calls will be the equivalent of the "init" call
made to a newly loaded driver in every respect.

For this edit,
each of the files has the following code inserted into it:

obviously, tailored to suit..
----------------------somewhere at the top:
#ifdef JREMOD
#include <sys/conf.h>
#define CDEV_MAJOR 13
#define BDEV_MAJOR 4
static void 	sd_devsw_install();
#endif /*JREMOD */
---------------------somewhere that's run during bootup: EVENTUALLY a SYSINIT
#ifdef JREMOD
        sd_devsw_install();
#endif /*JREMOD*/
-----------------------at the bottom:
#ifdef JREMOD
struct bdevsw sd_bdevsw =
	{ sdopen,	sdclose,	sdstrategy,	sdioctl,	/*4*/
	  sddump,	sdsize,		0 };

struct cdevsw sd_cdevsw =
	{ sdopen,	sdclose,	rawread,	rawwrite,	/*13*/
	  sdioctl,	nostop,		nullreset,	nodevtotty,/* sd */
	  seltrue,	nommap,		sdstrategy };

static sd_devsw_installed = 0;

static void 	sd_devsw_install()
{
	dev_t descript;
	if( ! sd_devsw_installed ) {
		descript = makedev(CDEV_MAJOR,0);
		cdevsw_add(&descript,&sd_cdevsw,NULL);
#if defined(BDEV_MAJOR)
		descript = makedev(BDEV_MAJOR,0);
		bdevsw_add(&descript,&sd_bdevsw,NULL);
#endif /*BDEV_MAJOR*/
		sd_devsw_installed = 1;
	}
}
#endif /* JREMOD */
1995-11-28 09:42:06 +00:00
Bruce Evans
43cbfcb357 Removed all #includes of the unused file <sys/device.h>. 1995-11-28 07:29:59 +00:00
Peter Wemm
018309ece7 After having put on my Asbestos suit, complete the MFS_ROOT part of Terry's
mountroot changes.  This means that the mfs_initminiroot functionality
into the root mfs_mount....
1995-11-28 03:15:58 +00:00
Peter Wemm
070fc2ce12 Mainly cosmetic cleanups... It now uses more consistant message reporting
on the console, and no longer uses "SLXOS" which I suspect may be a
trademark... (I'm not sure, but this is not really a SLXOS driver anyway)
1995-11-28 02:07:36 +00:00