1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
Commit Graph

2791 Commits

Author SHA1 Message Date
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
Andrey A. Chernov
00265e7d4d Separate colors & attributes as Terry points
Reviewed by: soren
1995-11-28 00:17:32 +00:00
Bruce Evans
84478e7f42 Fixed setting of speed B0 - don't output a bogus divisor of 0 and a
random prescaler, just hang up.  This may fix hangup problems with
mgetty.
1995-11-26 17:13:23 +00:00
Bruce Evans
fec104de77 Completed function declarations and/or added prototypes. 1995-11-24 15:15:30 +00:00
Bruce Evans
b8a89c9ada Added bogusly placed extern prototypes for functions that should probably
be static.
1995-11-24 15:08:07 +00:00
Bruce Evans
d818a9cc1f Fixed a comment. 1995-11-24 14:56:00 +00:00
Bruce Evans
7f0e0625f6 Staticized. Moved some ero-initialized values to the bss.
Added prototypes.
1995-11-24 13:27:24 +00:00
John Dyson
dc4a0cee58 Update the wd.c driver to use the new TAILQ scheme for device
buffer queue.  Also, create a new subroutine 'tqdisksort' that
is an improved version of the original disksort that also uses
TAILQs.
1995-11-23 07:24:41 +00:00
Bruce Evans
1f3dad5a8d Completed function declarations and added prototypes.
Removed some unnecessary #includes.

Fixed warnings about nested externs.
1995-11-22 07:43:53 +00:00
Bruce Evans
512fef80a9 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
Bruce Evans
6ad175be4d Restored static variable `nsio_tty' which is used only by pstat(8). Made
it `const' to inhibit compiler warnings.

Added #include of <pccard/driver.h> to get prototypes.  <pccard/slot.h>
is still necessary for its side effect of exporting non-slot things.
1995-11-21 09:15:04 +00:00
Peter Wemm
e7c234a1a1 Add and document the hooks for John Hay's Arnet sync driver... 1995-11-21 02:50:10 +00:00
Peter Wemm
cc9fce5ad7 This driver supports the Arnet SYNC/570i ISA cards that is based on the
HD64570 chip. Both the 2 and 4 port cards is supported and auto detected.

Line speeds of up to 2Mbps is possible. At this speed about 85% of the
bandwidth is usable with 486DX processors.

The standard FreeBSD sppp code is used for the link level layer. The
default protocol used is PPP. The Cisco HDLC protocol can be used by
adding "link2" to the ifconfig line in /etc/sysconfig or where ever
ifconfig is run.

At the moment only the V.35 and X.21 interfaces is supported. The others
may need tweaks to the clock selection code.

Submitted by: John Hay <jhay@mikom.csir.co.za>
1995-11-21 02:32:04 +00:00
Bruce Evans
bf7141134e Quick fix for stat_imask and intr_mask[8] not having the RTC interrupt
bit set.  I broke stat_imask in Dec 1994 and update_intr_masks() has
copied the breakage to intr_mask[8] since Mar 1995.  This can cause
the RTC to stop interrupting in rare cases (under loads heavy enough
for a new RTC interrupt to occur at a critical time just before Xintr8
finishes handling the previous one) and may have caused worse problems.
1995-11-20 13:24:18 +00:00
Poul-Henning Kamp
4b2af45f4b Mega commit for sysctl.
Convert the remaining sysctl stuff to the new way of doing things.
the devconf stuff is the reason for the large number of files.
Cleaned up some compiler warnings while I were there.
1995-11-20 12:42:39 +00:00
Poul-Henning Kamp
78535df223 Remove unused var. 1995-11-20 12:14:40 +00:00
Poul-Henning Kamp
bf6a29da66 Fix compiler warnings. 1995-11-20 12:13:32 +00:00
Poul-Henning Kamp
0f6873dbcc move variables inside the #ifdef. 1995-11-20 12:12:02 +00:00
Poul-Henning Kamp
52813bb5e5 Change call to kern_sysctl to userland_sysctl. Not tested. 1995-11-20 12:10:59 +00:00
Poul-Henning Kamp
076585265f Remove unused vars. 1995-11-20 12:10:09 +00:00
David Greenman
82faa9875a i386 is defined by the compiler, so don't define it here. LOAD_ADDRESS
is only used in the Makefile, so don't define it in CFLAGS.
1995-11-19 19:49:43 +00:00
Bruce Evans
27413a9eef Moved bogusly placed #endif that hid some prototypes. 1995-11-18 09:37:42 +00:00
Bruce Evans
6eeed24248 Updated comments. The comments about the unused addresses get broken
almost every time someone uses an address.  This file is probably not
the right place to keep track of the unused addresses (or used
addresses :->).

Fixed comments on #endif's to match code.

Added defines for ASC and GSC sizes.  This file is not the right place
to keep track of scanner addresses, but while there here and we
pretend to keep track of unused addresses, the sizes need to be here
too.

Sorted IO_*SIZE defines.
1995-11-18 09:29:39 +00:00
Bruce Evans
47b4b8b88e Fixed the types of the apm hook functions.
Completed function declarations.

Added prototypes.

Partially fixed the path to cons.h.
1995-11-18 08:58:14 +00:00
Bruce Evans
58bfbb4b1a Fixed the types of the apm hook functions.
Completed function declarations.

Added prototypes.
1995-11-18 08:39:28 +00:00
Bruce Evans
980dc8bb6e Fixed the type of a timeout function.
Added prototypes.
1995-11-18 08:35:49 +00:00
Bruce Evans
caa8e73783 Fixed staticization - use `static' in function headers, not just in
prototypes.
1995-11-18 08:29:04 +00:00
Bruce Evans
6b88228fc4 Fixed a bogus include path.
Removed a bogus include.

Added prototypes.
1995-11-18 08:21:15 +00:00
Bruce Evans
c5d1682b14 Staticized an inline function. All inlines in kernel headers should be
static.  The function shouldn't be here anyway.  It is driver dependent,
while `ic' files are supposed to only depend on the IC.
1995-11-18 08:12:30 +00:00
Bruce Evans
27513ca73b Fixed (nonexistent) initialization of bp->b_pblkno. disksort() for
floppies must have been random in 2.x since we reintroduced sorting
on b_pblkno on 1995/03/18.  Drivers still initialize b_cylin/b_resid
although this is no longer used.

Removed unused, wrong function fdsize().  (Returning 0 means that the
device exists and has size 0, not that the device doesn't exist.
swaponvp() allows for size 0 by stupidly calling the d_psize function
twice if the size isn't 0.  setdumpdev() doesn't allow for it.)

Continued removing /* ARGSUSED */ from drivers.
1995-11-18 07:48:11 +00:00
Bruce Evans
0f5c6b7d97 Fixed the type of a timeout function.
Removed related bogus casts of function pointers.
Removed a bogus include.
1995-11-18 07:07:04 +00:00
Bruce Evans
6c146e28a6 Fixed the type of vm_fault_quick() - don't convert types back and forth
through bogus immediate types.

Added prototypes.
1995-11-18 06:54:11 +00:00
Bruce Evans
29b2d3a9dc Fixed handling of trace traps when cons_unavail is set. Added comments
about handing of other cases.
1995-11-18 06:49:35 +00:00
Bruce Evans
41e7c9b71d Restored the device-driverness off wd.c. It got lost when wdc was
introduced.
Fixed the device-driverness of atapi.c and spkr.c.

These changes are actually no-ops because ${DRIVER_C} is the same as
${NORMAL_C} for the i386.  I could do without magic CFLAGS.  Special
handling should be in the sources if possible.
1995-11-18 05:34:00 +00:00
Bruce Evans
92b86cc420 Removed bogus padding that wasted 0x500 bytes.
Improved code and comments.  Don't do anything except transfer control
in the head.o module.
1995-11-18 05:25:24 +00:00
Bruce Evans
a87c854a14 Fixed scrolling. The bottom line wasn't cleared. This caused the
boot to display "Booting the kernelel...done" instead of "Booting
the kernel".

Removed save and restore of BIOS memory.  kzipped kernels haven't
ever overlaid the BIOS memory.
1995-11-18 05:12:10 +00:00
Bruce Evans
a17ca20cbc Fixed the types of apm_default_resume() and apm_default_suspend().
Added prototypes.
1995-11-18 04:37:23 +00:00
Bruce Evans
eabc9678bc Included <sys/conf.h>. It used to be included as a side effect of
including <sys/devconf.h>.
1995-11-16 09:56:02 +00:00
David Greenman
f13d0e7dbf Correct the bogus probe for 8216/8416 cards...it was broken.
Submitted by:	Steve Piette <steve@simon.chi.il.US>
1995-11-15 07:45:56 +00:00
Poul-Henning Kamp
708a8f9633 Removed:
#include <i386/isa/isa_device.h>
 #include <i386/eisa/eisaconf.h>
 #include <pci/pcireg.h>
 #include <pci/pcivar.h>
 #include <scsi/scsi_all.h>
 #include <scsi/scsiconf.h>
they are not needed, and slows down compilation.
1995-11-14 20:52:14 +00:00
Poul-Henning Kamp
920e8dc220 Fiddle with <machine/isa_device.h> 1995-11-14 20:49:24 +00:00
Poul-Henning Kamp
2a02fd2542 Staticize various private parts. 1995-11-14 09:58:47 +00:00
Poul-Henning Kamp
cc028d77d6 Make a lot of private stuff static 1995-11-14 09:53:17 +00:00
Poul-Henning Kamp
8e9d1ba836 Fix a couple of printfs. 1995-11-14 09:52:25 +00:00
Bruce Evans
b3e24f9ce9 Changed the first (name) arg of MOD_DEV(), MOD_EXEC() and MOD_MISC()
from a string to an identifier so that it can be used to generate
declarations and strings.  It's much easier to stringize an identifier
than to identifize a string.  A uniform naming scheme must be used
for the automatically generated things to apply.  This is a feature.

Used the module identifer to generate prototypes for the module load,
unload and stat functions.  Removed the few prototypes for these that
already existed.

Used the module identifier to generate a unique struct tag in MOD_DEV().
This should probably be done for all the MOD_*() macros.

Moved the trailing semicolon from the MOD_*() macro definitions to the
macro invocations that didn't already (bogusly) have it.

Staticized the module load and unload functions.

Added function return types for the module load, unload and stat functions.

lkm/ibcs2/ibcs2.c:
Included <sys/sysproto.h> to get everything prototyped.
Cleaned up #includes.

lkm/ibcs2/ipfw.c:
Cleaned up #includes.

lkm/linux/linux.c:
The module name had to change from "linux_emulator" to "linux_mod" to
be automatically generated.
Cleaned up #includes.

lkm/syscons/*/*_saver.c:
Completed delcarations of function pointers.

sys/i386/isa/atapi.c:
The module name had to change from "atapi" to "atapi_mod" to be
automatically generated.

sys/i386/isa/wcd.c:
Used the fixed MOD_DEV().  This module has two devices and expanded the
macro in the source instead of fixing it.
The module names had to change from "wcd" and "rwcd" to "wcd_mod" and
"rwcd_mod" to be automatically generated.

sys/pccard/pcic.c:
The module name had to change from "pcic" to "pcic_mod" to be
automatically generated.
1995-11-14 07:35:57 +00:00
Bruce Evans
fa59f03f50 Added bogus casts to avoid compiler warnings. 1995-11-13 09:03:30 +00:00
Bruce Evans
ec9e4d05a0 Fixed parentheses in macros. 1995-11-13 08:58:06 +00:00
Bruce Evans
e7b632b588 Replaced nosys() by lkm_nullcmd(). 1995-11-13 08:52:08 +00:00
Poul-Henning Kamp
ae0eb976c5 The entire sysctl callback to read/write version. I havn't tested this as
much as I'd like to, but the malloc stunt I tried for an interim for
sure does worse.
Now we can read and write from any kind of address-space, not only
user and kernel, using callbacks.
This may be over-generalization for now, but it's actually simpler.
1995-11-12 19:52:09 +00:00
Mark Murray
a07ffb0cda Add /dev/random hooks to the key input routines for pcvt. This allows
the scancodes on a PCVT machine to be used as stochastic input as well
as SysCons..
Reviewed by:	Joerg Wunsch
1995-11-12 17:02:45 +00:00
Bruce Evans
bc2799011f Oops, forgot the following log message in the previous commit:
Included <sys/sysproto.h> to get central declarations for syscall args
structs and prototypes for syscalls.

Ifdefed duplicated decentralized declarations of args structs.  It's
convenient to have this visible but they are hard to maintain.  Some
are already different from the central declarations.  4.4lite2 puts
them in comments in the function headers but I wanted to avoid the
large changes for that.
1995-11-12 07:10:47 +00:00
Bruce Evans
2f1ba63ba8 Reviewed by:
Submitted by:
Obtained from:
1995-11-12 06:42:10 +00:00
Bruce Evans
99bb927c4e Added (null for the i386) conversions from ibcs2's bogus fcntl args
struct to the standard bogus fcntl args struct.
1995-11-12 04:42:58 +00:00
Bruce Evans
bbe3e1971f Cleaned up after moving the prototypes:
- collapsed #if-#elses that became null.
- removed dead comments.

Moved #defines that always have the same value to the tables.
Collapsed more #if-#elses that became null.  None are left.

Removed repetitive comments.
1995-11-11 05:10:48 +00:00
Poul-Henning Kamp
81c945d6ab convert more sysctl variables. 1995-11-10 09:53:50 +00:00
Justin T. Gibbs
41919f5e09 Modify the kdc_description for eisa0 to include the system board ID.
Add the mainboard_drv into the eisa driver linker set so that you can
compile eisa0 into your kernel without any other eisa devices.
1995-11-10 01:32:12 +00:00
Justin T. Gibbs
e56e703606 Change ahb device line to eisaconf syntax. 1995-11-09 22:47:05 +00:00
Justin T. Gibbs
3501ce6d46 Convert Adaptec 1742 driver to new eisaconf interface. 1995-11-09 22:43:25 +00:00
Peter Wemm
5d0bad8280 Sync the public source with what I'm currently running.
Most of this is cleaning up, but there are some functional changes,
doc/comment improvements, error checking, gcc -Wall cleanups.  Input buffer
flushing is enabled now, although I'm still not quite certain it's right.
1995-11-09 21:53:48 +00:00
Bruce Evans
fec5f38c65 Nuked some more bogus devswitch macros. The wcd lkm was broken. 1995-11-09 09:17:49 +00:00
Justin T. Gibbs
932c2f65d3 Second pass on this. Sentinal device node was an uneeded complication.
Handle kdc registration correctly.  Catch ISA devices that use eisa
registration and output probe information accordingly.

lsdev will have to be updated to handle EISA devices correctly.

aic7770.c:
	Set kdc_isa0 as the parent for 284X cards since its a VL card.
1995-11-09 07:14:11 +00:00
Justin T. Gibbs
b3538b9c15 Fix typo in QUEUE_FULL_SUPPORTED section.
Submitted by: Satoshi Asami <asami>
1995-11-07 07:01:05 +00:00
Justin T. Gibbs
319c75485a Properly print out the chip type again. ahc_init really needs a rewrite. 1995-11-07 05:32:47 +00:00
Poul-Henning Kamp
cc066d80c4 Close PR misc/75. I thought this was done long time ago... 1995-11-06 17:28:31 +00:00
David Greenman
c52007c2cc All:
Changed vnodep -> vp for consistency with the rest of the kernel, and
changed iparams -> imgp for brevity.

kern_exec.c:
   Explicitly initialized some additional parts of the image_params struct
to avoid bzeroing it. Rewrote the set-id code to reduce the number of
logical tests. The rewrite exposed a mostly benign bug in the algorithm:
traced set-id images would get ktracing disabled even if the set-id didn't
happen for other reasons.
1995-11-06 12:52:37 +00:00
Justin T. Gibbs
6d32158f2b -Wall fixes. 1995-11-06 05:21:13 +00:00
Justin T. Gibbs
7c2eb5393f Probe all slots even if an EISA main board isn't found. This catches
cards like the Adaptec 284x that use EISA ID registers for identification
even when in stalled in non-EISA systems.

Use one format throught the files.

-Wall fixes.
1995-11-06 05:21:01 +00:00
Bruce Evans
8b25681eb5 Replaced bogus macros for dummy devswitch entries by functions.
These functions went away:

	enosys (hasn't been used for some time)
	enxio
	enodev
	enoioctl (was used only once, actually for a vop)

if_tun.c:
Continued cleaning up...

conf.h:
Probably fixed the type of d_reset_t.  It is hard to tell the correct
type because there are no non-dummy device reset functions.

Removed last vestige of ambiguous sleep message strings.
1995-11-06 00:36:19 +00:00
Justin T. Gibbs
eeb706c070 Add eisa0 and remove ISA configuration line for ahc0. 1995-11-05 17:02:54 +00:00
Justin T. Gibbs
a43da20ce4 Move aic7xxx register definitions to sys/dev/aic7xxx/aic7xxx_reg.h.
Start the revamp of the initialiation process.  New routines include
ahc_alloc, ahc_free, and ahc_reset.  These help divide the work of staring
up a board more logically between probe and attach.

ahcintr now takes a (void *) and returns int.  The pci code uses it directly.
Until the PCI code for shared edged triggered interrupts is removed, the
eisa code uses a stub (ahc_eisa_intr) that throws away the int returned
by ahcintr.

Use MHz instead of MB/s for printing out sync rates.

Print out "aic7880" instead of "aic7870" for the new aic7880 chips.
1995-11-05 04:50:55 +00:00
Justin T. Gibbs
67e1bd423c Remove old eisaconf cruft from the eisa files. The old eisaconf kludged
in here to do some conflict detection.  The new code doesn't do conflict
detection yet, but it will be implemented in another way.

aic7770.c moved to i386/eisa
1995-11-05 04:45:16 +00:00
Justin T. Gibbs
869ed2435b Modifications for the new eisaconf. 1995-11-05 04:43:22 +00:00
Justin T. Gibbs
ffd34a3d43 This is a totally new implementation of eisaconf. It will hopefully
be the beginning of our move to a more dynamic (configuration manager)
based setup for all drivers.  Everything seems to work except for
some devconf problems.  Only the aic7xxx driver will be using this
interface until it is reviewed, revised and accepted as a good configuration
interface.

Adapt aic7770.c to use new eisaconf.

eisadevs.c is replaced by a linker set.
1995-11-05 04:42:50 +00:00
Justin T. Gibbs
a20c1076f6 Move aic7770.c to i386/eisa. It is the first driver to use the new eisaconf. 1995-11-05 04:38:55 +00:00
Bruce Evans
4ff3de8e80 Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the
misplaced extern declarations (mostly prototypes of interrupt handlers)
that this exposed.  The prototypes should be moved back to the driver
sources when the functions are staticalized.

Added idempotency guards to <machine/conf.h>.  "ioconf.h" can't be
included when building LKMs so define a wart in bsd.kmod.mk to help
guard against including it.
1995-11-04 17:08:13 +00:00
Mark Murray
96441a8c38 Remove the #ifdev DEVRANDOM's, as promised.
/dev/random is now a part of the kernel! you will need to make
the device in /dev: sh MAKEDEV random
and take a look at some test code in src/tools/test/random.
1995-11-04 16:00:56 +00:00
Bruce Evans
2e8300f1f6 Fixed the type of ahcintr(). The type of an ISA interrupt handler is
incompatible with the type of a PCI interrupt handler.  A new entry
point `ahc_pci_intr()' is used for PCI.  ISA and PCI interrupts are
penalized equally (:-) by calling a common handler `ahc_intr()'.  This
should be reorganized.  Some strings now name the wrong function...
1995-11-04 14:43:30 +00:00
Bruce Evans
fff87b3946 Always declare vga_move_charset(). It doesn't depend on option XSERVER. 1995-11-04 14:00:00 +00:00
Bruce Evans
33f538b9c9 Finished(?) moving prototypes for devswitch functions to <machine/conf.h>.
One was hidden in an ifdef.

Continued cleaning up not so new init stuff.

Removed some more /*ARGSUSED*/ for devswitch functions.
1995-11-04 13:52:30 +00:00
Bruce Evans
4fda91c705 Moved prototypes for devswitch functions from conf.c and driver sources
to <machine/conf.h>.  conf.h was mechanically generated by
`grep ^d_ conf.c >conf.h'.  This accounts for part of its ugliness.  The
prototypes should be moved back to the driver sources when the functions
are staticalized.
1995-11-04 13:25:33 +00:00
Bruce Evans
f55ad351e1 Moved a nested extern declaration to a less bogus place to hide a warning. 1995-11-04 10:54:53 +00:00
Peter Wemm
43732dbeda When the sync-on-shutdown fails to clear all buffers, this bit of code
can print them out.
I have seen that MFS can leave BUSY buffers, preventing a clean reboot...
1995-11-02 09:52:40 +00:00
Peter Wemm
30a4b938d0 Add a DRIVER_S= definition that config wants to use for assembler
source.  This was copied from NORMAL_S..
1995-11-01 15:03:02 +00:00
Julian Elischer
1b3f472e51 Submitted by: Mike Mitchell (mitchell@ref.tfs.com)
these patches bring the ipx code up to the point that it compiles cleanly with
the -W arguments suggested by bruce.
1995-10-31 23:36:47 +00:00
Peter Wemm
7dbdd057a4 We no longer need the spltty() == splimp() hack if PPP is configured into
the kernel.  ppp_tty.c goes to some lengths to minimise the inter-layer
calling (including a soft ISR).  ppp_tty.c takes care of the soft masking
that was needed still.

(I've discovered that bugs in this area show up within an hour if the
masking was not correct.. :-}  This combination has proven stable on
specialix serial ports, although there was some concern about the softtty
parts of sio/cy and netisr colliding - but Bruce has fixed that now)
1995-10-31 21:03:57 +00:00
Peter Wemm
06cc185852 Add a simplistic netisr register routine - I need this now for ppp-2.2. 1995-10-31 19:07:53 +00:00
Poul-Henning Kamp
c227cb3456 Cleanup, make things static. 1995-10-31 18:41:49 +00:00
Poul-Henning Kamp
dc9deb292c Get pccard stuff into LINT.
rename i386/isa/pcic.c to .../pcicx.c
this file will go away when the if_ze and if_zp dies.
1995-10-31 18:28:55 +00:00
Joerg Wunsch
c608b93b50 Minor correction for the "od" driver.
Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:03:26 +00:00
Joerg Wunsch
49bdb5b8e7 Include the "od" driver. 1995-10-31 17:00:03 +00:00
Julian Elischer
f4567b9c1c Reviewed by: not yet
Submitted by:	fgray@rice.edu
this driver hasn't been checked but as a separate module, bringing it in won't
break anything else and it't the best way of testing it......

julian
1995-10-31 07:42:54 +00:00
Mark Murray
a0135d7e95 Security fix - do not allow anyone but root to choose the interrupts used
in the the randomising process.
(This is a change to the /dev/random ioctl()))
1995-10-30 22:39:34 +00:00
Guido van Rooij
026d3dc8e3 When moving kernel to kernel.old, also change kern.bootfile.to
kernel.old. This is a solution for only the first install
on a running system, but it's better than it is now.
1995-10-30 20:20:49 +00:00
Bruce Evans
c991e17051 Removed bogus statics in declarations that don't allocate storage.
Added prototypes.
1995-10-30 17:13:25 +00:00
Bruce Evans
7788eaeb2f Mask netisrs during softtty isrs. This may fix PR 798. SLIP and PPP
line discipline interrupt handlers more or less expect to be called at
spltty() == splimp(), although they have internal splimp()s that are
bogus if this expectation is satisfied.  They are called at splsoftty()
from many tty drivers, so they were not protected from being reentered
from their own netisrs.  They certainly don't expect that but are
apparently remarkably robust if it occurs.  The problem in PR 798 seems
to be caused by pppstart() being reentered and finishing off the output
in progress by following the (stale) sc->sc_outm pointer.  Then the
original pppstart() finds garbage in m2 after MFREE(m, m2).  slstart()
doesn't have internal state like sc_outm so reentry of it probably only
causes out of order and dropped packets.
1995-10-30 17:01:37 +00:00
Bruce Evans
0ebb7bd2ad Made wcstart() non-static again. It is called from atapi.c. The
modularization of the wd/wcd/atapi driver is ugly.

Include cons.h from a less bogus place.

Removed an ARGSUSED.  Unused args are normal for devswitch functions
and lint was informed about them for about 5 functions out of 1000.
Lint should be informed about them, if at all, in some other way.
1995-10-29 17:34:17 +00:00
Bruce Evans
dfd56037f0 Made wcdattach() non-static again. It is called from atapi.c. The
modularization of the wd/wcd/atapi driver is ugly.

Added prototypes.
1995-10-29 16:10:06 +00:00
Poul-Henning Kamp
a98ca4699e Second batch of cleanup changes.
This time mostly making a lot of things static and some unused
variables here and there.
1995-10-29 15:33:36 +00:00
Bruce Evans
00f7f6be8a Fix mmioctl() for !DEVRANDOM case. mmioctl() is a function, not a
pointer to a function.
1995-10-29 11:37:56 +00:00
David Greenman
c91d636e6f Use the new config(8) %SFILES token to auto-generate the SFILES list.
Note: THIS REQUIRES THAT YOU REBUILD CONFIG(8)!!!
1995-10-29 11:10:53 +00:00
Justin T. Gibbs
25e55cecc6 Initialize SXFRCTL0 with DFON|SPIOEN|ULTRAEN. 1995-10-29 05:57:48 +00:00
Paul Traina
ca4bbe6461 Close out kern/46.
Remove confusing backwards compatibility code that allowed driver to be
used in pre-4.4 releases.  The 3COM card's use -link2 to switch tranceivers.
(no functional changes here)
1995-10-28 22:46:26 +00:00
Peter Wemm
690b4d96b8 Repair the wcd and atapi code a little, so that it compiles and loads
as an LKM.
I dont have one of these beasts, so I cannot guarantee that I've not
broken it (more).
It does compile with ATAPI_STATIC, and as a LKM.
1995-10-28 17:45:04 +00:00
Justin T. Gibbs
7ae20993a0 Fix incorrect bit definitions for SXFRCTL0 (typo). The affected bits
aren't referenced by the driver yet, so this error shouldn't have caused
any problems.

Submitted by:	Dan Eischen <deischen@iworks.InterWorks.org>
1995-10-28 17:27:21 +00:00
Mark Murray
1bb2d3142b Theodore Ts'po's random number gernerator for Linux, ported by me.
This code will only be included in your kernel if you have
'options DEVRANDOM', but that will fall away in a couple of days.
Obtained from: Theodore Ts'o, Linux
1995-10-28 16:58:05 +00:00
Poul-Henning Kamp
4ccc87c594 Remove unused functions and variables, make things static, and other cleanups. 1995-10-28 15:39:31 +00:00
Poul-Henning Kamp
3a34a5c3b8 Sorry, the last commit screwed up for me, this is the right one (I hope!)
Please refer to the previous commit message about sysctl variables.
1995-10-28 13:07:28 +00:00
Justin T. Gibbs
396614a8b4 Properly deal with the Ultra series of adapters. We should now understand
the new seeprom format and negotiate up to 20MHz sync if set in SCSI-Select.

Reduce the complexity of the timeout code by running it at splhigh().  Fix
a bug that caused rescheduled timeouts at 0 clock ticks in the future causing
an infinite loop.

Obtained from: Timeout bug noticed by David Greenman and wcarchive.
1995-10-26 23:57:18 +00:00
Julian Elischer
cc6a66f20e Reviewed by: julian and jhay@mikom.csir.co.za
Submitted by:	Mike Mitchell, supervisor@alb.asctmd.com

This is a bulk mport of Mike's IPX/SPX protocol stacks and all the
related gunf that goes with it..
it is not guaranteed to work 100% correctly at this time
but as we had several people trying to work on it
I figured it would be better to get it checked in so
they could all get teh same thing to work on..

Mikes been using it for a year or so
but on 2.0

more changes and stuff will be merged in from other developers now that this is in.

Mike Mitchell, Network Engineer
AMTECH Systems Corporation, Technology and Manufacturing
8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000
supervisor@alb.asctmd.com
1995-10-26 20:31:59 +00:00
Jordan K. Hubbard
9720b0841f Stable matcd port to 0x230, as per request by Bruce and Frank.
Submitted by: Frank Durda IV <uhclem@fw.ast.com>
1995-10-25 16:43:01 +00:00
Jordan K. Hubbard
d6393cdba3 Bring in version 1(26) - considerably less memory usage (and may bring us
down to 4MB bootability again).
Submitted by:	Frank Durda IV <uhclem@fw.ast.com>
1995-10-25 16:41:22 +00:00
Steven Wallace
a5d49c1801 Add code to properly translate signal returned in status argument of wait4()
call for STOPPED and SIGNALED status (exit status identical).
1995-10-23 19:46:51 +00:00
David Greenman
63017f04eb Remove PG_W bit setting in some cases where it should not be set.
Submitted by:	John Dyson <dyson>
1995-10-23 02:31:29 +00:00
David Greenman
b596ee8d4e More improvements to the logic for modify-bit checking. Removed
pmap_prefault() code as we don't plan to use it at this point in time.

Submitted by:	John Dyson <dyson>
1995-10-23 00:47:10 +00:00
Bruce Evans
f668386c04 sio.c:
Fix the tests for being a console by reverting to the ones that
were used before the the RB_SERIAL changes.  RB_SERIAL only needs
to be tested in one place.  The initialization of comconsole was
wrong before the RB_SERIAL changes for the COMCONSOLE case.  This
may have been the cause of the unnecessary changes.

Start eliminating #includes of <i386/i386/cons.h>.  This header is
supposed to be included from <machine> although it should be
completely machine-independent and included from <sys>.

Remove a wrong XXX comment.  `comconsole' is used to test for being
a console and even the tests for deciding the default termios state
are necessary (the semi-reentrant i/o routines don't handle ordinary
device i/o).

cy.c:
Sync with sio.c.  The console tests are present but always fail.
1995-10-22 15:38:08 +00:00
Bruce Evans
f9dd61a448 Only allow `sensitive' devices for displays in find_display(). This is
a quick fix for syscons deciding not to become the console because it
thinks another tty device has priority.
1995-10-22 15:07:43 +00:00
David Greenman
6928ec3330 Simplified some expressions. 1995-10-22 02:59:48 +00:00
Steven Wallace
a8a9bde831 In bsd_to_ibcs2_sigaction(), flag for ibcs2 system should be
IBCS2_SA_NOCLDSTOP and not SA_NOCLDSTOP.

Submitted by:	 bde
1995-10-21 20:33:43 +00:00
Peter Wemm
494850b8d1 Remove bogus #include <sys/device.h>, and the bogus instances of
"struct device" and the bogus unit number mentioned in the error message.
Some other minor cleanups, all trivial.
1995-10-21 09:10:49 +00:00
Steven Wallace
77d5b24bcb sigset() should have sa_flags cleared to sig is maked before calling
handler (remove SA_NODEFER).

On the other hand, signal() case should set sa_flags to SA_NODEFER as
in previous change.

In addition, added #ifdef'd code for signal() to or in SA_RESETHAND
flag for when that compatability is implemented.
1995-10-21 05:01:57 +00:00
Poul-Henning Kamp
b59d7f4673 A mixed bag of changes, relating to getting the state in "lsdev" right,
and pccard support to work sensibly.  Better by far, but still not good.
1995-10-21 00:55:36 +00:00
Steven Wallace
3b493fe3e8 Use sa_flag option SA_NODEFER in sigsys() emulation because SVR3
does not automatically mask signal upon delivery.
1995-10-19 19:20:17 +00:00
Stefan Eßer
2e80ea0536 Make CONF1_ENABLE_MSK1 even less restriktive: Ignore slot ID ... 1995-10-17 23:30:11 +00:00
Stefan Eßer
0e2f699b9e At least the ASUS Triton motherboards don't disable the PCI bus configuration
accesses after the BIOS bus scan. The previous revision made the assumption,
that every PCI motherboard did ...

Change the test on the initial value of the CONF1_ADDR_PORT register in a way
that makes the probe succeed on triton based motherboards, without breaking
the EISA motherboard that has some non-PCI register at the same address.
1995-10-17 15:23:14 +00:00
Steven Wallace
473fbdbe96 Add a hack to emulator to emulat spx device for local X connections.
This is truly a hack.  The idea is taken from the Linux ibcs2 emulator.

To use this feature, you must use the option,
	options		SPX_HACK
in your config.

Also, in /compat/ibcs2/dev, you must do:

lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx

Do NOT use old socksys driver as that has been removed.
This hack needs /compat/ibcs2/dev/spx to be any device that does NOT
exist/configured (so the now non-existant spx major/minor works fine).
When an open() is called, the error ENXIO is checked and then the
path is checked.  If spx open detected, then a unix socket is opened
to the hardcoded path "/tmp/.X11-unix/X0".

As the Linux hacker author mentioned, the real way would be to detect
the getmsg/putmsg through /dev/X0R and /dev/spx.  Until this true
solution is implemented (if ever), I think this hack is important
enough to be put into the tree, even though I don't like it dirtying
up my clean code (which is what #ifdef SPX_HACK is for).
1995-10-16 05:52:55 +00:00
Steven Wallace
30f4c3423d Do a better fake for uname information returned in utssys() call.
Currently, the emulator defaults to returning "FreeBSD" as the system
name, release "3.2", and version "2.0".  Some programs want to make
sure they are on a SYSV 3.2 system and check for 3.X release number.

Use the following defines to override the defaults:
	IBCS2_UNAME_SYSNAME
	IBCS2_UNAME_RELEASE
	IBCS2_UNAME_VERSION
(should be string)
for system name, release, and version, respectively.  This allows
someone to compile the emulator into the kernel so it can pretend
to be a specific system if needed.
1995-10-16 05:32:20 +00:00
Stefan Eßer
287911bd50 Go back to separate tests for configuration mechanism 1 and mechanism 2.
Require the state of the configuration enable bits to be OFF assuming
that the BIOS left them that way, as it should anyway to avoid bad things
to happen.

The tests themselves are copied from the previous release, with the
exception of CONF1_ENABLE_MSK1 having the LSB set. This bit should be
read back as '0', since only DWORD addresses are legal.
1995-10-15 23:43:08 +00:00
Poul-Henning Kamp
fa356aa0c0 Pull all of libkern.a in (though not mcount) so the LKM's don't come
out shorthanded.  Makes the idea of libkern pretty void now...
1995-10-15 18:03:42 +00:00
David Greenman
9b3e7ec49d Latest fixes from Serge:
I tried to solve the problem of IDE probing compatibility in this version.
When compiled without an ATAPI option, the wd driver is
fully backward compatible with 2.0.5.  With ATAPI option,
the wdprobe becomes strictly weaker.  That is, if wdprobe works
without ATAPI option, it will always work with it too.

Another problem was with the CD-ROM drive attached as a slave
in the IDE bus, where there is no master.  All IDE CD-ROM
drives are shipped in slave configuration, and most users
just plug them in, never thinking about jumpers.
It works fine with ms-dos and ms-windows, and this
version of the driver supports it as well.

The eject op can now load disks.  Just repeat it twice,
and the disk will be ejected and then loaded back.

The disc cannot be ejected if it is mounted.

Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-14 15:41:10 +00:00
Jordan K. Hubbard
0722017731 Coerce the exit message into making more sense. 1995-10-14 12:57:01 +00:00
Bruce Evans
f2b0c6b282 Don't allow i/o operations for non-root users. 1995-10-14 07:09:58 +00:00
Bruce Evans
21e00296ec Don't allow i/o operations for non-root users.
Add prototypes.
1995-10-14 07:08:09 +00:00
Bruce Evans
278b94817a Don't allow mmapping the page after last video page.
Obtained from:	syscons.c (bug obtained from original pccons.c)
1995-10-14 05:54:47 +00:00
Bruce Evans
cb759a257f Don't allow mmapping of physical page 6 (ENXIO).
nxmmap() returned a bogus value as well as having a bogus type.  Some
drivers use nxmmap() for configured devices (`nx' functions should
only be used for unconfigured devices).  These drivers allowed mmapping
physical page 6, which may have interesting contents.  vm has kludges
to avoid the same bug with nullop() returning page 0 and enodev()
returning page 19 (ENODEV), but didn't handle enxio() returning page 6.
vm is the wrong place to handle these bugs.
1995-10-14 05:25:45 +00:00
Bruce Evans
f7faedb40d Restore initialization of %ecx for the !I586_CPU case.
Don't declare _i586_ctr_bias.  The usual style, which was
followed in microtime.s, is to omit extern declarations.
1995-10-14 04:53:49 +00:00
Garrett Wollman
42dda55083 Only compile Pentium microtime in Pentium kernels.
Submitted by:	Michael Butler <imb@scgt.oz.au>
1995-10-13 19:53:25 +00:00
Garrett Wollman
233b60cec4 Say goodbye to IFF_NOTRAILERS. Support for trailers was officially
dropped for 4.4, but for some reason this flag lived on.  (Until
today, that is.)
1995-10-13 19:48:06 +00:00
Bruce Evans
52a593eaf2 Fix select().
Remove some unused code and never-working backwards compatibility code.

Add prototypes.
Reviewed by:	babkin@hq.icb.chel.su (Serge Babkin)
1995-10-12 23:28:41 +00:00
Garrett Wollman
e2d4b1f051 Reduce jitter of Pentium microtime() implementation by letting the counter
free-run and doing a subtract in microtime() rather than resetting the
counter to zero at every clock tick.  In combination with the changes to
kern_clock.c, this should eliminate all the immediately obvious sources
of systematic jitter in timekeeping on Pentium machines.
1995-10-12 20:39:49 +00:00
David Greenman
e669eb2d6f Fix probe to work properly with the Cyclades cyclom-16Ye. 1995-10-11 02:41:13 +00:00
Steven Wallace
d39fe2ffaf Fix the getdirentries of ibcs2 to handle uneven DIRBLKSIZ offsets.
Slight modification from previous fix.

Also, fix problem where an entry would be skipped next call if not enough room
in buffer current call.
1995-10-10 23:13:27 +00:00
Steven Wallace
4b0855b73b Fix the getdirentries of ibcs2 to handle uneven DIRBLKSIZ offsets.
Same bug as was in linux.

Also, fix problem where an entry would be skipped next call if not enough room
in buffer current call.
1995-10-10 23:12:53 +00:00
Andrey A. Chernov
1d5aafcd70 Add -fno-strength-reduce to neutralize possible bad effect of -O2
specified directly
1995-10-10 21:11:22 +00:00
Steven Wallace
1448ea7e81 Change alternate space base name from /emul/ibcs2 to /compat/ibcs2,
in line with linux alt space of /compat/linux.
This was pointed out by Stefan Esser.

In cheching alt space for libraries in imgact_coff.c, use const
ibcs2_emul_path instead of its own local string.  Also do a proper
malloc of temp name according to MAXPATHLEN.
1995-10-10 17:33:19 +00:00
Poul-Henning Kamp
14a288e58b PCCARD support. 1995-10-10 09:52:55 +00:00
Steven Wallace
ff53bd6898 Remove redundant getmsg and putmesg function declarations and #include directive 1995-10-10 08:31:12 +00:00
Steven Wallace
d78e535b51 Remove the IBCS2 option for the socksys driver. A pointer to /dev/null
will work fine now.
1995-10-10 08:10:53 +00:00
Steven Wallace
6a461b22ae Update files list to include new ibcs2 files needed to compile. 1995-10-10 08:04:10 +00:00
Bruce Evans
744500cdd9 Fix benign type mismatches in devswitch functions.
Add prototypes.
Clean up includes.
1995-10-10 08:03:26 +00:00
Steven Wallace
9e03db613c Remove old files no longer needed.
Add new files created for emulator.
Modify NetBSD import to work with FreeBSD and add new features and
code.  The complete emulator is essentially a combination of work/code
implemented by Sean Eric Fagan, Soren Schmidt, Scott Bartram, and myself,
Steven Wallace.

Features of this new emulator system include:

 o  "clean" code, including strict prototyping.
 o  Auto-generation of ibcs2 system calls, xenix system calls, isc system
calls.  Generation includes system tables, structure definitions,
and prototyping of function calls.
 o  ibcs2 emulator does not rely on any COMPAT_43 system calls.
 o  embedded socksys support
 o  ibcs2 msgsys, semsys, shmsys calls supported if supported in kernel
 o  alternate /emul/ibcs2 namespace searched first for files in ibcs2
system.  Usefull to keep sysv libraries, binaries in /emul/ibcs2.
 o  many other finer details and functions fixed or implemented.
1995-10-10 07:59:30 +00:00
Steven Wallace
3e174373d3 This commit was generated by cvs2svn to compensate for changes in r11394,
which included commits to RCS files with non-trunk default branches.
1995-10-10 07:27:24 +00:00
Steven Wallace
234cc877a2 Import of original NetBSD's ibcs2 emulator sources by Scott Bartram,
which is used as a basis for a more complete and cleaner ibcs2 emulator.
(snapshot about May 1995 with a few files from September 1995)

Some files and code from old emulator still remains.
New files, features, and changes have been implemented by myself,
which will be shown in following commits.
1995-10-10 07:27:24 +00:00
Bruce Evans
e2bcd47d12 Remove bogus includes that became fatal after the previous (intended to
be cosmetic?) commit.
1995-10-10 05:41:39 +00:00
Bruce Evans
668bfdc286 Include <sys/sysproto.h> so that machdep.c compiles cleanly again
(the prototype for sync() moved).

KNFize and otherwise clean up printing of BIOS geometries.

Add prototypes.

Continue cleaning up new init stuff.
1995-10-10 05:05:28 +00:00
Bruce Evans
65e8111ff0 Update comment and config for cy driver.
Extend test coverage:
Add and enable undocumented options TCPDEBUG, COMPAT_LINUX and IBCS2.
Add but disable (broken) pseudo device tb.
Add and enable pseudo devices su, ssc.
Add but disable (broken) devices sscape0, trix0.
Add and enable device bqu0.
1995-10-10 04:03:12 +00:00
Stefan Eßer
c7483249e7 Fix bad typo: CONF1_ENABLE_RES1 was written CONF1_ENABLE_CHK1 ... 1995-10-09 21:56:24 +00:00
Joerg Wunsch
86a727d96d BIOS manufacturers don't seem to have a unique idea about 2.88 MB
floppy drive types in the CMOS; add 0x50 as an alias for 2.88 MB.
1995-10-09 15:00:39 +00:00
David Greenman
c79867680a Include <sys/systm.h> 1995-10-09 05:54:32 +00:00
Bruce Evans
029b0fc88f Fix tracing of syscalls. The previous fix required the undocumented
option DDB_NO_LCALLS to stop ddb getting control and broke all ddb
tracing.  Now there is no option and no way for ddb to trace at
address _Xsyscall or to _Xsyscall, but tracing everywhere else
works.  The previous fix did unnecessary things for Linux syscalls.

Don't bother checking that syscall frames are for user mode.

Make debugger traps inside the kernel (except at addresses _Xsyscall
and _Xsyscall+1) fatal if ddb is not configured.  They "can't happen".

Add prototypes.

Remove stupid comments, e.g., /*ARGSUSED*/ for args that are used.
1995-10-09 04:36:01 +00:00
Bruce Evans
c402cd1545 Restore my changes from revisions 1.8, 1.9 and 1.10. They were blown away
be the previous commit.  It didn't even compile.
1995-10-07 20:07:18 +00:00
Jordan K. Hubbard
2bcff10177 matcd -> matcdc 1995-10-06 05:36:51 +00:00
Peter Wemm
c196603b4d Part 2 of the overlapping kzip changes.
Submitted by:	Gary Jones(?) <gj@freefall>
1995-10-06 02:57:26 +00:00
Poul-Henning Kamp
e8413d1db1 Make the netboot more tolerant about the config file. 1995-10-05 20:51:39 +00:00
Poul-Henning Kamp
92a69bc337 remove GCC divsi3 routines which are never used. 1995-10-05 10:32:47 +00:00
Jordan K. Hubbard
429e99f1d2 Change kernel name to make a more unique target for sed. 1995-10-05 04:34:30 +00:00
David Greenman
edeea08413 1) Fixed irq logic so that it uses the kernel configured irq if it doesn't
match the board setting.
2) Fixed the warning message to properly print the irq mismatch (as opposed
   to the bit encoded value).
3) Add irq autodetection if the kernel has "?" or no irq specified.
4) Add missing splimp protection in ixioctl().
1995-10-05 03:01:13 +00:00
Jordan K. Hubbard
9e8433e6e0 This upgrades the driver for Cronyx-Sigma multiplexor boards
from version 1.2 to version 1.9.
Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-04 22:24:16 +00:00
Jordan K. Hubbard
dce7e5c9d4 Add the kernel config file (only for 2.1) that I'll be using
to generate my special IDE CDROM installation boot floppy.
1995-10-04 08:25:24 +00:00
Julian Elischer
00c6cadad3 Submitted by: Juergen Lock <nox@jelal.hb.north.de>
Obtained from: other people on the net ?

1. stepping over syscalls (gdb ni) sends you to DDB, and returned
to the wrong address afterwards, with or without DDB.  patch in
i386/i386/trap.c below.

2. the linux emulator (modload'ed) still causes panics with DIAGNOSTIC,
re-applied a patch posted to one of the lists...
1995-10-04 07:08:04 +00:00
Joerg Wunsch
16b04b6ae7 Hide the "input/output timeout" messages behind the bootverbose case.
This message has been confusing innocent ft users.

It should go into 2.1 as well, it's a very simple fix.
1995-10-04 07:01:23 +00:00
Bill Paul
b6e1531773 Make swapgeneric.c compile and (sort of) work again.
This is really just a token gesture at this point. We can't really turn
on swapping here anymore because (I think) we need to do a namei() lookup
in order to get a vnode which we can pass to swaponvp(). But to do a
namei(), we need a properly initialized proc structure, and we don't
have one. (I was hopping to toss it proc0, but that isn't initialized
until later.) We could conceiveably fabricate a dummy proc structure
to make namei() happy, but that's too much work for too little payoff.

For now, swapgeneric's only remaining saving grace is that it lets
you set the root device with -a.
1995-10-03 14:49:38 +00:00
Jordan K. Hubbard
8e4115484c Whoops, I misunderstood this. IRQ *12* is a better GUS default. 1995-10-03 01:12:59 +00:00
David Greenman
23e56ee8d7 Insert zeroed pages at the head of the zero queue rather than at the tail.
A measurable performance improvement results from the potential for the
page to be partially cached when it is eventually used.
1995-10-01 20:10:20 +00:00
Peter Dufault
5dde8b2750 Support the 1542CP by recognizing the new ID. Try to make future
1542 revs work by assuming the next few sequential ID codes are
new Adaptec boards and enabling them after printing a warning.

Conditionalize the informational boot messages with "if (bootverbose)".
1995-10-01 15:09:51 +00:00
David Greenman
90b8a1a5c7 Make ATAPI support completely optional - if ATAPI isn't defined, the
original code/algorithm is used completely (with one bugfix). This makes
it "safe" to bring these changes into -stable.
1995-09-30 15:19:44 +00:00
Jordan K. Hubbard
5f614f1df9 Bring IDE CDROM support up to latest version (1.8a?) from Serge.
Submitted by:	vak@cronyx.ru
1995-09-30 00:11:19 +00:00
Bruce Evans
abc260cb3f Fix FAT_CURSOR to give scanlines 0-15 instead of (the current start)-15. 1995-09-28 18:43:40 +00:00
Jordan K. Hubbard
0134f4737b o Support for CDIOCPREVENT and CDIOCALLOW ioctls that xcdplayer
were making and were no-brainers.  However, the xcdplayer
    eject button didn't work because xcdplayer gave up and didn't bother
    to try the EJECT ioctl anyway when CDIOCALLOW was not available.
    This all works now.

o   A change so that xcdplayer gets TOC entry data for the lead-out area
    on the disc.  Xcdplayer can now play the last track on a CD, which
    it would not do in earlier versions (but no one reported).
    Cdplayer gets the TOC data differently and it works in old and new
    versions.

o   Eliminated a race condition that caused the driver to sleep forever
    on very slow and heavily loaded systems on rare occasions when
    the system was doing lots of audio-related ioctls to the drive.

o   Fixed a problem where a locked drive could be unlocked by accessing
    one of the non-locking devs.  Door locking now follows the documented
    rules.

o   Made all wait channel strings unique to matcd.

Submitted by: Frank Durda IV <uhclem%nemesis@fw.ast.com>
1995-09-28 13:15:49 +00:00
Andrey A. Chernov
50c15f2110 Back out MTUDISC description per Garrett request, yet not ready 1995-09-27 19:12:20 +00:00
Andrey A. Chernov
aa3b19e087 Document MTUDISC 1995-09-27 17:26:30 +00:00
Poul-Henning Kamp
2b76bec4e6 if_ze.c was derived from if_ed.c about 42 (!) versions ago. It is now
scheduled for demolition.  This is a first step: get rid of if_zereg.h,
by adding the five extra definitions to if_edreg.h.
Also add some definitions which will become needed when if_ze.c gets
replaced entirely by pccard and if_ed.c.  (this is a 2.1.0 candidate)
1995-09-26 08:57:47 +00:00
Garrett Wollman
e508a00419 Add BPF and IP multicast capabilities to the tun' and lp' network
interfaces.

Submitted by:	Bill Fenner <fenner@parc.xerox.com>
1995-09-25 16:57:54 +00:00
David Greenman
b025187719 siostop() is a void function, so don't return a value. 1995-09-24 04:59:16 +00:00
Peter Wemm
0d04cf6a1b Tone down the doom-and-gloom prediction if one enables the si driver.. 1995-09-23 08:52:30 +00:00
Peter Wemm
e0ad6557c5 Add some hooks visible from outside via nlist, so pstat can read the tty
state.
1995-09-22 20:00:12 +00:00
Stefan Eßer
77b573149a New approach to the PCI bus configuration mechanism probe problem:
- try to make sure there is any kind of PCI device
- if there is anything at port 0x0cf8, then check for mech. 1 or 2
1995-09-22 19:10:54 +00:00
Peter Wemm
b769f8efd6 Remove the "Danger will robinson!" printf's at the start. I'm pretty happy
with the driver's stability now.  I've not had a single problem with it for
weeks..  All that remains is a bit of performance tuning, and finishing
the manpages.
1995-09-22 18:28:21 +00:00
David Greenman
0704324a55 Fix rounding bug in last commit that would have caused the problem to not
be completely fixed.
1995-09-20 13:01:17 +00:00
Jordan K. Hubbard
92e1dc86fa Add `visual' command to help menu.
Fix a small benign display bug.
Submitted by:	Michael Smith <msmith@atrad.adelaide.edu.au>
1995-09-20 12:07:22 +00:00
Jordan K. Hubbard
8355a05ba8 Now supports expand all' and collapse all'.
Now comes up in the old line-oriented interface by default for serial
and pcvt folk with a `visual' command for going to the visual interface.
Best of both worlds, no?
Submitted by:	Michael Smith <msmith@atrad.adelaide.edu.au>
1995-09-20 06:48:54 +00:00
Bruce Evans
2e69f359d1 Fix benign type mismatches in isa interrupt handlers. Many returned int
instead of void.
1995-09-19 18:55:37 +00:00
Poul-Henning Kamp
ccdbc84cba The stuff needed to remove a pccard with a sio port on it...
Not optimal, but pretty solid.
1995-09-19 12:37:41 +00:00
Stefan Eßer
a3adc4f8c5 Revert most changes of previous commit.
Changes relative to 1.12:
- Put extra instruction between outl()/inl() sequence to prevent the
  old value being read back because of the bus capacitance.
- Additional check for existence of register at CONF2_ENABLE_PORT.
1995-09-18 21:48:39 +00:00
Paul Traina
0b4a1769be Our existing Cyrix cache-disable code was short-cutting the steps for
setting the control register.  Make the read and write operations two
completely separate steps.

While we're at it, pull in the whole set of Cyrix cache control options
from NetBSD-current,  since a few motherboards do the right thing with
the Cyrix chip.

There is no option to disable the internal cache completely (yet).

Reviewed by:	pst
Obtained from:	NetBSD
1995-09-16 21:31:55 +00:00
Bruce Evans
191e1a59da Remove transitory labelling code. Labels are now handled by essentially
the original 4.4lite code.  Machine Specific Partitions are now handled
separately.
1995-09-16 17:04:06 +00:00
Bruce Evans
72b3459d61 Add comments about the bogus zeroing of the drive number for floppies
and the bogus dummy partition table.
1995-09-16 13:51:20 +00:00
Bruce Evans
45c7e5044d Fix recent breakage of non-floppies with 36 sectors/track.
Disable support for not looking at the label when booting from fd2d
(15-sector floppies in drive 2) and fd2b (other floppies in drive 2).
1995-09-16 13:03:59 +00:00
Nate Williams
e21fd30049 When confronted with a drive that says there are 36 sectors/track,
ignore and set it to 18 sectors/track.  This allows FreeBSD to boot with
2.88MB floppies which are used in older ThinkPads.

Submitted by:	Random Net person whose name I lost
1995-09-16 05:02:37 +00:00
David Greenman
97e112628f Check for page being resident when doing I/O with /dev/kmem and return
EFAULT if it is not resident. This prevents the system from manufacturing
a zero-fill page for unused but allocated areas of the kernel's VM. This
should fix the "CMAP busy" panic that some people saw during system
startup.
1995-09-15 23:49:23 +00:00
Jordan K. Hubbard
6c11cc590a Make dsp0 work for playback.
Submitted by:	Alain Kalker <alain@Wit401402.student.utwente.nl>
1995-09-15 22:04:03 +00:00
Stefan Eßer
2d14418625 Another try to determine the PCI bus configuration mode (and whether
there is a PCI bus at all) ...

- Do not expect the chip sets to follow even very clearly expressed
  requirements of the PCI 2.0 spec.
- Do not read back the value just written to an I/O port without making
  sure that some other data have crossed the bus in between ...
1995-09-15 21:43:45 +00:00
Andreas Schulz
9af3551d46 Correct the calculation of the unit number. it is not minor(x) & 3. It need
to be shifted >> 3. The last bits are the partition info.
1995-09-15 10:45:42 +00:00
David Greenman
0937c08c4e 1) Killed 'BSDVM_COMPAT'.
2) Killed i386pagesperpage as it is not used by anything.
3) Fixed benign miscalculations in pmap_bootstrap().
4) Moved allocation of ISA DMA memory to machdep.c.
5) Removed bogus vm_map_find()'s in pmap_init() - the entire range was
   already allocated kmem_init().
6) Added some comments.

virual_avail is still miscalculated NKPT*NBPG too large, but in order to
fix this properly requires moving the variable initialization into locore.s.
Some other day.
1995-09-15 08:31:19 +00:00
David Greenman
d69caef5ed Killed isa_allocphysmem() and isa_freephysmem(). They are completely used
functions. This file is disgusting; the isa DMA stuff is especially bad and
should be rewritten.
1995-09-15 03:10:06 +00:00
David Greenman
6ce5b54918 1) Don't double map the kernel page tables. The double mapping was never
used and went a long way toward confusing the code.
2) Fix proc0's initial stack to not be 48 bytes smaller than it needs to
   be.
3) Correct comment about 'first' arg to init386().
1995-09-15 02:13:18 +00:00
Stefan Eßer
d7ea35fc88 Improved verification of configuration space accesses working:
Scan for devices instead of assuming that device 0 is present on bus 0
of every PCI motherboard.
1995-09-14 20:27:31 +00:00
Stefan Eßer
cda6791190 Make the PCI host bridge probe code more robust when dealing with chip sets
that use configuration mode 1, but still violate the PCI 2.0 specs ...
(Required for the Compaq Proliant, for example.)
1995-09-13 17:03:47 +00:00
Peter Wemm
832e06d4dc From Bruce Evans: (prototype related changes, other cleanups)
Add prototypes.  Use static for function definitions to match existing
prototypes.  Otherwise leave functions that should be static as extern.
TODO: declare everthing except sidriver and siintr as static.  I use
some new cdevs registration functions to do this for syscons and pcvt.

Fix siintr() to match its prototype in ioconf.c (don't return anything).
This may break the eisa support, but Julian says that eisa interrupts
never worked anyway.

(EISA support was never tested anyway - Peter)

Submitted by:	bde
1995-09-13 08:45:28 +00:00
Peter Wemm
fbb8b7bb60 Move some kernel-only stuff to a kernel-only file.
Submitted by:	bde
1995-09-13 08:39:28 +00:00
Sean Eric Fagan
e6df7bbb57 Unlock the vnode after checking permissions; this is necessary to prevent
a panic whenever an iBCS2 file is exec'd.

Obtained from: FreeBSD
1995-09-13 02:12:51 +00:00
Peter Wemm
c91214d4b8 Restore two checks for TS_ISOPEN.. I managed to panic my machine
without them..  I thought TS_CONNECTED implied TS_ISOPEN, but apparently
that's not the case.
1995-09-11 06:28:38 +00:00
Bruce Evans
e7451974bb Make pcvt and syscons live in the same kernel. If both are enabled, then
the first one in the config has priority.  They can be switched using
userconfig().

i386/i386/conf.c:
Initialize the shared syscons/pcvt cdevsw entry to `nx'.

Add cdevsw registration functions.

Use devsw functions of the correct type if they exist.

i386/i386/cons.c:
Add renamed syscons entry points to constab.

i386/i386/cons.h:
Declare the renamed syscons entry points.

i386/i386/machdep.c:
Repeat console initialization after userconfig() in case the current
console has become wrong.  This depends on cn functions not wiring down
anything important.

sys/conf.h:
Declare new functions.

i386/isa/isa.[ch]:
Add a function to decide which display driver has priority.  Should be
done better.

i386/isa/syscons.c:
Rename pccn* -> sccn*.

Initialize CRTC start address in case the previous driver has moved it.

i386/isa/syscons.c, i386/isa/pcvt/*
Initialize the bogusly shared variable Crtat dynamically in case the
stored value was changed by the previous driver.

Initialize cdevsw table from a template.

Don't grab the console if another display driver has priority.

i386/isa/syscons.h, i386/isa/pcvt/pcvt_hdr.h:
Don't externally declare now-static cdevsw functions.

i386/isa/pcvt/pcvt_hdr.h:
Set the sensitive hardware flag so that pcvt doesn't always have lower
priority than syscons.  This also fixes the "stupid" detection of the
display after filling the display with text.

i386/isa/pcvt/pcvt_out.c:
Don't be confused the off-screen cursor offset 0xffff set by syscons.

kern/subr_xxx.c:
Add enough nxio/nodev/null devsw functions of the correct type for syscons
and pcvt.
1995-09-10 21:36:12 +00:00
Bruce Evans
f2cb5630d0 cons.c:
Split off cdevsw initialization in cninit() into a new function
cninit_finish() that isn't called until all hardware device drivers
have been attached.  The bdevsw entry of the driver for the physical
console needs to be hooked after the physical driver has been
attached in case the attachment modified the entry.

Rearrange cninit() to avoid changing cn_tab until the driver for the
physical console has been initialized, so that the previous driver
(if any) can be used for debugging.

Start removing half-baked lint support.  bdevsw functions usually have
unused args but /*ARGSUSED*/ was used for only about 5% of them.

cons.h:
Declare cn_init_finish().

autoconf.c:
Call cn_init_finish().

Start adding prototypes.  Functions with bogus linkage (extern where
static is probably should be static) are explicitly declared as extern
so that the can be found easily (extern in a non-header is usually
wrong).

All:
Continue cleaning up init stuff: init functions shall be static;
INITs should be at the start of files...
1995-09-10 18:57:26 +00:00
David Greenman
4590fd3a2a Fixed init functions argument type - caddr_t -> void *. Fixed a couple of
compiler warnings.
1995-09-09 18:10:37 +00:00
Søren Schmidt
2bf07b2bd7 Patch to the atapi driver, by Serge V.Vakulenko, minor changes
by me...

Original message:

This patch upgrades the ATAPI CD-ROM driver to version 1.3.

It has three bugs fixed:

1) The `controller not ready' message at startup and later.
   It was caused by staled media change bit.

2) Incorrect shuffling of model string for some drives (NEC, Mitsumi).

3) Handling of drives which report itself as been of direct-access type,
   instead of CD-ROM type.

There is one known bug which is not fixed yet -- probing
in absense of IDE disks. A work-around exists though (thanks Steve!).
If you have no IDE disks attached, then remove them from the kernel
config file to make the CD-ROM attach correctly.
Unfortunately, there is no way to disable them from the kernel
interactive config mode.

Reviewed by:	sos (Soren Schmidt)
Submitted by:	vak@gw.cronyx.msk.su (Serge V.Vakulenko)
1995-09-09 11:41:04 +00:00
Bruce Evans
11d2504079 Actually, 97 out of 304 devsw functions had benignly mismatched types. 1995-09-08 19:57:13 +00:00
Julian Elischer
5116eb02e2 Added devfs nodes for other devices.. (didn't read the docs correctly) 1995-09-08 19:01:28 +00:00
Julian Elischer
f6b98df677 added ID strings so we know what version we have... 1995-09-08 18:30:34 +00:00
Bruce Evans
1c6d84074a Declare `geomtab' as static. It was bogusly shared between the asc and
the gsc drivers.
1995-09-08 16:38:52 +00:00
Bruce Evans
4fbadacb81 3 out of 5 new devsw functions had benign type mismatches. 1995-09-08 16:27:55 +00:00
Bruce Evans
6003967057 Fix benign type mismatches in devsw functions. 82 out of 299 devsw
functions were wrong.
1995-09-08 11:09:15 +00:00
Julian Elischer
084860b349 DAng! forgot this as well
cdevsw entry (71) for the asc scanner driver
1995-09-08 03:37:51 +00:00
Julian Elischer
c1ab55a72e Submitted by: Luigi Rizzo
Obtained from: Luigi and gunther
yeah I forgot this one....
1995-09-08 03:22:00 +00:00
Julian Elischer
a800f455b2 Submitted by: Luigi Rizzo (luigi@iet.unipi.it)
Obtained from: Luigi Rizzo and Gunther Schadow
config support for the asc driver and an example in LINT
1995-09-08 03:20:10 +00:00
David Greenman
f6eca02d7a 1) Really print 'real' memory - use Maxmem, not physmem.
2) Output K bytes instead of pages as this means something to more people.
3) Moved printf of avail memory to after vm_bounce_init() call so that
   bounce buffers are included in the figure.
4) Killed initcpu(); it's an unused vestige from the VAX.
1995-09-08 03:19:47 +00:00
Julian Elischer
819fb11f5e Submitted by: Luigi Rizzo (luigi@iet.unipi.it)
Obtained from: Luigi Rizzo and Gunther Schadow
Kernel support for the asc scanner driver
1995-09-08 03:14:00 +00:00
Jordan K. Hubbard
8152c5c72c Render devices inactive properly.
Protect against name overflow.
Submitted by:	Michael Smith <msmith@atrad.adelaide.edu.au>
1995-09-07 22:19:45 +00:00
David Greenman
0e1815bb54 Minor cleanup and (very) small micro optimization to Xsyscall (and the
linux one)..
1995-09-07 21:36:17 +00:00
David Greenman
dd4e7c343b Killed unnecessary \r. 1995-09-07 21:11:34 +00:00
Steven Wallace
6edd39c483 Make files get the NWDC definition from "wdc.h" instead of "wd.h".
This way, if using wd and/or wcd devices, the wdc controller code
will get compiled.
1995-09-07 08:20:18 +00:00
Steven Wallace
ad1472b217 Change atapi.c to depend on the ATAPI option.
Add wd.c entry based on the wdc controller.
This will enable compilation of wcd device without wd.
1995-09-07 08:17:19 +00:00
Bill Paul
ee1d861fbe Put back the "real memory =" printf() that vanished when the code to
handle holes in memory was added.
1995-09-06 16:13:31 +00:00
John Dyson
5e887e181c Correct the location of a "return". This can/will cause system crashes. 1995-09-06 05:06:18 +00:00
Jordan K. Hubbard
af72df8477 New version of userconfig from Michael Smith. Give this one a try,
folks!  Let him know what you think.
Submitted by: Michael Smith <msmith@atrad.adelaide.edu.au>
1995-09-06 03:36:36 +00:00
Justin T. Gibbs
67f06b6142 Clean up a few nits in the aic7xxx driver:
1) Make the driver "quiet" by sticking most boot messages behind
	bootverbose conditionals.  This means that you won't see the
	sync and wide negotiation, but you will find out if they fail.

2) Add support to the 93cx6 serial eeprom code to read at an abitrary
	offset.  This is needed so that we can access the second half
	of the eeprom on 3940 cards where the second channel's config
	is stored.

3) Add flags argument to ahcprobe().  This is used by the pci probe code
	to tell the generic driver that an adapter should be treated
	as a channel B device as well as notify it of the presence of
	external SCB SRAM.  These are needed for some motherboard
	implementations of the aic7870 and for the 3940 controllers.

4) Print "Channel A"/"Channel B" instead of "Single Channel" for the
	two busses of the 3940.  I received many reports of confusion
	about how the 3940 was probed since most people belived that
	only one ahc entry was needed.  This will hopefully make it
	clearer.

5) Walk the SCBs to determine just how many their are if external SCB
	ram is detected.

6) Hard code that external SCB ram is present for the 3940 since it doesn't
	use the documented reporting facility for reporting the SRAM. :(
	255 commands per channel are supported on the 3940.

7) Read the seeprom starting at addres 32 for the second channel of the
	3940 so we get the right info for that channel.

8) Clean up printing of the "Disabling tagged queuing message".

9) Queue timeouts if they occur while we are handling a timeout.  The code
	was totally unprotected in this scenario.
Reviewed by: Timeout code reviewed by David Greenman <davidg>
1995-09-05 23:52:03 +00:00
Justin T. Gibbs
0be4f315f7 ahcprobe now takes a flags argument. For EISA/VL adapters set it to
AHC_FNONE.
1995-09-05 23:39:31 +00:00
Jordan K. Hubbard
c734076e9c Yet Another Sound Patch (YASP :-). This should fix the problems with
the cs4231, soundblaster, and pas-16 that people have been reporting.
Submitted by:	james
1995-09-05 19:48:58 +00:00
Bruce Evans
08ab924c0d The cmd' and addr' args to psmioctl() were in the wrong order. This
probably broke MOUSEIOCREAD which is the only ioctl supported.
1995-09-05 06:23:39 +00:00
Julian Elischer
193e7834a5 Submitted by: John Lind (john@starfire.mn.org)
/*
+  * Code for MTERASE added by John Lind (john@starfire.mn.org) 95/09/02.
+  * This was very easy due to the excellent structure and clear coding
+  * of the original driver.
+  */
1995-09-05 05:45:34 +00:00
Jordan K. Hubbard
8d928fda4e Now apply local changes to make this compile in 2.2-current (sorry about
delay between commit of original author's sources and my changes - I was
called away).
1995-09-03 23:55:53 +00:00
John Dyson
a29b63cb73 Machine dependent routines to support pre-zeroed free pages. This
significantly improves demand zero performance.
1995-09-03 20:39:22 +00:00
Jordan K. Hubbard
a50cd483d2 Bring the Digiboard driver (ALPHA version) into -current. Includes
latest patches for PC/Xe boards.
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-09-03 19:53:11 +00:00
Julian Elischer
8af5d536ff devfs changes..
changes to allow devices that don't probe (e.g. /dev/mem)
to create devfs entries
this required giving 'configure' its own SYSINIT entry
so we could duck in just before it with a DEVFS init
and some device inits..
my devfs now looks like:
./misc
./misc/speaker
./misc/mem
./misc/kmem
./misc/null
./misc/zero
./misc/io
./misc/console
./misc/pcaudio
./misc/pcaudioctl
./disks
./disks/rfloppy
./disks/rfloppy/fd0.1440
./disks/rfloppy/fd1.1200
./disks/floppy
./disks/floppy/fd0.1440
./disks/floppy/fd1.1200
also some sligt cleanups.. DEVFS needs a lot of work
but I'm getting back to it..
1995-09-03 05:43:50 +00:00
Julian Elischer
623463ca4a Cosmetic changes to make a comment more nearly reflect reality 1995-09-03 05:36:13 +00:00
Jordan K. Hubbard
d1a599c2de Something got spammed in my 2.2 work tree (don't know how :( ) and
had a 2.1 tag, thus sending these two changes into the 2.1 branch instead
of -current.  Argh.  I may bring these changes into the 2.1 anyway (they're
benign there) so I'm not going to admin them out of 2.1 for the time
being.
1995-09-01 20:53:44 +00:00
Jordan K. Hubbard
4fb1d90a95 Jim's attempt to fix the new sound code somewhat. Tested with
the pas-16, GUS, and GUS-MAX cards.  Sound blaster owners, please
test also!
Submitted by:	Jim Lowe <james>
1995-09-01 19:09:11 +00:00
Jordan K. Hubbard
49148d6390 Jim's latest fixes.
Submitted by:	james
1995-09-01 00:25:18 +00:00
Bruce Evans
8d7459c596 Declare vfs_mountroot() in the right place. 1995-08-30 01:34:28 +00:00
Bruce Evans
154042d309 Remove relocation of Crtat. Drivers already relocate it (somewhat
bogusly).  We used to undo the driver relocation here before doing
a somewhat less bogus relocation.  The result was a null relocation
here.
1995-08-29 23:45:20 +00:00
Jordan K. Hubbard
dbae4437e2 Address Bruce's mmap concerns in this driver too.
Submitted by:	Jim Lowe <james@miller.cs.uwm.edu>
1995-08-29 16:44:46 +00:00
Jordan K. Hubbard
1d86961e14 Kernel components of Matrox Meteor driver.
Submitted by:	Mark Tinguely <tinguely@plains.nodak.edu> and Jim Lowe <james>
1995-08-28 17:03:18 +00:00
Guido van Rooij
de319b9419 Add SIOCGIFADDR ioctl so rarpd actually works with the if_ep interface. 1995-08-28 12:01:17 +00:00
Julian Elischer
2b14f991e6 Reviewed by: julian with quick glances by bruce and others
Submitted by:	terry (terry lambert)
This is  a composite of 3 patch sets submitted by terry.
they are:
New low-level init code that supports loadbal modules better
some cleanups in the namei code to help terry in 16-bit character support
some changes to the mount-root code to make it a little more
modular..

NOTE: mounting root off cdrom or NFS MIGHT be broken as I haven't been able
to test those cases..

certainly mounting root of disk still works just fine..
mfs should work but is untested. (tomorrows task)

The low level init stuff includes a total rewrite of init_main.c
to make it possible for new modules to have an init phase by simply
adding an entry to a TEXT_SET (or is it DATA_SET) list. thus a new module can
be added to the kernel without editing any other files other than the
'files' file.
1995-08-28 09:19:25 +00:00
Steven Wallace
fe89a532f1 Modified linux_readdir() function to properly handle Linux readdir()
calls with a byte size of 1.  This special case was not
correctly emulated.  Now programs such as a simple 'ls' to a commercial
Macintosh emulator called 'executor' will work correctly.
1995-08-28 00:50:08 +00:00