Commit Graph

12885 Commits

Author SHA1 Message Date
n_hibma
cb434691d9 Removed probes for USB chips 82371xB (done in dev/pci/uhci_pci.c) 1998-11-26 21:57:52 +00:00
eivind
da99bd7667 Staticize some more. 1998-11-26 18:54:52 +00:00
eivind
3cf3a6389e Staticize. 1998-11-26 18:50:24 +00:00
bde
8fdbb5fce3 Fixed the previous fix - stathz doesn't give the statclock frequency
when it is 0.

Submitted by:	mostly by Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-26 16:49:55 +00:00
bde
043d2a6202 Oops, yet again back out some local changes that shouldn't have been
in the previous commit.
1998-11-26 14:05:58 +00:00
bde
0d3ca540ea Fixed scaling of p_pctcpu. It was wrong by a factor of stathz/hz.
Until recently, this was half compensated for in at least ps and top
by multiplying by 100/stathz to get a better wrong factor of 100/hz.
1998-11-26 14:00:08 +00:00
kato
0d1ee57ed3 Sync with sys/i386/boot/netboot/Makefile revision 1.20. 1998-11-26 11:47:51 +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
joerg
26759045ab ...nor does this old TDC3620 like to be asked for compression.
But well, now it's running again!
1998-11-26 10:47:52 +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
imp
aec3e1ab2f o Patch, slightly altered, from Graham Menhennitt for older aha 1542B
cards.  My machine didn't tickle this problem, so I can't tell if
  it fixed anything or not.  However, it didn't break my already working
  1542-{B,C,CF,CP} probes.
o Minor comment correction
o Minor correction in printf
1998-11-25 19:12:56 +00:00
joerg
3b77b17251 This old firmware of the TDC3620 hangs the SCSI bus upon serial
number requests.  Don't ask it so.
1998-11-25 13:50:10 +00:00
kato
f35e92b7ca Reorder entries of ed drivers. Many NICs can be automatically
detected, even though a user doesn't disable unused entries with
userconfig.

Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
1998-11-25 11:00:31 +00:00
kato
19f702d89c Cosmetic change. 1998-11-25 10:53:21 +00:00
dfr
68f5aa320d Port top to the alpha.
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-25 09:45:28 +00:00
dg
3d709a2bc7 Add missing splvm protection around unqueue call. Without this, the page
queues would eventually get corrupted.
1998-11-25 07:40:49 +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
eivind
d79b4eeee7 Whoops - wrong copy of files, so all wasn't converted. Rest of perl -> perl5 1998-11-24 19:02:43 +00:00
eivind
0797d79489 perl -> perl5, to allow to compile on older boxes with perl5 installed (but
without perl5 as the system perl)
1998-11-24 18:58:43 +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
sos
ba9fb96ddb Add a kludge to prevent panicing when using VM86 and hitting here
with a NULL curproc.

Originally by: Tor Egge (IIRC)
1998-11-23 09:34:19 +00:00
bde
e3a7f015db Fixed a missing include. `SYSININT(...);' garbage in gave null garbage out. 1998-11-23 09:33:35 +00:00
kato
c94ea688e0 Sync with sys/i386/isa/sio.c revision up to 1.218. 1998-11-23 07:49:03 +00:00
kato
a1a55c022d Sync with sys/i386/boot/biosboot/Makefile revision 1.67. 1998-11-23 07:34:37 +00:00
gibbs
ad7080d581 Change the delivery mechanism for incoming target commands. We now
use a 256 entry ring buffer of descriptersfor this purpose.  This allows
the use of a simple 8bit counter in the sequencer code for tracking start
location.

Entries in the ring buffer now contain a "cmd_valid" byte at their tail.
As an entry is serviced, this byte is cleared by the kernel and set by
the sequencer during its dma of a new entry.  Since this byte is the last
portion of the command touched during a dma, the kernel can use this
byte to ensure the command it processes is completely valid.

The new command format requires a fixed sized DMA from the controller
to deliver which allowed for additional simplification of the sequencer
code.  The hack that required 1 SCB slot to be stolen for incoming
command delivery notification is also gone.
1998-11-23 01:33:47 +00:00
truckman
0b3bd2def8 We can't call fsetown() from sonewconn() because sonewconn() is be called
from an interrupt context and fsetown() wants to peek at curproc, call
malloc(..., M_WAITOK), and fiddle with various unprotected data structures.
The fix is to move the code that duplicates the F_SETOWN/FIOSETOWN state
of the original socket to the new socket from sonewconn() to accept1(),
since accept1() runs in the correct context.  Deferring this until the
process calls accept() is harmless since the process can't do anything
useful with SIGIO on the new socket until it has the descriptor for that
socket.

One could make the case for not bothering to duplicate the
F_SETOWN/FIOSETOWN state and requiring the process to explicitly make the
fcntl() or ioctl() call on the new socket, but this would be incompatible
with the previous implementation and might break programs which rely on
the old semantics.

This bug was discovered by Andrew Gallatin <gallatin@cs.duke.edu>.
1998-11-23 00:45:39 +00:00
ken
7db1d5d959 Fix a few problems that Bruce noticed about a month ago, and fix oup one
other problem.

- Hold onto splsoftcam() in the peripheral driver open routines until we
  have locked the periph.  This eliminates a race condition.

- Disallow opening the pass driver when securelevel > 1.

- If a user tries to open the pass driver with O_NONBLOCK set, return
  EINVAL instead of ENODEV.  (noticed by gibbs)
1998-11-22 23:44:47 +00:00
nsouch
eb4cacd581 Remove broken and useless intr interface.
Submitted by: Doug Rabson <dfr@nlsystems.com>
	      Amancio Hasty <hasty@rah.star-gate.com>

Avoid compile warnings.
1998-11-22 22:01:42 +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
yokota
85b18b5acf Oops, I forgot to update this file when I changed moused recently. 1998-11-22 11:57:59 +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
bde
4084e8c5f1 Return ENOTTY instead of EBADF for ioctls on dead vnodes. This fixes
tcsetpgrp() on controlling terminals that are no longer associated
with the session of the calling process, not to mention ioctl.2.
1998-11-22 09:19:07 +00:00
bde
f333cb0cb8 Fixed some missing cases in the check for ioctls that involve modification.
Many (mostly machine-dependent ones) are still missing.  NIST-PCTS found
this bug for all the ioctls used to implement the POSIX tc* functions
(TIOCCBRK, TIOCDRAIN, TIOCSPGRP, TIOCSBRK, TIOCSTART and TIOCSTOP), and
I found FIOASYNC, TIOCCONS, TIOCEXCL, TIOCHPCL, TIOCNXCL, TIOCSCTTY and
TIOCSDRAINWAIT by inspection.  TIOCSPGRP was ifdefed out for some reason.

Handle tcsetattr()'s historical speed conversions correctly and more
centrally:
- don't store speeds of 0 in the final termios struct.  Drivers can now
  depend on tp->t_ispeed and tp->t_ospeed giving the actual speed.
  Applications can now depend on tcgetattr() being POSIX.1 conformant.
- convert from a proposed input speed of 0 to the proposed output speed
  (except if that is 0, convert to the current output speed).  Drivers
  can now depend on the proposed input speed being nonzero.
- don't reject negative speeds.  Negative speeds can't happen now that
  speed_t is unsigned, and rejecting invalid speeds is a bug - tcsetattr()
  is supposed to succeed if it can "perform any of the requested actions",
  so it shouldn't fail in practice.
1998-11-22 09:04:09 +00:00
rnordier
2b7d69a8df Drop use of BIOS int 0x14 services in favor of direct port I/O.
Feedback and testing: Adrian Filipi-Martin <adrian@ubergeeks.com>
1998-11-22 07:59:16 +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
dt
febe109a86 Support NT VFAT lower case flags.
PR:		8383
(Mostly) Submitted by:	Carl Mascott <cmascott@world.std.com>
1998-11-21 00:20:24 +00:00
wpaul
2981ab6dbf Add missing return statement to rl_phy_writereg(). This bug didn't actually
hurt anything, but it's still a bug.

Pointed out by: Jason Wright <jason@thought.net>
1998-11-20 19:26:37 +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
archie
fe1c18e2d4 Fix misallocation of buffer bug (too short) 1998-11-20 02:57:41 +00:00
paul
36945c480b This fixes a bug in the bcache code whereby false cache hits occur
the first time block 0 is read. This fix initialises the block
numbers to -1 which isn't the most correct thing for a daddr_t but
it isn't likely to cause a problem in the boot blocks and it could
do with a more thought out fix later.

The bug is probably benign on the i386 but on the alpha it can
cause initial file opens to fail. This is the cause of the "can't
open /boot/boot.conf" errors.

It appears on the alpha because of a number of combining factors.
On the alpha the LABELSECTOR is 0 so block 0 needs to be read in
from the media. The first time this happens you get a false hit
because the bc_blkno field is zero initially. Also, the timestamp
check against this cache hit succeeds because on the alpha a hacked
getsecs() function can return 0 when it starts counting so that
the zero initial timestamp + BCACHE_TIMEOUT is greater than the
current time until getsecs() has counted passed BCACHE_TIMEOUT.

The overall effect is that the first open() that occurs gets a
false cache hit and returns garbage to the bd_strategy() function
which then fails the open() call. This false hit then stays in the
cache until BCACHE_TIMEOUT getsecs() ticks have passed; all open()
calls during this time fail.

This explains why you can generally access the media by the time
you get to interp() and start issuing commands but the earlier
attempts to run the boot scripts are failing.

It's possible that this is causing the problem switching to the
mfsroot floppy as well but I haven't confirmed that.
1998-11-19 18:12:03 +00:00
jdp
6f8c78ca1a Fix a couple of typos. 1998-11-19 18:07:28 +00:00
bde
9094f7c05e Fixed a null pointer panic in spc_free(). swap_pager_putpages()
almost always causes this panic for the curproc != pageproc case.
This case apparently doesn't happen in normal operation, but it
happens when vm_page_alloc_contig() is called when there is a memory
hogging application that hasn't already been paged out.

PR:		8632
Reviewed by:	info@opensound.com (Dev Mazumdar), dg
Broken in:	rev.1.89 (1998/02/23)
1998-11-19 06:20:42 +00:00
dfr
a9a7505ea5 Fix things so that pci interrupts can be registered correctly on apecs
and lca machines (which route PCI interrupts through the ISA PIC).

Reviewed by: dima
1998-11-18 23:53:12 +00:00
dfr
86637d9d69 Add sc_traparg_a0, sc_traparg_a1 and sc_traparg_a2 to the sigcontext
structure for the alpha.  These give extra information about some
signals (such as SIGSEGV) and should be compatible with Digital Unix.

Submitted by: jdp
1998-11-18 23:51:40 +00:00
dima
f6dc1e1822 Remove -U__NetBSD__ 1998-11-18 23:51:17 +00:00
wpaul
bfffd9b00f The Accton 1207D adapter uses a chip called the MXP 5030 (or 5038)
which is either a RealTek 8139 in disguise or a RealTek workalike.
This commit fixes the PCI vendor/device ID for this device
and updates the description string to reflect the actual identity
of the device.

I also changed the transmit encapsulation routine to always to
buffer copies on transmit. We end up doing this 99% of the time
anyway. I also tweaked the code that pads packets out to the minimum
length (60) bytes. I was fixing up the m_pkthdr.len value but not
m_len. I don't think this makes that much difference in the grand
scheme of things, but it makes me feel better.
1998-11-18 21:03:58 +00:00
wpaul
3b78b902be Fix a minor bug in xl_attach() where the list buffer region is rounded
to a longword boundary.

Noticed by: Jason Wright <jason@thought.net>
1998-11-18 16:46:53 +00:00
dg
939b432d02 Closed a very narrow and rare race condition that involved net interrupts,
bio interrupts, and a truncated file that along with the precise alignment
of the planets could result in a page being freed multiple times or a
just-freed page being put onto the inactive queue.
1998-11-18 09:00:47 +00:00
kato
feaedfaff6 Fix ROOL UP/DOWN keys of PC-98. 1998-11-18 08:33:58 +00:00
dfr
35c2dd579e Remove stale references to ih_next and ih_prev.
Pointed out by: Roman V. Palagin <romanp@wuppy.rcs.ru>
1998-11-17 10:53:37 +00:00
dfr
5f54e20205 Definitions for alpha specific device resources. 1998-11-17 10:40:33 +00:00
dfr
6aa347bbd1 Definitions for alpha specific system calls. 1998-11-17 10:40:07 +00:00
mckusick
0d67d3da58 Because buffers may be tossed and recreated at will under the new VM
system, the mapping from logical to physical block number may be lost.
Hence we have to check for a reconstituted buffer and redo the call to
VOP_BMAP if the physical block number has been lost.
1998-11-17 00:31:12 +00:00
rvb
b1e41ac988 A few bug fixes for Robert Watson 1998-11-16 19:48:26 +00:00
dfr
27d260c1d9 Make the previous fix more portable.
Requested by: bde
1998-11-16 08:27:36 +00:00
kato
4e499e78ea Sync with sys/i386/isa/wd.c revision up to 1.180. 1998-11-16 08:13:54 +00:00
kato
882d7baeed Sync with sys/i386/conf/options.i386 revision 1.92. 1998-11-16 08:11:58 +00:00
kato
f58fca0aa7 Sync with sys/i386/conf/Makefile.i386 revision 1.129. 1998-11-16 08:09:16 +00:00
ken
19811ea4ff Now that the wd driver is fixed (Thanks Bruce!), re-enable the
devstat_end_transaction error message that gets printed whenever the
busy count is < 0.

This will help catch drivers that improperly implement devstat(9) support.
1998-11-15 23:57:22 +00:00
guido
23fa293e87 The below patch helps to reduce the leakage of internal socket information
when a TCP "stealth" scan is directed at a *BSD box by ensuring the window
is 0 for all RST packets generated through tcp_respond()
Reviewed by:	Don Lewis <Don.Lewis@tsc.tdk.com>
Obtained from:	Bugtraq (from: Darren Reed <avalon@COOMBS.ANU.EDU.AU>)
1998-11-15 21:35:09 +00:00
msmith
6461f7d9c1 Reimplement the NFS ACCESS RPC cache as an "accelerator" rather than a true
cache.  If the cached result lets us say "yes", then go with that.  If
we're not sure, or we think the answer might be "no", go to the wire to be
certain.    This avoids all of the possible false veto cases, and allows us
to key the cached value with just the UID for which the cached value holds,
reducing the bloat of the nfsnode structure from 104 bytes to just 12 bytes.

Since the "yes" case is by far the most common, this should still provide
a substantial performance improvement.  Also default the cache to on, with
a conservative timeout (2 seconds).  This improves performance if NFS is
loaded as a KLD module, as there's not (yet) code to parse an option out
of the module arguments to set it, and sysctl doesn't work (yet) for OIDs
in modules.

The 'accelerator' mode was suggested by Bjoern Groenvall (bg@sics.se)

Feedback on this would be appreciated as testing has been necessarily
limited by Comdex, and it would be valuable to have this in 2.2.8.
1998-11-15 20:36:18 +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
3331f029dc * Add hooks to allow the X server to access I/O ports and memory.
* Update drivers to the latest version of the bus interface.

The ISA drivers' use of the new resource api is minimal.  Garrett has
some much cleaner drivers which should be more easily shared between
i386 and alpha.  This has only been tested on cia based machines.  It
should work on lca and apecs but I might have broken something.
1998-11-15 18:25:17 +00:00
dfr
3c5010b4ae Build subr_rman.c by default. 1998-11-15 18:16:23 +00:00
dfr
ae8eeebcb3 Don't include link_elf.c twice in the link. 1998-11-15 18:15:06 +00:00
dfr
3d34322c0b A couple of minor sanity checks.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-15 18:11:21 +00:00
dfr
7e9b664232 Fix printf format errors on alpha. 1998-11-15 18:10:14 +00:00
dfr
c804c217bb * Change 'struct resource' to 'struct config_resource'.
* Bump config version.
1998-11-15 18:07:35 +00:00
dg
386e180e55 In sendfile(2), check against sb_lowat when filling the socket buffer,
rather than 0.
1998-11-15 16:55:09 +00:00
bde
d3f53ca3db Fixed a misspelling of boolean true as MNT_WAIT. 1998-11-15 15:46:33 +00:00
bde
51ad68ca2d Finished updating module event handlers to be compatible with
modeventhand_t.
1998-11-15 15:33:52 +00:00
bde
9f73480e5b Don't generate module event handlers of the wrong (old) type.
Fixed some pedantic syntax errors (an extra semicolon in each
SYSUNINIT() expansion).
1998-11-15 15:25:56 +00:00
bde
5cb54abe05 Fixed the type of vfs_modevent (a little late, to match the corresponding
change in sys/mount.h).
1998-11-15 15:18:30 +00:00
bde
1bc977888f Fixed the type and order of vfs_modevent. This fixes part of a spew of
warnings for the recent change of the type of a module event handler.

Fixed a rotted comment (numeric types of filesystems are not listed here).

Made the function protototype in VFS_SET() more like the corresponding
function definition (don't use extern for prototypes).

Enforce a semicolon after the LKM case of VFS_SET().
1998-11-15 15:12:58 +00:00
bde
3dcf72bbf9 Fixed a missing include. <sys/kernel.h> is needed by the new
MALLOC_DEFINE() and MALLOC_DEFINE() is needed by the recently
reenabled "reallocblks" code, but <sys/kernel.h> was only included
if CLUSTERDEBUG was defined.  This was too harmless.  gcc only
warns about garbage like `SYSINIT(blech);' at file scope ...
1998-11-15 14:11:06 +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
dima
de202f3038 indent 1998-11-15 00:50:59 +00:00
dg
c160184873 Fixed a couple of nits in sendfile(2): clear PG_ZERO before unbusying
the page, and use passed-in "p" rather than curproc in uio struct.
1998-11-14 23:36:17 +00:00
wollman
2f0e3424ed My changes to the new device interface:
- Interface wth the new resource manager.
	- Allow for multiple drivers implementing a single devclass.
	- Remove ordering dependencies between header files.
	- Style cleanup.
	- Add DEVICE_SUSPEND and DEVICE_RESUME methods.
	- Move to a single-phase interrupt setup scheme.

Kernel builds on the Alpha are brken until Doug gets a chance to incorporate
these changes on that side.

Agreed to in principle by: dfr
1998-11-14 21:58:51 +00:00
luigi
844a9ac5ae Add a missing newline
Submitted by:	Roger Hardiman
1998-11-14 13:07:59 +00:00
msmith
70b71c8c7a Add documentation for $rootdev. 1998-11-13 23:53:02 +00:00
msmith
20e409b11b Add a new variable $num_ide_disks which is used to offset the unit number
for SCSI disks when converting from BIOS unit numbers to da unit numbers.

Prompted by Kevin Street <street@iname.com>
1998-11-13 23:40:02 +00:00
msmith
5a28cf0283 Avoid a null pointer reference if the target of an NFS rename has been
sillrenamed, or if the source vnode doesn't have an associated nfsnode.

Bug report from Andrew Gallatin <gallatin@cs.duke.edu>
1998-11-13 22:58:48 +00:00
msmith
0784b75a47 Don't count non-local dirty buffers as outstanding when shutting down.
This avoids the fsck-on-reboot symptoms if you're shutting down with a
hung or unreachable NFS server mounted.  Also remove non-local
filesystems from the mount list to prevent the system hanging when it tries
to unmount them (for the same reason).

Drew points out that there's a good argument for forcibly removing all
"non syncable" filesystems from the mount list (eg. NFS mounts, disks
that aren't responding, etc.) as this then allows you to sync and
cleanly unmount their parents.  No such change is included in this
patch.

Submitted by:	Andrew Gallatin <gallatin@cs.duke.edu>
1998-11-13 22:40:37 +00:00
dg
830a5dfa0c Increased PID_MAX to 99999. The main reason for doing this is to make the
pid space somewhat more sparse which improves the performance of finding
an unused pid on systems with large numbers of processes. The new value
was chosen so that it doesn't overflow the 5 digit pid fields in various
programs.
1998-11-13 17:53:55 +00:00
gibbs
8066791e59 Move a diagnostic behind "if (bootverbose)". 1998-11-13 13:23:36 +00:00
dfr
f8c57dfec2 Fix a panic in nfsrv_dorec() where a NULL pointer could be passed to
free() sometimes.

Reviewed by: Eric Haug <ejh@eas.slu.edu>
1998-11-13 09:44:12 +00:00
dfr
bd083c1ec4 A couple of fixes to device_delete_child() to delete all children of
the device and to free the device which is being deleted (not its
parent - oops).

Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-13 09:39:37 +00:00
kato
8ef2fc9dde Sync with sys/i386/conf/GENERIC revision 1.131. 1998-11-13 08:18:44 +00:00
kato
3830cc75bd Sync with sys/i386/boot/kzipboot/malloc.c revision 1.7. 1998-11-13 08:18:14 +00:00
msmith
5ffcaa816e Implement NFS ACCESS RPC result caching.
This yields startling performance increases for NFS clients for many
access profiles, due to the fact that ACCESS results are persistently
cached in the namecache in many cases.

Note that the code is somewhat conservative in that it requires an
exact credential match for a cache hit.  This bloats the nfsnode
structure by sizeof(struct ucred) (96 bytes).  Any less conservative
approach opens the possibility for a false veto in eg. setuid
applications.  Alternative suggestions would be welcomed.

The cache is normally disabled, to activate set the sysctl variable
vfs.nfs.access_cache_timeout to a nonzero value.  This is the time in
seconds that a cached entry will be considered valid; useful values appear
to be 2-10 seconds.  Performance of the cache can be monitored with the
vfs.nfs.access_cache_hits and vfs.nfs.access_cache_hits variables.
1998-11-13 02:39:09 +00:00
dg
841cc6703a Restored the "reallocblks" code to its former glory. What this does is
basically do a on-the-fly defragmentation of the FFS filesystem, changing
file block allocations to make them contiguous. Thanks to Kirk McKusick
for providing hints on what needed to be done to get this working.
1998-11-13 01:01:44 +00:00
obrien
44fac3553a Remove amd', nca' SCSI devices to match Mike's LINT commit. 1998-11-12 11:29:28 +00:00
jkh
c6de7d3383 bootforth seems to be working well enough for me and others to turn
on by default.  If it causes trouble, it's very easy to switch off again.
1998-11-12 07:40:51 +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
jkh
ed695f89de Install scripts without .sh suffix. 1998-11-12 00:37:39 +00:00
msmith
0141cae4d3 Consign the 'amd' driver to the Attic. 1998-11-11 21:32:56 +00:00
msmith
5fa2ed9d30 Remove the 'amd' driver. 1998-11-11 21:30:59 +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
dg
a0c398294e Be sure to pullup entire IP header when dealing with fragment packets. 1998-11-11 21:17:59 +00:00
rvb
db28f40bee coda_lookup now passes up an extra flag. But old veni will
be ok; new veni will check /dev/cfs0 to make sure that a new
kernel is running.
Also, a bug in vc_nb_close iff CODA_SIGNAL's were seen has been
fixed.
1998-11-11 20:32:20 +00:00
dg
ba58877007 Closed a small race condition between wiring/unwiring pages that involved
the page's wire_count.
1998-11-11 15:07:57 +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
peter
c0a685635b regenerate (+kldsym) 1998-11-11 13:05:29 +00:00
peter
009610aff7 kldsym(2) prototype implementation 1998-11-11 13:04:40 +00:00
peter
94f2e0fed9 regenerate (+kldsym) 1998-11-11 12:57:05 +00:00
peter
4f405b6ef1 A kldsym(2) syscall prototype for extracting information from the in-kernel
linker.  This is intended to replace kvm_mkdb etc.  The first version
only does name->value lookups, but it's open ended.  value->name lookups
would probably be a good thing to do too.

It's been suggested to try and connect the symbol tables to sysctl (which
is probably a more flexible way of doing it if it's done right), but that
is far more complex and difficult than I was ready to have a shot at.
1998-11-11 12:45:14 +00:00
truckman
d869e35680 I got another batch of suggestions for cosmetic changes from bde. 1998-11-11 10:56:07 +00:00
truckman
de184682fa Installed the second patch attached to kern/7899 with some changes suggested
by bde, a few other tweaks to get the patch to apply cleanly again and
some improvements to the comments.

This change closes some fairly minor security holes associated with
F_SETOWN, fixes a few bugs, and removes some limitations that F_SETOWN
had on tty devices.  For more details, see the description on the PR.

Because this patch increases the size of the proc and pgrp structures,
it is necessary to re-install the includes and recompile libkvm,
the vinum lkm, fstat, gcore, gdb, ipfilter, ps, top, and w.

PR:		kern/7899
Reviewed by:	bde, elvind
1998-11-11 10:04:13 +00:00
rnordier
225b2f2541 Revise error messages. 1998-11-11 08:56:17 +00:00
peter
bc1621a70b Use a name less likely to collide with source files without an obj dir. 1998-11-11 07:40:44 +00:00
peter
626d7e81a1 Rename joy,ibcs2,linux to joy.sh,ibcs2.sh,linux.sh (via repo copy). 1998-11-11 07:04:10 +00:00
peter
9d915a348e Reenable /usr/bin/ibcs2 installing from here; it works now that the
guaranteed kernel stack overflow is fixed.
1998-11-11 05:18:22 +00:00
bde
17acac4b11 Don't forget to remove opt_mfs.h.
Fixed style bugs (bitrotted FOOFS options and hard-coded ${.TARGET}).
1998-11-11 03:06:46 +00:00
msmith
7e4e43c513 Use an at_shutdown hook to drop back to the SRM in the case where the system
is being halted, rather than hanging waiting for a keypress.

Submitted by:	Andrew Gallatin <gallatin@freebsd.org>
1998-11-11 00:02:25 +00:00
dfr
e638a21b4f Allow the use of NODEV in CDEV_MODULE and BDEV_MODULE to make the system
auto-allocate the major number.  Not terribly useful without DEVFS.
1998-11-10 21:45:18 +00:00
jkh
7e61d185d3 We need to install the linux shell script or the lkm version will
still be in place.
1998-11-10 19:39:58 +00:00
luigi
dba1a0a481 Add entry for AOpen AW37 1998-11-10 10:44:56 +00:00
peter
73192d8050 add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
peter
3c11b5a490 Register and unregister vnodeops the new way rather than leaking on
unload.
1998-11-10 09:12:40 +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
peter
e2cbb31311 Make the vnode opv vector construction fully dynamic. Previously we
leaked memory on each unload and were limited to items referenced in
the kernel copy of vnode_if.c.  Now a kernel module is free to create
it's own VOP_FOO() routines and the rest of the system will happily
deal with it, including passthrough layers like union/umap/etc.

Have VFS_SET() call a common vfs_modevent() handler rather than
inline duplicating the common code all over the place.

Have VNODEOP_SET() have the vnodeops removed at unload time (assuming a
module) so that the vop_t ** vector is reclaimed.

Slightly adjust the vop_t ** vectors so that calling slot 0 is a panic
rather than a page fault.  This could happen if VOP_something() was called
without *any* handlers being present anywhere (including in vfs_default.c).
slot 1 becomes the default vector for the vnodeop table.

TODO: reclaim zones on unload (eg: nfs code)
1998-11-10 09:04:09 +00:00
peter
b8784ef175 Arrange for unload-time linker set hooks to be called. While cut/pasting
some code, I changed the original to be consistant with the rest of the
file rather than duplicating the problems.
1998-11-10 08:49:28 +00:00
peter
0f95240d58 Have MALLOC_DECLARE() initialize malloc types explicitly, and have them
removed at module unload (if in a module of course).
However; this introduces a new dependency on <sys/kernel.h> for things
that use MALLOC_DECLARE().  Bruce told me it is better to add sys/kernel.h
to the handful of files that need it rather than add an extra include to
sys/malloc.h for kernel compiles. Updates to follow in subsequent commits.
1998-11-10 08:46:24 +00:00
peter
5d771943bc New macro for building a linker set of things to do at module unload
time (eg: disconnect malloc types contained within a module), opposite
of SYSINIT().
1998-11-10 08:41:41 +00:00
gibbs
5bbd95dcd2 Noop Commit - Change was in last revision.
If the next available mailbox is not in the free state, print a warning
and handle the condition as a temporary resource shortage.  The condition
should never happen, but we shouldn't panic since recovery is possible.
1998-11-10 06:47:11 +00:00
gibbs
7fc0da3e67 Convert to change in ISA compatiblity port handling in the base bt driver. 1998-11-10 06:45:14 +00:00
gibbs
12c10932cc Fix probes when a port address is specified. 1998-11-10 06:44:54 +00:00
gibbs
de6b8e170a Fix probes when a port address is specified.
Convert from BT'isms to AHA'isms

Don't fail the probe if the illegal command bit is set in the status
register.  If the BusLogic MultiMaster probe preceeded us, it may well
have determined that the card we are attaching to was not a true MultiMaster
by sending us a command that fails on the 154X.

Reset the adapter before doing the inquiry.  This provides extra sanity
and will also clear the illegal command status bit that my be left over
from the MultiMaster probe.
1998-11-10 06:44:42 +00:00
nsouch
14bfbe61c4 Release the ppbus when probe fails. 1998-11-09 22:22:01 +00:00
truckman
a2af3a6c6c If the session leader dies, s_leader is set to NULL and getsid() may
dereference a NULL pointer, causing a panic.  Instead of following
s_leader to find the session id, store it in the session structure.

Jukka found the following info:

	BTW - I just found what I have been looking for. Std 1003.1
	Part 1: SYSTEM API [C LANGUAGE] section 2.2.2.80 states quite
	explicitly...

	Session lifetime: The period between when a session is created
	and the end of lifetime of all the process groups that remain
	as members of the session.

	So, this quite clearly tells that while there is any single
	process in any process group which is a member of the session,
	the session remains as an independent entity.

Reviewed by:	peter
Submitted by:	"Jukka A. Ukkonen" <jau@jau.tmt.tele.fi>
1998-11-09 15:08:04 +00:00
dima
4fbaec48cb Add some bogus stuff to make systat/vmstat happy.
Reviewed by:	dfr
1998-11-09 10:47:19 +00:00
peter
6a35b23772 ifioctl takes a u_long rather than an int on 3.0 1998-11-09 09:34:00 +00:00
peter
bbf6ac0e80 Add #include to get a prototype for update_intr_masks(). 1998-11-09 09:30:55 +00:00
peter
c30cd27faf "fix" a warning that has been bugging me for ages. Eliminate a couple
of temporary variables since they are only used once and their types
were the cause of the warnings.
1998-11-09 09:21:25 +00:00
peter
23c0eb258d s/%#p/%p/ to fix a warning. This looks like a leftover of once being
%#x, which causes a leading 0x to be prepended. %p has this by default
and the '#' is ignored by the kernel prinf code for %p.
1998-11-09 08:08:06 +00:00
peter
d0b4103851 Fix a warning (#include the apic_next_irq() prototype for APIC_IO) 1998-11-09 08:03:01 +00:00
peter
0bc0cd8404 Delete stray extern declaration for non-existing variables. 1998-11-09 07:03:04 +00:00
peter
4dde2ece8b Remove [apparently] bogus casts to u_long for the vnode_pager_setsize()
second argument.  np_size is a 64 bit int, so is the second arg.  This
might have caused needless 2G/4G file size problems.

I believe it was Bruce who queried this.
1998-11-09 07:00:14 +00:00
phk
b75b623eaa Update interface to timecounter to last change to the generic code. 1998-11-08 19:26:23 +00:00
nsouch
f8540e5030 Add semicolon to INTERFACE declaration. 1998-11-08 18:51:38 +00:00
dfr
b3062b5d6a Port the ps/2 mouse driver to the alpha. 1998-11-08 18:43:03 +00:00
nsouch
8ad164396c Check if devclass exists for probed devices before
declaring the device 'alive'.
1998-11-08 18:42:34 +00:00
nsouch
8576d8f990 Update configuration files for the perl based makedevops script.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
Approved by:  Doug Rabson <dfr@nlsystems.com>
1998-11-08 18:39:57 +00:00
rnordier
66796bdb7f Prevent boot.config being parsed more than once. 1998-11-08 18:37:28 +00:00
nsouch
1f9c4b34fd Add semicolon to INTERFACE declarations 1998-11-08 18:35:53 +00:00
nsouch
3a7360f4cb "Here is the most recent version of makedevops.pl. I've made the parsing
of the input file more strict and the error messages more elaborate.
Second, the output file has slightly improved looks when >80 character
lines are concerned (I needed a 80 character line formatter anyway for
work...)."

Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-08 18:33:11 +00:00
rnordier
b8cddca3cd Drop the familiar 'text=xxxx data=xxxx bss=xxxx ...' display while
loading.  This eliminates noise when loading boot/loader; and when
loading a kernel, they generally flash by too fast to be
intelligible anyway.
1998-11-08 18:29:29 +00:00
rnordier
040db5b721 boot1: Eliminate EDD detection and optional use of disk packet
interface.  Do some general consistency fixes and space optimizations.
Use of some freed-up space to defend against possible BIOS misfeatures.

boot2: Revise disk read interface to provide for boot1 changes.  Free
up space for this.
1998-11-08 15:36:35 +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
jkh
94f344ce1c o Add proper stack checking to all file words
o add fkey and fread
o eliminate fexists now that this can be expressed in HLL forth
  ( : fexists fopen dup -1 <> if fclose 1 else drop 0 then ; ) :-)

Once we get the ability to write files, it should be possible to do
stand-alone rescue work from the 3rd stage boot. :)
1998-11-07 17:38:40 +00:00
nsouch
7a53878d66 Change METHODE (french) to METHOD.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-07 14:56:04 +00:00
nsouch
1f26d230b8 Define DEBUG only if not already defined, avoiding confusions with
opt_global.h
1998-11-07 14:35:41 +00:00
nsouch
f930dd0b22 Add iic driver iff the corresponding devclass exists. 1998-11-07 14:33:46 +00:00
nsouch
f3f49dffcd Return to previous check_for_i2c_devices() behaviour.
Cast the cmd parameter to unsigned char in every smbus call.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-11-07 14:30:48 +00:00
jkh
9c7d73f4f1 Eliminate much code cruft by extending simple file I/O API to include
fopen and fclose.
1998-11-07 06:18:06 +00:00
jkh
0ba901f49f Eliminate much code cruft by extending simple file I/O API to include
fopen and fclose.  Also look for /boot/boot.4th now and, if found,
load its contents.
1998-11-07 06:18:00 +00:00
jkh
4a9e91d8fe Take init out of here - it's a layering violation. 1998-11-07 05:01:25 +00:00
peter
55ed4d1330 oops! s/vfs_register/vfs_unregister/ in the unload case..
Mentioned by: dfr
1998-11-07 04:51:36 +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
jkh
28962a6fad Don't have debugging on by default - it makes testing annoying. :) 1998-11-07 03:44:10 +00:00
jkh
e55571e9e2 OK, fload/fexec work properly when both compiling and interpreting
now.  Gack.
1998-11-07 01:56:06 +00:00
jkh
010392a4c7 switch words to default mode. 1998-11-06 23:50:08 +00:00
jkh
4ab0ef7d74 Submit better fix to the prompt bug. 1998-11-06 23:22:26 +00:00
jkh
d539a87b02 Make fexists/fload work with existing string literals instead. Doing
my own string literal handling is just too wonky.
1998-11-06 23:20:32 +00:00
msmith
815c9a8514 USERCONFIG_BOOT -> INTRO_USERCONFIG
Submitted by:	des
1998-11-06 20:32:22 +00:00
jkh
3faff5bf0f Argh, I had this right[er] before. More commits to follow. 1998-11-06 19:17:03 +00:00
dg
bbf3dfad88 Added support for non-blocking sockets to sendfile(2). 1998-11-06 19:16:30 +00:00
peter
0cd49d032f Remove trailing ';' - use the one supplied by the caller: "VFS_SET(foo);" 1998-11-06 16:36:31 +00:00
peter
a9d0ce854a Make this work now; fixing the kstack overflow allows the dependency to
be added to the symbol search order safely.
1998-11-06 16:02:14 +00:00
peter
59c08f2e00 Don't use a glue file for the module; use the one in the kernel. 1998-11-06 16:01:19 +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
peter
b5f83c161e Don't put aggregate structs 4K large on the kernel stack, especially when
we can recurse when loading dependencies and that the kstack is limited
to something like 6 or 7KB.  Having a single dependency caused an instant
double panic, and I stronly suspect some of the other strange "events"
that I have seen are possibly as a result of taking a couple of interrupts
with a large chunk of the stack already in use.

While here, fix a minor logic hiccup in a sanity check.
1998-11-06 15:16:07 +00:00
peter
d620d61682 Define the kld_debug variable if KLD_DEBUG is enabled 1998-11-06 15:10:17 +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
kato
2993d4030b Sync with sys/i386/i386/userconfig.c revision up to 1.115. 1998-11-06 08:08:05 +00:00
kato
1f7a6675d0 Sync with sys/i386/i386/machdep.c revision up to 1.315. 1998-11-06 08:07:32 +00:00
kato
0050d4f63e Sync with sys/i386/conf/options.i386 revision 1.91. 1998-11-06 08:07:00 +00:00
kato
5eb454064e Sync with sys/i386/conf/Makefile.i386 revision 1.128. 1998-11-06 08:06:32 +00:00
jkh
f867ac1646 Use proper literal names. 1998-11-06 04:01:32 +00:00
msmith
49cc339a79 Ack. Create parseable command tail properly, and eat args out of the TIB. 1998-11-06 03:50:44 +00:00
msmith
f224c67907 Don't not print the prompt string; not doing this has funny side-effects.
Make the prompt an empty string instead.
1998-11-06 03:47:08 +00:00
msmith
8602321e78 Don't use the poxy vmGetString interface (who uses counted strings these
days?), get the input buffer ourselves.  Add some debugging code.
1998-11-06 03:45:36 +00:00
peter
805ece8823 put a \n on an error message printf 1998-11-06 02:18:57 +00:00
peter
96449795b9 If this is going to have checks for kernel versions, it might as well
do it so that it works.  This code should run on 2.2.x now.
1998-11-06 02:13:14 +00:00
peter
d9ae635b98 Remove machine/cputypes.h - it's an i386 only thing 1998-11-06 01:34:06 +00:00
rnordier
b975f40fac Make use of BIOS int 0x13 extensions configurable, and disabled
by default.
1998-11-05 20:52:25 +00:00
dg
4a09196d8c Document the new NSFBUFS option. 1998-11-05 14:36:37 +00:00
dg
b178f74f12 Implemented zero-copy TCP/IP extensions via sendfile(2) - send a
file to a stream socket. sendfile(2) is similar to implementations in
HP-UX, Linux, and other systems, but the API is more extensive and
addresses many of the complaints that the Apache Group and others have
had with those other implementations. Thanks to Marc Slemko of the
Apache Group for helping me work out the best API for this.
Anyway, this has the "net" result of speeding up sends of files over
TCP/IP sockets by about 10X (that is to say, uses 1/10th of the CPU
cycles) when compared to a traditional read/write loop.
1998-11-05 14:28:26 +00:00
jkh
33ecda9af6 Remember a bit more of my forth and do:
o Add fexists word to check for the presence of a file
o make fexists and fload immediate words which DTRT both interpreted
  and compiled (doh!)
o add an init word which gets run at bootstrapping time to do extra
  post-coldload initialization (in the default implementation, we
  look for /boot/boot.4th and load it if found).
1998-11-05 08:39:43 +00:00