Commit Graph

5720 Commits

Author SHA1 Message Date
sos
ac56d181bd The result of running make linux_sysent.c on the new syscalls.master 1998-12-22 09:00:47 +00:00
sos
23bd50b5ed Fix NOIMPL -> NOPROTO as per bruce. 1998-12-22 08:59:19 +00:00
sos
5dc2c17026 The result of running make linux_sysent.c on the new syscall.master file 1998-12-21 19:31:57 +00:00
sos
885947f39b Syscall 168 (poll) is not implemented in the Linux emulator. This
syscall is used by Oracle.

PR:		9154
Submitted by:	Marcel Moolenaar <marcel@scc.nl>
1998-12-21 19:28:13 +00:00
sos
65891f434b Kill(pid, 0) normally returns 0 on both FreeBSD and Redhat after having
performed all sorts of sanity checks. The FreeBSD linux emulator returns
EINVAL in such a case.
Allowing signal 0 to be passed to kill will result in compatible behaviour.

PR:	9082
Submitted by:	Marcel Moolenaar <marcel@scc.nl>
1998-12-21 19:21:36 +00:00
joerg
7227af22eb As promised, cleanup the #if __FreeBSD_version mess. 1998-12-21 18:11:10 +00:00
joerg
8333c61640 Include rdp(4).
Should i also include it into GENERIC?
1998-12-21 18:04:20 +00:00
joerg
26fd01e252 This commit was generated by cvs2svn to compensate for changes in r41980,
which included commits to RCS files with non-trunk default branches.
1998-12-21 18:01:15 +00:00
joerg
749703c29e This is my first cut on a driver for the RealTek RTL 8002 pocket
ethernet driver.

The BUGS section is still impressive, but the driver seems to work for
me now.  Disclaimer: i haven't been able to test this under -current
so far (but it compiles, and the notebook it's intended for can now be
updated to -current more easy than before).  Don't be afraid of the
many #ifdefs on __FreeBSD_version in the imported file; i want them in
the repository on the vendor-branch so other people can also manually
integrate it into older systems.  I'll clean it up on the -current
branch in a followup commit.  The vendor-banch version right now
supports systems back to 2.2R.

This driver should be layered upon ppc(4), but i currently have no
idea how to do this.

Eventually i'll further develop the driver to also support the more
modern RTL 8012 success, which seems to be present in a number of
cheap pocket ethernet adapters these days.  Right now, i doubt it will
run with the 8012 without any changes.

Finally a big Thanks! to RealTek for promptly providing me with
documentation and with the source code for the 8012 pocket driver upon
request.  I wish all vendors were that cooperative!.
1998-12-21 18:01:15 +00:00
msmith
61a91ed7ca Regrettably, you can't take setdef0.c out of order, or, surprise,
linker sets don't work and thus neither does the kernel.

This should stop being a problem with an improved linker set mechanism in
the pipeline (see the bootloader) but for now this has to stay like this.
1998-12-21 10:29:09 +00:00
bde
ff048604b9 Fixed building elf kernels without a `make depend' step. The magic
ordering in rev.1.38 was broken by putting setdef0.o before vnode_if.o
in SYSTEM_OBJS.
1998-12-20 16:25:21 +00:00
msmith
9050cce8aa Move the "generic" SMP options from options.i386 to conf/options 1998-12-19 23:07:51 +00:00
sos
25759a95be Make it compile again.
I have no idea if the new stuff works though.

Broken by: Julian
1998-12-19 19:05:57 +00:00
bde
3bb6da1b8b Wait for channel commands to complete after issuing the commands.
The optimisation of only waiting before issuing new commands is
obviously invalid in general and it caused many errors in NIST-PCTS.
I think the errors were mostly for characters sent with the wrong
parity, etc., after a half complete tcsetattr().

Use microtime() instead of a magic loop count to limit the wait.
The wait is a busy-wait :-( and normally takes about 500 usec.
1998-12-19 16:28:57 +00:00
julian
61490236bc Reviewed by: Luoqi Chen, Jordan Hubbard
Submitted by:	 "Richard Seaman, Jr." <lists@tar.com>
Obtained from:	linux :-)

Code to allow Linux Threads to run under FreeBSD.

By default not enabled
This code is dependent on the conditional
COMPAT_LINUX_THREADS (suggested by Garret)
This is not yet a 'real' option but will be within some number of hours.
1998-12-19 02:55:34 +00:00
dt
5d9cc4426e Little reorganization:
- created internal names for fixed-size integral types, like __int32_t. They
  will be used to make several headers self-sufficient.
- <stdlib.h> don't include <machine/types.h> anymore.
- created <sys/inttypes.h>, which can be used as <inttypes.h>.
- declaration of uoff_t and ufs_daddr_t moved to <sys/types.h>.

Reviewed by:	bde
1998-12-19 00:02:34 +00:00
bde
c26aa71e02 Removed unused (slightly wrong) stub functions.
Fixed some staticization obfuscations.
1998-12-18 18:07:10 +00:00
bde
b3eb962304 Flush the tx fifo in cystop(). Now ttyflush() (and thus tcflush(3))
almost works properly.  Unfortunately, there is no way to flush
the rx fifo without resetting the channel, which also flushes the
tx fifo.  We avoid resetting even when both fifos need to be flushed,
since resetting seems to cause the rx to lose sync if it is done
while data is arriving.

Reminded by:	NIST-PCTS
1998-12-17 19:23:09 +00:00
bde
9cbd1c4cd2 Fixed handling of BREAK in input. BREAK was not being converted into an
escape sequence in the `-ignbrk -brkint parmrk' case.

Found by:	NIST-PCTS
1998-12-17 18:43:08 +00:00
bde
4d682cb5b4 Oops, this should have been in the previous commit (ensure atomic update
of com->cor[1]).
1998-12-17 18:18:06 +00:00
bde
54f96be976 Implemented sending of BREAKs. This is quite complicated because the
hardware is interrupt-driven to a fault and sending a BREAK requires
mode switching.  Always running in the BREAK-capable mode as in PR 8318
would double the overhead for sending \0's.

Reminded by:	PR 8318
1998-12-17 17:40:13 +00:00
phk
4674dad527 Straigthen out the use of the tls and tlf callbacks.
Not tested on the if_sr, if_cx and if_ar drivers, but
expected to work just the same as it used to.

Any users of these drivers (or even better: donors
of hardware for them) please contact phk@freebsd.org
so we can test the next batch of changes to if_sppp.
1998-12-16 18:42:38 +00:00
bde
7b9dc76b76 Removed the cast to a pointer in the definition of PS_STRINGS and
adjusted related casts to match (only in the kernel in this commit).
The pointer was only wanted in one place in kern_exec.c.  Applications
should use the kern.ps_strings sysctl instead of PS_STRINGS, so they
shouldn't notice this change.
1998-12-16 16:28:58 +00:00
bde
9dd9cb4cb2 Removed bogus casts of USRSTACK and/or the other operand in binary
expressions involving USRSTACK.
1998-12-16 15:21:51 +00:00
phk
76e92ae704 Best version so far. Flicker floor is now 2e-12. 1998-12-16 11:46:41 +00:00
kato
74bccae1f5 Oops, I forgot to commit two diffs to fe driver. 1998-12-15 15:56:37 +00:00
kato
cc284d2636 PC/AT(ISA) version and PC-98(NEC) version of if_fe drivers are merged,
as well as several functional additions.

(1) dot3 MIB support.
(2) if_media selection method support.
(3) bridge support.
(4) new boards support. Supported boards are as follows.
    [PC/AT]
     * Fujitsu FMV-180 series
     * Allied-Telesis RE2000 series
     * Allied-Telesyn AT1700 series
     * Gateway Communications G/Ether series
     * UB networks Access/PC ISA series
     * TDK/LANX LAC-AX series
     * ICL EtherTeam16i series
     * RATOC REX-5586/5587
    [PC-98]
     * Allied-Telesis RE1000 series
     * Allied-Telesis RE1000Plus/ME1500 series
     * Contec C-NET(9N)E series
     * Contec C-NET(98)P2 series
     * UB networks Access/PC N98C+ series
     * TDK/LANX LAC-98 series(not tested)

Submitted by: seki@sysrap.cs.fujitsu.co.jp (Masahiro Sekiguchi) and
              chi@bd.mbn.or.jp (Chiharu Shibata)
1998-12-15 15:51:37 +00:00
bde
2f046ef992 Fixed misformatted error messages. wderror() was broken way back
in rev.1.30 (just before FreeBSD-1.1R) to almost match corresponding
breakage in FreeBSD-1.x's diskerr().  FreeBSD-2.x's diskerr() never
had the breakage.
1998-12-15 09:16:57 +00:00
gibbs
147f35e007 Pull in new ccb_hdr list types. 1998-12-15 08:24:45 +00:00
bde
4b989edfb5 Moved the declaration of another non-SMP variable into the non-SMP section. 1998-12-14 19:16:17 +00:00
dt
7212f6ac0c Added 3 new errno values, requred by various standards: EOVERFLOW,
ECANCELED, EILSEQ.

Fixed ibcs2 and especially linux EIDRM and ENOMSG errno mapping.
Reviewed by:	Dan Nelson <dnelson@emsphone.com>
1998-12-14 18:54:04 +00:00
bde
8079dde378 Ifdefed the declarations of conditionally used variables. 1998-12-14 18:21:34 +00:00
bde
746dcb079d Fixed LINT breakage in previous commit. Option FDC_YE enabled a
syntax error.  Options FDC_YE and DEVFS together enabled references
to a nonexistent variable and calls of a nonexistent function.
1998-12-14 16:29:58 +00:00
mckay
b1c84799bb Fix tabs that should have been spaces. Some were in kernel error messages. 1998-12-14 13:30:29 +00:00
dillon
2d9e52659c Get rid of uninitialized variable warnings. No bugs found, just
preinitializing some locals to 0 to get rid of the compiler warnings.
1998-12-14 06:16:13 +00:00
dillon
9138a59988 Get rid of uninitialized warning for local variable 'c'. There was no
bug, but set it to 0 anyway to get rid of warning.

    Get rid of uninitialized warning for local variable 'line' as well as
    make a minor change to its scope.  Again, no bug.
1998-12-14 06:13:41 +00:00
dillon
19dc264538 author was assuming that nextpaddr declared *inside* the do loop would
survive within the loop.  This is not guarenteed by C.  I have moved
    the nextpaddr declaration to outside the do loop.
1998-12-14 05:35:56 +00:00
dillon
2d7053a5cc Change local ddb_mode variable to volatile to handle GCC warning about
the variable possibly being clobbered by setjmp/longjmp.
1998-12-14 05:34:33 +00:00
eivind
a5951b43db Fix 3-byte buffer overflow.
Also, while I'm here, fix up some more after those that haven't
noticed #endif isn't a comment introducer.
1998-12-13 23:36:16 +00:00
eivind
1c27a8c0e7 Fix typo - [0], [1], [2], not [0], [1], [3]. 1998-12-13 23:32:44 +00:00
steve
c5ff6e3473 wcd_read_toc returns zero on success and EIO on failure, so change the
test in open to return EIO if non-zero.

PR:		8316
Submitted by:	Masatoshi TAMURA <tamrin@shinzan.kuee.kyoto-u.ac.jp>
1998-12-13 23:30:15 +00:00
eivind
544e5b8db6 Fix typo - sizeof(struct crtl *) -> sizeof(struct ctrl *).
XXX This still assume that bzero() over a field create null-pointers,
which seems a chancy proposition at best.
1998-12-13 23:25:29 +00:00
n_hibma
42b911c298 Added all the options to LINT with descriptions. Haven't tried to compile
the LINT kernel yet however...
1998-12-13 23:06:16 +00:00
n_hibma
4f19f2cec5 dded the stubs for umodem and ucom (communications class driver). They are nothing other than
the ugen driver with different variable names.
1998-12-13 23:04:35 +00:00
eivind
8fdbb602f1 Remove warning introduced by the last committer. 1998-12-13 23:00:48 +00:00
eivind
df90d2d83b Another extra pointer check. 1998-12-13 22:29:32 +00:00
imp
ca6fd0503c Add support for the YE-Data external PCMCIA floppy driver. This
floppy is used on the toshiba Libretto line of subnotebook computers.
It differs from a normal floppy in that you must use PIO rather than
DMA to transfer the data.

To enable this, you must add options "FDC_YE" to your kernel.  I don't
have a machine that has a floppy and a pcmcia slot to test to make
sure that this doesn't impact normal floppy units, so I've left this as
an option.

I have ported this to -current and made an attempt to ensure that the
indentation conforms to style(9), aka the bruce filter.

Reviewed by:	nate, markm
Submitted by:	David Horwitt (dhorwitt@ucsd.edu)
1998-12-12 08:16:01 +00:00
msmith
f7e9d3183a Perform APM power-off on power-off request, not halt request. 1998-12-10 23:36:14 +00:00
eivind
d2f9690e5c Rename one of the two devfs_link's to devfs_makelink. 1998-12-10 19:57:01 +00:00
brian
578a7c3375 Support ESS1868 (and probably ESS688 & ESS1668).
Submitted by: Max Khon <fjoe@husky.iclub.nsu.ru>
1998-12-10 18:36:10 +00:00
jkh
250b33b964 linux_pipe does not preserve the edx register. Linux and
programs using glibc expect edx to be preserved accross syscalls.
As a result, linux programs running in emulation mode can
have whatever value may be represented by edx clobbered.

PR:		9038
Submitted-By:	Richard Seaman, Jr. <dick@tar.com>
1998-12-10 13:47:18 +00:00
archie
7e681e5e17 Eliminate compiler warning. 1998-12-10 01:52:16 +00:00
steve
02113f36ef Cleanup up the wording for the F00F bug workaround message.
PR:		8041
Submitted by:	Dan Nelson <dnelson@emsphone.com>
1998-12-10 01:49:01 +00:00
archie
63c1396877 Eliminate compiler warnings. 1998-12-10 01:42:32 +00:00
n_hibma
1e167561f8 Preliminary support for OHCI motherboards 1998-12-09 23:28:43 +00:00
eivind
6fc4a3adfc Someday I hope people will learn that "#endif" is not a comment
introducer in ANSI C.
1998-12-09 03:30:52 +00:00
eivind
8280637a28 If we're not going to check returnvalues, it had better be M_WAITOK.
M_NOWAIT -> M_WAITOK in attach.
1998-12-09 03:11:33 +00:00
eivind
931da048ad Move the return so that the DEVFS code can execute, too. All code is
equal (it is just that some is more equal than other).
1998-12-09 02:56:48 +00:00
eivind
d246f6b8ce Get rid of CTLTYPE_OPAQUE in a SYSCTL_OPAQUE - it is added my the
SYSCTL_OPAQUE macro.
1998-12-09 02:26:45 +00:00
eivind
b4ee85eb7d malloc(xxx, yyy, M_WAITOK) does not fail. This probably explains why
the bug in the check had never been discovered.
1998-12-09 02:18:53 +00:00
kato
b34285d7af Use CNAME macro for pc98_system_parameter, which is referenced from C
source.

Submitted by:	Masanori Kanaoka <kana@saijo.mke.mei.co.jp>
1998-12-08 10:22:31 +00:00
imp
2cfcfef3a1 If there is no .depends file, use the standard ad-hoc way of ensuring
that the generated files are generated before any of the object files.
Also minor cleanup of dependencies in conf/files that I bogusly added
before.

This should fix the requirement that make depend be done starting from
a clean config directory.  If you don't have a clean directory, make
depend is still required if you want the proper .o's to be recompiled.

Reviewed by: bde
1998-12-07 22:36:54 +00:00
archie
60d13c7a9d The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.
1998-12-07 21:58:50 +00:00
bde
0d0f3202f5 Ifdefed a conditionally used include.
Don't depend on "implicit int".

Don't bloat the data section with labpc_devsw_installed.
1998-12-06 17:58:21 +00:00
archie
5c694b81cd Avoid compiler warning (printf arg type mismatch) when compiling #ifdef DEBUG 1998-12-06 00:03:30 +00:00
kato
0ebf3be7f1 Print out information for write-allocate of AMD CPUs.
Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1998-12-05 16:30:55 +00:00
dillon
9211082416 Obtained from: "Kenneth D. Merry" <ken@plutotech.com>
ICMP_BANDLIM option moved from i386/conf/options.i386 to generic
    conf/options since it is platform indpendant.
1998-12-05 03:19:51 +00:00
archie
982e80577d Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
archie
707b8f68aa Fix compiler warnings. 1998-12-04 22:14:05 +00:00
archie
51724fdc92 Fix typo: the expression .. & .. == .. needs parentheses: (.. & ..) == ..
PR:             8280 (2/3 patches contained in this PR)
Submitted by:   Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:33:06 +00:00
archie
b6602536a2 Fix typo: "==" should have been "="
PR:		8280 (1/3 patches contained in this PR)
Reviewed by:	Nate Williams <nate@mt.sri.com>
Submitted by:	Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:28:39 +00:00
wpaul
dfd7dd0c59 An early Christmas present: add driver support for a whole bunch of
PCI fast ethernet adapters, plus man pages.

if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100,
         various other PNIC devices

if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various
         other boards based on the Macronix 98713, 98713A, 98715, 98715A
         and 98725 chips

if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and
         Rhine II chips (note: the D-Link and certain other cards
         that actually use a Rhine II chip still return the PCI
         device ID of the Rhine I. I don't know why, and it doesn't
         really matter since the driver treats both chips the same
         anyway.)

if_wb.c: Trendware TE100-PCIE and various other cards based on the
         Winbond W89C840F chip (the Trendware card is identical to
         the sample boards Winbond sent me, so who knows how many
         clones there are running around)

All drivers include support for ifmedia, BPF and hardware multicast
filtering.

Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and
sysinstall device list.

I also have a driver for the ASIX AX88140A in the works.
1998-12-04 18:01:24 +00:00
dillon
7816963044 Reviewed by: freebsd-current
Add ICMP_BANDLIM option
1998-12-03 20:06:01 +00:00
jkh
32e8b6ac95 Local reserved range is now 100-127 for bdevs and 200-255 for cdevs.
Corrected by:	bde
1998-12-03 08:32:49 +00:00
jkh
01c007d915 109 id Intelligent Disk [Array] (md@doc.ic.ac.uk)
Requested by:		Mark Dawson <md@doc.ic.ac.uk>
1998-12-02 21:26:11 +00:00
kato
72f8d0d43a - For some old Cyrix CPUs, %cr2 is clobbered by interrupts. This
problem is worked around by using an interrupt gate for the page
   fault handler.  This code was originally made for NetBSD/pc98 by
   Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp> and has already
   been in PC98 tree.  Because of this bug, trap_fatal cannot show
   correct page fault address if %cr2 is obtained in this function.
   Therefore, trap_fatal uses the value from trap() function.
-  The trap handler always enables interruption when buggy application
   or kernel code has disabled interrupts and then trapped.  This code
   was prepared by Bruce Evans <bde@FreeBSD.org>.

Submitted by:	Bruce Evans <bde@FreeBSD.org>
		Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp>
1998-12-02 08:15:17 +00:00
jkh
ad85f9dcf6 (deliberately seperate commits) - reserve cdev for Nick Hibma's usb
driver.
1998-12-02 03:14:27 +00:00
jkh
4d09d062ee *thwap* - move id driver to blkdev from cdev list; it's obviously
going to want a major number from that list instead.  Also use the
same preallocated local range (500-600) for blkdevs as well as cdevs,
just to be orthogonal.  The latter was for Brian, who has a *lot*
of local device drivers and needs more than just a single reserved
number.
1998-12-02 03:13:35 +00:00
jkh
d4a6a3393b Allocate 108 for Intelligent Disk [Array] driver
(http://www.doc.ic.ac.uk/~md/ida/).

Requested by:	Mark Dawson <md@doc.ic.ac.uk>
1998-12-02 03:09:44 +00:00
phk
0c339fec9e don't print '?' for ioaddr the device may legitimately not have an
ioaddr.
1998-11-29 15:42:40 +00:00
bde
9eb9485178 Fixed sloppy clearing of TS_BUSY. Don't clear it until the transmitter
is completely empty.  There is an interrupt for output completion.  It
is painful to use, but polling method used in the corresponding fix in
sio.c (rev.1.152) can't be used because there is no status bit for
transmitter-empty.  Now ttywait() works right.

Reminded by:	NIST-PCTS
1998-11-28 15:48:09 +00:00
bde
8f11507158 Merge from sio.c rev.1.163:
Don't call timeout() for DTR wakeup if the relevant timeout is already
active.  This fixes "timeout table full" panics when sufficiently many
cyopen()s are interrupted while they are sleeping waiting for the
timeout to expire.
1998-11-28 13:18:16 +00:00
joerg
9d28e1f2b2 Fix my breakage of `make installworld'. However, i don't think it's right to
install all those images at all (nor to install them under /usr/mdec), given
the high degree of customization this Makefile needs in order to get images
that are actually useful for some NIC.

Submitted by:	John Hay <jhay@mikom.csir.co.za>,
		Paul Allenby <pallenby@mikom.csir.co.za>
1998-11-28 08:03:24 +00:00
tegge
03c8e15ce9 Don't forget to update the pmap associated with aio daemons when adding
new page directory entries for a growing kernel virtual address space.
1998-11-27 01:14:21 +00:00
tegge
930e900772 Attempt to handle interrupts delivered to all IO APICs by using the first
IO APIC with a sufficient number of pins.
1998-11-26 23:14:23 +00:00
n_hibma
1f1ab4819c Initial commit of ported NetBSD USB stack 1998-11-26 23:13:13 +00:00
eivind
3cf3a6389e Staticize. 1998-11-26 18:50:24 +00:00
joerg
b3b40ee728 Make netboot work again. All this depends on the object format being
a.out (by now).
1998-11-26 11:11:29 +00:00
paul
cf228370b7 Add Id string to if_lnc.h and fix up copyrights to be consistent and up to date. 1998-11-26 00:57:32 +00:00
paul
145a163b3f Despite what people may think the Am79C970 returns the chip id of an Am79C965.
Fix the PCI probe code to accept this id otherwise cards based on the Am79C970
fail to probe.
1998-11-26 00:53:45 +00:00
eivind
e7c2948775 Move the declaration of PPro_vmtrr from the header file to pmap.c,
replacing the one in the header file with a definition.  This makes it
easier to work with tools that grok ANSI C only.
1998-11-24 20:25:52 +00:00
bde
461b5f77f6 Untangled the Cyclades offsets a little. CY16_RESET and CY_CLEAR_INTR
were half of their physical offsets for ISA and 1/4 of their physical
offsets for PCI, while all other Cyclades offsets were physical/1 for
ISA and physical/2 for PCI.  Logically wrong macros were used to scale
CY16_RESET and CY_CLEAR_INTR to the correct physical offsets.

Fixed some style bugs (mostly long lines).
1998-11-23 13:58:55 +00:00
phk
1ca888b5fd Make timecounters more resistant to badly behaved SW/HW which locks
out interrupts for too long.  If you still see the "calcru: negative
time..." message you can increase NTIMECOUNTER (see LINT).

Sideeffect is that a timecounter is required to not wrap around in
less than (1 + delta) seconds instead of the (1/hz + delta) required
until now.

Many thanks to: msmith, wpaul, wosch & bde
1998-11-23 09:59:02 +00:00
bde
96fbde25a2 Reduce i/o overheads by not preserving the channel access register in
interrupt handlers.  Instead, load and use it atomically as necessary.
This reduces mode switching overhead for "polled" mode interrupt handling
from 5 i/o's to 3 (per service type, per port) so that polled mode is only
slightly more inefficient than "interrupt" mode.
1998-11-22 17:40:32 +00:00
bde
aa976b6579 Deleted the workaround for lockup of certain (hopefully no longer used)
UARTs when their divisor latch registers are selected while they are
doing output.  Waiting for (some) output to drain is not permitted for
the TCSANOW case of tcsetattr().  NIST-PCTS easily detects bugs like
this by testing at at speeds that no one would want to use (50 bps).

Deleted stale comments related to flushing i/o.  Flushing works properly
for 16550s according to NIST-PCTS (it can't work properly for 16450s).
This finishes fixing all sio(16550)-related bugs found by NIST-PCTS.
1998-11-22 10:47:42 +00:00
bde
93a34fb124 Fixed a comment in code that will soon go away. 1998-11-22 09:41:12 +00:00
ache
e13f350427 add -aout key to cc, size, strip - it not work for elf system 1998-11-21 21:07:17 +00:00
archie
d9b9d0f8c0 Eliminate compiler warning. 1998-11-21 01:57:48 +00:00
archie
401dae2252 Eliminate some ompiler warnings. 1998-11-21 01:54:50 +00:00
yokota
50153b4544 - Added some configuration flags as workaround for not-so-compatible
keyboard/mouse/display switch products (console switches).  Some
  products claim they emulate the PS/2 mouse when the host computer
  talks to the mouse while the mouse is actually routed to another
  host.

	flags 0x200	Do not try to identify the mouse model. All
			mice will be recognized as "generic PS/2".
	      0x400	Do not reset the mouse.  Some switches' response
			to the reset command is too slow and the psm
			will timeout.
	      0x1000	Relax error checking when probing the mouse
			port.

- Added another flag for pad devices.

	flags 0x800	Assume the pad behaves like ALPS GlidePoint
			when the user `taps' the surface of the pad;
			it will be reported as the fourth button.
1998-11-20 11:46:43 +00:00
yokota
1f03d6ad71 - Added support for Genius Kidspad tablet.
# `moused' is getting too over-loaded now.  If we want something
# more than simple mouse emulation for tablets or remote devices,
# we should start writing a separate daemon...

Submitted by: luigi
1998-11-20 11:22:17 +00:00
kato
feaedfaff6 Fix ROOL UP/DOWN keys of PC-98. 1998-11-18 08:33:58 +00:00
eivind
3891d980a3 Make it possible to adjust the IDE probe delay from kernel config files. 1998-11-15 20:08:50 +00:00
eivind
1f0835622c Depend on __FreeBSD_version instead of __FreeBSD__ 1998-11-15 19:30:48 +00:00
dfr
c804c217bb * Change 'struct resource' to 'struct config_resource'.
* Bump config version.
1998-11-15 18:07:35 +00:00
bde
51ad68ca2d Finished updating module event handlers to be compatible with
modeventhand_t.
1998-11-15 15:33:52 +00:00
bde
7d319d0a3e Fixed the bug that caused negative busycounts in devstat. The
devstart_start_transaction() call is misplaced - it is after the
wdustart() call that queues the transaction on the controller queue.
Normally this doesn't matter because we're running at splbio() so
nothing will look at the controller queue.  However, obsolescent
code for syncing labels sometimes slept after the transaction was
started, so the transaction sometimes completed before it was
[recorded as] started.  This code was misplaced even for syncing
labels.  Move it to the right place.  It should go away, but
something may depend on its side effects.
1998-11-15 13:54:31 +00:00
luigi
844a9ac5ae Add a missing newline
Submitted by:	Roger Hardiman
1998-11-14 13:07:59 +00:00
obrien
44fac3553a Remove amd', nca' SCSI devices to match Mike's LINT commit. 1998-11-12 11:29:28 +00:00
jkh
78b866cf0e MF22: Bring in some linux sound ioctl support which I committed to 2.2
for PR 7792 but did not bring forward.

Submitted by:	Avatar Liang <avatar@www.mmlab.cse.yzu.edu.tw>
PR:		8656
1998-11-12 00:42:08 +00:00
msmith
e9ddda84ae Remove all mention of the 'amd' driver. It can come back if we grow
support for it again.
1998-11-11 21:29:09 +00:00
peter
b8d56a217a Argh, I don't know how I managed this, but it would help to actually
provide the routines that kern/inflate.c expects.
1998-11-11 14:28:08 +00:00
luigi
dba1a0a481 Add entry for AOpen AW37 1998-11-10 10:44:56 +00:00
peter
2dc70fe9f6 kzipboot uses kern/inflate.c outside the kernel by providing its own
minimal malloc/free implementation.  Stop passing M_GZIP to it.
1998-11-10 09:08:49 +00:00
gibbs
12c10932cc Fix probes when a port address is specified. 1998-11-10 06:44:54 +00:00
dfr
b6d9e06815 * Fix a couple of places in the device pager where an address was
truncated to 32 bits.
* Change the calling convention of the device mmap entry point to
  pass a vm_offset_t instead of an int for the offset allowing
  devices with a larger memory map than (1<<32) to be supported
  on the alpha (/dev/mem is one such).

These changes are required to allow the X server to mmap the various
I/O regions used for device port and memory access on the alpha.
1998-11-08 12:39:07 +00:00
peter
bcf17c0b9c Missing newline at end of file causes syntax error. 1998-11-08 09:57:28 +00:00
msmith
b2e08a456c Enable 686 class optimisations for all 686-class processors, not just the
Pentium Pro.  This resolves the "Dog slow SMP" issue for Pentium II
systems.
1998-11-08 02:26:14 +00:00
peter
ddb90f5ce0 Don't define the module glue if building as an LKM, this happens to have
a same symbol name as the LKM glue.
1998-11-07 04:34:02 +00:00
msmith
815c9a8514 USERCONFIG_BOOT -> INTRO_USERCONFIG
Submitted by:	des
1998-11-06 20:32:22 +00:00
peter
14abd13b5b Create an 'ibcs2' module so that scripts can tell if it's statically
linked in or needs to be loaded.
1998-11-06 16:00:47 +00:00
obrien
f1a5689d21 make lnc0 definition in LINT match GENERIC 1998-11-06 09:37:38 +00:00
obrien
e3a2167178 add AMD Am7990 & Am79C960 to description of lnc(4) 1998-11-06 09:35:32 +00:00
dg
4a09196d8c Document the new NSFBUFS option. 1998-11-05 14:36:37 +00:00
nsouch
751db9697b iicbus probe and attach deferred until root_bus_configure() call. 1998-11-04 22:09:17 +00:00
peter
61a53e2b63 Make a.out kernels kld compatable by default... 1998-11-04 15:27:41 +00:00
peter
7f0987e02d Remove stray(?) debugging printf's and cngetc()'s that freeze boot several
times waiting for keypresses.
1998-11-04 13:37:43 +00:00
luigi
2842a92b36 Remove an error message from sb interrupt driver -- it
does not apply to all situations.
1998-11-04 09:13:20 +00:00
des
d6ccde6698 Back out previous commit. The bpfilter -> bpf transition will have to be a
flag day unless we can hack config(8) to smooth things over.
1998-11-03 22:01:22 +00:00
des
b38e7f90e1 Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal
and will stick around for a while.
1998-11-03 21:12:20 +00:00
msmith
b120b000dd Remove USERCONFIG_BOOT, add INTRO_USERCONFIG 1998-11-03 21:08:49 +00:00
msmith
90bdf0d597 Remove the USERCONFIG_BOOT option. Userconfig script data is searched
for in a loaded module of type "userconfig_script".  The RB_CONFIG
flag will always result in the user being left inside userconfig at
the end of the script's execution, regardless of 'quit' commands in
the script.  If the RB_CONFIG flag is not specified, the user will
never be left inside userconfig, even if the script does not have an
explicit exit command.

Add the INTRO_USERCONFIG option.  This option forces the userconfig 'intro'
screen (after a script has optionally been executed).  There is no longer
a need to queue an 'intro' command.
1998-11-03 21:07:51 +00:00
yokota
bea6b236e2 Don't update the screen while the cursor shape is being changed
by the user-land program.
PR: i386/8344
1998-11-03 02:37:46 +00:00
obrien
e7035deee9 spell check 1998-11-02 09:39:54 +00:00
nsouch
460fe9f0f8 Oops forgot to remove peter's 'device iicbb0' declaration. Done. 1998-11-01 18:47:18 +00:00
nsouch
222fe989ce Add controller iicbb (generic I2C bit-banging code) and lpbb
(official Philips I2C parallel interface)

Add comments for bktr port to the new I2C framework
1998-11-01 18:41:21 +00:00
peter
e5c6a4fa5e Add John Dyson's SYSCTL descriptions, and an export of more stats to
a sysctl hierarchy (vm.stats.*).  SYSCTL descriptions are only present
in source, they do not get compiled into the binaries taking up memory.
1998-10-31 17:21:31 +00:00
peter
b7f6f55ecf I do not know if this is correct, but add iicbb0 as a device so that
LINT links.
1998-10-31 14:26:21 +00:00
peter
a86ed6c36d Fixup prototypes so that this beastie compiles. 1998-10-31 14:23:09 +00:00
nsouch
2ae8dc4095 pcf.c: timeout management added
ppc.c: nsc code improved. Actually, a complete rewrite.
1998-10-31 11:37:09 +00:00
des
0a26960a25 Document that we support i82595-based Ethernet adapters (Intel EtherExpress
Pro/10 and Pro/10+).
1998-10-30 20:49:14 +00:00
luigi
a0cb7739f4 Fix a typo, and remove verbose error reporting when in
promisc mode (they are annoying in normal mode
as well so i am really tempted to remove them unconditionally...)
1998-10-30 11:53:58 +00:00
luigi
ce608fc0ab Use "KB" instead of "Kb" for KiloBytes, consistently with other
drivers and common practices.
1998-10-30 10:57:09 +00:00
msmith
e79dcdb69f Add the ability to specify where on the at_shutdown queue a handler is
installed.

Remove cpu_power_down, and replace it with an entry at the end of the
SHUTDOWN_FINAL queue in the only place it's used (APM).

Submitted by:	Some ideas from Bruce Walter <walter@fortean.com>
1998-10-30 05:41:15 +00:00
wollman
b9784762c1 A small fragment of new ISA framework: manifest constants for the resources
implemented by the i386 root nexus.
1998-10-29 01:56:23 +00:00
dg
20b2c33d9a Added a second argument, "activate" to the vm_page_unwire() call so that
the caller can select either inactive or active queue to put the page on.
1998-10-28 13:37:02 +00:00
bde
84009a0905 Check the major number of the boot device more carefully. There was only
a problem if the boot blocks passed bad data.

Check the major number of the dump device consistently.
1998-10-26 07:05:34 +00:00
bde
558766fa94 Don't follow null bdevsw pointers. The `major(dev) < nblkdev' test rotted
when bdevsw[] became sparse.  We still depend on magic to avoid having to
check that (v_rdev) device numbers in vnodes are not NODEV.
1998-10-25 19:26:18 +00:00
phk
bfaec8d4e5 Update to current reality. We can now track several LORSTA on separate
minor devices.

Improve PLL/OCXO DAC dithering.

General remodeling.

Performance is now 2.5e-11 in frequency and +/- 100 nsec in time, both
of which are actually the limits of the transmitted signal.
1998-10-24 19:55:09 +00:00
bde
b35bd08816 Ignore `vector xxxintr' specifications except for checking their syntax.
Interrupt handlers are now configured in drivers.

Didn't update config/SMM.doc.  It doesn't have any i386 examples (not
even `isa').

Bumped CONFIGVERS.  This is not necessary for -current yet, but using
the new config with old system sources gives null pointers for all
vectors.
1998-10-23 17:05:06 +00:00
phk
2e36499ddf Update timecounters to new interface. 1998-10-23 10:46:20 +00:00
bde
d58c79316c Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 15:39:35 +00:00
bde
ea9f5ec2f0 Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 15:31:33 +00:00
bde
f89f94ea93 Quote port names that have a digit in them. IO_TIMER1 was lexed as
{ port_name = "IO_TIMER", port_number = 1 } and only worked because
it was reassembled to "IO_TIMER1".  Trailing digits always work, but
this is too magic to depend on.

Don't quote port names that don't have a digit in them.
1998-10-22 13:49:51 +00:00
bde
041b424399 Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 12:23:04 +00:00
bde
26033041e3 Fixed the ifdef for `uart' driver being present. The sound-driver-specific
ifdef used in uart6850.c is bogus.

Reported by:	Paul Allenby <pallenby@mikom.csir.co.za>
1998-10-22 11:41:22 +00:00
luigi
b4eeb12a4c Fix behaviour of the driver with small files -- due to a stupid
bug sound was not played if the total amount of data written to
the device was less than one blocksize

Noticed by: NABETANI Masaki and FreeBSD-users-jp
1998-10-22 11:20:33 +00:00
bde
8bfaa707a6 The previous change was much too simple to actually compensate for
braindamage in sound driver confiruration.  Attempt to only reference
interrupt handlers if their driver is configured.
1998-10-22 10:34:11 +00:00
bde
df88297cad Initialize isa_devtab entries for interrupt handlers in individual
device drivers, not in ioconf.c.  Use a different hack in isa_device.h
so that a new config(8) is not required yet.

pc98 parts approved by: kato
1998-10-22 05:58:45 +00:00
rnordier
34b1dd6005 Get things limping along again for the 80386 and friends. The
ELF assembler emits a redundant operand-size prefix for the
fnstsw %ax instruction, and this stops the show for 3.0-RELEASE.
1998-10-21 17:10:49 +00:00
dg
3bb5ec13b6 Decrement the now unused page table page's wire_count prior to freeing it.
It will soon be required that pages have a zero wire_count when being
freed.
1998-10-21 11:38:14 +00:00
wpaul
dd72da46f8 Add driver support for PCI fast ethernet adapters based on the
RealTek 8129/8139 chipset like I've been threatening. Update kernel
configs, userconfig.c, relnotes and sysinstall. No man page yet;
comming soon.

I consider this driver stable enough that I want to give it some
exposure in -current.
1998-10-18 16:24:34 +00:00
peter
6f3b588dc2 Add an ELF_MACHINE_OK() macro for compatability with the Alpha version. 1998-10-18 15:31:23 +00:00
peter
a49ba65081 Print a message if bootverbose that the emulator is present in the kernel.
Move the initialization before isa_configure() and npx, in case npx does
something to initialize the state of the emulator somehow.

I do not have any machines without a FPU so that I can test this with -
except an old 386sx motherboard in a box somewhere that might work...
1998-10-18 07:40:29 +00:00
alex
e51cdb65fb Complete the description of sio flag 0x40.
Reviewed by:	bde
1998-10-16 22:26:19 +00:00
peter
fadc81aa18 Update SMP-GENERIC to something a bit more recent based on GENERIC.
Approved by: jkh
1998-10-16 04:44:05 +00:00
peter
464de37ce6 *gulp*. Jordan specifically OK'ed this..
This is the bulk of the support for doing kld modules.  Two linker_sets
were replaced by SYSINIT()'s.  VFS's and exec handlers are self registered.
kld is now a superset of lkm.  I have converted most of them, they will
follow as a seperate commit as samples.
This all still works as a static a.out kernel using LKM's.
1998-10-16 03:55:01 +00:00
obrien
ee74ab62dd Add commented out bpf entry. (DHCP is popular here, and this is required).
Ok'ed by:	jkh
1998-10-16 01:30:11 +00:00
gibbs
9ede5f09d8 Bring back support for honoring the primary channel setting for twin channel
EISA adapters.  This could have caused the system to find the wrong root
disk.

Reviewed by:	 J Wunsch <j@ida.interface-business.de>
1998-10-15 18:21:50 +00:00
sos
42b4d56210 Make the next_writeable address specific for each drive, there might
be more than one burner online.
1998-10-15 08:11:55 +00:00
dg
3defb6d13f Fixed two potentially serious classes of bugs:
1) The vnode pager wasn't properly tracking the file size due to
   "size" being page rounded in some cases and not in others.
   This sometimes resulted in corrupted files. First noticed by
   Terry Lambert.
   Fixed by changing the "size" pager_alloc parameter to be a 64bit
   byte value (as opposed to a 32bit page index) and changing the
   pagers and their callers to deal with this properly.
2) Fixed a bogus type cast in round_page() and trunc_page() that
   caused some 64bit offsets and sizes to be scrambled. Removing
   the cast required adding casts at a few dozen callers.
   There may be problems with other bogus casts in close-by
   macros. A quick check seemed to indicate that those were okay,
   however.
1998-10-13 08:24:45 +00:00
yokota
dbc1db2955 Added a workaround for yet-another, less-than-compatible keyboard controller.
This one returns 0xfa (ACK) for TEST_KBD_PORT and TEST_AUX_PORT commands.
The compatible controllers expected to return 0.
1998-10-13 07:56:38 +00:00
jkh
cfc27182a2 Add adw device.
Noticed by:	phk
1998-10-12 23:14:28 +00:00
imp
ffd3a45361 Fix breakage introduced by last patch. bde has added CC_QUIET flag to
hasseen_isadev so this will be less noisy when conflicts do exist.
Also eliminate redundant warnings about conflicts.

Requested by: bde
Reviewed by: gibbs
1998-10-12 18:53:33 +00:00
bde
e23991ad03 Don't print conflict messages in haveseen_isadev() if CC_QUIET is
specified.  This makes haveseen_isadev() useful for searching for a
free resource.  This increases the bitrot in the pci RESOURCE_CHECK
code.

Fixed the pre-attach conflict message.  The flag for distinguishing
pre-attach conflict checks from pre-probe ones was never set.
1998-10-12 13:12:45 +00:00
bde
aa283c7d36 Fixed bitrot in mfs options. MFS_ROOT split into MFS_ROOT and
MFS_ROOT_SIZE, and MFS_AUTOLOAD went away.
1998-10-12 12:27:24 +00:00
bde
dac30ef086 Added flag CC_QUIET for quiet conflict checking.
Fixed corrupted tabs.
1998-10-12 11:32:35 +00:00
alex
772482444a Unregister the glibc2 brand at module unload time.
Change the ELF registration/unregistration scheme to be less error prone.
Adding a new brand requires a single addition to linux_brandlist instead of
modifying linux_load(), linux_unload(), and linux_elf_init().

Approved by:	jkh
Reviewed by:	msmith
1998-10-11 21:08:02 +00:00
jdp
02ed78af40 Fix a couple of out-of-bounds array references in mapping between
Linux and FreeBSD signal numbers.  Also, check signal numbers passed
in from application programs for validity.  Without these checks,
it is trivial to panic the system from a Linux program.
1998-10-11 04:54:16 +00:00
bde
15bf93eccd Don't pretend to support ix86's with 16-bit ints by using longs just
to ensure 32-bit variables.  Doing so broke i386's with 64-bit longs.

This also fixes printf format errors.
1998-10-10 14:30:05 +00:00
bde
dc1560b257 Fixed warnings for pointer versus int type mismatches. Addresses must
be converted to fixed-sized integers when they are passed across the
binary interface to the kernel.
1998-10-10 14:02:07 +00:00
bde
2bbd74a65c Fixed warnings for pointer versus int type mismatches. Addresses must
be converted to fixed-sized integers when they are passed across the
binary interface to the kernel.

Didn't fix rotted bits (including not passing dosdev to the kernel and
serious out of dateness when initially committed).
1998-10-10 13:51:24 +00:00
kato
c97299bfbe mp_machdep.c: Set a vector to boot code (PC-98).
locore.s: Tell the bios to warmboot next time (PC-98).
1998-10-10 13:37:16 +00:00
kato
23e7c1b00c PC-98 doesn't have CMOS ram. 1998-10-10 10:36:12 +00:00
kato
e677608687 PC-98 doesn't have CMOS ram. 1998-10-10 09:38:02 +00:00
obrien
eb21e816c4 Add GENERIC rev 1.124 changes 1998-10-10 09:25:12 +00:00
jkh
9420693ea7 Add entries for MFS which are consistent with the others, now that
Peter has made this more selectable.
1998-10-10 08:13:58 +00:00
jkh
a196ba12b0 Allow more flexible use of MFS root.
Submitted by:	peter
1998-10-10 08:12:24 +00:00
peter
35e06a4cdd rm *.so and *.ko in clean as well. 1998-10-10 01:00:56 +00:00
imp
13f2ddfc61 Fix conficts in probe:
o For bt and aha only probe the one I/O range if a specific I/O is specified
  in the config file.
o Don't even try to probe I/O ranges that have been seen already.
o If we conflict with an IRQ or DRQ, then fail the probe.

Requested by: bde, gibbs
Approved by: jkh
1998-10-10 00:44:12 +00:00
peter
482ceee22c Relocate the preload module info from machdep specifically rather than
trying to do it in locore.  We also walk through the module table
and relocate any MODINFO_ADDR pointers so that they become KVM relative
rather than physical addresses.  This means that hacks for adding
0xf0000000 in places like MFS go away.
1998-10-09 23:36:26 +00:00
peter
48d3d86cd7 elf_machdep.c and rindex.c are now standard 1998-10-09 23:08:14 +00:00
gibbs
ed4de15d44 Hook up ahapoll so that dumps, synchronize cache commands or any other
command that comes in through xpt_polled_action works correctly.
1998-10-09 21:38:36 +00:00
peter
603a840c28 Null commit.. CVS aborted on freefall last time (reaonly file).
An elf_reloc() function for the i386.  Based on alpha/alpha/elf_machdep.c
and rtld-elf/i386/reloc.c.
1998-10-09 20:38:03 +00:00
peter
37a3ec6488 An elf_reloc() function for the i386. Based on alpha/alpha/elf_machdep.c
and rtld-elf/i386/reloc.c.
1998-10-09 20:35:45 +00:00
gibbs
b9c44f5513 Pass termination information via softc flags to the core driver. The
EISA probe missed out on this change in attach->core API.
1998-10-09 17:42:28 +00:00
msmith
0d4797aebc Initialise kernel environment and module metadata pointers. 1998-10-09 00:31:06 +00:00
msmith
0a6f31055f Fix up the kernel environment and module data pointers in the bootinfo if
they are present.
If we are told where the end of the loaded kernel image is, believe it.
1998-10-08 21:03:41 +00:00
des
e3725de368 Make that annoying "device busy" message dependent on DEBUG (using the
DEB macro). There are probably quite a few other messages that warrant
a similar treatment, and many more that should be converted to plain
log messages (e.g. "WARNING: wrintr but write DMA inactive!"). Now
that I think of it, same goes for the CAM code (e.g. the famed "tagged
openings" message)
1998-10-08 20:55:54 +00:00
kato
f20c820e31 Discard previous commit. 1998-10-08 17:20:58 +00:00