Commit Graph

20156 Commits

Author SHA1 Message Date
dfr
14185daa26 * Move the driver_t::refs field to kobj_t to replace kobj_t::instances.
* Back out a couple of workarounds for the confusion between
  kobj_t::instances and driver_t::refs.
2000-05-01 10:45:15 +00:00
ache
e40c842b1a Since ptys are allocated dynamically, there is no needs to keep their
t_timeout across close, so move t_timeout initializing to ptcopen
2000-05-01 10:24:21 +00:00
ache
3eb0f89ee2 Initialize t_timeout to -1 for console to set its default value once in ttyopen 2000-05-01 09:21:08 +00:00
mdodd
71a6fd0817 Split out the ISA bus front end code into its own file. PCCARD attachment
coming later this week.  Mitsuru IWASAKI provided a patch to -mobile which
I used to make sure I was doing the right thing but only a small part of
the actual patch was used.
2000-05-01 09:05:19 +00:00
ache
e9a33c5d47 Set t_timeout to its default sysctl value only once in ttyopen
Initialize t_timeout to -1 for this reason

Pointed-by: bde
2000-05-01 09:05:03 +00:00
sos
385be7ece3 Fix for the HP burners (and possibly other broken drives to)
that fails to proberly close the disk.
The problem seems to be that the HP burners sometimes return
ready when they actually are not, the solution is to not use
immediate mode on the closing commands. This is suboptimal
for real burners, in that they now hog the ATA bus for possibly
minutes, where its really not nessesary, *sigh*.
2000-05-01 07:30:28 +00:00
imp
845340c062 Now that I've got reports that this works, let's turn the debugging off.
MIHIRA-san pointed out that debugging is rather big for tcpdump...

Submitted by:	sanpei@sanpei.org (MIHIRA Yoshiro)
2000-05-01 04:41:04 +00:00
mdodd
ca4c3fabb4 - Merge sl_probe() and ni_probe().
- Add myself as 'MAINTAINER' since I've got a number
  of changes in the pipe.
2000-05-01 03:40:21 +00:00
archie
e54c515830 Adjust to accomodate recent changes to the rcvdata and rcvmsg
function prototypes.
2000-05-01 03:31:58 +00:00
bp
c7fd3dfa21 Reserve major device number for nsmb (SMB/CIFS protocol) device. 2000-05-01 00:49:19 +00:00
groudier
501ce86ece Phase mismatch handling from SCRIPTS had been
broken by previous patch.
2000-04-30 21:42:55 +00:00
phk
10914aa708 Remove unneeded #include <vm/vm_zone.h>
Generated by:	src/tools/tools/kerninclude
2000-04-30 18:52:11 +00:00
green
519103d393 For the M_PREPEND macro, remove an initial mbuf NULL check I added. It
was added accidentally, and although not terrible, it would improperly
hide the bug of calling M_PREPEND with a NULL mbuf argument.

Submitted by:	jlemon (ISTR)
2000-04-30 18:42:44 +00:00
green
74f13b7793 Change the scheduler to actually respect the PUSER barrier. It's been
wrong for many years that negative niceness would lower the priority
of a process below PUSER, and once below PUSER, there were conditionals
in the code that are required to test for whether a process was in
the kernel which would break.

The breakage could (and did) cause lock-ups, basically nothing else
but the least nice program being able to run in some conditions.  The
algorithm which adjusts the priority now subtracts PRIO_MIN to do
things properly, and the ESTCPULIM() algorithm was updated to use
PRIO_TOTAL (PRIO_MAX - PRIO_MIN) to calculate the estcpu.

NICE_WEIGHT is now 1 to accomodate the full range of priorities better
(a -20 process with full CPU time has the priority of a +0 process with
no CPU time).  There are now 20 queues (exactly; 80 priorities) for
use in user processes' scheduling, and PUSER has been lowered to 48
to accomplish this.

This means, to the user, that things will be scheduled more correctly
(noticeable), there is no lock-up anymore WRT a niced -20 process
never releasing the CPU time for other processes.  In this fair system,
tsleep()ed < PUSER processes now will get the proper higher priority
than priority >= PUSER user processes.

The detective work of this was done by me, along with part of the
solution.  Luoqi Chen has provided most of the solution, and really
helped me understand what was happening better, to boot :)

Submitted by:   luoqi
Concept reviewed by:    bde
2000-04-30 18:33:43 +00:00
ache
ab9576d148 Add sysctl variable to set initial drainwait timeout on ttyopen, default to
5 minutes
2000-04-30 16:00:53 +00:00
markm
4fcb0bd623 Fix comments, whitespace to reduce diffs between this and GENERIC. 2000-04-30 15:38:28 +00:00
bde
2c5c997046 Fixed the type of some ivar access functions. Ivars have type uintptr_t,
not u_long.  On i386's with 64-bit longs, returning u_longs indirectly
in (more than) the space reserved for uintptr_t's tended to corrupt the
previous frame pointer in the stack frame, so it was not easy to debug.
The type mismatches are hidden by the bogus cast in DEVMETHOD().
2000-04-30 10:01:56 +00:00
julian
8b471affb9 Update the man page to reflect the recent changes to the kernel API for
netgraph.
2000-04-30 10:01:11 +00:00
dfr
6ce4f5d79e Include <sys/random.h> for rand_initialize(). 2000-04-30 09:41:35 +00:00
nyan
a5668ad02e - Added UKBD_DFLT_KEYMAP option.
Pointed out:	Tomokazu HARADA <tkhara@osk4.3web.ne.jp>

- Fixed disordering.
2000-04-30 09:12:48 +00:00
nyan
c9fb25da0a Clean up MAXMEM routine.
Submitted by:	"K.Magara" <magara@maizuru-ct.ac.jp>
2000-04-30 08:52:47 +00:00
nyan
31accf5f5a Fixed to support JIS7 KANJI.
Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
2000-04-30 08:40:43 +00:00
nyan
ec3992b59d Sync with sys/boot/i386/libi386/biosdisk.c revision 1.30. 2000-04-30 08:24:36 +00:00
bde
b4877102e7 Removed a stale forward struct declaration. 2000-04-30 06:47:24 +00:00
bde
f92678d782 Removed superfluous forward declaration of struct klist. Forward
declarations of structs for use in prototypes are only necessary if
the struct is not otherwise declared in scope.

Removed prototypes for fdissequential() and fdsequential().  These
functions never existed in FreeBSD.

Fixed most style bugs in FreeBSD changes (mainly disordered prototypes
and prototypes without parameter names).
2000-04-30 06:31:28 +00:00
phk
0fa9118e2c Hmm, diff/patch still doesn't like me.
Missed one s/biowait/bufwait/g
2000-04-30 06:16:03 +00:00
bde
18b5b5a693 Updated the name of the idempotency macro to match the move of this file.
Fixed a missing forward declaration.
2000-04-30 05:16:24 +00:00
jlemon
a68a052e52 Define more DOSPTYP_* constants for different filesystem types
Reminded by:	ps
2000-04-30 02:33:40 +00:00
ps
6ebc4d68c9 Fall back to /pxeroot as the location of the NFS exported directory
if we are not given one by dhcp.
Remove extra includes while I am here.

Reminded by:	jlemon
2000-04-29 23:08:49 +00:00
jlemon
c1672ab1ed Teach the loader about the ext2fs filesystem, extended partitions, and
the new readdir function.
2000-04-29 20:49:33 +00:00
phk
13995ed718 Peter and I cross-committed: this file needs sys/kernel.h now. 2000-04-29 18:03:52 +00:00
imp
3fe00b6baa Return 0 from attach.
Submitted by: mihira-san <sanpei@sanpei.org>
2000-04-29 17:43:12 +00:00
phk
1931990da0 s/biowait/bufwait/g
Prodded by: several.
2000-04-29 16:25:22 +00:00
phk
24992f67a9 Remove a leftover dysonism. 2000-04-29 16:14:10 +00:00
phk
ce2aa22c93 Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
peter
26f697150c Add a missing MODULE_DEPEND() on miibus.. I was working from
KMODDEPS which this driver didn't have.
2000-04-29 15:25:56 +00:00
peter
3f3fb18f8e Depend on miibus.
Note that if_aue doesn't strictly depend on usb because it uses the
method interface for calls rather than using internal symbols, and
because it's a child driver of usb and therefore will not try and do
anything unless the parent usb code is loaded at some point.  if_aue does
strictly depend on miibus as it will fail to link if it is missing.
2000-04-29 13:41:57 +00:00
peter
e47f330f64 Provide a tag so that miibus consumers can depend on the module,
regardless of whether it is in a seperate .ko or the kernel (or in a .ko
bundled with several other things in one file for packaging).
2000-04-29 13:38:26 +00:00
peter
0caafaec1c Minimal tweak to make the ng_XXX modules depend on netgraph so that they
see its symbols and link ok.
2000-04-29 13:36:07 +00:00
peter
ff69b85a83 nwfs depends on ncp 2000-04-29 13:34:28 +00:00
peter
505cc5752f Stick a module dependency on 'splash' in the saver declaration macro so
that all savers are automatically declared dependent on the splash driver.
2000-04-29 13:33:18 +00:00
peter
454deb74dc Initial dependency so that the kld's will link. imgact_coff depends
on the ibcs2 module being present.
2000-04-29 13:32:16 +00:00
peter
33bb245bde The newer module dependency code exposes an apparent bug in the
bus/driver/kobj system.  I am not 100% sure that this is the correct fix,
but it is harmless and does seem to solve the problem.  At worst, it could
cause a tiny memory leak at unload time - this is better than a free(NULL)
and subsequent panic.  I'm waiting for comments from Doug about this.
This may yet be backed out and fixed differently.

The change itself is to increment the reference count on drivers in one
case where it appears to have been missed.  When everything is unloaded,
kobj_class_free() was being called twice in some cases, and panicing the
second time.
2000-04-29 13:24:35 +00:00
peter
8de950a22b First round implementation of a fine grain enhanced module to module
version dependency system.  This isn't quite finished, but it is at a
useful stage to do a functional checkpoint.

Highlights:
- version and dependency metadata is gathered via linker sets, so things
are handled the same for static kernels and code built to live in a kld.
- The dependencies are at module level (versus at file level).
- Dependencies determine kld symbol search order - this means that you
cannot link against symbols in another file unless you depend on it. This
is so that you cannot accidently unload the target out from underneath
the ones referencing it.
- It is flexible enough that we can put tags in #include files and macros
so that we can get decent hooks for enforcing recompiles on incompatable
ABI changes.  eg: if we change struct proc, we could force a recompile
for all kld's that reference the proc struct.
- Tangled dependency references at boot time are sorted.  Files are
relocated once all their dependencies are already relocated.

Caveats:
- Loader support is incomplete, but has been worked on seperately.
- Actual enforcement of the version number tags is not active yet - just
the module dependencies are live.  The actual structure of versioning
hasn't been agreed on yet. (eg: major.minor, or whatever)
- There is some backwards compatability for old modules without metadata
but I'm not sure how good it is.

This is based on work originally done by Boris Popov (bp@freebsd.org),
but I'm not sure he'd recognize much of it now. Don't blame him. :-)
Also, ideas have been borrowed from Mike Smith.
2000-04-29 13:19:31 +00:00
peter
a63f67a2b6 Do not fault if curproc is null. 2000-04-29 11:32:15 +00:00
peter
00f2105c72 Do not use uprintf() for link time error messages. This has unpleasant
consequences when it happens in the preload support, before curproc or
the tty system exist.
2000-04-29 11:21:44 +00:00
groudier
22b8c23cfa This new version adds support for early NCR chips.
53C810 non 'A', 53C815 and 53C825 non 'A' are now
attached by the driver (by default).
The driver uses a different SCRIPTS set based on
MEMORY MOVE instructions for these chips.

2 SCRIPTS sets (firmwares) numbered #1 and #2 are
used for the whole support of the 53C8XX family
to get possible:

- FW #1 : Only based on MEMORY MOVE instructions.
          Selected for 810, 815, 825.
- FW #2 : LOAD/STORE based. This is the firmware
          also used by previous driver versions.
          Selected for other chips.

When both `ncr' and `sym' are configured, `sym'
will now attach all the 53C8XX devices by default.
Previous balancing between `ncr' and `sym' can be
preserved by:

- Either editing sym_conf.h and commenting the
  following compile option:
     #define SYM_CONF_GENERIC_SUPPORT
  (This also saves about 3.5Kb of kernel memory).

- Or setting kernel config option
    SYM_SETUP_LP_PROBE_MAP to 64 (bit 0x40)
2000-04-29 10:20:16 +00:00
peter
920a30a1c5 Mark two functions as private. 2000-04-29 07:48:37 +00:00
peter
1aa88f6889 LOAD_ADDRESS is not used here. See conf/ldscript.* for the link base
address.
2000-04-29 06:29:39 +00:00
nyan
241d122b33 Fixed typo. 2000-04-29 05:55:33 +00:00