Commit Graph

6852 Commits

Author SHA1 Message Date
Marcel Moolenaar
576642ef6f Fix style bug: order includes
Submitted by: bde
1999-10-04 13:55:35 +00:00
Poul-Henning Kamp
fd1976ec67 Remove unused B_FORMAT #define 1999-10-04 07:40:23 +00:00
Eivind Eklund
181d21375b Allow compilation with older versions of GCC, in order to make it possible
to bootstrap and work with -current from older versions of FreeBSD.
1999-10-03 21:15:25 +00:00
Marcel Moolenaar
77237db2b5 Reinstate the 4th argument to old signal handlers. Don't set it
when the handler uses siginfo_t.
1999-10-03 13:04:17 +00:00
Marcel Moolenaar
0afa439d45 Fix style bugs caused by using the wrong file to copy from. That one
gets fixed later on.

Reinstate the mysterious 4th argument to signal handlers and add some
comments on that.
1999-10-03 12:55:58 +00:00
Bruce Evans
503e666658 Fixed "misspelling" of bcmp as memcmp. memcmp doesn't exist in the
kernel, but gcc provides a pessimal builtin for it.

Makefile.i386:
Added a variable (CONF_CFLAGS) for configuration-specific compiler flags.

LINT:
Use CONF_CFLAGS to inhibit use of gcc builtins.
1999-10-03 07:09:31 +00:00
Bruce Evans
036a60b7b9 Removed redefinitions of CDRIOCBLANK and CDRIOCNEXTWRITEABLEADDR. 1999-10-03 04:12:07 +00:00
Matt Jacob
9f050ed597 Document SA_1FM_AT_EOD option. 1999-10-02 20:20:32 +00:00
Boris Popov
e83e232260 ncplib continued: add appropriate options to LINT. 1999-10-02 05:30:40 +00:00
Nick Sayer
dd35cab101 Prepare for the apm_saver screen saver module.
1. Break out the definition of the soft state structure into an include
file.

2. un-static the soft state and apm_display(), and group them under a
comment that notes the dependency.
1999-10-02 03:34:15 +00:00
Marcel Moolenaar
3196c2972d Implement the use of si_addr in siginfo_t.
Suggested by: jdp
1999-10-01 07:49:37 +00:00
Marcel Moolenaar
eb9df38223 Don't check %cs *after* it has being set in sigreturn. If the check
fails, applications could end up running in kernel mode (oops).

Submitted by: bde
1999-10-01 07:22:50 +00:00
Matthew N. Dodd
0f25802642 Back out an unintended commit. This wasn't supposed to be
in my work directory on freefall.
1999-10-01 05:31:27 +00:00
Matthew N. Dodd
6a025a98a6 Turn off and remove the 'old' if_ep ISA/EISA/PCCARD driver.
Turn on the 'new' if_ep driver which supports:

	ISA		3c509
	MCA		3c529
	EISA		3c579
	PCCARD		3c589

I think all we're missing is support for the VME bus and S-100 bus
Etherlink III cards.

The new code has been tested by a number of people and all the important
bits work.  I've not been able to test the EISA code but will do so once
my hardware arrives.  Since I've changed nothing in the EISA code I suspect
it will perform the same manner as before.

Future changes involve whacking the ISA and PCCARD front ends to use
newbus and to convert the driver to bus_space and make it use ifmedia.

This is the first working network driver that supports MCA bus devices btw.

Enjoy.
1999-10-01 05:24:27 +00:00
Marcel Moolenaar
956d3333ca sigset_t change (part 4 of 5)
-----------------------------

The compatibility code and/or emulators have been updated:

iBCS2 now mostly uses the older syscalls. SVR4 now properly
handles all signals. This has been achieved by using the
new sigset_t throughout the emulator. The Linuxulator has
been severely updated. Internally the new Linux sigset_t is
made the default. These are then mapped to and from the
new FreeBSD sigset_t.

Also, rt_sigsuspend has been implemented in the Linuxulator.
Implementing this syscall basicly caused all this sigset_t
changing in the first place and the syscall has been used
throughout the change as a means for testing. It basicly is
too much work to undo the implementation so that it can
later be added again.

A special note on the use of sv_sigtbl and sv_sigsize in
struct sysentvec:
Every signal larger than sv_sigsize is not translated and is
passed on to the signal handler unmodified. Signals in the
range 1 upto and including sv_sigsize are translated.
The rationale is that only the system defined signals need to
be translated.

The emulators also have been updated so that the translation
tables are only indexed for valid (system defined) signals.
This change also fixes the translation bug already in the
SVR4 emulator.
1999-09-29 15:12:18 +00:00
Marcel Moolenaar
91078fca0c sigset_t change (part 3 of 5)
-----------------------------

By introducing a new sigframe so that the signal handler operates
on the new siginfo_t and on ucontext_t instead of sigcontext, we
now need two version of sendsig and sigreturn.

A flag in struct proc determines whether the process expects an
old sigframe or a new sigframe. The signal trampoline handles
which sigreturn to call. It does this by testing for a magic
cookie in the frame.

The alpha uses osigreturn to implement longjmp. This means that
osigreturn is not only used for compatibility with existing
binaries. To handle the new sigset_t, setjmp saves it in
sc_reserved (see NOTE).

the struct sigframe has been moved from frame.h to sigframe.h
to handle the complex header dependencies that was caused by
the new sigframe.

NOTE: For the i386, the size of jmp_buf has been increased to hold
      the new sigset_t. On the alpha this has been prevented by
      using sc_reserved in sigcontext.
1999-09-29 15:06:27 +00:00
Poul-Henning Kamp
1ab305ef60 Introduce ttyread() and ttywrite() which do the canonical thing.
Use them in many tty drivers.

Reviewed by: julian, bde
1999-09-28 11:45:31 +00:00
Warner Losh
896f49b096 Newbusification of aha. dfr sent me the first cut, and I made it
work.  Be more verbose when one cannot allocate IRQ, et al since this
is a common configuration problem.  The cards have the IRQ soft wired
into their BIOS and do not try to do collision detection.  This can
cause problems when this IRQ is the same as another card/device.

The PNP hasn't been tested.  My PNP board is in a deployed system.
I'll sneak in testing of it sometime later.  I've been able to mount
the 3.3R cdrom that arrived today and access files off it.

Submitted by: dfr
1999-09-28 02:39:45 +00:00
KATO Takenori
ac1bacc959 Removed pc98 code. 1999-09-27 03:37:36 +00:00
KATO Takenori
d611603da2 Move if_ed.c back to files.i386 since pc98 has a special ed driver.
Reviewed by:	peter
1999-09-27 03:11:36 +00:00
Bill Fumerola
c9c350b73e Spell 'timecounter' correctly. 1999-09-27 02:13:38 +00:00
Warner Losh
b0d821b84a Revert non-aha changes. They weren't supposed to go in. 1999-09-27 02:07:12 +00:00
Peter Wemm
903d01a38a Seperate pcaudio from isa/snd and isa/sound - it's not worth this breaking
each time there is a change.
1999-09-27 01:52:37 +00:00
Warner Losh
a78b40a525 Move aha driver to dev/aha like the other drivers.
Code relocation only, no code changes.
1999-09-27 01:51:18 +00:00
Peter Wemm
a534126855 Bid a fond farewell to these files, they live on various forms in
dev/pcm/* and dev/pcm/isa/*
1999-09-26 22:20:29 +00:00
Peter Wemm
37464758e3 GC bdbtofsb() 1999-09-26 19:05:39 +00:00
Eivind Eklund
3e148c4099 Move the declaration of panic() from sys/systm.h to sys/param.h.
Rationale: Wider access, so we can add assertions to header files.
panicstr is still in sys/systm.h

Suggested by:   phk
Discussed with: peter
1999-09-26 18:19:49 +00:00
Matt Jacob
f327fe4c57 Fix from Tor so that if we enter the debugger in the tristate going to
SMP (other CPUs stopped but SMP mode not really started).

Obtained from:Tor.Egge@fast.no
1999-09-25 18:36:31 +00:00
Matt Jacob
7c4bd33778 Fix from Tor so that if we enter the debugger in the tristate going to
SMP (other CPUs stopped but SMP mode not really started).

Obtained from:	Tor.Egge@fast.no
1999-09-25 18:35:38 +00:00
Poul-Henning Kamp
d6a0e38a1b Remove five now unused fields from struct cdevsw. They should never
have been there in the first place.  A GENERIC kernel shrinks almost 1k.

Add a slightly different safetybelt under nostop for tty drivers.

Add some missing FreeBSD tags
1999-09-25 18:24:47 +00:00
Poul-Henning Kamp
ae8e1d08d7 This patch clears the way for removing a number of tty related
fields in struct cdevsw:

        d_stop          moved to struct tty.
        d_reset         already unused.
        d_devtotty      linkage now provided by dev_t->si_tty.

These fields will be removed from struct cdevsw together with
d_params and d_maxio Real Soon Now.

The changes in this patch consist of:

        initialize dev->si_tty in *_open()
        initialize tty->t_stop
        remove devtotty functions
        rename ttpoll to ttypoll
        a few adjustments to these changes in the generic code
        a bump of __FreeBSD_version
        add a couple of FreeBSD tags
1999-09-25 16:21:39 +00:00
Poul-Henning Kamp
46783fb897 Remove NBPF conditionality of bpf calls in most of our network drivers.
This means that we will not have to have a bpf and a non-bpf version
of our driver modules.

This does not open any security hole, because the bpf core isn't loadable

The drivers left unchanged are the "cross platform" drivers where the respective
maintainers are urged to DTRT, whatever that may be.

Add a couple of missing FreeBSD tags.
1999-09-25 12:06:01 +00:00
Poul-Henning Kamp
40bc58df9a Oops! I enabled SOFTUPDATES by accident.
Pointed out by:	eivind
1999-09-25 11:28:18 +00:00
David E. O'Brien
2b832347ec Switch the order of a two tests so that the error actually has to occur
for you to be told there was an error [during verbose boot].

I poked him for the fix, he poked me to get it committed.

Submitted by:	Jason Young <doogie@anet-stl.com>
1999-09-24 16:27:32 +00:00
Marcel Moolenaar
1beb0dc732 Linux doesn't complain if you remove a msg queue that doesn't exist
(given the proper permissions).
1999-09-23 09:57:45 +00:00
John Hay
7210378891 Make the frequency tuneable via a sysctl.
Reviewed by:	phk
1999-09-23 06:02:30 +00:00
Peter Wemm
9d75443c59 Fix a commit that shouldn't have snuck in. Rev 1.12 was a part of the
newbusification of aha, not device_get_flags() related...
1999-09-23 05:01:52 +00:00
Jordan K. Hubbard
a236d14c32 MFS: firewall -> firewall_type 1999-09-23 04:22:33 +00:00
Bill Paul
98a229f65e As suggested by phk, unconditionalize BPF support in these drivers. Since
there are stubs compiled into the kernel if BPF support is not enabled,
there aren't any problems with unresolved symbols. The modules in /modules
are compiled with BPF support enabled anyway, so the most this will do is
bloat GENERIC a little.
1999-09-23 03:32:57 +00:00
Luoqi Chen
f581b15f47 Regeneration. 1999-09-22 22:05:37 +00:00
Luoqi Chen
2323686abc Implement linux_ioperm() syscall. Fix linux_iopl() to use the level argument.
SVGAlib should now work.

Reviewed by:	marcel
1999-09-22 22:01:51 +00:00
Luoqi Chen
cfca102355 Display CPU (BSP) clock speed on SMP systems. 1999-09-22 21:21:53 +00:00
Bill Paul
efee742ecc Mention in the documentation that the AOpen/Acer ALN-320 is a supported
ethernet card (PCI, VIA Rhine II chipset).
1999-09-22 19:46:14 +00:00
Søren Schmidt
30b7a8f12e Oops, the syntax didn't work that way... 1999-09-22 19:15:54 +00:00
Søren Schmidt
fbf6ea790a Support quad & max speeds in wormcontrol.
A bit more general cleanup.
1999-09-22 12:04:51 +00:00
Matthew Dillon
8b22cebb2c Back out a portion of the last commit. DFLTPHYS and MAXPHYS cannot
be set by a kernel conf option due to the struct buf structural
    dependancy (sizing of b_pages[]) creating a conflict with modules
    (which are not compiled with kernel config options overrides).

    We'll be able to sysctl these two later on when the buffer subsystem
    is revamped.
1999-09-22 05:48:31 +00:00
Bill Paul
1088f6c7c1 Spruce up the ADMtek driver: conver to newbus, miibus and add support
for the AN985 "Centaur" chip, which is apparently the next genetation
of the "Comet." The AN985 is also a tulip clone and is similar to the
AL981 except that it uses a 99C66 EEPROM and a serial MII interface
(instead of direct access to the PHY registers).

Also updated various documentation to mention the AN985 and created
a loadable module.

I don't think there are any cards that use this chip on the market yet:
the datasheet I got from ADMtek has boxes with big X's in them where the
diagrams should be, and the sample boards I got have chips without any
artwork on them.
1999-09-22 05:07:51 +00:00
Matthew Dillon
a59d364a23 Change default block size for user VBLK device access from 2K to PAGE_SIZE
(4K on an i386, 8K on an alpha).

    Make BLKDEV_IOSIZE, DFLTPHYS, and MAXPHYS kernel-configurable.
1999-09-22 04:11:55 +00:00
Poul-Henning Kamp
8b3642e112 Add md driver to LINT 1999-09-21 11:15:58 +00:00
Poul-Henning Kamp
00a6a3c65f Add an experimental Memory-Disk driver. This driver will allocate
memory with malloc(9) using a few tricks to save space on the way.
1999-09-21 11:00:49 +00:00
Poul-Henning Kamp
163473ebd5 Print out flags value 1999-09-21 10:51:47 +00:00
Poul-Henning Kamp
2ab8cd46e9 Set si_iosize_max rather than d_maxio.
Register devsw in *attach instead of a SYSINIT.
1999-09-20 19:58:38 +00:00
Matthew Dillon
4cc712004c Fix bug in pipe code relating to writes of mmap'd but illegal address
spaces which cross a segment boundry in the page table.  pmap_kextract()
    is not designed for access to the user space portion of the page
    table and cannot handle the null-page-directory-entry case.

    The fix is to have vm_fault_quick() return a success or failure which
    is then used to avoid calling pmap_kextract().
1999-09-20 19:08:48 +00:00
Poul-Henning Kamp
f7d9e545c0 Trying to set BAD144 handling on a CD is sufficiently "Dont Do That
then" that we don't need to give the ioctl special treatment.
1999-09-20 17:06:29 +00:00
Poul-Henning Kamp
81f7c76af5 Add a DSO_BAD144 flag which indicates that the driver actually understand
BAD144 handling.

Reject DIOCSBAD and labels with BAD144 tables if the driver cannot grok it.

Reviewed by:    bde
1999-09-20 17:04:39 +00:00
Poul-Henning Kamp
624aff9227 if_edreg.h moved... 1999-09-20 16:59:55 +00:00
Mitsuru IWASAKI
43834dfd27 Return immediately from apm_suspend() when APM BIOS wasn't initialized.
Pressing Alt-Pause key will cause machine to reboot with apm disabled.

PR:		i386/13817
Submitted by:	yokota
1999-09-20 15:29:23 +00:00
Poul-Henning Kamp
24514292fa On PIIX4 based SMP systems use the PMTMR register for timecounting.
It is about 2.5 microseconds or roughly 3 times faster to use this
"PIIX" timecounter than the "i8254" timecounter.  Resolution is
also 3 times better.

The code cheats and don't register the PCI device, because other pieces
of code want to use it too.

Originally spotted by:  msmith
1999-09-20 07:52:39 +00:00
Peter Wemm
814e16091b Make if_ed work again on pci, isa, isapnp. The hack to make it work on
PCCARD is pretty revolting but should buy us time while the pccard driver
angle is sorted out.  A commit for the MCA ed attachment will follow
shortly.
1999-09-20 05:48:16 +00:00
Bill Paul
ae3b8c19b1 Convert the VIA Rhine driver to miibus. 1999-09-19 22:03:31 +00:00
Brian Feldman
13ccadd4b0 This is what was "fdfix2.patch," a fix for fd sharing. It's pretty
far-reaching in fd-land, so you'll want to consult the code for
changes.  The biggest change is that now, you don't use
	fp->f_ops->fo_foo(fp, bar)
but instead
	fo_foo(fp, bar),
which increments and decrements the fp refcount upon entry and exit.
Two new calls, fhold() and fdrop(), are provided.  Each does what it
seems like it should, and if fdrop() brings the refcount to zero, the
fd is freed as well.

Thanks to peter ("to hell with it, it looks ok to me.") for his review.
Thanks to msmith for keeping me from putting locks everywhere :)

Reviewed by:	peter
1999-09-19 17:00:25 +00:00
David E. O'Brien
34f08a7227 Make `ed' PC-Cards work again. It has been over two weeks that laptop
users have suffered from this breakage, w/o commitment from someone that
they would fix the problems.

This effectively backs out revs 1.{157-160}.  It does however fix the
build problem that caused 1.157 to be committed.

If the changes from rev 1.156-1.160 can't be fully tested by the
committer, may I offer posting a diff in the freebsd-current mailing
list for broader testing before inflicting this breakage again.
1999-09-19 07:24:07 +00:00
David E. O'Brien
424baf384e This adds support for the 3Com Megahertz 574B ethernet 16-bit PC-Card.
1) Reworked the probe routine
   2) Addition of the 574B's product ID.
   3) Added useful info when booting verbosely.

Submitted by:	Jason Young <doogie@anet-stl.com>
1999-09-19 06:20:23 +00:00
Poul-Henning Kamp
2186cd9e8d Use devstat_end_transaction_buf() rather than Use devstat_end_transaction() 1999-09-18 21:30:27 +00:00
Marcel Moolenaar
13d9e61a67 Fix getcwd. It must return the length of the path including the terminating 0.
While I'm here, fix style and debug printf.

Fix derived from patch by: Darryl Okahata <darrylo@sr.hp.com>
1999-09-17 08:35:08 +00:00
Ollivier Robert
76b7b29ed0 wlinit() must be called to recalculate the multicast filter.
Submitted by:	Francis Dupont <Francis.Dupont@inria.fr>
1999-09-15 12:49:03 +00:00
Peter Wemm
0e27edc0e2 The sense of probes has inverted. They return an error, rather than
true/false.  Fix ed_probe_HP_pclanp() so that it doesn't "succeed" on
non-existing hardware.

Submitted by:	Mark Hittinger <bugs@freebsd.netcom.com>
1999-09-13 19:14:43 +00:00
Bruce Evans
887ba12fc5 Removed diskerr()'s unused d_name arg and updated callers. This fixes
warnings caused by the arg having the wrong type (not const enough).
The arg was also wrong (a full name instead of a short one) for calls
from from subr_diskmbr.c and pc98/diskslice_machdep.c.
1999-09-13 12:59:41 +00:00
Dag-Erling Smørgrav
8dc47ef606 Fix disordering introduced in my previous commit.
Pointed out by:	bde
1999-09-13 09:45:07 +00:00
Dag-Erling Smørgrav
01b9141584 "\t\t" -> " \t" as per rev. 1.611 (mangled in the previous commit)
Pointed out by:	bde
1999-09-13 08:36:15 +00:00
Brian Feldman
49c684571a Correction: mem.c devices are "D_MEM" (and D_MEM is added.)
Taken issue with by:	phk
1999-09-12 18:48:07 +00:00
Dag-Erling Smørgrav
e46cd3d4d2 Add the net.inet.tcp.restrict_rst and net.inet.tcp.drop_synfin sysctl
variables, conditional on the TCP_RESTRICT_RST and TCP_DROP_SYNFIN kernel
options, respectively. See the comments in LINT for details.
1999-09-12 17:22:08 +00:00
Brian Feldman
4871de2f17 Mainly stylistic fixes:
1. return( -> return (
	2. inappropriate ENODEV -> ENOTTY
	3. some unreachable cases removed
1999-09-12 16:44:07 +00:00
Brian Feldman
1a351c9ee4 Make the d_flags of mem devices D_DISK to signify that they are disk-like
random-seekable devices. This lets dd(1) know it can seek on them. It
also affects spec_vnopen() (IIRC), but only makes the path of execution smaller,
and does not change its behavior. This is when securelevel >= 2.
1999-09-12 16:38:43 +00:00
Poul-Henning Kamp
be3743d910 Change scheduling to use on the fly determination rather than presorting. 1999-09-12 08:13:26 +00:00
Mike Smith
03c6be5cdc Some PnP BIOSsen return garbage in the high byte of the number-of-devices
field (or don't set the high byte at all).  Clear it to avoid reporting
a silly number of devices.

Reported by:	phk
1999-09-12 06:58:33 +00:00
Peter Wemm
1a16554b8f Make pmap_mapdev() deal with non-page-aligned requests.
Add a corresponding pmap_unmapdev() to release the KVM back to kernel_map.
1999-09-11 20:31:32 +00:00
Justin T. Gibbs
0e9857132a Add the AMD driver. 1999-09-11 16:05:48 +00:00
Mitsuru IWASAKI
38d336b5b8 Handle CAPABILITIESCHANGE event.
Document USERSTANDBYREQ and CAPABILITIESCHANGE events to apmd manpage.
1999-09-11 16:00:28 +00:00
Nick Sayer
d34e591d4d Handle UserStandbyRequests as well as the other 3 members of the
{,USER}{STANDBY,SUSPEND}REQ matrix.
1999-09-11 15:12:31 +00:00
Poul-Henning Kamp
00cd7a584a System clock don't update, because C6's TSC stop count up when run
HALT instruction.

PR:		13683
Submitted by:	IMAI Takeshi <take-i@ceres.dti.ne.jp>
Reviewed by:	phk
1999-09-10 20:45:50 +00:00
Peter Wemm
ebb30c0b3a Add the CR4 values for P3 SIMD enabling support. FXSR tells the cpu that
the OS does FXSAVE/FXRESTOR instructions (fast FPU save/restore) during
context switching and also enables SIMD since this enables saving the
extra CPU context that isn't saved with normal FPU regs.  The other
enables the SIMD instructions to use exception 16 (FPU) error reporting.
Note, this doesn't turn on SIMD, just defines the bits.
1999-09-10 15:51:44 +00:00
Peter Wemm
594898d458 Add text for the PN (Processor serial number) and XMM (extended SIMD/MMX2/
support), as well as a bunch of comments for what the various bits mean
(those that I remember anyway).
1999-09-10 15:47:54 +00:00
Mike Smith
c3c011f933 Look for the right ACPI signature.
Submitted by:	dfr
1999-09-10 08:49:19 +00:00
Mike Smith
97ecdb1d58 Invoke smp_rendezvous_action() using the a.out compatible asnames.h
technique (bleagh).
1999-09-10 01:17:01 +00:00
Julian Elischer
85a219d201 Changes to centralise the default blocksize behaviour.
More likely to follow.

Submitted by: phk@freebsd.org
1999-09-09 19:08:44 +00:00
Peter Wemm
c6a5d1a636 Seperate the miibus pci ethernet drivers from the non-miibus drivers so
it's a little clearer which is which from just looking at GENERIC.
1999-09-09 18:30:58 +00:00
Peter Wemm
c9d9f1a046 Zap EXPORTMFS, it's no longer an option. (mfs_vfsops.c rev 1.58) 1999-09-08 22:03:46 +00:00
Mark Murray
b621cf69e6 Catch up with GENERIC. This file is creaming to be automatically
generated form GENERIC. Any volunteers? I thought not :-). OK;
I'll do it.
1999-09-08 19:02:26 +00:00
Poul-Henning Kamp
b24d30561d Make unused tape bmajors in past tense. 1999-09-08 18:46:22 +00:00
Poul-Henning Kamp
c27b8405da Don't register a bmajor. 1999-09-08 18:45:58 +00:00
Poul-Henning Kamp
6523748af1 Make sa/bdev, gd/bdev and gd/cdev as past-tense. 1999-09-08 17:02:40 +00:00
Peter Wemm
b720111ca3 Restore old sio driver for Bruce. We'll fix the bus problems in nsio
instead.
1999-09-08 11:08:50 +00:00
Luoqi Chen
ab6ec55891 Save %gs in sigcontext when delivering a signal and restore them upon
return (in signal trampoline code). I plan to do the same on -stable,
so that we have a consistent interface to userland applications.

Reviewed by:	bde
1999-09-07 20:02:24 +00:00
Peter Wemm
085615b39a Doug missed an isa_get_flags(). 1999-09-07 13:08:25 +00:00
Doug Rabson
062acdb7e7 Change isa_get/set_flags() to device_get/set_flags(). 1999-09-07 08:42:49 +00:00
Doug Rabson
5ca8dcf66e Update for newpcm. 1999-09-06 20:37:07 +00:00
Peter Wemm
e5174d14c5 Repo copy isa/sio* to dev/sio/sio* in preperation for extra bus methods
including pci.
Also, eliminate NSIOTOT and do it dynamically where it matters.
1999-09-06 14:06:23 +00:00
Peter Wemm
6f7368eef4 Add id_iosize as used by pccard. 1999-09-06 11:37:23 +00:00
Warner Losh
19032f4b33 Add pccard child to nexus. A better version would take care of this
with an identify method, but that has not been implemented.

Forgotten by: imp
1999-09-06 06:39:17 +00:00
Bill Paul
e5a9fd5435 This commit adds driver support for PCI fast ethernet NICs based on
the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation
XPressNet. Datasheet is available from www.davicom8.com.

The DM910x chips are still more tulip clones. The API is reproduced
pretty faithfully, unfortunately the performance is pretty bad. The
transmitter seems to have a lot of problems DMAing multi-fragment
packets. The only way to make it work reliably is to coalesce transmitted
packets into a single contiguous buffer. The Linux driver (written by
Davicom) actually does something similar to this. I can't recomment this
NIC as anything more than a "connectivity solution."

This driver uses newbus and miibus and is supported on both i386
and alpha platforms.
1999-09-06 06:14:30 +00:00
Bill Paul
9555e59a1e This commit adds driver support for the Silicon Integrated Systems
SiS 900 and SiS 7016 PCI fast ethernet chipsets. Full manuals for the
SiS chips can be found at www.sis.com.tw.

This is a fairly simple chipset. The receiver uses a 128-bit multicast
hash table and single perfect entry for the station address. Transmit and
receive DMA and FIFO thresholds are easily tuneable. Documentation is
pretty decent and performance is not bad, even on my crufty 486. This
driver uses newbus and miibus and is supported on both the i386 and
alpha architectures.
1999-09-05 21:01:03 +00:00
Peter Wemm
05385ecdf7 Set up FPU state on the AP.
Tested by:	phk
1999-09-05 20:17:40 +00:00
Peter Wemm
07f5372c67 Temporarily disable k6_mem (k6 write combining) at Brian's request since
it appears to be causing problems under XFree3.9.16.
1999-09-05 16:55:44 +00:00
Brian Feldman
c48a1139c2 M_WAITOK->M_NOWAIT 1999-09-05 15:45:57 +00:00
Peter Wemm
3ca1647688 $Id$ -> $FreeBSD$ 1999-09-05 15:21:05 +00:00
Peter Wemm
ae04ca6157 Don't install stubs, make a compat symlink at buildworld time.
All internal references to <machine/soundcard.h> are (hopefully :-) gone.
1999-09-04 15:46:31 +00:00
Peter Wemm
978f5d6c5d machine/soundcard.h is now in the standard location - sys/soundcard.h 1999-09-04 15:22:17 +00:00
Doug Rabson
3e05dd9c7c Make <machine/soundcard.h> a stub which includes <sys/soundcard.h> 1999-09-04 14:35:18 +00:00
Peter Wemm
5a90d999a9 <machine/soundcard.h> -> <sys/soundcard.h>, since it's an exported API
that's arch neutral and OSS API and Linux API compatable.
1999-09-04 14:15:26 +00:00
Bruce Evans
d7320dd1a0 Removed defunct option NULLFS_DIAGNOSTIC. 1999-09-04 12:44:38 +00:00
Peter Wemm
0f09dc9341 if_ed doesn't use the wrappers anymore. 1999-09-03 19:15:13 +00:00
Peter Wemm
599d7638dd Commit a checkpoint of an updated if_ed driver. This is pretty much
Doug Rabson's work, with a few tweaks from Warner Losh and I.  There are
still some quirks to resolve, but the old driver is presently breaking
the build.
1999-09-03 19:10:56 +00:00
Marcel Moolenaar
6771d80337 I missed the namechange of field desc in struct i386_ldt_args into descs while
reviewing luoqi's changes...

Pointed out by: luoqi
1999-09-03 06:18:39 +00:00
Julian Elischer
7012bab988 Revert a bunch of contraversial changes by PHK. After
a quick think and discussion among various people some form of some of
these changes will probably be recommitted.

The reversion requested was requested by dg while discussions proceed.
PHK has indicated that he can live with this, and it has been agreed
that some form of some of these changes may return shortly after further
discussion.
1999-09-03 05:16:59 +00:00
Julian Elischer
439a479b3b remove some out-of-scope DEVFS references..
(don't worry greg.. cosmetic only)
1999-09-03 05:08:05 +00:00
Matthew N. Dodd
478c54971b SYSINIT() needs sys/kernel.h. Include it. 1999-09-03 03:14:36 +00:00
Matthew N. Dodd
7612e4c122 This adds the i386 specific support for systems with a MicroChannel
Architecture bus.

Reviewed by: msmith
1999-09-03 02:04:28 +00:00
Marcel Moolenaar
ff78e85043 Implementation of the modify_ldt syscall. Use the sysarch() interface to do
the actual work. When USER_LDT is not defined for a kernel, sysarch returns
EOPNOTSUPP. Display a message in that case and return ENOSYS to userland.

Reviewed by: luoqi
1999-09-02 21:50:42 +00:00
Luoqi Chen
7a2bb3b800 Some reorganization of sysarch() interface:
1. Move definitions of struct i386_*_args to the header file sysarch.h,
   since they are part of the sysarch API. struct i386_get_ldt_args and
   i386_set_ldt_args were identical, therefore make them into one
   struct i386_ldt_args. Libc should use these definitions as well.
2. Return a more sensible EOPNOTSUPP for unknown operations.

Reviewed by:	marcel
1999-09-02 20:59:50 +00:00
KATO Takenori
8b18acc0df - Added new macros ED_P1_MAR(i) and ED_P1_PAR(i) that replace
`ED_P1_MAR + i' and `ED_P1_PAR + i', respectively.
- convert ED_PC_RESET and ED_PC_MISC into relative offset from
  ED_PC_ASIC_OFFSET (those macros are not used in current source).

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-09-02 15:06:23 +00:00
KATO Takenori
c322fa140e The ed_probe_Novell should not clear id_maddr when it fails to probe.
This fixes potential panic by kvtop at addr == 0.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-09-02 15:01:56 +00:00
Kazutaka YOKOTA
a847d1e2d7 Do not call the VESA BIOS if the current video mode is not one of
the VESA modes.
1999-09-02 08:08:49 +00:00
Peter Wemm
6c233a7138 Update for new pnp includes 1999-09-02 05:37:25 +00:00
Peter Wemm
6970268ef9 So that there is no confusion, zap these now. pnpinfo(8) should compile
with the new includes.
1999-09-02 05:22:16 +00:00
Peter Wemm
a3d5686298 Stub out the old pnp code till these are converted so GENERIC builds again. 1999-09-02 04:37:07 +00:00
Doug Rabson
f6b6a3497c This is part of an untested set of changes to the ed driver to support
the new PnP code. Since the bulk of the driver changes are not being
committed at this time, it will not affect the driver. The code is being
committed early to allow others synchronise changes.
1999-09-01 21:21:03 +00:00
Doug Rabson
4249382df0 This represents essentially a complete rewrite of the ISA PnP code. The
new system is integrated with the ISA bus code more cleanly and allows
the future addition of more enumerators such as PnPBIOS and ACPI.

This commit also enables the new pcm driver since it is somewhat tied to
the new PnP code.
1999-09-01 20:53:43 +00:00
Nick Sayer
c94abdcc97 quoted string change: the si driver also covers the Specialix "SX"
product.
1999-09-01 16:42:54 +00:00
Poul-Henning Kamp
db6f05bfac Set si_bsize_phys and si_bsize_max in all legacy CD drivers. 1999-09-01 13:03:05 +00:00
Poul-Henning Kamp
df8f292395 Try to win back the "removal of most crufty code" trophy from markm:
Remove WD formatting code which has never worked in 386bsd or FreeBSD.

Remove  DIOCSSTEP and DIOCSRETRIES ioctls as well, they belong in
history, along with the SMD disks.

OK'ed by:	bde
1999-09-01 11:32:52 +00:00
Jordan K. Hubbard
3dd1fb6608 Try and commit the tun comment fix again; I have no idea why there
was a clash the last time, leading me to think that it had already
been fixed.
1999-09-01 09:01:54 +00:00
Peter Wemm
1be9d26e4a Eliminate some magic numbers. 1999-09-01 06:34:24 +00:00
Brian Somers
3e5eed686b ppp(1) -> ppp(8) 1999-09-01 00:51:23 +00:00
Poul-Henning Kamp
586e1b7b46 Make buffered acces to bdevs from userland controllable with
a sysctl vfs.bdev_access.
1999-08-31 21:01:57 +00:00
Yoshihiro Takahashi
4d7e370ac4 C-NET(9N)C support (PC-98 only).
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-08-31 12:37:35 +00:00
Mike Smith
ac3595b017 Make the error return from mem_range_attr_get actually do something useful
(return an error to the caller)
1999-08-31 01:00:30 +00:00
Mike Smith
4af396a52d Check that there is memory range support before attempting to perform such
an operation, as a kernel client may not have previously checked the CPU
type (it may not be able to).

Also correct the function declaration style for the mem_range functions to
match the rest of this file (oops).

Submitted by:	gibbs
1999-08-30 22:13:28 +00:00
Poul-Henning Kamp
e45a8fa69d Null commit to get last commit message recorded:
Avoid name clash with dev_t member si_tty.
1999-08-30 20:52:14 +00:00
Poul-Henning Kamp
3608e384ca *** empty log message *** 1999-08-30 20:47:29 +00:00
Luoqi Chen
5ef84cd20e Wrong sleep addr passed to wakeup.
Submitted by:	Vsevolod Lobko	seva@sevasoft.alex-ua.com
1999-08-30 18:35:31 +00:00
Poul-Henning Kamp
02e1576966 Make bdev userland access work like cdev userland access unless
the highly non-recommended option ALLOW_BDEV_ACCESS is used.

(bdev access is evil because you don't get write errors reported.)

Kill si_bsize_best before it kills Matt :-)

Use the specfs routines rather having cloned copies in devfs.
1999-08-30 07:56:23 +00:00
Bruce Evans
4047cd0bb2 Converted the silly SAFTEY option into a new-style option by renaming it to
DIAGNOSTIC.

Fixed an English style bug in the panic messages controlled by SAFETY.
1999-08-30 07:08:04 +00:00
Mitsuru IWASAKI
c610e9fe39 ident GENERIC -> ident PCCARD
Okayed by:	hosokawa
1999-08-29 16:58:40 +00:00
Marcel Moolenaar
e459b442df Fix a braino: Linux minor device numbers are 8 bits wide and not 10. 1999-08-29 11:47:01 +00:00
Bruce Evans
09c1244640 Removed dysfunctional/defunct options KERNFS_DIAGNOSTIC,
UMAPFS_DIAGNOSTIC and UNION_DIAGNOSTIC.  Uncommented NULLFS_DIAGNOSTIC.
It is as bogus as the above three but since it is already a new-style
option it is easier to use it than to fix it.
1999-08-29 10:14:59 +00:00
Poul-Henning Kamp
f054c29093 Merge alpha and pc98 changes into i386 MBR handling code and replace all
three copies with one copy in MI land.
1999-08-29 09:12:54 +00:00
Marcel Moolenaar
d4c45842d7 Fix a missing '-1' in the size argument of copyout in getgroups. Spotted while
reviewing the MFC in -stable.
1999-08-29 08:52:38 +00:00
Poul-Henning Kamp
94db13fe98 Fix various trivial warnings from LINT 1999-08-28 19:44:07 +00:00
Poul-Henning Kamp
10af1a2b5f We don't need to pass the diskname argument all over the diskslice/label
code, we can find the name from any convenient dev_t
1999-08-28 14:33:44 +00:00
Marcel Moolenaar
86f95e6b6d Implement the OSS_GETVERSION ioctl. The version returned can be changed through
the sysctl variable `compat.linux.oss_version'.

PR: 12917
Originator: Dean Lombardo <dlombardo@excite.com>
1999-08-28 08:43:03 +00:00
Peter Wemm
2185977908 Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
Peter Wemm
280652828b $Id$ -> $FreeBSD$ 1999-08-28 02:16:32 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Marcel Moolenaar
c6dfea0ebd Add sysctl variables for the Linuxulator. These reside under `compat.linux' as
discussed on current.

The following variables are defined (for now):

    osname (defaults to "Linux")
        Allow users to change the name of the OS as returned by uname(2),
        specially added for all those Linux Netscape users and statistics
        maniacs :-) We now have what we all wanted!

    osrelease (defaults to "2.2.5")
        Allow users to change the version of the OS as returned by uname(2).
        Since -current supports glibc2.1 now, change the default to 2.2.5
        (was 2.0.36).

    oss_version (defaults to 198144 [0x030600])
        This one will be used by the OSS_GETVERSION ioctl (PR 12917) which I
        can commit now that we have the MIB. The default version number is the
        lowest version possible with the current 'encoding'.

A note about imprisoned processes (see jail(2)):
  These variables are copy-on-write (as suggested by phk). This means that
  imprisoned processes will use the system wide value unless it is written/set
  by the process. From that moment on, a copy local to the prison will be
  used.

A note about the implementation:
  I choose to add a single pointer to struct prison, because I didn't like the
  idea of changing struct prison every time I come up with a new variable. As
  a side effect, the extra storage is only needed when a variable is set from
  within the prison. This also minimizes kernel bloat when the Linuxulator is
  not used; both compiled in or as a module.

Reviewed by: bde (first version only) and phk
1999-08-27 19:47:41 +00:00
Jonathan Lemon
7e42e2f811 Reference the correct gdt[] entry on SMP. Remove the `generation' flag,
and always reload the selectors for every bios call.
1999-08-27 19:39:20 +00:00
Kazutaka YOKOTA
484fc65c06 - Set the correct value to va_line_width while in the ioctl
FBIO_SETLINEWIDTH.
1999-08-27 09:19:50 +00:00
Kazutaka YOKOTA
23ed6fc8bc - Ouch! Do not assume the VESA BIOS will preserve the upper 16 bits
of EAX and EBX.
1999-08-27 09:18:42 +00:00
Peter Wemm
08bf4f641e A few style changes (fixes hopefully) and some more tidying up. Fix (?)
the volatile cast warnings.
1999-08-27 08:32:54 +00:00
Peter Wemm
4e895e3962 Don't return 0 for an unknown ioctl (!). This was breaking ppp(8).
Slight tidy up while here.
1999-08-27 06:53:34 +00:00
Peter Wemm
399f34180a Use .p2align to ensure consistant a.out/elf alignment. I'd have used
SUPERALIGN_TEXT, but this is inline assembler and after cpp has run.
Inspired by bde's comments on linux_locore.s.
1999-08-25 23:50:03 +00:00
Peter Wemm
4a54450a9d It would help if things that MUST be 32 bit aligned were really 32 bit
aligned.  If I recall correctly, this is to ensure apic_imen can be
accessed in a single bus cycle.  Also, use TEXT_ALIGN rather than a
.align 2 (which means 2 byte align on ELF and 4 byte align on a.out)
1999-08-25 23:42:02 +00:00
Mark Newton
776a8f98ee Replace ".align 2" with "ALIGN_TEXT" as per recent discussion re: the linux
emulator.

Suggested by:	bde
1999-08-25 22:55:56 +00:00
Marcel Moolenaar
ae4ea3eed4 Use ALIGN_TEXT macro for alignment to avoid ambiguity.
Pointed out by: bde
1999-08-25 19:04:39 +00:00
Marcel Moolenaar
4e0eaf6924 Fix linux_newlstat in that it doesn't return the attributes of its containing
directory. Also, update arguments of NDINIT for both newstat and newlstat.

While I'm at it, fix style bugs in all {s|ls|fs}tat syscalls.

Reported by: bde
1999-08-25 15:23:54 +00:00
Marcel Moolenaar
c85f67175f Fix {g|s}etgroups semantics. We use cr_groups[0] to hold egid. This means that
egid will be twice in the set and that setting cr_groups[0] will change egid.
This is simply solved by ignoring cr_groups[0]. That is; linux_getgroups does
not return cr_groups[0] and linux_setgroups does not touch it.

Noticed by: bde
Brought to my attention by: sheldonh
1999-08-25 14:11:01 +00:00
Marcel Moolenaar
296f7267f3 Fix lingo: 'is not implemented or obsoleted' is not the same as 'is obsoleted
or not implemented'.
1999-08-25 13:17:05 +00:00
Marcel Moolenaar
2fdc82e093 Change all UNIMPL syscalls to STD and add them to linux_dummy. Now we always
know if and when an unimplemented or obsoleted syscall is being used. Make the
message more end-user friendly.

And as long as we're here, rename some unimplemeted syscalls (linux_phys ->
linux_umount2, linux_vm86 -> linux_vm86old, linux_new_vm86 -> linux_vm86).

Change prototype for linux_newuname from `struct linux_newuname_t *' into
`struct linux_new_utsname *'. This change is reflected in linux.h and
linux_misc.c.
1999-08-25 11:19:03 +00:00
Marcel Moolenaar
fc4529a0d1 Change all UNIMPL syscalls to STD and add them to linux_dummy. Now we always
know if and when an unimplemented or obsoleted syscall is being used. Make the
message more end-user friendly.

And as long as we're here, rename some unimplemeted syscalls (linux_phys ->
linux_umount2, linux_vm86 -> linux_vm86old, linux_new_vm86 -> linux_vm86).

Change prototype for linux_newuname from `struct linux_newuname_t *' into
`struct linux_new_utsname *'. This change is reflected in linux.h and
linux_misc.c.

Lastly, make line-continuation and indentation more uniform.
1999-08-25 11:17:36 +00:00
Marcel Moolenaar
8ebe972975 Fix stack misalignment for Linux binaries caused by `linux_sigcode' not being
a multiple of 4 bytes in size. This solves the recent SIGBUS errors for
glibc2.1 configurations.

Explained by: bde
1999-08-25 09:05:29 +00:00
Mike Smith
68b7d21a4a Rename 'bios_jmp' to 'bios16_jmp' to make it clear what it's related to. 1999-08-25 06:56:37 +00:00
Peter Wemm
857c0cefe0 Use the far jump for the base of the page arithmatic rather than the
calling function, otherwise Bad Things Happen(tm) when bios16_call is
not in the same page as bios_jmp.

Reviewed by:  msmith
1999-08-25 06:44:32 +00:00
Poul-Henning Kamp
c1df7a7420 Remove unneeded prototypes. 1999-08-24 18:31:06 +00:00
Mike Smith
e6a80efcdd Work around a bad design in some PnP BIOS code whereby the BIOS can reach
off the top of our constructed stack segment while it's trying to copy a
maximally-sized PnP argument frame around.
1999-08-24 16:42:08 +00:00
Alan Cox
4bffe072c4 Cosmetic: Correct the Id string.
Submitted by:	Peter Jeremy <jeremyp@gsmx07.alcatel.com.au>
1999-08-24 06:54:20 +00:00
Bruce Evans
d009ccfaf5 Cast pointers to uintptr_t instead of casting them to u_long, and/or vice
versa.  Cosmetic.
1999-08-24 00:56:50 +00:00
Bruce Evans
917210006a Fixed a misplaced cast to uintptr_t. Cosmetic.
Use device_get_nameunit() instead of rolling our own.
1999-08-24 00:22:10 +00:00
Bruce Evans
709db0871d `bootdev' is an ordinary u_long, so don't cast it to a pointer to print it.
gcc warns about the cast on i386's with 64-bit longs.

Print `bootdev' in all cases when we bail out because it is unreasonable.
1999-08-23 23:42:00 +00:00
Alan Cox
1971432659 Implement a version of s_lock_try that doesn't cause the next s_lock
call to panic when SL_DEBUG is set.  (SL_DEBUG is currently set
by default.)
1999-08-23 22:25:11 +00:00
Poul-Henning Kamp
845e0781ec Now that we can bind cdevsw to the individual dev_t, divorce the PERFMON
stuff from mem.c.  If PERFMON is there, it will "steal" a minor from
mem.c, but mem.c doesn't need to know about this.

Fixed type of cmd argument in perfmon_ioctl().
1999-08-23 21:34:23 +00:00
Poul-Henning Kamp
9dcbe2404a Convert DEVFS hooks in (most) drivers to make_dev().
Diskslice/label code not yet handled.

Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers)

Add the correct hook for devfs to kern_conf.c

The net result of this excercise is that a lot less files depends on DEVFS,
and devtoname() gets more sensible output in many cases.

A few drivers had minor additional cleanups performed relating to cdevsw
registration.

A few drivers don't register a cdevsw{} anymore, but only use make_dev().
1999-08-23 20:59:21 +00:00
Bruce Evans
d918320517 Use devtoname() to print dev_t's instead of casting them to long or u_long
for misprinting in %lx format.
1999-08-23 20:35:21 +00:00
Peter Wemm
80e6247e72 The nexus_attach() code works a lot better if it's actually connected to
the device methods... Also, don't fail to add eisa/isa because a previous
device failed to attach.
1999-08-23 19:23:33 +00:00
Alan Cox
a236cb64a9 Modify the macros IMASK_UNLOCK, CPL_UNLOCK, and REL_FAST_INTR_LOCK
to perform the s_unlock inline.
1999-08-23 19:14:18 +00:00
KATO Takenori
614926e47a - Make binary size smaller.
- Fix typo in TDK/LANX stuff.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-08-23 13:54:35 +00:00
Peter Wemm
a5a9efa92b The previous fix didn't do anything if you didn't have pnp. The ICU
macros are only called in the !APIC_IO case, include icu.h there.
1999-08-22 23:49:00 +00:00
Brian Feldman
1574a39bd2 Finish unbreaking autoconf.c includes (for non-SMP.) 1999-08-22 23:44:33 +00:00
Peter Wemm
2237f6ec54 Oops, that wasn't so clever after all. struct isa_device is still a
prerequisite for this old pnp.h.
1999-08-22 21:44:35 +00:00
Peter Wemm
be5890825d Zap a heap of unused cruft now. We don't need the ISA/EISA/PCI hooks
here any more as they are self identifying.  Only PNP remains but that
will be replaced any day now.
Also reword a comment that had been XXX'ed to death to make it clear[er]
why we don't enable interrupts before probing.
PCIBIOS interrupt routing controls may make this possible to fix one day.
1999-08-22 19:59:29 +00:00
Peter Wemm
ca29e71c56 Take advantage of the apm/npx code and let them identify themselves rather
than having explicit hooks here.
Treat the eisa/isa attach a little differently so that we defer the
decision about to attach eisa/isa to the motherboard directly only if
the PCI probe (if it exists) fails to turn up a PCI->EISA/ISA bridge.
This restores the original device geometry where ISA and/or EISA attach
to their bridge rather than bypassing and going to the root.
1999-08-22 19:56:55 +00:00
Peter Wemm
f3b63bd388 Make the identify routine add itself with priority 100 to make sure it
goes after the npx/apm devices and any other motherboard devices that
may get added down the track.
1999-08-22 19:54:11 +00:00
Peter Wemm
da4113b31f Add an identify method to allow npx to arrange itself to be attached to
the nexus without explicit code in the nexus to do so.
1999-08-22 19:52:51 +00:00
Peter Wemm
7fa76d3a80 Add an identify method to allow apm to attach itself to the nexus
without hooks in there.
1999-08-22 19:51:33 +00:00
Peter Wemm
cd8fd32d0d make pnp.h self contained, for what good it'll do since it's days are
numbered (new pnp-aware isa code in the pipeline).
1999-08-22 19:46:05 +00:00
Mitsuru IWASAKI
49d3a95692 Fix `key release event prevent suspend' problem. We don't need
`sleep 1; zzz' trick now.

- APM BIOS Call for suspend/standby now should be issued with delay.
- Delay for suspend/standby can be adjusted by using sysctl(8) interface
  (eg. sysctl -w machdep.apm_suspend_delay=3).
1999-08-22 14:48:00 +00:00
Alan Cox
e7dcbbe297 Make "s_unlock" an inline function. (Inlining this function takes
less space than calling it.  A callable version still exists for
use by some assembly code.)
1999-08-22 05:37:18 +00:00
Mike Smith
3ed7a59b07 Clean up after removing sys/eventhandler.h from sys/systm.h at the last
minute.  This should cover all of the missed cases (and should let LINT
build again).
1999-08-21 22:10:49 +00:00
Bill Paul
23e4757cd7 This commit adds device driver support for the Sundance Technologies ST201
PCI fast ethernet controller. Currently, the only card I know that uses
this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the
only cards I have are samples sent to me by D-Link.)

This driver is the first to make use of the miibus code once I'm sure
it all works together nicely, I'll start converting the other drivers.

The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design
only with its own register layout. Support is provided for ifmedia,
hardware multicast filtering, bridging and promiscuous mode.
1999-08-21 18:34:58 +00:00
Bill Paul
d00275330d This commit adds support for the NetBSD MII abstraction layer and
MII-compliant PHY drivers. Many 10/100 ethernet NICs available today
either use an MII transceiver or have built-in transceivers that can
be programmed using an MII interface. It makes sense then to separate
this support out into common code instead of duplicating it in all
of the NIC drivers. The mii code also handles all of the media
detection, selection and reporting via the ifmedia interface.

This is basically the same code from NetBSD's /sys/dev/mii, except
it's been adapted to FreeBSD's bus architecture. The advantage to this
is that it automatically allows everything to be turned into a
loadable module. There are some common functions for use in drivers
once an miibus has been attached (mii_mediachg(), mii_pollstat(),
mii_tick()) as well as individual PHY drivers. There is also a
generic driver for all PHYs that aren't handled by a specific driver.
It's possible to do this because all 10/100 PHYs implement the same
general register set in addition to their vendor-specific register
sets, so for the most part you can use one driver for pretty much
any PHY. There are a couple of oddball exceptions though, hence
the need to have specific drivers.

There are two layers: the generic "miibus" layer and the PHY driver
layer. The drivers are child devices of "miibus" and the "miibus" is
a child of a given NIC driver. The "miibus" code and the PHY drivers
can actually be compiled and kldoaded as completely separate modules
or compiled together into one module. For the moment I'm using the
latter approach since the code is relatively small.

Currently there are only three PHY drivers here: the generic driver,
the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding
others later as I convert various NIC drivers to use this code.

I realize that I'm cvs adding this stuff instead of importing it
onto a separate vendor branch, but in my opinion the import approach
doesn't really offer any significant advantage: I'm going to be
maintaining this stuff and writing my own PHY drivers one way or
the other.
1999-08-21 17:40:53 +00:00
Mike Smith
fcb893a801 Implement a new generic mechanism for attaching handler functions to
events, in order to pave the way for removing a number of the ad-hoc
implementations currently in use.

Retire the at_shutdown family of functions and replace them with
new event handler lists.

Rework kern_shutdown.c to take greater advantage of the use of event
handlers.

Reviewed by:	green
1999-08-21 06:24:40 +00:00
Mike Smith
f996ef6395 Loosen up the constructed argument segment generation slightly; rather than
trying to size it intelligently just make it 64k and leave it up to the caller
to ensure that the arguments all fit within that range.

This should resolve the issue that some people were seeing with the PnP BIOS
scan crashing on a large PnP node.
1999-08-20 21:08:41 +00:00
Matthew N. Dodd
ef2d104210 Fix stupid error (xse -> xsc).
Notice that 'unit' wasn't defined once I changed the parameters of the func.

These things make me feel like wading in with a flamethrowr or something.

Too much cruft!
</rant>
1999-08-20 14:36:40 +00:00
Matthew N. Dodd
e4fd6edfd8 Set ifp->if_init to the right function.
if_init_f_t is passed void * containing the address of ifp->if_softc
not the unit number.

Someone tell me if these things don't work as I don't have the hardware
needed to test them. (thats a first.)

I'll get if_ze and if_zp later.

Pointed out by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-08-20 14:12:14 +00:00
KATO Takenori
9212e4c73a There may exist two kinds of IBM BlueLightning CPU. One is that 5/2
test does not change undefined flag like Cyrix CPUs.  Another is that
5/2 test changes undefined flag like Intel CPUs.  Latter one could not
be detected and was recognized 486DX CPU.  To solve this,
finishidentcpu() calls identblue() when cpu_vendor is null string
(that is, CPUID instruction is not supported) and cpu == CPU_486.
Tests have been done on IBM BlueLightning CPUs, i486SX and i486DX.
1999-08-20 09:31:18 +00:00
Kenneth D. Merry
3ece1bd296 Fix short timeout problems with the pt(4) driver:
- increase the default timeout from 10 seconds to 60 seconds
- add a new kernel option, SCSI_PT_DEFAULT_TIMEOUT, that lets users specify
  the default timeout for the pt driver to use
- add two new ioctls, one to get the timeout for a given pt device, the
  other to set the timeout for a given pt device.  The idea is that
  userland applications using the device can set the timeout to suit their
  purposes.  The ioctls are defined in a new header file, sys/ptio.h

PR:		10266
Reviewed by:	gibbs, joerg
1999-08-20 03:48:11 +00:00
Peter Wemm
264c3d8738 Undo my previous commit and do it differently. Break the ffs() etc macros
into two parts - one to do the bsfl and the other to convert the result
(base 0) to ffs()-like (base 1) in inline C.  This enables the optimizer
to be a lot smarter in certain cases, like where it knows that the argument
is non-zero and we want ffs(known non zero arg) - 1.  This appears to
produce identical code to the old inline when the argument is unknown.
1999-08-19 14:54:40 +00:00
Peter Wemm
bb41d37104 Try using the builtin ffs() for egcs, it (by random inspection)
generates slightly better code and avoids the incl then subl when
using ffs(foo) - 1.
1999-08-19 00:32:48 +00:00
Peter Wemm
ebf9e95f31 Update for MI switch code, and trim a heap of unused (I believe) entries. 1999-08-19 00:20:10 +00:00
Peter Wemm
28f31ccfaf Use the MI process selection. We use a quick routine to decide whether
to get the mplock and enter the kernel to run a process in the SMP case.
1999-08-19 00:18:48 +00:00
Matthew N. Dodd
4b31e9d6a7 Make these actually compile. I got a little delete happy pruning includes
and used 'command' instead of 'cmd' in a few cases.  Also clear up some
unused variables.

Pointed out by: phk
1999-08-18 22:14:24 +00:00
Nick Sayer
7cc9cff983 printf("%x",dev); -> printf("%s",devtoname(dev)); 1999-08-18 17:42:41 +00:00
Peter Wemm
e8ebc7f504 The "LINUX" option isn't actually used or referenced anywhere. The stuff
that goes to opt_dontuse.h is so an opt_*.h file doesn't get created even
though an option may be used for bringing stuff in via files[.*].

Pointed out by: bde
1999-08-18 11:28:36 +00:00
Matthew N. Dodd
b2864868b3 SIOCSIFADDR, SIOCGIFADDR, and SIOCSIFMTU are implemented in
sys/net/if_ethersubr.c:ether_ioctl().  Drivers need not implement generic
behavior.

PR: kern/12126
Submitted by: in part by Boris Popov <bp@butya.kz>
1999-08-18 06:12:00 +00:00
Alan Cox
08c40841d8 Create callable (non-inline) versions of the atomic_OP_TYPE functions
that are linked into the kernel.  The KLD compilation options are
changed to call these functions, rather than in-lining the
atomic operations.

This approach makes atomic operations from KLDs significantly
faster on UP systems (though somewhat slower on SMP systems).

PR:		i386/13111
Submitted by:	peter.jeremy@alcatel.com.au
1999-08-18 04:08:31 +00:00
Mike Smith
dc055b0c58 Remove the SMBIOS detection and definitions; this should be handled in a
loadable module (under development).
1999-08-18 02:20:04 +00:00
Bill Fumerola
b8e49f681b Welcome devtoname(), to most likely be used when printing information
about a dev_t.

printf("%x", dev) now becomes printf("%s", devtoname(dev)) because
printing actual information about the device is much more useful then
printing a pointer to an address that would never help the developer debug.

Submitted by:	phk, bde
1999-08-17 20:25:50 +00:00
Kazutaka YOKOTA
64eed277c5 Add definitions for Interlink VersaPad. 1999-08-17 12:12:44 +00:00
Marcel Moolenaar
4c60745daf Fix a bug in debug-printfs of struct linux_termios fields, where I forgot to
change the format specifier after changing the definition of the structure.

Submitted by: billf
Commented on by: bde
1999-08-17 10:27:55 +00:00
Marcel Moolenaar
ce2b2a92fc Fix bug in the debug-printf of the vfork syscall, where the format specifier
didn't match the argument (p->p_pid).

While I'm at it, also fix the dupo in the format string and fix the annoying
inconsistency in all the debug-printfs wrt p_pid arguments. Change all of them
to use the %ld format specifier and cast the p_pid arguments to long.

Submitted by: billf
1999-08-17 10:09:06 +00:00
Mike Smith
cb5f885bdf Search for and interrogate the PnP BIOS if found. This code just prints
the PnP device IDs in verbose mode; it does not (yet) save any resource
data or contribute to the PnP process nor resource management.
1999-08-17 07:10:34 +00:00
Mike Smith
7880e8b2d5 Mindbogglingly, many BIOS vendors expect to be able to load %ds with
0x40 and then access data stored in real-mode segment 0x40, even when
called in protected mode.  Microsoft unfortunately coddle these individuals,
and so must we if we want to run their code.

This change works around GPFs in some APM and PnP BIOS implementations.

Obtained from:	Linux
1999-08-17 07:09:13 +00:00
Marcel Moolenaar
42035021f5 Implement linux_vfork() syscall by calling vfork(). Analogous to the
linux_fork() implementation.
1999-08-16 11:49:30 +00:00
Marcel Moolenaar
405f64d439 Implement vfork() syscall. 1999-08-16 11:47:21 +00:00
Justin T. Gibbs
086646f7c6 Properly set the alignment argument to bus_dma_tag_create(). If we
don't care about the alignment, set it to 1, meaning single byte alignment.
1999-08-16 01:52:21 +00:00
Justin T. Gibbs
3c0dcb2cf2 Fix a bug in busdma_mem_free() where we were improperly checking
the map associated with the region to free.
1999-08-16 01:51:38 +00:00
Marcel Moolenaar
878c351a1c Major rewrite.
The first reason for this rewrite is KNF conformance.

The second reason is to avoid redundancy. Each function printed the same
string, with only the syscall name being different. The actual printing is now
performed by a single function, which gets the syscall name as an argument.

The third reason is that of convenience. It's now very easy to add a new
dummy implementation. Just add ``DUMMY(foo);'' to the file. It's also a lot
easier now to see if a syscall has a dummy implementation or not.

The dummies are ordered on syscall number. Please maintain this when adding
new dummies (there're 32 candidates at the time of writing :-)

Reviewed by: bde
1999-08-15 18:59:44 +00:00
Marcel Moolenaar
a171f5adb6 Provide wrappers for sched_{s|g}etscheduler. We need to convert the policy
argument.

PR: 12006
Originator: Jean-Claude MICHOT <jcmichot@teaser.fr>
1999-08-15 17:28:40 +00:00
Marcel Moolenaar
e4accff654 Provide wrappers for sched_{s|g}etscheduler. We need to convert the policy
argument.

PR: 12006
1999-08-15 17:25:56 +00:00
Marcel Moolenaar
dc6f939870 Fix bug in the fcntl syscall where 'arg' was not set properly.
PR: 12147
Submitted by: Allan Saddi <asaddi@philosophysw.com>
1999-08-15 14:22:30 +00:00
Marcel Moolenaar
20c661befb Include opt_compat.h so that COMPAT_43 is defined. This gives us the proper
prototypes of o{s|g}etrlimit (from sys/sysproto.h). Update linux_{s|g}etrlimit
so that the arguments to o{s|g}etrlimit are corresponding the prototypes.

Pointed out by: bde
1999-08-15 13:28:35 +00:00
Poul-Henning Kamp
c6ba8fec16 Give if_tun the "almost clone" makeover. 1999-08-15 09:54:57 +00:00
Poul-Henning Kamp
bd3a53203f Give BPF the "almost-clone" update. If you need more of them, make
more entries in /dev and be happy you don't need to recompile your
kernel.
1999-08-15 09:38:21 +00:00
Mitsuru IWASAKI
8e52b99964 - Add apm_check_function_supported() and call it from
apm_bioscall() to check requested BIOS is supported or not.

- Add workaround in apm_driver_version() for the buggy BIOSes which
  don't return the connection version in %ax.

PR:		i386/13028
Reviewed by:	sanpei@sanpei.org and Warner Losh.
1999-08-14 18:39:40 +00:00
Marcel Moolenaar
81d960fa6d Implementation of the linux_getcwd syscall. 1999-08-14 18:20:44 +00:00
Marcel Moolenaar
e000c53684 Extend the number of syscalls to include those present in Linux 2.2.10. These
are syscalls 183 to 190. Also implement syscall 183: linux_getcwd. This is
needed to support a RH 6.0 environment.
1999-08-14 18:19:00 +00:00
Marcel Moolenaar
06ebbe77ed Implementation of linux_rt_sigaction and linux_rt_sigprocmask syscalls. Both
functions use the new sigset_t and sigaction_t which allows support for more
than 32 signals. Only the lower 32 signals are supported for now.

linux_rt_sigaction, linux_sigaction and linux_signal use linux_do_sigaction
to do the actual work. That way unnecessary redundancy is avoided. The same
has been done for linux_rt_sigprocmask and linux_sigprocmask. They call
linux_do_sigprocmask to do the actual work.
1999-08-14 17:28:46 +00:00
Marcel Moolenaar
68293b42c1 Implementation of linux_rt_sigaction and linux_rt_sigprocmask syscalls. These
syscalls are needed to support a RH 6.0 environment.
1999-08-14 17:14:13 +00:00
Marcel Moolenaar
3bde119b1e Fix LINUX_TIOC{S|G}SERIAL implementation. Both do not copy data in or out
of kernel space. Remove the ioctl supporting functions, and move the actual
code to the switch-statement. Now everybody can clearly see that the
implementation is really poor.

Also fix a typo in LINUX_TIOCGETD. The underlying function was given command
TIOCSETD instead op TIOCGETD...
1999-08-14 13:26:44 +00:00
Poul-Henning Kamp
49ff4debd3 Spring cleaning around strategy and disklabels/slices:
Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout.
please see comment in sys/conf.h about the flag argument.

Remove strategy argument from all the diskslice/label/bad144
implementations, it should be found from the dev_t.

Remove bogus and unused strategy1 routines.

Remove open/close arguments from dssize().  Pick them up from dev_t.

Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
1999-08-14 11:40:51 +00:00
Marcel Moolenaar
86cfb28d8d Fix the LINUX_TCSET{A|AW|AF} and LINUX_TCSET{S|SW|SF} ioctls. These all suffer
from the same bug in that the argument is not first copied from user space
before it is used. This is part 2 (of 2) of the termios fixes.
1999-08-14 10:30:38 +00:00
Marcel Moolenaar
432d528c8d Fix a couple of termio/termios conversion bugs/typos/dupos/brainos and other
changes. This is part 1 of the complete termios ioctl fixes.

o  change type of c_{i|o|c|l}flag in struct termios from unsigned long to
   unsigned int. The type now matches the Linux definitions.
o  replaced constants by the corresponding defines in sptab[] for clarity.
   Since there's no define for 135 baud, its mapping has been dropped.

function bsd_to_linux_termios:
o  Fix typo IXON -> IXANY.
o  Remove bogus assignment to c_cc[LINUX_VSWTC].

function linux_to_bsd_termios:
o  Fix dupo LINUX_IXON -> LINUX_IXANY.
o  Add LINUX_CREAD mapping.
o  Fix typo IEXTEN -> LINUX_IEXTEN.

function linux_to_bsd_termio:
o  Small optimization: Don't preset the complete c_cc array when we next
   assign to the first LINUX_NCC entries.
1999-08-14 10:05:50 +00:00
Marcel Moolenaar
7636612d50 Implementation of the CDROMSUBCHNL ioctl. 1999-08-13 14:44:13 +00:00
Poul-Henning Kamp
7dc5cd047f The bdevsw() and cdevsw() are now identical, so kill the former. 1999-08-13 10:29:38 +00:00
Marcel Moolenaar
0839a7e83d In doing lock type conversion (struct flock), make sure that carbage in results
in deterministic behaviour. In this case known garbage out.
The fix is different than suggested in the PR.

PR: 12749
Originator: Boris Nikolaus <boris@cs.tu-berlin.de>
1999-08-13 09:27:54 +00:00
Marcel Moolenaar
00d3c51669 Use a wrapper for the link syscall that does name translations.
PR: 12749
Submitted by: Boris Nikolaus <boris@cs.tu-berlin.de>
1999-08-12 19:53:33 +00:00
Alan Cox
7308467da9 _pmap_allocpte:
If the pte page isn't PQ_NONE, panic rather than silently
	covering up the problem.
1999-08-11 19:19:04 +00:00
Marcel Moolenaar
175db64b3e Do not map {s|g}etrlimit onto FreeBSD syscalls. The arguments don't match.
The linux syscalls translate the arguments first before invoking the
FreeBSD native syscalls.

PR: kern/9591
Originator: John Plevyak <jplevyak@inktomi.com>
1999-08-11 13:34:31 +00:00
Marcel Moolenaar
10ef1b2aae Do not map {s|g}etrlimit onto the FreeBSD syscalls. The arguments do not
match.

PR: kern/9591
Originator: John Plevyak <jplevyak@inktomi.com>
1999-08-11 13:29:48 +00:00
Jordan K. Hubbard
8b67cbda75 Reserve bdev/cdev entries for i2o driver.
Requested by:	Simon Shapiro
1999-08-11 05:28:06 +00:00
Peter Wemm
accc665bbe Hopefully fix the previous commit, it caused *all* bridges to be detected
as PCI->HOST bridges on my (440BX) box.

My change is to remove the test at the beginning entirely, letting the
switch on the device ID happen first.  If the device ID is unknown, then
(in the default case) check for the generic PCIS_BRIDGE_HOST tag.  This
should allow wierd cases (eg: wpaul's IMS VL bridge) to work by using the
id override.  This strategy is more in line with the other PCI match
methods we use elsewhere,

I only have a limited testbed, but having my USB etc devices detected as
PCI->HOST bridges doesn't look good.
1999-08-10 09:22:21 +00:00
Alan Cox
7f8d227938 pmap_remove_pages:
Add KASSERT to detect out of range access to the pv_table and
	report the errant pte before it's overwritten.
1999-08-10 04:10:57 +00:00
Matthew N. Dodd
2825e76714 Add support for the Am79C978. (AMD PCHome/PCI Ethernet adapter)
See: http://www.amd.com/products/npd/overview/homenetworking/intro.html

PR: kern/12275
Submitted by: Robert Watson <robert@cyrus.watson.org>
1999-08-10 01:03:51 +00:00
Bill Paul
d9d628b000 Fix nexus_pcib_is_host_bridge() so that it detects my 486's PCI bus
correctly. It has the following code:

        if (class != PCIC_BRIDGE || subclass != PCIS_BRIDGE_HOST)
                return NULL;

My 486 has an Integrated Micro Solutions PCI bridge which identifies
itself as subclass PCIS_BRIDGE_OTHER, not PCIS_BRIDGE_HOST. Consequently,
it gets ignored. In my opinion, the correct test should be:

        if ((class != PCIC_BRIDGE) && (subclass != PCIS_BRIDGE_HOST))
                return NULL;

That way the test still succeeds because the chip's class is PCIC_BRIDGE.
Clearly it's not reasonable to expect all host to PCI bridges to always
have a subclass of PCIS_BRIDGE_HOST since I've got one that doesn't.
This way the sanity test should remain relatively sane while still allowing
some oddball yet correct hardware to work. If somebody has a better way
to do it, go ahead and tweak the test, but be aware that
class == PCIC_BRIDGE and subclass == PCIS_BRIDGE_OTHER is a valid case.

While I was here, I also added an explicit ID string for the IMS chipset.
I also dealt with a minor style nit: it's bad karma not to have a default
case for your switch statements, but the one in this routine doesn't have
one. The default string of "Host to PCI bridge" is now assigned in a
default case of the switch statement instead of initializing "s" with the
string before the switch and then not having any default case.
1999-08-09 21:12:18 +00:00
Mike Pritchard
51979813dd Remove a reference to config(8) when IRQ 2 is remapped to IRQ 9.
Config(8) contains no documentation about this.

Fix the help for the PnP irq and drq commands.  This one caused
me a bit of head scratching the other night while trying to get
a problematic PnP device configured properly.
1999-08-09 13:52:12 +00:00
Poul-Henning Kamp
ce9edcf5b5 Merge the cons.c and cons.h to the best of my ability. alpha may or
may not compile, I can't test it.
1999-08-09 10:35:05 +00:00
Poul-Henning Kamp
ef40c56108 Make the pty driver as close to a cloning device as we can get for now,
we create the pty on the fly when it is first opened.

If you run out of ptys now, just MAKEDEV some more.

This also demonstrate the use of dev_t->si_tty_tty and dev_t->si_drv1
in a device driver.
1999-08-08 19:28:59 +00:00
Chris Costello
5f3136d4ea Fix a reference to st' by replacing it with sa'. 1999-08-08 16:27:17 +00:00
Marcel Moolenaar
6a6ea79ac8 Fix page fault in linux_uselib syscall.
PR: 12910
Submitted by: Peter Holm <peter@holm.cc>
1999-08-08 11:26:46 +00:00
Peter Wemm
307fae6b6c Re-delete the (meaningless) device-driver tokens that came back in 1.256
after having been removed in 1.253 and turned into a warning.

Noticed by: bde
1999-08-07 12:19:41 +00:00
Brian Feldman
942fd180df We don't end up checking for a return value of EFAULT from the copyinstr()
in the pathname translation procedure. This proves fatal, and can be
easily fixed. This or a similar change needs to be committed to svr4_util.h
and ibcs2_util.h. I will update ibcs2_util.h, if noone else thinks of a
better way to do this, in the same manner. I will leave svr4 to the
respective maintainer.

This closes the problem of the only crash I've been able to produce as
a user recently, except for (currently not-in-the-source tree) fd
table sharing fixes. Thanks goes to pho for his stress-testers.
1999-08-07 05:33:35 +00:00
Jordan K. Hubbard
0a729622af Enable bpf by default. There was no significant dissention to my proposal
of 2 weeks ago that this be done, and anyone who wishes to make bpf more
selective according to securelevel or compile-time options is more
than free to do so.
1999-08-07 01:42:08 +00:00
Poul-Henning Kamp
e26c9de235 Forgot the "bsd" slice, now setrootbyname() understands "wd0s1a". 1999-08-06 20:29:46 +00:00
Poul-Henning Kamp
d4ebee28d2 Add driver support for M-systems DiskOnChip Products.
Sponsored by:	M-systems Inc.	http://www.m-sys.com
1999-08-06 15:59:07 +00:00
Hellmuth Michaelis
0df6adec74 updating isdn4bsd to beta version 0.83 1999-08-06 14:05:10 +00:00
Mike Smith
6d5e741cb8 Fix typo which would have caused MTRR support on non-SMP systems to
behave in an utterly random fashion.

Submitted by:	gibbs
1999-08-04 20:24:49 +00:00
Jordan K. Hubbard
a116586012 The ARLA folks don't need a bdev after all - remove it. 1999-08-04 19:55:37 +00:00
Brian Feldman
e4484d02ad Correction: "ans" -> "and." 1999-08-04 17:29:33 +00:00
Peter Wemm
cac6a04400 Don't probe if pci_cfgopen() fails to find pci hardware, like we used to
to.  This might have caused interesting things on non-PCI hardware if
PCI was compiled in.
1999-08-04 13:38:24 +00:00
Matthew N. Dodd
dfc196bf2a I'm not sure how this wasn't in the last commit but anyhow...
'int irq' -> 'struct irq_node *irq'
1999-08-02 20:01:40 +00:00
Mike Smith
091edd6845 Don't trust the segment limits that the BIOS reports; instead give it
as much space as possible to avoid lossage due to sloppy BIOS
programming.
1999-08-02 18:46:34 +00:00
Matthew N. Dodd
0d6ab4a16a Move the specification of EDGE/LEVEL triggered interrupts to
eisa_add_intr() which now takes an additional arguement (one of
EISA_TRIGGER_LEVEL or EISA_TRIGGER_EDGE).

The flag RR_SHAREABLE has no effect when passed to
bus_alloc_resource(dev, SYS_RES_IRQ, ...) in an EISA device context as
the eisa_alloc_resource() call (bus_alloc_resource method) now deals
with this flag directly, depending on the device ivars.

This change does nothing more than move all the 'shared = inb(foo + iobsse)'
nonesense to the device probe methods rather than the device attach.

Also, print out 'edge' or 'level' in the IRQ announcement message.

Reviewed by: dfr
1999-08-01 22:57:09 +00:00
Alan Cox
eaf183a844 pmap_object_init_pt:
Verify that object != NULL.
1999-07-31 23:02:57 +00:00
Alan Cox
5d2aec8927 Change the type of vpgqueues::lcnt from "int *" to "int". The indirection
served no purpose.
1999-07-31 18:31:00 +00:00
Jordan K. Hubbard
c2da60f083 Reserve majors for arla. 1999-07-31 09:32:28 +00:00
Alan Cox
086d0ae1dc Add parentheses for clarity.
Submitted by:	dillon
1999-07-31 04:10:31 +00:00
Matthew N. Dodd
96a0f2956f Don't use at_shutdown() now that we have new_bus which lets us
specify a DEVICE_SHUTDOWN method instead.

Reviewed by: me, since nobody else seems to run this hardware in -CURRENT
1999-07-31 00:43:48 +00:00
Mike Smith
600d8382d9 Reenable the APMIO_BIOS ioctl and translate arguments into the new format
(which is more like the old than I thought).

Requested-by:	imp
1999-07-30 19:35:03 +00:00
Matthew N. Dodd
24116fdd0a Restore the pre-new_bus behavior of printing out the reserved resources
during device announcement. (irq, ioport, maddr)

Reviewed by: dfr, peter
1999-07-30 13:54:00 +00:00
Mark Newton
8f228dcab0 Add $Id$ tags.
Clean-up some unused (or to-be-used) variables in svr4_getcontext()
1999-07-30 12:47:17 +00:00
Mike Smith
733e6274d7 Remove all vestiges of APMIO_BIOS
Submitted by:	N. Dudorov <nnd@mail.nsk.ru>
1999-07-30 08:24:23 +00:00
Mike Smith
3cc31bc262 Formatting-only cleanup accidentally omitted from the patch merge in the
previous major update.  Bring new code into style alignment with the
existing code.  No functional changes.
1999-07-29 18:47:39 +00:00
Mitsuru IWASAKI
d0c9cc72d2 No more apm_errno. It breaks the build with APM_DEBUG,
uses (sc->bios.r.eax >> 8) & 0xff instead.
1999-07-29 18:15:33 +00:00
Peter Wemm
32610e173d GBIOSSTACK_SEL is undefined, but OTOH, BSSSEL apparently isn't used either. 1999-07-29 08:33:00 +00:00
Mike Smith
64ecbc4d0b Remove some duplicate definitions, as suggested by Alan Cox. 1999-07-29 07:10:35 +00:00
Mike Smith
27e901101c Fix for vmspace sharing as per Alan Cox. Thanks! 1999-07-29 06:48:26 +00:00
Mike Smith
fc372ebd4d Nuke this, it's not used anymore. 1999-07-29 01:52:13 +00:00
Mike Smith
496027bf08 Major update to the kernel's BIOS-calling ability.
- Add support for calling 32-bit code in other segments
 - Add support for calling 16-bit protected mode code

Update APM to use this facility.

Submitted by:	jlemon
1999-07-29 01:49:19 +00:00
Brian Feldman
8799702cbc Remove XXX from the headers (broke the build, I'm betting.) 1999-07-29 01:20:47 +00:00
Matthew N. Dodd
15317dd875 Alter the behavior of sys/kern/subr_bus.c:device_print_child()
- device_print_child() either lets the BUS_PRINT_CHILD
	  method produce the entire device announcement message or
	  it prints "foo0: not found\n"

Alter sys/kern/subr_bus.c:bus_generic_print_child() to take on
the previous behavior of device_print_child() (printing the
"foo0: <FooDevice 1.1>" bit of the announce message.)

Provide bus_print_child_header() and bus_print_child_footer()
to actually print the output for bus_generic_print_child().
These functions should be used whenever possible (unless you can
just use bus_generic_print_child())

The BUS_PRINT_CHILD method now returns int instead of void.

Modify everything else that defines or uses a BUS_PRINT_CHILD
method to comply with the above changes.

	- Devices are 'on' a bus, not 'at' it.
	- If a custom BUS_PRINT_CHILD method does the same thing
	  as bus_generic_print_child(), use bus_generic_print_child()
	- Use device_get_nameunit() instead of both
	  device_get_name() and device_get_unit()
	- All BUS_PRINT_CHILD methods return the number of
	  characters output.

Reviewed by: dfr, peter
1999-07-29 01:03:04 +00:00
Mike Smith
e33bfde398 We're called too early to have any idea whether APM is going to be
active or not.  The only sane thing we can do here is assume that if
APM is supported it might be active at some point, and bail.

In reality, even this isn't good enough; regardless of whether we support
APM or not, the system may well futz with the CPU's clock speed and throw
the TSC off.  We need to stop using it for timekeeping except under
controlled circumstances.  Curse the lack of a dependable high-resolution
timer.
1999-07-28 20:22:30 +00:00
Mike Smith
a9063682da Remove unused real-mode APM setup support. We've been using the vm86
mode initialiser for a while now, and it's looking happy.
1999-07-28 20:20:31 +00:00
Mike Smith
29c7e03718 Remove unused real-mode APM init functions. 1999-07-28 20:07:12 +00:00
Mike Smith
30f41f1f8d Remove some erroneous comments about how APM is initialised. 1999-07-28 19:37:32 +00:00
Mike Smith
dce593b01e Remove some droppings left over from the removal of the APM hooks. 1999-07-28 19:34:16 +00:00
Doug Rabson
aa595accc9 Add support for SYS_RES_DENSE and SYS_RES_BWX resource types. These are
equivalent to SYS_RES_MEMORY for x86 but for alpha, the rman_get_virtual()
address of the resource is initialised to point into either dense-mapped
or bwx-mapped space respectively, allowing direct memory pointers to be
used to device memory.

Reviewed by: Andrew Gallatin <gallatin@cs.duke.edu>
1999-07-28 07:57:48 +00:00
Poul-Henning Kamp
8343d904fd Pave the way for the fla driver. 1999-07-26 07:43:26 +00:00
Martin Cracauer
784648c675 Various formatting fixes on my FPE trapcode commit.
Submitted by:	BDE
1999-07-26 05:47:31 +00:00
Martin Cracauer
a7674320e9 On FPU exceptions, pass a useful error code (one of the FPE_...
macros) to the signal handler, for old-style BSD signal handlers as
the second (int) argument, for SA_SIGINFO signal handlers as
siginfo_t->si_code. This is source-compatible with Solaris, except
that we have no <siginfo.h> (which isn't even mentioned in POSIX
1003.1b).

An rather complete example program is at
  http://www3.cons.org/cracauer/freebsd-signal.c
This will be added to the regression tests in src/.

This commit also adds code to disable the (hardware) FPU from
userconfig, so that you can use a software FP emulator on a machine
that has hardware floating point. See LINT.
1999-07-25 13:16:09 +00:00
Bill Paul
691c152864 This commit adds device driver support for Adaptec Duralink PCI fast
ethernet controllers based on the AIC-6915 "Starfire" controller chip.
There are single port, dual port and quad port cards, plus one 100baseFX
card. All are 64-bit PCI devices, except one single port model.

The Starfire would be a very nice chip were it not for the fact that
receive buffers have to be longword aligned. This requires buffer
copying in order to achieve proper payload alignment on the alpha.
Payload alignment is enforced on both the alpha and x86 platforms.
The Starfire has several different DMA descriptor formats and transfer
mechanisms. This driver uses frame descriptors for transmission which
can address up to 14 packet fragments, and a single fragment descriptor
for receive. It also uses the producer/consumer model and completion
queues for both transmit and receive. The transmit ring has 128
descriptors and the receive ring has 256.

This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus
so that it can be compiled as a loadable kernel module. Support for BPF
and hardware multicast filtering is included.
1999-07-25 04:32:50 +00:00
Tatsumi Hosokawa
6afaf5d480 3C574TX 16bit FastEtherlink PC-card support.
Reviewed by:	HAMADA Naoki <nao@tom-yam.or.jp>
Submitted by:	Osamu MIHARA <mihara@prd.fc.nec.co.jp>
1999-07-25 01:20:37 +00:00