Commit Graph

2527 Commits

Author SHA1 Message Date
phk
9d7b5a9783 Staticize 1995-12-11 09:26:18 +00:00
dyson
c9fc5826da Undo a change that should not have been committed with the 1Tb enhancements. 1995-12-11 05:02:52 +00:00
dyson
601ed1a4c0 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
bde
ccae5414a4 Added pcvt option FAT_CURSOR.
Fixed comment about PCVT_VERSION=210.

Fixed tabs and trailing blanks.
1995-12-10 22:14:15 +00:00
bde
0a6a619c60 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
bde
e423d4fa01 Unstaticized cx_cdevsw (it is used in if_cx.c).
Added a prototype.
1995-12-10 21:08:11 +00:00
bde
644a38f2a8 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
bde
1fa3289237 Replaced nxmmap by nommap (if the mmap function gets called, then the
device must be configured).
1995-12-10 20:34:53 +00:00
bde
5e103e2a73 Replaced scdsize by generic nopsize. 1995-12-10 20:10:23 +00:00
bde
fe727807c4 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
bde
2c85bcd8ba 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
bde
99e5039c72 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
phk
e7008a284e Staticize and cleanup. 1995-12-10 13:40:44 +00:00
phk
6a1611e3f8 Staticize and cleanup.
Ohh, forgot this bit:
(covers sio.c too) recognize the 16650 too.
1995-12-10 13:40:33 +00:00
phk
a17ab54434 Staticize and cleanup.
remove a TON of #includes from machdep.
1995-12-10 13:36:34 +00:00
phk
924d3d88e6 Staticize and cleanup.
Make debug variable sysctl aware in 1742.
1995-12-10 13:33:49 +00:00
julian
87e768602b Add DEVFS to LINT 1995-12-10 10:50:32 +00:00
bde
c480b5de5e Restored used function fusword() (used by GPL math emulator). 1995-12-10 03:11:32 +00:00
bde
854894bd5c Moved vm includes out of centralized headers again. 1995-12-10 02:53:07 +00:00
phk
b4ab7c240e Remove various unused symbols and procedures. 1995-12-09 20:40:43 +00:00
phk
90cc40edfe Move sysctl machdep.consdev to cons.c 1995-12-09 20:39:47 +00:00
phk
58b47f265a Remove option ARP_PROXYALL, it's now a sysctl var. 1995-12-09 16:10:20 +00:00
julian
024d9b147e 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
84865bbe45 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
f525350c68 Update ibcs2 to use the new ps_strings / stack gap arrangements.. 1995-12-09 04:33:27 +00:00
peter
bc5de44146 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
phk
a69d1dfbcb Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
julian
1900eea896 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
d1494e2195 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
dg
c30f46c534 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
peter
53a232b78e 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
bde
c0273b2f64 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
bde
369f41ad46 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
bde
9667605132 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
bde
6baf31173c 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
c853217459 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
bde
fdd7820272 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
bde
2effbe7626 Moved some prototypes to a better place.
Removed stale prototypes.

Added prototypes.

Added empty lines.
1995-12-05 20:10:41 +00:00
bde
3b8ed31cc3 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
dg
04f89ec795 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
dg
8156a5707a 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
24c816ac23 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
phk
6b7609f909 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
bde
e8992ca8c1 Added prototypes.
Staticized.

Moved a NULL-initialized variable to the bss.
1995-12-03 18:46:49 +00:00
bde
10a1fd1140 __purified pmap_pte(). This seems to make no difference. 1995-12-03 18:37:44 +00:00
bde
5ac2f22fae Completed function declarations and/or added prototypes. 1995-12-03 18:35:28 +00:00
bde
7133041bc9 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
bde
35ee958319 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
bde
331c7a8054 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
phk
adc43de28b 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
4f4e54e7d7 A quick fix for a problem that will go away in a few days anyway.. 1995-12-01 23:09:20 +00:00
julian
ced0b587b5 remove typo 1995-12-01 01:38:49 +00:00
julian
0878e17aef 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
ache
a07d8148d3 Fix my color/attr separation patch.
Swap foreground/background logic to allow DIM REVERSE
1995-11-30 03:29:31 +00:00
nate
e12e88c6f8 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
589ba8c23a 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
wollman
0b986693ce 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
bde
25c88c6232 Don't staticize again (twice).
Cleaned up includes.
1995-11-29 17:40:47 +00:00
bde
71abdb8aca 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
198d88e0ae 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
1758bf79ff #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
f2f63c6ece 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
phk
be48321f04 staticize. 1995-11-29 10:26:51 +00:00
phk
051ce4c479 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
phk
4e3ca77747 Staticize again. 1995-11-29 10:12:34 +00:00
jkh
8b518c54b4 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
72067f66c5 oops forgot one.. 1995-11-28 09:44:42 +00:00
julian
5578ada6e9 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
67727fc1c1 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
bde
94df7c3a92 Removed all #includes of the unused file <sys/device.h>. 1995-11-28 07:29:59 +00:00
peter
26bbc85eee 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
3ce680f86e 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
ache
016bb77514 Separate colors & attributes as Terry points
Reviewed by: soren
1995-11-28 00:17:32 +00:00
bde
6416fe008a 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
bde
b487404992 Completed function declarations and/or added prototypes. 1995-11-24 15:15:30 +00:00
bde
eaebf72f4b Added bogusly placed extern prototypes for functions that should probably
be static.
1995-11-24 15:08:07 +00:00
bde
2889b1ba4a Fixed a comment. 1995-11-24 14:56:00 +00:00
bde
ba625bb515 Staticized. Moved some ero-initialized values to the bss.
Added prototypes.
1995-11-24 13:27:24 +00:00
dyson
711711e9f3 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
bde
825daf3e32 Completed function declarations and added prototypes.
Removed some unnecessary #includes.

Fixed warnings about nested externs.
1995-11-22 07:43:53 +00:00
bde
24ce87cc75 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
bde
e15706373f 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
0786a4cac5 Add and document the hooks for John Hay's Arnet sync driver... 1995-11-21 02:50:10 +00:00
peter
0b1628b7d8 This commit was generated by cvs2svn to compensate for changes in r12437,
which included commits to RCS files with non-trunk default branches.
1995-11-21 02:32:04 +00:00
peter
1942953117 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
bde
cc094780c5 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
phk
d0c66446cc 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
phk
1bec817e70 Remove unused var. 1995-11-20 12:14:40 +00:00
phk
220a07c995 Fix compiler warnings. 1995-11-20 12:13:32 +00:00
phk
4cf530b930 move variables inside the #ifdef. 1995-11-20 12:12:02 +00:00
phk
e55828b00a Change call to kern_sysctl to userland_sysctl. Not tested. 1995-11-20 12:10:59 +00:00
phk
ac9043cb6b Remove unused vars. 1995-11-20 12:10:09 +00:00
dg
56868f5708 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
bde
f032d983b7 Moved bogusly placed #endif that hid some prototypes. 1995-11-18 09:37:42 +00:00
bde
58a38b4b38 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
bde
0b3bb1936a 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
bde
5f8371d19f Fixed the types of the apm hook functions.
Completed function declarations.

Added prototypes.
1995-11-18 08:39:28 +00:00
bde
2403a3bdb8 Fixed the type of a timeout function.
Added prototypes.
1995-11-18 08:35:49 +00:00
bde
6601faf9f3 Fixed staticization - use `static' in function headers, not just in
prototypes.
1995-11-18 08:29:04 +00:00
bde
46948cb1ec Fixed a bogus include path.
Removed a bogus include.

Added prototypes.
1995-11-18 08:21:15 +00:00
bde
618bbe9fb0 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
bde
e1c8826a56 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
bde
921eaa04e6 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
bde
27735b844a 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
bde
0e35ee8052 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
bde
9c1796f0bf 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
bde
2d5609b7ae 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
bde
ba88374c64 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
bde
1ab1d0615c Fixed the types of apm_default_resume() and apm_default_suspend().
Added prototypes.
1995-11-18 04:37:23 +00:00
bde
b87785185d 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
dg
3a54d792b9 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
phk
440f6747ef 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
phk
abbc333b67 Fiddle with <machine/isa_device.h> 1995-11-14 20:49:24 +00:00
phk
d08180594a Staticize various private parts. 1995-11-14 09:58:47 +00:00
phk
d31da25b90 Make a lot of private stuff static 1995-11-14 09:53:17 +00:00
phk
8838e78de6 Fix a couple of printfs. 1995-11-14 09:52:25 +00:00
bde
b9f0e11d4a 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
bde
b537966a0d Added bogus casts to avoid compiler warnings. 1995-11-13 09:03:30 +00:00
bde
8302f77279 Fixed parentheses in macros. 1995-11-13 08:58:06 +00:00
bde
14484188fe Replaced nosys() by lkm_nullcmd(). 1995-11-13 08:52:08 +00:00
phk
5f9f53ab5b 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
markm
a01aa94291 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
bde
8bcc310470 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
bde
7a9faab8f2 Reviewed by:
Submitted by:
Obtained from:
1995-11-12 06:42:10 +00:00
bde
4b9555d70c 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
bde
d94f054cb7 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
phk
f62cc4816e convert more sysctl variables. 1995-11-10 09:53:50 +00:00
gibbs
eddb6a4057 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
gibbs
31fe053012 Change ahb device line to eisaconf syntax. 1995-11-09 22:47:05 +00:00
gibbs
a16fe2deb0 Convert Adaptec 1742 driver to new eisaconf interface. 1995-11-09 22:43:25 +00:00
peter
ca5656172e 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
bde
581918c24d Nuked some more bogus devswitch macros. The wcd lkm was broken. 1995-11-09 09:17:49 +00:00
gibbs
7b39ff1acd 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
gibbs
7be91d1557 Fix typo in QUEUE_FULL_SUPPORTED section.
Submitted by: Satoshi Asami <asami>
1995-11-07 07:01:05 +00:00
gibbs
49aa0cf82b Properly print out the chip type again. ahc_init really needs a rewrite. 1995-11-07 05:32:47 +00:00
phk
a9b815ff73 Close PR misc/75. I thought this was done long time ago... 1995-11-06 17:28:31 +00:00
dg
b0e92e3fe4 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
gibbs
b47cbba258 -Wall fixes. 1995-11-06 05:21:13 +00:00
gibbs
d21be4a073 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
bde
08b652fb65 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
gibbs
29af6ad502 Add eisa0 and remove ISA configuration line for ahc0. 1995-11-05 17:02:54 +00:00
gibbs
8570db776c 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
gibbs
25184acafd 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
gibbs
25f2593382 Modifications for the new eisaconf. 1995-11-05 04:43:22 +00:00
gibbs
da1c8c00f7 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
gibbs
50b6fea868 Move aic7770.c to i386/eisa. It is the first driver to use the new eisaconf. 1995-11-05 04:38:55 +00:00
bde
6073486300 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
markm
92ae7d4bbb 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
bde
7c623a0f2b 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
bde
6e2f3d416d Always declare vga_move_charset(). It doesn't depend on option XSERVER. 1995-11-04 14:00:00 +00:00
bde
3b99b3537b 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
bde
336a6f070b 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
bde
516591c037 Moved a nested extern declaration to a less bogus place to hide a warning. 1995-11-04 10:54:53 +00:00
peter
e6eb68645b 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
5bbf28a096 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
2457c77564 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
62ed04dfc8 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
b74381b72c Add a simplistic netisr register routine - I need this now for ppp-2.2. 1995-10-31 19:07:53 +00:00
phk
9ee584cede Cleanup, make things static. 1995-10-31 18:41:49 +00:00
phk
1a49ad4023 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
51c1be034e Minor correction for the "od" driver.
Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:03:26 +00:00
joerg
0abc945ffd Include the "od" driver. 1995-10-31 17:00:03 +00:00
julian
21d9ef842e 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
markm
6c6d0d3057 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
f624492c3f 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
bde
a96d461e55 Removed bogus statics in declarations that don't allocate storage.
Added prototypes.
1995-10-30 17:13:25 +00:00
bde
4e3dff47cf 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
bde
02dbf8a32a 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
bde
49e944ae81 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
phk
88d6fa4d4a 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
bde
3ca7c7d5de Fix mmioctl() for !DEVRANDOM case. mmioctl() is a function, not a
pointer to a function.
1995-10-29 11:37:56 +00:00
dg
9bf544b7f3 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
gibbs
dfb7fd1875 Initialize SXFRCTL0 with DFON|SPIOEN|ULTRAEN. 1995-10-29 05:57:48 +00:00
pst
4e4322a48a 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
1bc695556d 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
gibbs
2c3556dd37 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
markm
0336663acb 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
phk
7fd61cfafd Remove unused functions and variables, make things static, and other cleanups. 1995-10-28 15:39:31 +00:00
phk
a6934c171f 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
gibbs
d765a11e81 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
90ae06d6ac 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
jkh
ec717a0fb2 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
jkh
3096e63c3a 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
swallace
a982c41bec 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
dg
3d86889aac 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
dg
7bae034de0 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
bde
2b02753359 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
bde
2f9bb19585 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
dg
67678134fd Simplified some expressions. 1995-10-22 02:59:48 +00:00
swallace
a60db4f016 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
75d7440902 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
swallace
70dc81bc26 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
phk
6d6a401f8b 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
swallace
971c849347 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
se
7309d9d4a4 Make CONF1_ENABLE_MSK1 even less restriktive: Ignore slot ID ... 1995-10-17 23:30:11 +00:00
se
9b1dda8fb9 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
swallace
b2a70d6c38 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
swallace
a7a55e98e3 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
se
9d38676afa 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
phk
b14049734c 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