Commit Graph

8749 Commits

Author SHA1 Message Date
julian
2c2a7360b2 Add a per-interface-address pointer to a function that can be supplied
by a protocol, to detirmine if an address matches the net this address
is part of.  This is needed by protocols for which netmasks
"just don't work", for example appletalk.

Also add the code in appletalk to make use of this new feature.
Thsi fixes one of the longest standing bugs in appletalk.
The inability to talk to machines to which the path is via a router
which is on a different net, but the same netrange, as your interface.
Protocols that do not supply this function (e.g. IP) should not be affected.
1997-08-28 01:17:12 +00:00
kato
b91306ebeb Include "opt_ddb.h" only when NULLFS_DIAGNOSTIC is defined. 1997-08-28 00:44:43 +00:00
kato
a2e23009f1 Use existing path, even though PC-98 doesn't support each device driver. 1997-08-27 08:47:03 +00:00
kato
51cc097afa Fixed NULLFS_DIAGNOSTIC stuff. 1997-08-27 08:44:43 +00:00
kato
1e2391dd18 Synchronize with sys/i386/i386/machdep.c and trap.c revision 1.258 and
1.108, respectively.
1997-08-27 08:43:21 +00:00
julian
00deec3cd4 remove un-needed if statement (now the poul removed the 'then' clause) 1997-08-27 02:58:40 +00:00
peter
a2ae9c0e2b Correct some things I forgot about until it was too late with smp_active.
smp_active = 1 used to indicate that the system had frozen previously
started AP's, while smp_active = 0 was "AP's not yet started".  I have split
this into smp_started (which is set when the AP's come online), and
smp_active is left for turning on/off AP scheduling.
1997-08-26 18:36:15 +00:00
peter
b952b9044c Clean up the SMP AP bootstrap and eliminate the wretched idle procs.
- We now have enough per-cpu idle context, the real idle loop has been
revived (cpu's halt now with nothing to do).
- Some preliminary support for running some operations outside the
global lock (eg: zeroing "free but not yet zeroed pages") is present
but appears to cause problems.  Off by default.
- the smp_active sysctl now behaves differently. It's merely a 'true/false'
option.  Setting smp_active to zero causes the AP's to halt in the idle
loop and stop scheduling processes.
- bootstrap is a lot safer.  Instead of sharing a statically compiled in
stack a number of times (which has caused lots of problems) and then
abandoning it, we use the idle context to boot the AP's directly.  This
should help >2 cpu support since the bootlock stuff was in doubt.
- print physical apic id in traps.. helps identify private pages getting
out of sync.  (You don't want to know how much hair I tore out with this!)

More cleanup to follow, this is more of a checkpoint than a
'finished' thing.
1997-08-26 18:10:38 +00:00
julian
decee54d74 two fixes submitted by Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
fixes problems in unmounting and propogation.
1997-08-26 17:17:52 +00:00
kato
11e7d1def4 Synchronize with sys/i386/isa/syscons.h revision 1.32. 1997-08-26 15:09:36 +00:00
kato
c62657d8fa Synchronize with sys/i386/isa/isa.c revision 1.102. 1997-08-26 15:08:52 +00:00
bde
d00618fdcc Removed bogus -I path in CFLAGS. 1997-08-26 13:49:26 +00:00
bde
b9840a90ff Restored rev.1.92 which was clobbered by the previous commit. 1997-08-26 11:59:20 +00:00
phk
18071ea4d3 Uncut&paste cache_lookup().
This unifies several times in theory indentical 50 lines of code.

The filesystems have a new method: vop_cachedlookup, which is the
meat of the lookup, and use vfs_cache_lookup() for their vop_lookup
method.  vfs_cache_lookup() will check the namecache and pass on
to the vop_cachedlookup method in case of a miss.

It's still the task of the individual filesystems to populate the
namecache with cache_enter().

Filesystems that do not use the namecache will just provide the
vop_lookup method as usual.
1997-08-26 07:32:51 +00:00
dyson
387bc7a58f Back out some incorrect changes that was worse than the original bug. 1997-08-26 04:36:27 +00:00
bde
ffa59a5f0b Don't return EINVAL for negative timespecs in the nanosleep functions.
Negative timespecs are perfectly valid.  Just return 0 immediately
for them.  Also, return 0 immediately for zero timespecs.

Fixed some style bugs.
1997-08-26 00:40:04 +00:00
bde
e8b4234c45 Finished staticizing. 1997-08-26 00:31:04 +00:00
bde
1b7357f8c2 Fixed some formatting and style bugs.
Fixed a gratuitous ANSIism.
1997-08-26 00:24:25 +00:00
bde
a96d46551f Print more info in the "calcru: negative time" message. 1997-08-26 00:20:11 +00:00
bde
29f6fdf205 Fixed some gratuitous ANSIisms. 1997-08-26 00:15:04 +00:00
bde
90aef53b2e Removed some stale comments.
Fixed a gratuitous ANSIism.
1997-08-26 00:09:44 +00:00
bde
e37e522ff4 Removed redundant test against MAXDSIZ (the rlimit test is stronger). 1997-08-26 00:02:24 +00:00
bde
55e1fbad0f Don't depend on the gcc feature of permitting conditional expressions
with only one void operand.
1997-08-25 23:45:50 +00:00
bde
07e524177e Fixed misplaced declaration. 1997-08-25 23:41:39 +00:00
bde
78684a413e Minor formatting and style fixes. 1997-08-25 23:36:23 +00:00
bde
cf7f80d53e Fixed pedantic syntax error (trailing comma in enum). 1997-08-25 23:31:05 +00:00
bde
fa7ded44c4 Removed more abuses of timeout_func_t. 1997-08-25 23:28:58 +00:00
bde
4f4cf31064 Removed unused misplaced definition of TIMER_FREQ.
Use less-magic numbers in the definition of HISTORY_SIZE.
1997-08-25 23:21:55 +00:00
bde
f456943025 Fixed reversed arguments and poor formatting and comments for OUT*.
The reversals were doubled except in comments so there was no problem
at runtime.
1997-08-25 23:17:33 +00:00
bde
5815aed550 Fixed some not-so-recently broken indentation.
Fixed pedantic syntax error (trailing comma in enum).
1997-08-25 23:06:29 +00:00
bde
1378d36fc1 Fixed some not-so-recently broken indentation.
Fixed pedantic syntax error (trailing comma in enum).
1997-08-25 22:58:29 +00:00
bde
034ed7f456 Check for irq conflicts even if conflicts are allowed. Conflicting
irqs can't work (at best, the first one attached wins).  It used to
be necessary to skip this check because of bogus irqs in the sound
drivers, but the sound drivers have been fixed, except possibly the
OSS ones.
1997-08-25 22:52:59 +00:00
bde
81b293a884 Fixed type mismatch for a (low quality interface) function with an
arg of type u_short (just write the function in ANSI C like most
other functions in this file instead of fixing the interface or
depending on a gcc feature).
1997-08-25 22:34:25 +00:00
bde
c4d0e6ea86 Police 4.4Lite #include style. 1997-08-25 22:28:57 +00:00
bde
10b775d55d Fixed type mismatch for a (low quality interface) function with an arg
of type u_char (break K&R support instead of fixing the interface or
depending on a gcc feature).
1997-08-25 22:23:46 +00:00
bde
a9f9c464e3 Fixed type mismatches for functions with args of type vm_prot_t and/or
vm_inherit_t.  These types are smaller than ints, so the prototypes
should have used the promoted type (int) to match the old-style function
definitions.  They use just vm_prot_t and/or vm_inherit_t.  This depends
on gcc features to work.  I fixed the definitions since this is easiest.
The correct fix may be to change the small types to u_int, to optimize
for time instead of space.
1997-08-25 22:15:31 +00:00
bde
d20b324f6a Added an XXX comment. 1997-08-25 22:02:22 +00:00
bde
26a68276f7 Removed an unused variable. 1997-08-25 21:57:55 +00:00
bde
c77c98efad Fixed a pedantic syntax error (case labels without a statement). 1997-08-25 21:56:23 +00:00
bde
beee5c07ae Finished (?) support for DISABLE_PSE option. 2-3MB of kernel vm was sometimes
wasted.

Fixed type mismatches for functions with vm_prot_t's as args.  vm_prot_t
is u_char, so the prototypes should have used promoteof(u_char) to match
the old-style function definitions.  They use just vm_prot_t.  This depends
on gcc features to work.  I fixed the definitions since this is easiest.
The correct fix may be to change vm_prot_t to u_int, to optimize for time
instead of space.

Removed a stale comment.
1997-08-25 21:53:01 +00:00
bde
4fe1789cb5 Removed a tautological comment. 1997-08-25 21:31:38 +00:00
bde
62eb017235 Removed a bogus comment. 1997-08-25 21:28:08 +00:00
fsmp
c48bf4f1c4 Eliminate the blocking of INTs while spinning for the safe simplelock. 1997-08-25 21:02:59 +00:00
phk
4f3d704934 Copy&Paste considered harmful:
Remove all traces of the name_cache from devfs.  It is hardly sensible to
use the namecache for an all-RAM filesystem.
1997-08-25 20:31:00 +00:00
phk
648e283c89 Add a new vnode op (cachedlookup) so that filesystems can plug into
a global vfs_cache check.  The rest of this change will come when the
current zero size file problem is resolved.
1997-08-25 20:28:49 +00:00
phk
e30051373a Add SLIST_FOREACH 1997-08-25 20:21:54 +00:00
wollman
0611ef3c01 ICMP Timestamp Request messages could have harbored the same sort of
problem as Echo Requests when broad/multicast.  When multicast echo responses
are disabled, also do the same for timestamp responses.
1997-08-25 16:29:27 +00:00
peter
ccb023b5bd s/.align/.p2align/ so that we get the same results when building elf
objects (the tools are a bit better)
1997-08-25 10:57:38 +00:00
kato
ffaf1996a4 Added a sysctl arg, vfs.cd9660.doclusterread. Deleted debug and
!FreeBSD code arround cluster read stuff.
1997-08-25 10:26:18 +00:00
kato
c4cecdd121 Renamed doclusterread/write to unique names (ffs_doclusterread/write),
and staticize them.  Move the #include of <sys/sysctl.h> to the top of
the file.

Pointed out by:	Bruce Evans <bde@zeta.org.au>
1997-08-25 08:18:39 +00:00
kato
9d0ba42769 Synchronize with sys/i386/boot/netboot/ns8390.c revision 1.12. 1997-08-25 08:15:14 +00:00
joerg
88662ccfea Make the MD* header files C++-aware. Also, string arguments are supposed
to be of type `const char *'.

PR:		3291
Submitted by:	dima@tejblum.dnttm.rssi.ru (Dmitrij Tejblum)
1997-08-25 05:24:31 +00:00
wollman
aafe7d5549 Configurably don't reply to broadcast or multicast echos. There are still
potential problems with other automatic-reply ICMPs, but some of them may
depend on broadcast/multicast to operate.  (This code can simply be
moved to the `reflect' label to generalize it.)
1997-08-25 01:25:31 +00:00
fsmp
1abfa1e37c A clean fix for the spl "deadlock before smp_active" problem.
Added a new variable, 'bsp_apic_ready', which is set as soon as the bootstrap
CPU has initialized its local APIC.  Conditionalize the GENSPLR functions
to call ss_lock ONLY after bsp_apic_ready is TRUE;  This should prevent
any problems with races between the time the 1st AP becomes ready and the
time smp_active is set.
1997-08-24 20:33:32 +00:00
fsmp
343e31f3f2 Fix a deadlock caused by one of the spl functions being called before
ss_lock() can run.

Noticed by:	dave adkins <adkin003@gold.tc.umn.edu>
1997-08-24 17:26:37 +00:00
kato
ae70196941 Code cleanup. Removed !FreeBSD code arround sysctl stuff. Renamed
doclusterread/doclusterwrite into ext2_doclusterread and
ext2_doclusterwrite, which are unique names.  Moved #include of
<sys/sysctl.h> to the top of the file.

Pointed out by:		Bruce Evans <bde@zeta.org.au>
1997-08-24 11:23:17 +00:00
kato
7e0475ec7a Synchronize with sys/i386/i386/microtime.s revision up to 1.29. 1997-08-24 11:09:36 +00:00
se
03f4e3ce40 Go back to previous definition of FE_CACHE_SET, since the problem
caused by read-multiple on the 53c810a should have been fixed by
adjusting the alignment of the global header in rev 1.104 of ncr.c.
1997-08-24 06:24:51 +00:00
fsmp
9240a89ca5 The last of the encapsolation of cpl/spl/ipending things into a critical
region protected by the simplelock 'cpl_lock'.

Notes:

 - this code is currently controlled on a section by section basis with
   defines in machine/param.h.  All sections are currently enabled.

 - this code is not as clean as I would like, but that can wait till later.

 - the "giant lock" still surrounds most instances of this "cpl region".
   I still have to do the code that arbitrates setting cpl between the
   top and bottom halves of the kernel.

 - the possibility of deadlock exists, I am committing the code at this
   point so as to exercise it and detect any such cases B4 the "giant lock"
   is removed.
1997-08-24 00:05:37 +00:00
steve
ed2190ca0b Remove extraneous init parameter.
PR:		kern/3595
Submitted by:	Chiharu Shibata <chi@rd.njk.co.jp>
1997-08-23 23:38:12 +00:00
se
0866570200 Some cleanup and a fix for an assumed chip bug:
- Do not malloc SCRIPTS memory for those parts of the microcode that
  are to be loaded into the on-chip SRAM of the 53c825a or 875 ...
- Modify ncr_chip_lookup to make adding new entries easier.
- Disable use of on-chip SRAM for the 53c825 rev 0x10 to 0x12, since
  there seems to be a problem with rev 0x11, while 0x13 is known to
  work. (Tested by Chuck Robey <chuckr@glue.umd.edu>).

This code will be merged into 2.2-stable after a few more days of
testing in -current.
1997-08-23 22:01:49 +00:00
se
f3c3f2b410 Minor corrections to the code added in rev. 1.100 and 1.101:
- fix features of 53c860
- correctly adjust data structure to cache line boundary (32 bytes)

Submitted by:	Gerard Roudier <groudier@club-internet.fr>
1997-08-23 21:53:47 +00:00
steve
a1c2196fd0 Increase the retry timeouts.
PR:		kern/3447
Submitted by:	dawes@rf900.physics.usyd.edu.au
1997-08-23 21:05:32 +00:00
alex
f2654b79c4 Fixed logging of verbose limited packets.
PR:		4351
Submitted by:	Ron Bickers <rbickers@intercenter.net>
1997-08-23 14:28:22 +00:00
kato
280502e0e8 Added sysctl args vfs.ext2fs.doclusterread and
vfs.ext2fs.doclusterwrite which control cluster read/write operation
on ext2fs filesystem.
1997-08-23 07:41:02 +00:00
julian
26bbe85ab2 add some comments while trying to understand why appletalk
gets some things wrong.
(part of my continuing "comment it as you understand it" effort :)
1997-08-22 22:47:27 +00:00
dyson
b8b29a8cf0 Fix the "remove optimization" by removing it. Sorry for the trouble. 1997-08-22 15:37:23 +00:00
peter
964cbb4f27 Print a warning if an unsupported (under SMP) shared address space fork
is attempted rather than just failing with an errno.
1997-08-22 15:10:00 +00:00
peter
1a6fdae1cc Some fixes from Bruce:
- don't access time (a volatile) via struct copy.
  - merge botches
  - note risk of CCOUNT accessing *tp outside spltty().

Submitted by:  bde
1997-08-22 11:34:08 +00:00
kato
1095228a0d Synchronize with sys/i386/i386/userconfig.c and sys/i386/isa/clock.c
revisions 1.89 and 1.100, respectively.
1997-08-22 08:12:14 +00:00
phk
a262a31d24 typo in comment. 1997-08-22 07:16:46 +00:00
dyson
c4846f2d74 This is a trial improvement for the vnode reference count while on the vnode
free list problem.  Also, the vnode age flag is no longer used by the
vnode pager.  (It is actually incorrect to use then.)  Constructive
feedback welcome -- just be kind.
1997-08-22 03:56:37 +00:00
gibbs
1b5f22d8cd Change restart_sequencer to be more robust by performing an explicit
pause before attempting to reset the sequencer address.  Remove the
loop checking to see if the address has gone to zero since it is
unnecessary

Adjust the abort SCB timeouts back up to 2 seconds where they should
be.

Fix an oversight in the removal of the bus reset settle code where
we might not run the queue of completed commands.

Remove an unecessary call to ahc_run_done_queue in ahc_reset_current_bus.

Submitted by:	Tor Egge <Tor.Egge@idi.ntnu.no>
1997-08-21 21:23:21 +00:00
bde
d9011cba0b #include <machine/limits.h> explicitly in the few places that it is required. 1997-08-21 20:33:42 +00:00
bde
2c6a095c22 Staticized. 1997-08-21 19:56:40 +00:00
bde
3db4235220 Police 4.4Lite #include style. 1997-08-21 19:55:49 +00:00
bde
208f495bc9 Removed unused definition. 1997-08-21 19:46:13 +00:00
jmg
730fc34356 make lkm/if_ppp build again.. opt_ppp.h is needed again...
similar fix to one provided in pr4348

Closes PR#4348
1997-08-21 10:17:29 +00:00
kato
f1bffbacc9 Synchronize with sys/i386/i386/machdep.c, trap.c and
sys/i386/isa/npx.c revisions 1.257, 1.107 and 1.52, respectively.
1997-08-21 10:13:12 +00:00
fsmp
bf472293b4 Get le_intr decl from sys/conf.h 1997-08-21 09:01:00 +00:00
fsmp
cfc96ec458 Yank the casts. 1997-08-21 08:42:59 +00:00
kato
e70d416451 3c509.c was identical to kzipboot/unzip.c. I just copied it from
i386/boot/netboot/3c509.c.  PC-98 support will be added near future.

Submitted by:	Tor Egge <Tor.Egge@idi.ntnu.no>
1997-08-21 08:34:47 +00:00
fsmp
f029af4779 Reorder function decls alphabetically. 1997-08-21 08:31:41 +00:00
kato
681fa86355 Synchronize with sys/i386/isa/sio.c revision up to 1.177. 1997-08-21 08:25:13 +00:00
kato
a6fc839b76 Synchronize with sys/i386/isa/isa.c revision 1.101. 1997-08-21 08:24:19 +00:00
kato
1e76d299eb Synchronize with sys/i386/isa/clock.c revision 1.99. 1997-08-21 08:23:52 +00:00
fsmp
ef2fd73fc8 Forward declaration for the intr routine, avoids compiler warning. 1997-08-21 07:55:10 +00:00
fsmp
b5f418f903 Add several casts and include several header files to eliminate compiler
warnings.
1997-08-21 07:36:44 +00:00
fsmp
122f7dc093 Add a cast to eliminate a compiler warning. 1997-08-21 07:35:23 +00:00
fsmp
c65f3883a2 A few more casts and a function declaration for warning free kernel builds. 1997-08-21 07:05:54 +00:00
fsmp
97ac800be3 Added a half dozen casts to eliminate annoying warnings. 1997-08-21 06:39:41 +00:00
charnier
603c39a2b4 Revert my previous commit about using CS_SECURE macro.
Requested by:	Bruce.
1997-08-21 06:33:04 +00:00
fsmp
50fefb81d4 Fixed a warning about undefined isa_irq_pending(). (UP kernel only) 1997-08-21 06:16:12 +00:00
fsmp
5e77c33c25 Moved the COM_LOCK and COM_UNLOCK macros to machine/param.h. 1997-08-21 05:47:25 +00:00
fsmp
b59c73e480 Another boo-boo, this file defines cil. 1997-08-21 05:19:26 +00:00
fsmp
21438639aa Oops, this should have been in last commit.
Adds variable cil: current INTerrupt level.  This is part of the new
MP-safe spl algorithm.
1997-08-21 05:15:08 +00:00
fsmp
a07685b4f9 Made PEND_INTS default.
Made NEW_STRATEGY default.
Removed misc. old cruft.

Centralized simple locks into mp_machdep.c
Centralized simple lock macros into param.h

More cleanup in the direction of making splxx()/cpl MP-safe.
1997-08-21 05:08:25 +00:00
dyson
3e92715f78 Performance improvment to minimize delayed write output of files
that have been deleted.
Submitted by:	Peter M. Chen <pmchen@eecs.umich.edu>
1997-08-21 01:42:47 +00:00
dyson
072e0e8455 Some corrections to the anonymous page managment.
Submitted by:	Peter Chen <pmchen@eecs.umich.edu>
1997-08-21 01:35:37 +00:00
jlemon
351182320f Add forward declaration for struct proc. 1997-08-20 19:57:24 +00:00
kato
5b64e4e32b Synchronize with sys/i386/i386/trap.c revision 1.106 and
sys/i386/isa/sio.c revision 1.175.
1997-08-20 10:25:21 +00:00
fsmp
dadc66fd71 Attempt to make cy.c MP-safe.
I have no way of testing this one, first SMP/cy user please let me know...
It is my belief that sio and cy are the only FAST_INTR() ISRs.  If this
is a bad assumption please educate me.
1997-08-20 06:16:44 +00:00
fsmp
934e819cd1 Preperation for moving cpl into critical region access.
Several new fine-grained locks.
New FAST_INTR() methods:
 - separate simplelock for FAST_INTR, no more giant lock.
 - FAST_INTR()s no longer checks ipending on way out of ISR.
sio made MP-safe (I hope).
1997-08-20 05:25:48 +00:00
fsmp
1d4d939eed Preperation for moving cpl into critical region access.
Several new fine-grained locks.
Control of new FAST_INTR() methods.
1997-08-20 05:22:33 +00:00
fsmp
dba300711c Moved splq() to isa/ipl_funcs.c for SMP only.
This is in preperation for moving all cpl accesses behind a critical region lock.
1997-08-20 05:19:49 +00:00
peter
a8d415c851 Mention PPP_DEFLATE and PPP_BSDCOMP for kernel ppp. 1997-08-19 17:11:35 +00:00
peter
735ad993ea Remove some stray extra prototypes 1997-08-19 17:07:07 +00:00
peter
9d4e276477 Use two NetBSD-style options (PPP_DEFLATE and PPP_BSDCOMP) to control
whether or not to compile the two ppp compression methods.
1997-08-19 17:05:26 +00:00
peter
61f3d632c1 Update kernel parts of pppd from 2.2.0 to 2.3.0. I've yet to look at the
2.3.0 -> 2.3.1 changes, but I seem to recall that there are certain
"issues" with 2.3.1 (I'm not sure if it's just pppd or the whole lot, I
am not quite that far).  The present pppd seems to work with it just fine
for the time being.

Among the changes are that zlib (aka LZ77 aka deflate aka gzip) compression
is implemented as well as the original compress(1) LZW style.
1997-08-19 14:10:50 +00:00
peter
6f9f313ea5 Implement XPG/SYSV-style getpgid()/getsid() syscalls. getpgid() uses the
same syscall number as NetBSD/OpenBSD.  The getpgid() came from NetBSD
(I think) originally, but it's basically cut/paste/edit from the other
simple get*() syscalls.
1997-08-19 06:00:27 +00:00
peter
118255d366 Regenerate 1997-08-19 05:57:04 +00:00
peter
de34cbf045 SVR4/XPG-style getpgid()/getsid() syscalls. 1997-08-19 05:53:48 +00:00
dyson
1603d05f53 Allow lockmgr to work without a current process. Disallowing that
was a mistake in the lockmgr rewrite.
1997-08-19 00:27:07 +00:00
kato
f5382cc094 Synchronize with sys/i386/i386/machdep.c, trapc and sys/i386/isa/npx.c
revisions 1.256, 1.105 and 1.51, respectively.
1997-08-18 11:30:05 +00:00
charnier
9e25737879 Use CS_SECURE macro.
Reviewed by:	John Dyson
1997-08-18 06:58:59 +00:00
fsmp
09ac46d6fa Turn on the lockmanager by default for SMP.
Reviewed by:	"John S. Dyson" <toor@dyson.iquest.net>
1997-08-18 05:34:01 +00:00
fsmp
fc25abdcbe Removed volatile from arg to simple_lock & friends. 1997-08-18 03:35:59 +00:00
fsmp
fc10c30889 Added includes of smp.h for SMP.
This eliminates a bazillion warnings about implicit s_lock & friends.
1997-08-18 03:29:21 +00:00
dyson
8047288f6b Fix kern_lock so that it will work. Additionally, clean-up some of the
VM systems usage of the kernel lock (lockmgr) code.  This is a first
pass implementation, and is expected to evolve as needed.  The API
for the lock manager code has not changed, but the underlying implementation
has changed significantly.  This change should not materially affect
our current SMP or UP code without non-standard parameters being used.
1997-08-18 02:06:35 +00:00
julian
8bd6043ec6 Take verbal beating by wollman into account and fix DIAGNOSTIC test.
This version.
1/ avoids garret's introduced  potential page fault. (I got one)
2/ removes compiler warnings

Also fix the tunable scheduling quantum to return a better error code when
fed a bad argument.
1997-08-18 01:34:38 +00:00
joerg
375a238af1 Minor hack to also allow for syscons's "interesting" arrow keys.
I'm using "#if __i386__ && __FreeBSD__" to check for a ``potentially
syscons-relevant environment''.  Hope that's ok...
1997-08-17 21:21:50 +00:00
wollman
3f4722d1b8 Delete a bit of debugging code that mistakenly crept in, and as a consequence
revert rev. 1.28's header file additions which are no longer needed.
1997-08-17 19:47:28 +00:00
tegge
e97c7e839c Use KERNBASE, not 0xf0000000. 1997-08-17 17:40:11 +00:00
itojun
c3e93b56a5 To handle scsi RESERVATION CONFLICT properly in ahc driver.
Could somebody please update other drivers so that SCSI_RSVD (0x18)
to be handled just like SCSI_BUSY(0x08)?

There's no need for extra state, so we use XS_BUSY for SCSI_RSVD too.

PR:		4257
1997-08-17 14:04:08 +00:00
itojun
935f52cc20 preparation for scsi device RESERVATION CONFLICT support.
PR:		4257
1997-08-17 14:02:18 +00:00
fsmp
6ba06b0c20 Added frequencies for north american HRC cable.
Submitted by:	Yixin Jin <yjin@rain.cs.ucla.edu> (I think)
Resubmitted by:	Kenneth Merry <ken@gt.ed.net>
1997-08-17 05:50:56 +00:00
kato
dc2902da0e Synchronize with foolowing files in sys/i386/boot/netboot:
1.12 Makefile
	1.14 bootmenu.c
	1.20 main.c
	1.3  makerom.c
	1.3  misc.c
	1.12 netboot.h
	1.11 ns8390.c
	1.1  ns8390.h
	1.3  rpc.c
	1.6  start2.S

Submitted by:	H. Nokubi <h-nokubi@nmit.mt.nec.co.jp>
1997-08-17 05:13:27 +00:00
kato
355b2a872d Synchronize with sys/i386/i386/userconfig.c revision 1.88. 1997-08-17 03:38:52 +00:00
kato
6042c4eb17 Synchronize with sys/i386/conf/majors.i386 revision 1.16. 1997-08-17 03:36:09 +00:00
wollman
c07b59bf2b Fix all areas of the system (or at least all those in LINT) to avoid storing
socket addresses in mbufs.  (Socket buffers are the one exception.)  A number
of kernel APIs needed to get fixed in order to make this happen.  Also,
fix three protocol families which kept PCBs in mbufs to not malloc them
instead.  Delete some old compatibility cruft while we're at it, and add
some new routines in the in_cksum family.
1997-08-16 19:16:27 +00:00
wollman
2bfe48fed4 Enable hostcache code. 1997-08-16 19:11:10 +00:00
wollman
1bd225ceef Dejulianize DIAGNOSTIC panic code. The types are wrong; probably there's
a missing dereference.
1997-08-16 19:07:20 +00:00
msmith
c23012de9d Add the 'ppc' ISA-bus parallel-port chipset driver. 1997-08-16 14:19:43 +00:00
msmith
e64e8138f5 Use cdev major 82 instead of the (reserved-for-local-use) original 14 1997-08-16 14:16:58 +00:00
msmith
79ce177333 Assign character major 82 to the 'ppi' Generic Parallel Port I/O device. 1997-08-16 14:15:40 +00:00
msmith
768ef12327 Minor ppc_data structure tweak.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-16 14:07:26 +00:00
msmith
06c99a88c9 Add new ppbus files.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-16 14:06:05 +00:00
msmith
b96b8da32b Sync with ppbus-970815 from the author :
- interrupt-driven printing now works (nlpt)
 - Rearrangement of bus-related functions into ppb_base/ppbconf
 - Addition of ieee1284 interface functions, preliminary parallel-port
   PnP support

Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-16 14:05:38 +00:00
msmith
9109c1638f Oops, reference the ppi and vpo drivers properly. Obviously nobody's
using this stuff yet 8)
1997-08-16 12:21:23 +00:00
dyson
33e09befea SMP Natoma motherboards cannot know if you are booting a UP or SMP OS. This
mod makes sure that the Natoma chipset is set into the correct mode.  In
the case of my P6DNF, when booting a UP kernel, I see a substantial improvement
in the latency of certain operations.   It appears that the cache hit
latency is curiously improved the most, per lat_mem_rd.
1997-08-16 07:18:51 +00:00
kato
3a0aa85c64 Synchronize with sys/i386/conf/majors.i386 revision 1.15. 1997-08-16 01:33:10 +00:00
kato
366af78720 Synchronize with sys/i386/conf/files.i386 revision 1.171. 1997-08-16 01:31:22 +00:00
ache
a682b7341c Map CSTATUS to ^T by default or it never noticed by novice users
Reviewed by: bde
1997-08-15 22:43:22 +00:00
gibbs
4aa762f9fe Remove the bus settle delay after reset code. It could cause an infinite
loop.

Perform a "-Wall" cleanup which actually exposed two real bugs having to
do with operator precedence.
1997-08-15 19:27:43 +00:00
kato
94c40ee122 Added DIAGNOSTIC routine to test inconsistency of vnode when cnp
points `.'.

Obtained from:	NetBSD
1997-08-15 02:36:28 +00:00
kato
20d8e0fed2 Deleted unused code which adjust UN_UNLOCK flag. 1997-08-15 02:35:00 +00:00
fsmp
c5ce352a0b The promised "better fix" for "Trap 9 When Boot SMP" problem.
We now tsleep() in kthread_init() between start_init()
and prepare_usermode() while waiting for ALL the idle_loop()
processes to come online.

Debugged & tested by:   "Thomas D. Dean" <tomdean@ix.netcom.com>

Reviewed by:    David Greenman <dg@root.com>
1997-08-15 02:34:32 +00:00
fsmp
204d818986 The promised "better fix" for "Trap 9 When Boot SMP" problem.
We now tsleep() in kthread_init() between start_init()
and prepare_usermode() while waiting for ALL the idle_loop()
processes to come online.

Debugged & tested by:	"Thomas D. Dean" <tomdean@ix.netcom.com>

Reviewed by:	David Greenman <dg@root.com>
1997-08-15 02:33:30 +00:00
msmith
0af71d5c5f Add support for the new Parallel-Port Bus and devices thereon.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 14:03:27 +00:00
msmith
b207e9e312 ISA Parallel-Port Bus chipset driver.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 14:01:36 +00:00
msmith
7843715055 Add parallel-Port Bus drivers.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 13:59:24 +00:00
msmith
80ec31f97f New directory and drivers for Parallel Port Bus devices.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 13:57:45 +00:00
kato
1d17cbc384 Fixed locking violation of vnode operation. VOP_READ, VOP_WRITE and
VOP_BMAP require locked vnode, and they will keep lock on exit.
1997-08-14 13:44:19 +00:00
ache
eae600e4b4 setitimer: if it_value == 0 clear it_interval now
non-zero it_interval values have no sense if it_value == 0 but
checked by itimerfix which may cause EINVAL return
1997-08-14 08:15:12 +00:00
danny
bd90ab6d30 Add the NetVin 5000 series NE2000 PCI card vendor and device IDs. 1997-08-14 07:53:07 +00:00
kato
14df8fa6f4 If the user doesn't have read permission, union_copyup should not copy
a file to upper layer.

Reviewed by:	Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp>
1997-08-14 03:57:46 +00:00
kato
f14cc75316 Backed out part of previous change. The example of -b mount in
manpage works again.
1997-08-14 03:52:27 +00:00
fsmp
3f03d4937e Cheap TEMPORARY fix for "Trap 9 When Boot SMP" problem.
This is on the top of my list for a correct fix.

Submitted by:	"Thomas D. Dean" <tomdean@ix.netcom.com>
1997-08-13 23:05:33 +00:00
jkh
a59bd0f983 Reserve major 81 for rocketport driver. 1997-08-13 21:01:30 +00:00
julian
5ff657a7b3 add a diagnostic to catch some common cases of tsleep being
called from the wrong place.
1997-08-13 19:29:33 +00:00
ache
a2af32d564 Bypass itimerfix 100000000 limit in nanosleep1 using loop through timeouts 1997-08-13 17:55:11 +00:00
gibbs
7c9d059698 Add a spin lock that prevents the sequencer from attempting to add an
entry to the QOUTFIFO when it is full.  This should eliminate the
"Timed out while idle" problems that many have reported.

In truth, this is somewhat of a hack.  Although are interrupt latency is
low enough that we should be able to always service the queue in time,
since each entry must be passed up to the higher SCSI layer for what can
be a large amount of processing (perhaps even resulting in a new command
being queued) with interrupts disabled, we need this mechanism to avoid
overflow.  In the future, these additional tasks will be offloaded to a
software interrupt handler which should make this hack unnecessary.
1997-08-13 17:02:47 +00:00
ache
6d887349c9 SUNIT: exchange up/down states too 1997-08-13 14:57:14 +00:00
kato
229e280e1b Synchronize with sys/i386/isa/isa.c revision 1.100. 1997-08-13 11:00:49 +00:00
kato
76a6c060d3 Synchronize with sys/i386/i386/trap.c revision 1.104. 1997-08-13 11:00:09 +00:00
steve
9e8e8e303d Add parentheses because == has higher precedence than &.
PR:		i386/4225
Submitted by:	Frank MacLachlan <fpm@n2.net>
1997-08-13 02:40:06 +00:00
dyson
86439cf7a4 Back out a part of the disk scheduling "improvements" :-(. Let me know
how the system works now!!!
1997-08-12 19:07:42 +00:00
kato
69f3239838 Fixed vnode corruption by undefined case in union_lookup(). When
uerror == 0 && lerror == EACCES, lowervp == NULLVP and union_allocvp
doesn't find existing union node and new union node is created.

Sicne it is dificult to cover all the case, union_lookup always
returns when union_lookup1() returns EACCES.

Submitted by:	Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp>
Obtained from:	NetBSD/pc98
1997-08-12 07:18:59 +00:00
sef
70eff1f337 Check permissions for fp regs as well as normal regs. 1997-08-12 05:23:51 +00:00
kjc
fe67d29e8e Fix a traceroute problem in the CISCO HDLC mode. (cisco routers not
returning ICMP_TIMXCEED)

use CISCO_UNICAST instead of CISCO_MULTICAST to send normal packets.
this is needed for packets to get processed by a cisco router,
but doesn't matter if a packet is just forwarded.

Reviewed by:itojun@itojun.org
1997-08-12 05:22:54 +00:00
sef
169e0822bf Fix procfs security hole -- check permissions on meaningful I/Os (namely,
reading/writing of mem and regs).  Also have to check for the requesting
process being group KMEM -- this is a bit of a hack, but ps et al need it.

Reviewed by:	davidg
1997-08-12 04:34:30 +00:00
brian
387d1554e4 Fix file descriptor leak.
Submitted by:	Charles Mott <cmott@srv.net>
Identified by:	Gordon Burditt
1997-08-11 22:05:10 +00:00
kato
3df23e1d46 Synchronize with sys/i386/i386/userconfig.c revision 1.87. 1997-08-11 14:41:18 +00:00
jkh
3179bb6977 Make the CLI mode message a little less intimidating.
Suggested by:	Richard Underwood <ru@atticus.com>
1997-08-11 09:44:57 +00:00
se
95111a4c0a Fix problem in the DC390_DefaultEEprom subroutine, which could lead
to spurious wites outside an alloccated array in the case of generic
AMD SCSI cards.

PR:		kern/4217
Submitted by:	Erik H. Moe <ehm@cris.com>
1997-08-11 08:49:08 +00:00
fsmp
21734f85cf Oops, fix breakage to UP kernel. 1997-08-10 21:18:01 +00:00
fsmp
7ce849c749 Added trap specific lock calls: get_fpu_lock, etc.
All resolve to the GIANT_LOCK at this time, it is purely a logical partitioning.
1997-08-10 20:59:07 +00:00
fsmp
c651f42932 Cheap fix for kern/4255.
If the problem is seen this fix suggests a compile-time work-around then panics.
1997-08-10 19:32:38 +00:00
sos
d82e30bd08 Ops the arguments to copyin was in the wrong order..
This has survived since the first version, sigh.
1997-08-10 18:15:20 +00:00
joerg
13cc80befb Implement the LCP fail_counter: if an option has been NAK'ed for more
than max_failures attempts, we are going to REJ it, to prevent endless
NAK loops.

(This is actually part of a larger local set of modifications i'm
running with, but the remainder (PAP & CHAP) ain't ready for prime-
time yet.)
1997-08-10 14:28:16 +00:00
kato
c6b7062897 Synchronize with sys/i386/i386/trap.c revision 1.103. 1997-08-10 10:53:49 +00:00
kato
f62dbb2f50 Synchronize with sys/i386/isa/syscons.c revision 1.230. 1997-08-10 10:52:17 +00:00
phk
1317d869f6 Fix the VLSI chipset name from "Eagle" to "Eagle II". 1997-08-10 09:33:21 +00:00
dyson
a5a40cf9a1 The "cutsie" register parameter passing that I had mistakenly used breaks
profiling.  Since it doesn't really improve perf much, I have backed it
out.
1997-08-10 00:12:13 +00:00
fsmp
3d14ba3d9b Some fixes towards making "default configs" work again.
Still not fixed, no idea why.

Debug help from: "Thomas D. Dean" <tomdean@ix.netcom.com>
1997-08-09 23:01:03 +00:00
fsmp
c7713b626e Minor conditionalization of XXX_MPLOCK on PEND_INTS. 1997-08-09 22:52:59 +00:00
fsmp
007eff88f2 Added 'lock' instruction before 3 places that update ipending.
This may or may not fix the "high IO freezes SMP kernel" problem.
1997-08-09 19:40:28 +00:00
sos
01bc6901ab Fix the checks for screenborder for the mousepointer. 1997-08-09 19:24:03 +00:00
dyson
3940501545 Modify the scheduling policy to take into account disk I/O waits
as chargeable CPU usage.  This should mitigate the problem of processes
doing disk I/O hogging the CPU.  Various users have reported the
problem, and test code shows that the problem should now be gone.
1997-08-09 10:13:32 +00:00
kato
4a02c9e550 Synchronize with sys/i386/isa/wd.c revision 1.135. 1997-08-09 06:41:36 +00:00
kato
82add5ecb8 Disabled SW_VGA_MODEX when PC98 is defined. 1997-08-09 06:41:06 +00:00
dyson
0b877c86bc A couple of missing doscmd header files. Messed up again. Now can
compile the kernel!!!
Submitted by:	Jonathan Lemon <jlemon@americantv.com>
1997-08-09 04:55:05 +00:00
kato
c6d8afe90c Synchronize with sys/i386/conf/options.i386 revision 1.55. 1997-08-09 01:58:50 +00:00
kato
11ffda6101 Synchronize with sys/i386/i386/trap.c revisino 1.102. 1997-08-09 01:57:04 +00:00
kato
2c367e6d0d Synchronize with sys/i386/i386/machdep.c revision 1.255. 1997-08-09 01:56:34 +00:00
kato
d08ea8f146 Synchronize with sys/i386/isa/npx.c revision 1.50. 1997-08-09 01:55:51 +00:00
kato
8d258ba50e Synchronize with sys/i386/isa/syscons.c revision 1.229. 1997-08-09 01:54:51 +00:00
julian
599e33088d Teach both disk drivers how to cope with a hardware watchdog
while dumping core.. I'm tired of getting 1/2 of a core-dump

conditional on -DHW_WDOG for now
this will migrate to 2.2 as that's where I need it.
1997-08-09 01:44:25 +00:00
dyson
a538d13de9 Add the code that represents most of the interface between the VM86
pseudo-machine and the rest of the FreeBSD kernel.
Submitted by:	Jonathan Lemon <jlemon@americantv.com>
1997-08-09 01:38:03 +00:00
julian
c49302edcd Use up 4 precious bytes to give the kernel a hook to
support hardware watchdogs. The actual functions would be supplied in an LKM
or a linked file, but they need to hang off something.
1997-08-09 01:25:54 +00:00