Commit Graph

4025 Commits

Author SHA1 Message Date
bde
449a11eb88 Introduced a type `vop_t' for vnode operation functions and used
it 1138 times (:-() in casts and a few more times in declarations.
This change is null for the i386.

The type has to be `typedef int vop_t(void *)' and not `typedef
int vop_t()' because `gcc -Wstrict-prototypes' warns about the
latter.  Since vnode op functions are called with args of different
(struct pointer) types, neither of these function types is any use
for type checking of the arg, so it would be preferable not to use
the complete function type, especially since using the complete
type requires adding 1138 casts to avoid compiler warnings and
another 40+ casts to reverse the function pointer conversions before
calling the functions.
1995-11-09 08:17:23 +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
phk
ed1a50b4d7 Fix some of the sysctl broke, and add a lot more to it. 1995-11-08 08:48:36 +00:00
phk
022ad6e833 Add qsort() to libkern, taken from libc. 1995-11-08 08:40:11 +00:00
dyson
1b03752acf Export a symbol that ext2fs wants (insmntque.) 1995-11-08 04:51:15 +00:00
dyson
12d1627c81 Cleaned up some lint and some obvious prototyping errors. 1995-11-08 04:50:00 +00:00
phk
9f443f927c missed one static thingie. 1995-11-07 14:10:19 +00:00
phk
ea7d29ed7a staticize private parts. 1995-11-07 14:06:45 +00:00
phk
06201558ed Make a lot of private stuff static.
Should anybody out there wonder about this vendetta against global
variables, it is basically to make it more visible what our interfaces
in the kernel really are.
I'm almost convinced we should have a
	#define PUBLIC /* public interface */
and use it in the #includes...
1995-11-07 13:39:31 +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
06d23c91c8 Remove uneccessary increment of the unit number. 1995-11-07 05:33:27 +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
gibbs
846ff71f2f Fix the long dreaded Wide bug and enable WIDEODD for reads. 1995-11-07 05:31:28 +00:00
dyson
1ffbdf1a44 This is a modification missed by me in the msync fixes a few days ago. 1995-11-07 05:09:43 +00:00
phk
a9b815ff73 Close PR misc/75. I thought this was done long time ago... 1995-11-06 17:28:31 +00:00
phk
a87b12906d On working the new sysctl vars a bit I realized that I needed more generality.
This is here now.  We can now access (the new) sysctl variables from the
kernel too and using functions to handle access is more sane now.
I will now attack sysctl variables in the rest of the kernel and get them
all converted to newspeak.
1995-11-06 16:18:52 +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
dg
aa13ab02a2 Initialize lock struct entries explicitly rather than calling bzero(). 1995-11-06 08:44:15 +00:00
dg
fc86291f97 Initialize the 3 remaining elements of the scsi_cmd struct rather than
bzeroing the whole thing in sdstart().
1995-11-06 08:19:24 +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
dyson
7d20c15d2f Omitted a '#if FIFO' in ext2_vnops.c
Submitted by:	Justin Gibbs
1995-11-06 04:05:01 +00:00
dyson
6190778944 This commit causes UFS to perform at Linux EXT2FS metadata rates. After
earlier discussions with DG, and a recent email exchange with SEF, I
decided to allow UFS to run wide-open on an experimental basis.  We
will probably support eventually multiple async modes, and this is
the fastest the we can expect.  Just use the -o async flag on the
UFS mount.  Good luck...
1995-11-06 03:21:41 +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
dyson
aa3705d78b Changes to existing files for ext2fs support. The UFS mods need rework
in the future as they are a bit crufty -- but at least the stuff is in the
tree now.
1995-11-05 23:36:07 +00:00
dyson
65a271ba6d Main code for the ext2fs filesystem. Please refer to the COPYRIGHT.INFO
file for GPL restrictions.  This code was ported to the BSD platform
by Godmar Back <gback@facility.cs.utah.edu> and specifically to FreeBSD
by John Dyson.  This code is still green and should be used with caution.
Additional changes to UFS necessary to make this code work will be commited
seperately.
Submitted by:	Godmar Back <gback@facility.cs.utah.edu>
Obtained from:	Lites/Mach4
1995-11-05 23:25:12 +00:00
dyson
b345e18c93 Fix ufs_bmap so that triple indirect blocks might work.
Submitted by:	Godmar Back <gback@facility.cs.utah.edu>
1995-11-05 23:07:37 +00:00
dyson
cfa6fda252 Make MNT_ASYNC more effective for UFS. It should not be too much more
dangerous than the original MNT_ASYNC.  There might be some minor
security considerations due to data writes not being posted as promptly
as before.  Meta-data operations are still not quite as fast as Linux,
but streaming I/O is still higher.
1995-11-05 21:01:15 +00:00
dyson
1b8e5404ee Greatly simplify the msync code. Eliminate complications in vm_pageout
for msyncing.  Remove a bug that manifests itself primarily on NFS
(the dirty range on the buffers is not set on msync.)
1995-11-05 20:46:03 +00:00
bde
d461b5899d Replaced bogus macros for entry points to unconfigured line disciplines
by functions.

tty_conf.c:
Cleaned up formatting of tables.

Removed another ARGSUSED for consistency.

conf.h:
Introduced typedefs for line discipline functions.

Backed out most of previous revision (it is done elsewhere).
1995-11-05 20:25:59 +00:00
gibbs
29af6ad502 Add eisa0 and remove ISA configuration line for ahc0. 1995-11-05 17:02:54 +00:00
peter
2e89929776 Workaround for conflicting kernel prototypes in user mode breaking make world
I've moved the #include <machine/conf.h> inside the #ifdef KERNEL
becuause things like modload #include <sys/conf.h> for the cdevsw definitions
but dont need the conflicting prototype for fdopen in stdio.h and
machine/conf.h.

Bruce may have a better fix for this, but for now I need a make world..
1995-11-05 09:37:28 +00:00
gibbs
93466c1a4a Conform to new probe/attach interface exported by aic7xxx.c.
Use ahcintr directly as interrupt handler.
1995-11-05 04:51:58 +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
gibbs
2cbe87800c Move aic7xxx register definitions from i386/scsi/aic7xxx.c to this file.
The hope is to make the sequencer and kernel code share this file, but
some work on our sequencer assembler will be needed first.
1995-11-05 04:37:25 +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
a85dc60d0b Fixed the type of feaintr(). The type of an EISA interrupt handler is
incompatible with the type of a PCI interrupt handler.

Fixed the type of pdc_pci_ifintr().  The type of a PCI interrupt handler
is too generic to pass arbitrary struct pointers.
1995-11-04 15:05:52 +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
246c28b0f9 Fixed the type of sscstrategy() (return void).
Removed sscdump() (it was never used).
Removed sscpsize() (it was never used, and returned a bogus value (ENXIO = 6
means a size of 6)).
1995-11-04 11:12:41 +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
dg
7743b883df Return EINVAL if the number of groups is less than 1 in setgroups().
Obtained from:	4.4BSD-Lite2
1995-11-04 10:50:55 +00:00
bde
3c4628f918 Prototype getvnode() in the right place (where ibcs2_stat.c can see it). 1995-11-04 10:35:26 +00:00