Commit Graph

6925 Commits

Author SHA1 Message Date
Jeroen Ruigrok van der Werven
80756f7e69 Convert last examples of controller' to device'. 2000-01-16 09:37:18 +00:00
Jonathan M. Bresler
f6a3d83f00 Add SPLASSERT() macro. SPLASSERT() compiles to a no-op
unless both "option INVARIANTS" and "options INVARIANT_SUPPORT"
        are defined in the kernel's config(8) file.

        SPLASSERT(expression, msg) used KASSERT to check that the
        expression is true, panic()ing the kernel otherwise.

Approved by: jkh
Reviewed by: jdp, dfr, phk, eivind and green
2000-01-16 02:10:21 +00:00
Tatsumi Hosokawa
5df7e2d6d1 Added "sn" and "pcic" entries to UserConfig. 2000-01-15 16:33:49 +00:00
Mark Newton
e88c343da8 Pre-freeze cleanups: Conditionalize debugging writes on DEBUG_SVR4,
eliminate warnings, etc.

Note that svr4_setcontext() and svr4_getcontext() currently don't work
correctly, which makes returning from signal handlers somewhat problematic
(for reference:  the SysVR4 setcontext() and getcontext() syscalls behave
like a low-level version of setjmp() and longjmp(), in that they save and
restore process context.  SysVR4 uses this to implement its signal handler
trampoline:  The context which is saved before a signal handler is called
is restored by an implicit call to the setcontext() syscall when the signal
handler returns.  That currently doesn't work right in this emulator,
although it used to).

I'm committing this anyway, with a caveat that it's buggy, so that I can
(a) note the bug for anyone who is wondering about it, and (b) get the
stuff I've done to improve (but not fix) the situation in the tree before
4.0 is released.  If I have time to fix it totally RSN I'll talk to Jordan
to see if I can bend him into letting me commit a bugfix :-)

Note that the situation now is somewhat better than it was yesterday
anyway, because I've fixed the handling of svr4_sigsets which previously
was causing signal handlers to not get called at all.  Stay tuned for
an upcoming commit to svr4_signal.c...
2000-01-15 15:29:37 +00:00
Mark Newton
bbe23e1d7c Include #warning about unconditionalizing VM86, which isn't supposed to work
in the svr4 emulator yet.
2000-01-15 15:23:14 +00:00
Matt Jacob
8904e70b83 Add reference to SES device (it won't be in GENERIC unless folks clamor
for it). Document it's only option.
2000-01-15 07:46:39 +00:00
Seigo Tanimura
25b734e7ee A processor with the CPUID of 0x?8? is Pentium III.
(aka Coppermine)

Noticed by:	Satoshi Sawada <k-sawata@gnoc2.comminet.or.jp>
Reviewd by:	Takuma Yamada <fuzzy2@st.rim.or.jp>
2000-01-15 06:29:03 +00:00
Tatsumi Hosokawa
2a37f70f26 Removed PCCARD config file again.
(PCCARD support has been merged into GENERIC config file)
2000-01-15 03:45:22 +00:00
Bill Paul
261b9b3066 Add driver support for the Aironet 4500/4800 series wireless 802.11
NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported,
though only the ISA and PCI ones will work on the alpha for now.
PCCARD, ISA and PCI attachments are all provided. Also provided an
ancontrol(8) utility for configuring the NIC, man pages, and updated
pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired
mode, although you must configure the kernel explicitly to support the
hardwired mode since you have to know the I/O address and port ahead
of time.

Special thanks to Doug Ambrisko for doing the initial newbus hackery
and getting it to work in infrastructure mode.
2000-01-14 20:41:03 +00:00
Luoqi Chen
768d9eee10 Remove pre-CAM aic driver. Support for apm, pccard and pc98 has yet to
be incorporated into the new CAM driver.
2000-01-14 14:18:00 +00:00
Sheldon Hearn
ade4d795c2 Protect the i386 machine-dependant type definitions of __int64_t
and __uint64_t from lint(1) with /* LONGLONG */ comments.
2000-01-14 10:41:39 +00:00
Peter Wemm
a7c517ceaf Add back the 'at ppbus?' for the lpt etc drivers. Now it's used. 2000-01-14 08:16:28 +00:00
Peter Wemm
c5191a983c Pre 4.0 tidy up.
Collect together the components of several drivers and export eisa from
the i386-only area (It's not, it's on some alphas too).  The code hasn't
been updated to work on the Alpha yet, but that can come later.

Repository copies were done a while ago.
Moving these now keeps them in consistant place across the 4.x series
as the newbusification progresses.

Submitted by:   mdodd
2000-01-14 07:14:17 +00:00
Peter Wemm
a9d565fcd2 Don't do device_set_desc() until after checking for PnP probes. Otherwise
things like sound cards can get called "Parallel port".  A note to the
unwary; the isa-pnp devices in the system are probed like PCI - each
device ID is passed to *all* isa probe routines to find the best match.
If the driver is not prepared to deal with this, it must abort in this
scenario or it will try and claim all PnP devices.
2000-01-14 05:03:23 +00:00
Bill Paul
0177987224 Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
Nicolas Souchu
0f210c922b Port of ppbus standalone framework to the newbus system.
Note1: the correct interrupt level is invoked correctly for each driver.
       For this purpose, drivers request the bus before being able to
       call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus
       core when drivers release it. Thus, when BUS_SETUP_INTR is called
       at ppbus driver level, ppbus checks that the caller owns the
       bus and stores the interrupt handler cookie (in order to unregister
       it later).

       Printing is impossible while plip link is up is still TRUE.
       vpo (ZIP driver) and lpt are make in such a way that
       using the ZIP and printing concurrently is permitted is also TRUE.

Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET
       is now needed to force chipset detection. If set, the flags 0x40
       still avoid detection at boot.

Port of the pcf(4) driver to the newbus system (was previously directly
connected to the rootbus and attached by a bogus pcf_isa_probe function).
2000-01-14 00:18:06 +00:00
Matthew N. Dodd
d09cfe6b93 Remove old copy of if_ed.c; it is no longer used. 2000-01-13 09:30:18 +00:00
Matthew N. Dodd
de9cfdd736 Allow SMP systems with an MCA bus to work properly.
Reviewed by:	peter
2000-01-13 09:09:02 +00:00
Matthew N. Dodd
919886a01f Correctly test CF. 2000-01-13 08:49:47 +00:00
Matthew N. Dodd
1f3e0d3de8 Remove the 'at isa? ...' bits for ex0.
Remove the confusing text about pccard and unit numbers for ep0.
2000-01-13 07:01:13 +00:00
Matthew N. Dodd
6b84907d69 Cosmetic cleanups. 2000-01-13 06:55:35 +00:00
Matthew N. Dodd
a0f5c15f22 Implement a DEVICE_IDENTIFY method. I want to revisit some of this later
but this is enough to get us going.
2000-01-13 06:52:51 +00:00
Matthew N. Dodd
b5e3bc2086 When I converted this driver to newbus I also cleaned up the code
layout.  It seems that I cleaned it up a bit too much and confused a few

if () {
	if () {
	} else {
	}
}

statements in the obvious manner.

This allows the driver to transmit packets again.  *sigh*
2000-01-13 06:46:02 +00:00
David E. O'Brien
c201f69bed Sort. 2000-01-12 02:30:42 +00:00
Bill Paul
8647d85ac3 Correctly set the data length when transmitting 802.3 frames (we need to
subtract the length of the SNAP header).
2000-01-12 00:57:27 +00:00
Kazutaka YOKOTA
35e61cbd71 Add a new mechanism, cndbctl(), to tell the console driver that
ddb is entered.  Don't refer to `in_Debugger' to see if we
are in the debugger.  (The variable used to be static in Debugger()
and wasn't updated if ddb is entered via traps and panic anyway.)

- Don't refer to `in_Debugger'.
- Add `db_active' to i386/i386/db_interface.d (as in
  alpha/alpha/db_interface.c).
- Remove cnpollc() stub from ddb/db_input.c.
- Add the dbctl function to syscons, pcvt, and sio. (The function for
  pcvt and sio is noop at the moment.)

Jointly developed by: bde and me

(The final version was tweaked by me and not reviewed by bde.  Thus,
if there is any error in this commit, that is entirely of mine, not
his.)

Some changes were obtained from: NetBSD
2000-01-11 14:54:01 +00:00
Marcel Moolenaar
0484ef81d9 Update syscalls to Linux kernel 2.3.38. These syscalls are
implemented as dummies to ease problem solving.
2000-01-10 22:19:06 +00:00
Marcel Moolenaar
20ebea30eb Update the syscalls to Linux kernel 2.3.38. 2000-01-10 22:16:35 +00:00
Marcel Moolenaar
759eb4613e Return Linux kernel version 2.2.12 by default. This is in line
with linux_base-6.1.
2000-01-10 13:09:08 +00:00
Poul-Henning Kamp
86807e1622 Remove controller miibus, there already were a device miibus. 2000-01-10 12:06:32 +00:00
Warner Losh
89ce66ed87 Uncomment pcic device and put pccard in GENERIC. PCCARD will be removed
in a little while as soon as I find all the places it is used in the
tree.
2000-01-10 02:29:23 +00:00
David E. O'Brien
5e93c21150 * Add `sym' SCSI driver options.
* bring in NIC comments from GENERIC
* slightly reorder a few things in an feable attempt at making the
  organization of LINT more logical.
2000-01-09 23:33:38 +00:00
Bruce Evans
c83b1328f1 Fixed style bugs related to the access functions for the bsfl and bsrl
i386 instructions.
2000-01-09 16:46:03 +00:00
Peter Wemm
d2b1bc7312 Put on my asbestos suit and move $mach/conf/*.$mach to conf/*.$mach as
hinted at in the previous config(8) commits.  I've spoken about this with
a few people and after the initial suprise wore off they thought it wasn't
a bad idea.  The upshot of it is that all the files*, Makefile*, options*
files are all right next to each other in the hope that people making
changes to one set will remember the others.

Note, config(8) looks to sys/conf first, and falls back to sys/$mach/conf
still, so this doesn't stop people working in subdirs for new platforms.
But once it's in the tree it can be moved next to the other files so that
the non-i386 platforms are (hopefully) treated a little better than as if
they were "second class" ports.

This does not change any user editable files.  the config program is
still run in the same directory as before, the per-platform files
(GENERIC, LINT etc) are still in the same place.
2000-01-09 15:29:10 +00:00
Bruce Evans
b7d1b97726 Removed defunct options EXTRA_SIO and KEY_DEBUG. 2000-01-09 14:47:38 +00:00
KATO Takenori
070e9ce61b Changed MACHINE -> MACHINE_ARCH to make the i386-kernel be able to
compiled on PC98.
2000-01-09 14:43:47 +00:00
Bruce Evans
4100386cb1 Put COMPAT_SVR4 in opt_dontuse.h for the same reasons as IBCS2 and
COMPAT_LINUX are there.  It shouldn't be and isn't used after config
time, except to complicate the svr4 module makefile.

Moved options for emulators to a separate section.
2000-01-09 10:58:39 +00:00
Bruce Evans
9e8c2fbfa0 Fixed a missing forward declaration. I don't know why I though the
declaration of `struct proc' in svr4_genassym.c was unused.  It was
just misplaced.
2000-01-09 09:57:19 +00:00
Bruce Evans
68b683dc58 Compile *_genassym.c with ordinary ${CFLAGS}. The (small) needs for
-U_KERNEL became negative when all all the genassym.c's were converted
to be cross-built.  Related cleanups: PARAM went away, but was still
used here; KERNEL was renamed to _KERNEL, but was still KERNEL here;
the deprecated macros $@ and $< were still used here.

Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that
genassym(1) doesn't need to support -o.

Removed half-baked hard-coded dependencies of *_genassym.o on headers.
These objects should be added to the list of objects in the depend
rule to get full dependencies.  This doesn't happen automatically
because they are not linked into the kernel.  Half baked dependencies
don't really help.
2000-01-09 08:24:27 +00:00
Bruce Evans
cfb95261b1 Quick fix for LINT breakage. KERNFORMAT went away, so don't use it
for trlld.o.
2000-01-09 07:50:42 +00:00
Peter Wemm
58fa7951a2 Bump configversion. The controller/device changes are upwards but not
downwards compatable.  If you try and config a s/controller/device/ kernel
with an old config(8), the results will be less than satisfactory.
2000-01-09 07:10:27 +00:00
Marcel Moolenaar
dca60efcc9 Convert the filesystem type returned in struct statfs by syscalls
linux_statfs and linux_fstatfs. Linux binaries testing this expect
the filesystem's magic number and not our vnode's tag.

PR: 15425
Tested by: Vladimir N. Silyaev <vsilyaev@mindspring.com>
2000-01-08 21:09:41 +00:00
Bruce Evans
7190c15a73 Include <stddef.h> here so that <sys/assym.h> can be unpolluted.
Include <sys/param.h> before <sys/assym.h> in case any of the magic
in the former is ever needed in the latter.

Removed an unused forward declaration and an unused include.
2000-01-08 19:56:03 +00:00
Bruce Evans
7eed718873 Include <stddef.h> here so that <sys/assym.h> can be unpolluted.
Include <sys/param.h> before <sys/assym.h> in case any of the magic
in the former is ever needed in the latter.
2000-01-08 19:53:18 +00:00
Peter Wemm
a052e7173c config(8) doesn't know anything about scsi devices like it used to, remove
the misleading comments to that effect.
Prune bogus 'at foo?' (smbus, iicbus, ppbus) appendages on things that
they are meaningless for.  It was just eye candy and wasn't used by
anything in the tree.  The interconnects were defined by the drivers
themselves and auto discovery.
(The new ppbus code may change this if it uses the resource_get_*() calls
 to find it's configured children if self discovery isn't possible)
2000-01-08 17:51:33 +00:00
Peter Wemm
f31f62f872 Further sync Alpha and i386 Makefiles. Remove KERNFORMAT = elf stuff as
it's always true on these platforms (and is likely to be on others as
well since loader is the one that is configured for whatever the boot
requirements are)
2000-01-08 17:31:35 +00:00
Peter Wemm
0909397395 genassym is ELF-only, therefore the kernel is now ELF-only as well. 2000-01-08 17:12:15 +00:00
Peter Wemm
8ab2eee110 Sync the sym0 description while here. It doesn't conflict with ncr0
and is enabled in GENERIC.
2000-01-08 16:19:33 +00:00
Peter Wemm
cecc952452 s/controller/device/ as per config(8) changes 2000-01-08 16:17:41 +00:00
Peter Wemm
70c43495f8 s/controller/device/ as per config(8) 2000-01-08 16:03:57 +00:00