Commit Graph

8751 Commits

Author SHA1 Message Date
Stefan Eßer 2841b4feff 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
Stefan Eßer 7d4936dc38 Remove debug printf() that had been ommited by accident. 1997-08-31 19:36:56 +00:00
Stefan Eßer 71b8fb2a93 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
Poul-Henning Kamp a051452ae2 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
Poul-Henning Kamp e6dcdf4dd1 Remove pbzero(), things we load zero their own bss.
Make VESA_SUPPORT default
1997-08-31 06:11:26 +00:00
Steve Passe 2645264a72 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
Steve Passe adc91a77c1 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
Steve Passe c10b70dbdc Added clock_lock protection to microtime. 1997-08-30 19:02:56 +00:00
Peter Wemm bf9380893a 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 Wemm 087c83fe7d 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 Wemm 54f42e4ba0 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 Takenori bc4534f4cc 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 Wemm 3931afc2d0 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 Wemm 88d2e69daa 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
Steve Passe 78292efeef 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
Steve Passe 579f738316 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
Jun-ichiro itojun Hagino 9b95d17f6f 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 Takenori 662f9a6987 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
Steve Passe 34162fc615 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
Steve Passe 5f642c1666 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
Steve Passe 57fe49bd03 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 Takenori 89325c4349 Synchronize with sys/i386/i386/userconfig.c revision 1.90. 1997-08-29 14:53:18 +00:00
KATO Takenori 24f6ec85ea 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 Takenori d3e65fbc89 Fix typo in the comment introduced by me. 1997-08-29 11:01:14 +00:00
KATO Takenori 664f85174a 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 Takenori 4c7bdfd64b 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
Mike Smith ef6ab9c7ee Make the devfs code actually compile. Oops.
Submitted by:	jkh
1997-08-29 00:30:11 +00:00
Jordan K. Hubbard b9c72653a1 Patch for 3.0: #include <sys/fcntl.h> instead of <sys/ioctl.h> 1997-08-28 15:23:10 +00:00
Jonathan Lemon adeb9a12ce Document the VM86 option.
Reminded-by:	John-Mark Gurney
1997-08-28 15:00:05 +00:00
Jonathan Lemon ad47cbca85 Remove the vm86 LKM. 1997-08-28 14:45:26 +00:00
Jonathan Lemon 5f07393373 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 Takenori a1b442d74c 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
Jordan K. Hubbard 866595c01c 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
Jordan K. Hubbard 3b577e1f2f Add entries for Comtrol Rocketport serial card.
Submitted by:	Amir Farah <amir@comtrol.com>
1997-08-28 12:18:09 +00:00
Mike Smith ca61c52458 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
Mike Smith 1e505cea7d Remove bogus i386/* includes. 1997-08-28 10:15:20 +00:00
KATO Takenori 27cb053198 Moved include files which are independent of bs driver. 1997-08-28 09:23:57 +00:00
KATO Takenori 0bce7b8410 Synchronize with sys/i386/isa/isa.c revision 1.103. 1997-08-28 09:15:31 +00:00
Mike Smith 1b0b864911 Add prototype for isa_dmastop() 1997-08-28 03:37:46 +00:00
Mike Smith 67fb1e6a0c 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 Elischer 7ed8f465e7 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 Takenori 1bf978ce42 Include "opt_ddb.h" only when NULLFS_DIAGNOSTIC is defined. 1997-08-28 00:44:43 +00:00
KATO Takenori 17c008220e Use existing path, even though PC-98 doesn't support each device driver. 1997-08-27 08:47:03 +00:00
KATO Takenori e958d078c4 Fixed NULLFS_DIAGNOSTIC stuff. 1997-08-27 08:44:43 +00:00
KATO Takenori 6f468ee3e3 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 Elischer 139c7c8e2d remove un-needed if statement (now the poul removed the 'then' clause) 1997-08-27 02:58:40 +00:00
Peter Wemm 90bcb528a8 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 Wemm 9a3b3e8bce 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 Elischer bdb9147f65 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 Takenori c820ec8ab4 Synchronize with sys/i386/isa/syscons.h revision 1.32. 1997-08-26 15:09:36 +00:00
KATO Takenori 91fc71559f Synchronize with sys/i386/isa/isa.c revision 1.102. 1997-08-26 15:08:52 +00:00
Bruce Evans 1e1764c216 Removed bogus -I path in CFLAGS. 1997-08-26 13:49:26 +00:00
Bruce Evans d3114049c1 Restored rev.1.92 which was clobbered by the previous commit. 1997-08-26 11:59:20 +00:00
Poul-Henning Kamp 0fa2443f0e 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
John Dyson a5db4bf475 Back out some incorrect changes that was worse than the original bug. 1997-08-26 04:36:27 +00:00
Bruce Evans 7d7fb492c5 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
Bruce Evans 8a2d9f5076 Finished staticizing. 1997-08-26 00:31:04 +00:00
Bruce Evans 9a629c9302 Fixed some formatting and style bugs.
Fixed a gratuitous ANSIism.
1997-08-26 00:24:25 +00:00
Bruce Evans 1d9655ae4d Print more info in the "calcru: negative time" message. 1997-08-26 00:20:11 +00:00
Bruce Evans eb776aea19 Fixed some gratuitous ANSIisms. 1997-08-26 00:15:04 +00:00
Bruce Evans 32545fd108 Removed some stale comments.
Fixed a gratuitous ANSIism.
1997-08-26 00:09:44 +00:00
Bruce Evans 282ec22c77 Removed redundant test against MAXDSIZ (the rlimit test is stronger). 1997-08-26 00:02:24 +00:00
Bruce Evans 25ec9b1615 Don't depend on the gcc feature of permitting conditional expressions
with only one void operand.
1997-08-25 23:45:50 +00:00
Bruce Evans 17bd614dd9 Fixed misplaced declaration. 1997-08-25 23:41:39 +00:00
Bruce Evans f9a4e5c528 Minor formatting and style fixes. 1997-08-25 23:36:23 +00:00
Bruce Evans 8e5aa32a09 Fixed pedantic syntax error (trailing comma in enum). 1997-08-25 23:31:05 +00:00
Bruce Evans 7c941b1013 Removed more abuses of timeout_func_t. 1997-08-25 23:28:58 +00:00
Bruce Evans 0cb69e7a49 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
Bruce Evans f438d8b44e 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
Bruce Evans 72e81c1a11 Fixed some not-so-recently broken indentation.
Fixed pedantic syntax error (trailing comma in enum).
1997-08-25 23:06:29 +00:00
Bruce Evans 70df00b826 Fixed some not-so-recently broken indentation.
Fixed pedantic syntax error (trailing comma in enum).
1997-08-25 22:58:29 +00:00
Bruce Evans ccea0a158a 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
Bruce Evans c77b8656bb 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
Bruce Evans ca56099a40 Police 4.4Lite #include style. 1997-08-25 22:28:57 +00:00
Bruce Evans fe18edae06 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
Bruce Evans b9dcd593ff 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
Bruce Evans 8b6e12e27f Added an XXX comment. 1997-08-25 22:02:22 +00:00
Bruce Evans 56f4ffc582 Removed an unused variable. 1997-08-25 21:57:55 +00:00
Bruce Evans 45e3420bd4 Fixed a pedantic syntax error (case labels without a statement). 1997-08-25 21:56:23 +00:00
Bruce Evans 10a1aa05e8 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
Bruce Evans 3faae24ef5 Removed a tautological comment. 1997-08-25 21:31:38 +00:00
Bruce Evans 2a2968a896 Removed a bogus comment. 1997-08-25 21:28:08 +00:00
Steve Passe 047307e09d Eliminate the blocking of INTs while spinning for the safe simplelock. 1997-08-25 21:02:59 +00:00
Poul-Henning Kamp 013739386f 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
Poul-Henning Kamp c049f06469 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
Poul-Henning Kamp 49f219ae06 Add SLIST_FOREACH 1997-08-25 20:21:54 +00:00
Garrett Wollman fe0fb8abd0 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 Wemm 29f886b18b 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 Takenori 9d3220061d 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 Takenori 804f67f778 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 Takenori 55ae4cdbde Synchronize with sys/i386/boot/netboot/ns8390.c revision 1.12. 1997-08-25 08:15:14 +00:00
Joerg Wunsch f778764443 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
Garrett Wollman 7022ea0a0c 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
Steve Passe 8ee0110a44 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
Steve Passe e49f6a7c8d 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 Takenori 5651ff29eb 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 Takenori 9f23ef9d3c Synchronize with sys/i386/i386/microtime.s revision up to 1.29. 1997-08-24 11:09:36 +00:00
Stefan Eßer 02d18b728b 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
Steve Passe 886e789627 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 Price 1e915c361e Remove extraneous init parameter.
PR:		kern/3595
Submitted by:	Chiharu Shibata <chi@rd.njk.co.jp>
1997-08-23 23:38:12 +00:00
Stefan Eßer 230847098b 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
Stefan Eßer e6344dbdaa 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 Price fae3ea2ced Increase the retry timeouts.
PR:		kern/3447
Submitted by:	dawes@rf900.physics.usyd.edu.au
1997-08-23 21:05:32 +00:00
Alexander Langer 643811317c Fixed logging of verbose limited packets.
PR:		4351
Submitted by:	Ron Bickers <rbickers@intercenter.net>
1997-08-23 14:28:22 +00:00
KATO Takenori 75107779c9 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 Elischer 7e2a6151f5 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
John Dyson e5953c0e16 Fix the "remove optimization" by removing it. Sorry for the trouble. 1997-08-22 15:37:23 +00:00
Peter Wemm e384a9801e 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 Wemm 080ea4d851 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 Takenori 463695c856 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
Poul-Henning Kamp 0e61ac7b5d typo in comment. 1997-08-22 07:16:46 +00:00
John Dyson 89721f6f1a 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
Justin T. Gibbs b13364fea8 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
Bruce Evans b1037dcd53 #include <machine/limits.h> explicitly in the few places that it is required. 1997-08-21 20:33:42 +00:00
Bruce Evans d7fde192a6 Staticized. 1997-08-21 19:56:40 +00:00
Bruce Evans e0b2119fcf Police 4.4Lite #include style. 1997-08-21 19:55:49 +00:00
Bruce Evans 7d204e555f Removed unused definition. 1997-08-21 19:46:13 +00:00
John-Mark Gurney eead822a4b 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 Takenori 3b17d7f08b 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
Steve Passe e6b54a1659 Get le_intr decl from sys/conf.h 1997-08-21 09:01:00 +00:00
Steve Passe 831b792e7f Yank the casts. 1997-08-21 08:42:59 +00:00
KATO Takenori 044867d52e 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
Steve Passe d6f41fc926 Reorder function decls alphabetically. 1997-08-21 08:31:41 +00:00
KATO Takenori 28f454282d Synchronize with sys/i386/isa/sio.c revision up to 1.177. 1997-08-21 08:25:13 +00:00
KATO Takenori 878b145f18 Synchronize with sys/i386/isa/isa.c revision 1.101. 1997-08-21 08:24:19 +00:00
KATO Takenori 1d39bbefd2 Synchronize with sys/i386/isa/clock.c revision 1.99. 1997-08-21 08:23:52 +00:00
Steve Passe e59a7e77e2 Forward declaration for the intr routine, avoids compiler warning. 1997-08-21 07:55:10 +00:00
Steve Passe 21197eb230 Add several casts and include several header files to eliminate compiler
warnings.
1997-08-21 07:36:44 +00:00
Steve Passe 99216c6061 Add a cast to eliminate a compiler warning. 1997-08-21 07:35:23 +00:00
Steve Passe 1fa27e1c81 A few more casts and a function declaration for warning free kernel builds. 1997-08-21 07:05:54 +00:00
Steve Passe fbca51f50a Added a half dozen casts to eliminate annoying warnings. 1997-08-21 06:39:41 +00:00
Philippe Charnier 40d5099441 Revert my previous commit about using CS_SECURE macro.
Requested by:	Bruce.
1997-08-21 06:33:04 +00:00
Steve Passe f2cf811ca6 Fixed a warning about undefined isa_irq_pending(). (UP kernel only) 1997-08-21 06:16:12 +00:00
Steve Passe b3e4e390f6 Moved the COM_LOCK and COM_UNLOCK macros to machine/param.h. 1997-08-21 05:47:25 +00:00
Steve Passe 201ef2f3f3 Another boo-boo, this file defines cil. 1997-08-21 05:19:26 +00:00
Steve Passe fcdf862cca 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
Steve Passe 4a73d99f7e 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
John Dyson 656b256cd5 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
John Dyson 745b842305 Some corrections to the anonymous page managment.
Submitted by:	Peter Chen <pmchen@eecs.umich.edu>
1997-08-21 01:35:37 +00:00
Jonathan Lemon 939829795a Add forward declaration for struct proc. 1997-08-20 19:57:24 +00:00
KATO Takenori 3a19895e49 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
Steve Passe a2c1225d0e 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
Steve Passe 7b185ef809 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
Steve Passe 5996461961 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
Steve Passe 77625cfe0b 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 Wemm 89327d27f7 Mention PPP_DEFLATE and PPP_BSDCOMP for kernel ppp. 1997-08-19 17:11:35 +00:00
Peter Wemm 3b053446d4 Remove some stray extra prototypes 1997-08-19 17:07:07 +00:00
Peter Wemm 13c497114e 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 Wemm 2d4b190bc5 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 Wemm 1a5018a043 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 Wemm 217cb20cdc Regenerate 1997-08-19 05:57:04 +00:00
Peter Wemm 6871cc6262 SVR4/XPG-style getpgid()/getsid() syscalls. 1997-08-19 05:53:48 +00:00
John Dyson 891e0f24c4 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 Takenori b2964d3a9e 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
Philippe Charnier 15f3549108 Use CS_SECURE macro.
Reviewed by:	John Dyson
1997-08-18 06:58:59 +00:00
Steve Passe 75d23f5f87 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
Steve Passe 7e48002a92 Removed volatile from arg to simple_lock & friends. 1997-08-18 03:35:59 +00:00
Steve Passe 7cbfd031b6 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
John Dyson 03e9c6c101 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 Elischer ff36905c57 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 Wunsch ce8a015412 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
Garrett Wollman fa5cde129b 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
Tor Egge 19c0663e5e Use KERNBASE, not 0xf0000000. 1997-08-17 17:40:11 +00:00
Jun-ichiro itojun Hagino 769b999aee 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
Jun-ichiro itojun Hagino 14bb0309a4 preparation for scsi device RESERVATION CONFLICT support.
PR:		4257
1997-08-17 14:02:18 +00:00
Steve Passe 737e75a810 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 Takenori 5904e1f57a 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 Takenori c031bb72c5 Synchronize with sys/i386/i386/userconfig.c revision 1.88. 1997-08-17 03:38:52 +00:00
KATO Takenori b89a4737ed Synchronize with sys/i386/conf/majors.i386 revision 1.16. 1997-08-17 03:36:09 +00:00
Garrett Wollman 57bf258e3d 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
Garrett Wollman cee405ba27 Enable hostcache code. 1997-08-16 19:11:10 +00:00
Garrett Wollman 62f74f2f72 Dejulianize DIAGNOSTIC panic code. The types are wrong; probably there's
a missing dereference.
1997-08-16 19:07:20 +00:00
Mike Smith 3a6424f6be Add the 'ppc' ISA-bus parallel-port chipset driver. 1997-08-16 14:19:43 +00:00
Mike Smith 4f013cf5af Use cdev major 82 instead of the (reserved-for-local-use) original 14 1997-08-16 14:16:58 +00:00
Mike Smith 49975ec268 Assign character major 82 to the 'ppi' Generic Parallel Port I/O device. 1997-08-16 14:15:40 +00:00
Mike Smith cc11e361c3 Minor ppc_data structure tweak.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-16 14:07:26 +00:00
Mike Smith 22531ffcef Add new ppbus files.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-16 14:06:05 +00:00
Mike Smith e51b0386a6 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
Mike Smith 22526298ad Oops, reference the ppi and vpo drivers properly. Obviously nobody's
using this stuff yet 8)
1997-08-16 12:21:23 +00:00
John Dyson 7197c8af33 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 Takenori 11ca45ebea Synchronize with sys/i386/conf/majors.i386 revision 1.15. 1997-08-16 01:33:10 +00:00
KATO Takenori e7e37fb1a0 Synchronize with sys/i386/conf/files.i386 revision 1.171. 1997-08-16 01:31:22 +00:00
Andrey A. Chernov fd2e6bbaa6 Map CSTATUS to ^T by default or it never noticed by novice users
Reviewed by: bde
1997-08-15 22:43:22 +00:00
Justin T. Gibbs b6e49ed332 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 Takenori f5a5311ee8 Added DIAGNOSTIC routine to test inconsistency of vnode when cnp
points `.'.

Obtained from:	NetBSD
1997-08-15 02:36:28 +00:00
KATO Takenori a03a24c901 Deleted unused code which adjust UN_UNLOCK flag. 1997-08-15 02:35:00 +00:00
Steve Passe b5cdece0a9 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
Steve Passe 3905c09afb 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
Mike Smith ab4c624ba4 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
Mike Smith 676465394a ISA Parallel-Port Bus chipset driver.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 14:01:36 +00:00
Mike Smith 1b16a0ddb8 Add parallel-Port Bus drivers.
Submitted by:	Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
1997-08-14 13:59:24 +00:00
Mike Smith ed3815224c 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 Takenori fb35546309 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
Andrey A. Chernov cd9f713d45 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
Daniel O'Callaghan 26bb051a7b Add the NetVin 5000 series NE2000 PCI card vendor and device IDs. 1997-08-14 07:53:07 +00:00
KATO Takenori 5842d4e5b2 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 Takenori 3dc942bbe9 Backed out part of previous change. The example of -b mount in
manpage works again.
1997-08-14 03:52:27 +00:00
Steve Passe 22e5e9b058 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
Jordan K. Hubbard 56ed81f738 Reserve major 81 for rocketport driver. 1997-08-13 21:01:30 +00:00
Julian Elischer 3d0a7bc3b8 add a diagnostic to catch some common cases of tsleep being
called from the wrong place.
1997-08-13 19:29:33 +00:00