Commit Graph

8807 Commits

Author SHA1 Message Date
kato
46ab82ad99 Synchronize with sys/i386/conf/options.i386 revision 1.57. 1997-09-01 10:41:04 +00:00
kato
f626f3b2f8 Synchronize with sys/i386/boot/biosboot/asm.S, boot.c and boot.h
revisions 1.12, 1.69 and 1.21, respectively.
1997-09-01 10:38:32 +00:00
fsmp
039acd1ea3 General cleanup of the sub-system locking macros.
Eliminated the RECURSIVE_MPINTRLOCK.
clock.c and microtime use clock_lock.
sio.c and cy.c use com_lock.

Suggestions by:	Bruce Evans <bde@zeta.org.au>
1997-09-01 07:45:37 +00:00
fsmp
70d7802c47 Cleanup. 1997-09-01 07:31:54 +00:00
bde
829b3fdb11 Removed unused #includes. 1997-09-01 03:17:34 +00:00
bde
5f3e9e8f81 Some staticized variables were still declared to be extern. 1997-09-01 02:55:50 +00:00
bde
2260556599 Print a device number in hex instead of decimal. 1997-09-01 02:28:32 +00:00
bde
e14614e639 Removed unused #includes. 1997-09-01 02:18:13 +00:00
bde
996ed01f97 Removed unused #includes (<machine/cpu.h> now gives more pollution). 1997-09-01 02:12:39 +00:00
bde
39b30b1aba Removed unused #includes. 1997-09-01 02:08:42 +00:00
bde
52ca4ebc7c Fixed absolute pathnames in #includes. 1997-09-01 01:57:27 +00:00
bde
5bc03b1a8b Move closer to supporting VM86 under SMP.
LINT now compiles but doesn't link.  Other link-time breakage for LINT
is now visible (SMP is incompatible with SIMPLELOCK_DEBUG).
Submitted by:	jlemon
1997-09-01 01:54:52 +00:00
bde
aa399eeba2 Removed unused #includes. 1997-09-01 01:12:53 +00:00
bde
293e6b2f74 Removed unused #includes. The !KERNEL case may be more broken than before. 1997-09-01 00:51:52 +00:00
bde
7a0fcd7abe Added #include of <sys/queue.h> to make this self-sufficient.
Includers of this file apparently didn't know that <sys/queue.h>
was a prerequisite and include a semi-random collection headers
until one happened to include it.
1997-09-01 00:18:02 +00:00
bde
acd45c4cea Fixed options SHOW_BUSYBUFS and PANIC_REBOOT_WAIT_TIME which were broken
by incomplete cutting and pasting from machdep.c to kern_shutdown.c.

PR:		3953
1997-08-31 23:08:38 +00:00
bde
e5a41dc6d4 Put I*86_CPU options in opt_global.h and don't #include "opt_cpu.h"
centrally.
1997-08-31 22:43:46 +00:00
bde
d30731abbf Removed unused #includes (bogus #includes were necessary because fusword()
was declared in the wrong place).
1997-08-31 22:22:21 +00:00
se
34fbe520b5 Prepare for 64bit programming environment (e.g. Alpha):
Use "ncrcmd" or "u_int32_t" instead of "u_long", where appropriate.

Submitted by:	Gerard Roudier <groudier@club-internet.fr>
1997-08-31 19:42:31 +00:00
se
181048fa1c Remove debug printf() that had been ommited by accident. 1997-08-31 19:36:56 +00:00
se
2aedd775f6 Fix problem with early revision 53c825a and 53c875 chips, which
could cause a solid system lockup in the driver attach:

These chips do not abort an access to the internal SRAM, when
the driver set the software reset bit in the istat register. But
the chip will never acknowledge the requested PCI bus transfer
in the situation, causing an infinite wait and a lockout of other
bus-masters.

The problem has been reported for rev 0x11 of the 53c825a and
rev 0x01 of the 53c875.
Revisions 0x13 of the 53c825a and 0x03 of the 53c875 are known
to support SRAM accesses, even in the software reset state.
1997-08-31 19:35:52 +00:00
phk
c76a3d173c Change the 0xdeadb hack to a flag called VDOOMED.
Introduce VFREE which indicates that vnode is on freelist.
Rename vholdrele() to vdrop().
Create vfree() and vbusy() to add/delete vnode from freelist.
Add vfree()/vbusy() to keep (v_holdcnt != 0 || v_usecount != 0)
  vnodes off the freelist.
Generalize vhold()/v_holdcnt to mean "do not recycle".
Fix reassignbuf()s lack of use of vhold().
Use vhold() instead of checking v_cache_src list.
Remove vtouch(), the vnodes are always vget'ed soon enough
  after for it to have any measuable effect.
Add sysctl debug.freevnodes to keep track of things.
Move cache_purge() up in getnewvnodes to avoid race.
Decrement v_usecount after VOP_INACTIVE(), put a vhold() on
  it during VOP_INACTIVE()
Unmacroize vhold()/vdrop()
Print out VDOOMED and VFREE flags (XXX: should use %b)

Reviewed by:		dyson
1997-08-31 07:32:39 +00:00
phk
e212606127 Remove pbzero(), things we load zero their own bss.
Make VESA_SUPPORT default
1997-08-31 06:11:26 +00:00
fsmp
9d8f3349c3 Debug version of simple_lock. This will store the CPU id of the
holding CPU along with the lock.  When a CPU fails to get the lock
it compares its own id to the holder id.  If they are the same it
panic()s, as simple locks are binary, and this would cause a deadlock.

Controlled by smptests.h: SL_DEBUG, ON by default.

Some minor cleanup.
1997-08-31 03:17:48 +00:00
fsmp
f80efcf614 Created a private simple_lock to control accesses to com data structs
and hardware.
There is now another simple_lock around clock data/hardware accesses in
clock.c and microtime.s.  It is my belief that this is the only area
sio/cy might stumble into during an unblocked INTerrupt.  Thus I separated
the sio/cy code from the generic disable_intr()/enable_intr() routines.

Controlled by smptests.h: USE_COMLOCK, ON by default.
1997-08-31 03:17:18 +00:00
fsmp
74373061ff Added clock_lock protection to microtime. 1997-08-30 19:02:56 +00:00
peter
722775df92 Define some machine characteristics using symbol naming on conventions
in place in the other BSD's.
1997-08-30 18:59:48 +00:00
peter
86f7d024e6 Collect a few missing symbols from the OpenBSD elf includes. (The OpenBSD
includes use the formal elf names like us, NetBSD have different symbols)

Obtained from: OpenBSD
1997-08-30 18:58:31 +00:00
peter
c1fe3820fd Allow non-page aligned file offset mmap's, providing that the system is
allowed to choose the address, or that the MAP_FIXED address has the same
remainder when modulo PAGE_SIZE as the file offset.  Apparently this is
posix1003.1b specified behavior.  SVR4 and the other *BSD's allow it too.
It costs us nothing to support and means we don't get EINVAL on some mmap
code that works perfectly elsewhere.

Obtained from: NetBSD
1997-08-30 18:50:06 +00:00
kato
153224444c Synchronize with sys/i386/isa/clock.c and sio.c revisions 1.101 and
i.178, respectively.
1997-08-30 15:47:49 +00:00
peter
62c0910784 remove global prototype for setsigvec(). It's static inside kern_sig.c
and causes redundant declaration warnings.
1997-08-30 11:24:05 +00:00
peter
aa70067074 Update to include recently added names that are shared between the C and
asm parts of the kernel.  This is to re-enable ELF compile support.
1997-08-30 11:20:02 +00:00
fsmp
57215b86a9 Another round of lock pushdown.
Add a simplelock to deal with disable_intr()/enable_intr() as used in UP kernel.
UP kernel expects that this is enough to guarantee exclusive access to
regions of code bracketed by these 2 functions.
Add a simplelock to bracket clock accesses in clock.c: clock_lock.

Help from:	Bruce Evans <bde@zeta.org.au>
1997-08-30 08:08:10 +00:00
fsmp
1332edc6ec Moved the SIMPLE_LOCK stuff from machine/param.h to machine/lock.h.
include it here for now.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
1997-08-30 07:59:47 +00:00
itojun
b48ed8a31a Scsi RESERVATION CONFLICT and BUSY support for Tekram scsi cards.
Checked with DC390.  Pls mail me if you have any trouble with this patch.
1997-08-30 05:49:20 +00:00
kato
673592ad96 Move MACHINE_ARCH definition from <machine/param.h> to <machine/cpu.h>.
Submitted by:	Bruce Evans <bde@zeta.org.au>
1997-08-30 02:52:04 +00:00
fsmp
d655af1289 Support for the new FAST_HI algorithm, enabled.
Preliminary support for the INTR_SIMPLELOCK algorithm, disabled.
Note that this code is NOT ready.
1997-08-29 18:45:23 +00:00
fsmp
c91b1896e3 Support for the new FAST_HI algorithm.
Improved interrupt handling, fewer silo overflows.

With help from:	dave adkins <adkin003@gold.tc.umn.edu>
1997-08-29 18:16:18 +00:00
fsmp
9a114d440d Introduce FAST_HI option, ON by default.
This options allows a CPU that is blocked spinning for the giant lock
to process FAST_INTR() ISRs, eg. siointr().
1997-08-29 17:58:30 +00:00
kato
908c7a28f9 Synchronize with sys/i386/i386/userconfig.c revision 1.90. 1997-08-29 14:53:18 +00:00
kato
8e71e04660 Use correct member of scsi_cint for scbus. Add a space between lun
and flags.

Reviewed by:	kato
Submitted by:	Chiharu Shibata <chi@rd.njk.co.jp>
1997-08-29 14:47:31 +00:00
kato
b2ad289538 Fix typo in the comment introduced by me. 1997-08-29 11:01:14 +00:00
kato
962425e402 Added a sysctl arg, hw.machine_arch. The hw.machine_arch is "ibm-pc"
on IBM-PC box and is "pc-98" on NEC PC-98 box.  Userland program can
distinguish architecture on which the program runs.
1997-08-29 09:03:40 +00:00
kato
57849e140e Synchronize with sys/i386/conf/files.i386 and sys/i386/i386/trap.c
revisions 1.173 and 1.109, respectively.
1997-08-29 08:15:57 +00:00
msmith
6d017f8882 Make the devfs code actually compile. Oops.
Submitted by:	jkh
1997-08-29 00:30:11 +00:00
jkh
3719576e9f Patch for 3.0: #include <sys/fcntl.h> instead of <sys/ioctl.h> 1997-08-28 15:23:10 +00:00
jlemon
606ecfe8ba Document the VM86 option.
Reminded-by:	John-Mark Gurney
1997-08-28 15:00:05 +00:00
jlemon
0409c56b5c Remove the vm86 LKM. 1997-08-28 14:45:26 +00:00
jlemon
d7a8a42c17 Remove the vm86 support as an LKM, and link it directly into the kernel
if 'options "VM86"' is in the config file.  The LKM was really for
development, and has probably outlived its usefulness.
1997-08-28 14:36:56 +00:00
kato
2e3575193f Synchronize with sys/i386/conf/files.i386 and majors.i386 revisions
1.172 and 1.17, respectively.
1997-08-28 14:21:12 +00:00
jkh
6c52097e6b ISA driver for Comtrol Rocketport serial cards. No PCI probe stub
was submitted to me.
Submitted by:	Amir Farah <amir@comtrol.com>
1997-08-28 12:19:05 +00:00
jkh
25d7235c2a Add entries for Comtrol Rocketport serial card.
Submitted by:	Amir Farah <amir@comtrol.com>
1997-08-28 12:18:09 +00:00
msmith
0ede277624 Remove bogus timeout_func_t casts.
Remove unused headers.
Remove all but one instance of the device base name.
Prototype some local static functions.
Consistently reference the softc structure as "sc" rather than "lpt".

Prompted-by:	bde
1997-08-28 11:12:08 +00:00
msmith
cfa78d06d1 Remove bogus i386/* includes. 1997-08-28 10:15:20 +00:00
kato
a9c3fa858b Moved include files which are independent of bs driver. 1997-08-28 09:23:57 +00:00
kato
bd4f981fda Synchronize with sys/i386/isa/isa.c revision 1.103. 1997-08-28 09:15:31 +00:00
msmith
dbeb3615a1 Add prototype for isa_dmastop() 1997-08-28 03:37:46 +00:00
msmith
42a01255f3 Here is a patch to alleviate the current problem with the dma interface
and the sound driver which uses auto dma.

The  dma interface functionality remains however it now checks
to see if a dma is operating in auto dma mode and if so it bypasses
the busy flag check . I have modified the sound driver 3.5  to
adjust for this new behavior and tested it under FreeBSD 3.0 -current

This patch also includes the new function isa_dmastop.

Submitted by:	Amancio Hasty <hasty@rah.star-gate.com>
1997-08-28 03:36:40 +00:00
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