Commit Graph

1796 Commits

Author SHA1 Message Date
nyan
c060eab5cb Merged from sys/i386/i386/machdep.c revision 1.454. 2001-06-02 06:30:56 +00:00
nyan
58f4d7553b Disabled unneeded code for PC98.
Submitted by:	NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>
2001-06-02 05:51:21 +00:00
nyan
69fcd42961 Merged from sys/i386/isa/npx.c revision 1.101. 2001-06-02 05:00:08 +00:00
mjacob
f321a52b0e move wx to be part of miibus requiring chipsets 2001-05-30 03:20:52 +00:00
phk
bad4fc51cc Remove MFS options from all example kernel configs. 2001-05-29 18:49:06 +00:00
nyan
b719eb0861 Update pc98 memory probe functions.
- pc98_getmemsize() function returns available memory size under 16MB.
 - getmemsize() function is merged from PC-AT's one.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata) and
		NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>
2001-05-21 12:51:44 +00:00
nyan
4303a8446d Merged from sys/i386/isa/npx.c revisions 1.99 and 1.100. 2001-05-21 12:20:22 +00:00
nyan
bd9386c173 Merged from sys/i386/i386/machdep.c revisions 1.452 and 1.453. 2001-05-21 11:57:54 +00:00
jhb
3fbeaa9056 Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
kato
fdbffc1f35 Merged from sys/isa/fd.c revision 1.197. 2001-05-15 08:55:30 +00:00
kato
d1e290ea5f Merged from sys/i386/i386/machdep.c revision 1.450. 2001-05-15 08:32:01 +00:00
phk
0e2026a179 Convert DEVFS from an "opt-in" to an "opt-out" option.
If for some reason DEVFS is undesired, the "NODEVFS" option is
needed now.

Pending any significant issues, DEVFS will be made mandatory in
-current on july 1st so that we can start reaping the full
benefits of having it.
2001-05-13 20:52:40 +00:00
jhb
41fc4419f3 - Split out the support for per-CPU data from the SMP code. UP kernels
have per-CPU data and gdb on the i386 at least needs access to it.
- Clean up includes in kern_idle.c and subr_smp.c.

Reviewed by:	jake
2001-05-10 17:45:49 +00:00
phk
16caeec9b0 Actually biofinish(struct bio *, struct devstat *, int error) is more general
than the bioerror().

Most of this patch is generated by scripts.
2001-05-06 20:00:03 +00:00
kato
3e4b90010b Merged from sys/i386/i386/machdep.c revision 1.448. 2001-05-06 09:18:32 +00:00
nyan
2933ffb04d Merged from sys/i386/conf/GENERIC revision 1.304. 2001-05-06 05:57:46 +00:00
nyan
004ec40174 Merged from sys/isa/fd.c revision 1.193. 2001-05-06 05:49:11 +00:00
kato
dae4d9ed16 Merged from sys/isa/sio.c revision 1.330. 2001-05-02 14:02:16 +00:00
kato
16dd15fec9 Merged from sys/isa/fd.c revision 1.195. 2001-05-02 13:59:03 +00:00
kato
1850f4ef40 Merged from sys/i386/isa/npx.c revisions 1.96 and 1.97. 2001-05-02 13:56:50 +00:00
kato
f3e48b3cb4 Merged from sys/i386/isa/clock.c revisions 1.172 and 1.173. 2001-05-02 13:51:49 +00:00
kato
7829b9a6fd Merged the rest of changes in sys/i386/i386/machdep.c revision 1.447. 2001-05-02 13:48:39 +00:00
markm
bcca5847d5 Undo part of the tangle of having sys/lock.h and sys/mutex.h included in
other "system" header files.

Also help the deprecation of lockmgr.h by making it a sub-include of
sys/lock.h and removing sys/lockmgr.h form kernel .c files.

Sort sys/*.h includes where possible in affected files.

OK'ed by:	bde (with reservations)
2001-05-01 08:13:21 +00:00
jhb
8bfdafc934 Overhaul of the SMP code. Several portions of the SMP kernel support have
been made machine independent and various other adjustments have been made
to support Alpha SMP.

- It splits the per-process portions of hardclock() and statclock() off
  into hardclock_process() and statclock_process() respectively.  hardclock()
  and statclock() call the *_process() functions for the current process so
  that UP systems will run as before.  For SMP systems, it is simply necessary
  to ensure that all other processors execute the *_process() functions when the
  main clock functions are triggered on one CPU by an interrupt.  For the alpha
  4100, clock interrupts are delievered in a staggered broadcast fashion, so
  we simply call hardclock/statclock on the boot CPU and call the *_process()
  functions on the secondaries.  For x86, we call statclock and hardclock as
  usual and then call forward_hardclock/statclock in the MD code to send an IPI
  to cause the AP's to execute forwared_hardclock/statclock which then call the
  *_process() functions.
- forward_signal() and forward_roundrobin() have been reworked to be MI and to
  involve less hackery.  Now the cpu doing the forward sets any flags, etc. and
  sends a very simple IPI_AST to the other cpu(s).  AST IPIs now just basically
  return so that they can execute ast() and don't bother with setting the
  astpending or needresched flags themselves.  This also removes the loop in
  forward_signal() as sched_lock closes the race condition that the loop worked
  around.
- need_resched(), resched_wanted() and clear_resched() have been changed to take
  a process to act on rather than assuming curproc so that they can be used to
  implement forward_roundrobin() as described above.
- Various other SMP variables have been moved to a MI subr_smp.c and a new
  header sys/smp.h declares MI SMP variables and API's.   The IPI API's from
  machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h.
- The globaldata_register() and globaldata_find() functions as well as the
  SLIST of globaldata structures has become MI and moved into subr_smp.c.
  Also, the globaldata list is only available if SMP support is compiled in.

Reviewed by:	jake, peter
Looked over by:	eivind
2001-04-27 19:28:25 +00:00
jhb
9c03a8ae91 Change the pfind() and zpfind() functions to lock the process that they
find before releasing the allproc lock and returning.

Reviewed by:	-smp, dfr, jake
2001-04-24 00:51:53 +00:00
kato
e234a09b11 Merged from sys/i386/isa/npx.c revision 1.95. 2001-04-16 09:15:40 +00:00
obrien
c7790304de Turn on kernel debugging support (DDB, INVARIANTS, INVARIANT_SUPPORT, WITNESS)
by default while SMPng is still being developed.

Submitted by:	jhb
2001-04-15 19:37:28 +00:00
nyan
713513e1e6 Correct typo. 2001-04-01 07:15:16 +00:00
nyan
e7f2a346bb Merged from sys/i386/i386/bioscall.s revision 1.9 and 1.10. 2001-04-01 07:08:13 +00:00
nyan
a719b2f567 Merged from sys/i386/isa/clock.c revision 1.171. 2001-04-01 06:41:47 +00:00
nyan
d749003ed1 Merged from sys/i386/i386/machdep.c revision 1.446. 2001-04-01 06:40:45 +00:00
nyan
79a944fb6f Merged from sys/i386/apm/apm.c revision 1.121. 2001-04-01 06:34:12 +00:00
jhb
3e3a661612 Switch from save/disable/restore_intr() to critical_enter/exit(). 2001-03-28 03:06:10 +00:00
phk
c47745e977 Send the remains (such as I have located) of "block major numbers" to
the bit-bucket.
2001-03-26 12:41:29 +00:00
kato
b2e6597c8d Merged from sys/i386/isa/npx.c revision 1.93. 2001-03-23 08:58:36 +00:00
kato
72f60d880d Merged from sys/i386/i386/machdep.c revision 1.445. 2001-03-23 08:57:22 +00:00
kato
fb6a60e51d Merged from sys/i386/conf/GENERIC revision 1.305 (moved the fxp driver
into the miibus section.)
2001-03-17 14:04:24 +00:00
kato
7186b5af06 Replaced p (undeclared) with curproc (after i386/isa/npx.c). 2001-03-08 14:25:51 +00:00
jhb
9cd254601b Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
nyan
9e90d5aab0 Added another wd33c93 based SCSI card driver which replaces the bs driver.
Now, default is still bs.

Submitted by:	nyan and non.
Obtained from:	NetBSD/pc98
2001-02-27 12:34:01 +00:00
nyan
34a8061ba3 Supported pcmcia modem card.
Submitted by:	MURAMATSU Atsushi <amura@ma3.seikyou.ne.jp>
2001-02-25 08:55:07 +00:00
kato
4636a0a1cb Merged from sys/i386/i386/machdep.c revision 1.443. 2001-02-25 08:00:35 +00:00
peter
88a22127a8 Activate USER_LDT by default. The new thread libraries are going to
depend on this.  The linux ABI emulator tries to use it for some linux
binaries too.  VM86 had a bigger cost than this and it was made default
a while ago.

Reviewed by:	jhb, imp
2001-02-23 01:25:02 +00:00
kato
810dfa179c Merged from sys/isa/sio.c revision 1.326. 2001-02-21 10:24:21 +00:00
kato
06313a166f Merged from sys/i386/isa/clock.c revision 1.170. 2001-02-21 10:22:22 +00:00
kato
47d923c34a Merged from sys/i386/i386/machdep.c revision 1.441. 2001-02-21 10:20:11 +00:00
asmodai
3065478332 Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
kato
804a116a6d Merged from sys/i386/isa/clock.c revision 1.169. 2001-02-13 10:35:15 +00:00
kato
e75b8028c1 Merged from sys/i386/isa/npx.c revision 1.90. 2001-02-13 10:04:32 +00:00
kato
b1b23bce8e Merged from sys/isa/sio.c revision 1.324 (sched_swi -> swi_sched). 2001-02-13 09:55:20 +00:00
markm
4e9c36b300 RIP <machine/lock.h>.
Some things needed bits of <i386/include/lock.h> - cy.c now has its
own (only) copy of the COM_(UN)LOCK() macros, and IMASK_(UN)LOCK()
has been moved to <i386/include/apic.h> (AKA <machine/apic.h>).
Reviewed by:	jhb
2001-02-11 10:44:09 +00:00
jhb
6e847a265b Move the initailization of the proc lock for proc0 very early into the MD
startup code.
2001-02-09 16:25:16 +00:00
bmilekic
f364d4ac36 Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:

mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks)
mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)

similarily, for releasing a lock, we now have:

mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN.
We change the caller interface for the two different types of locks
because the semantics are entirely different for each case, and this
makes it explicitly clear and, at the same time, it rids us of the
extra `type' argument.

The enter->lock and exit->unlock change has been made with the idea
that we're "locking data" and not "entering locked code" in mind.

Further, remove all additional "flags" previously passed to the
lock acquire/release routines with the exception of two:

MTX_QUIET and MTX_NOSWITCH

The functionality of these flags is preserved and they can be passed
to the lock/unlock routines by calling the corresponding wrappers:

mtx_{lock, unlock}_flags(lock, flag(s)) and
mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN
locks, respectively.

Re-inline some lock acq/rel code; in the sleep lock case, we only
inline the _obtain_lock()s in order to ensure that the inlined code
fits into a cache line. In the spin lock case, we inline recursion and
actually only perform a function call if we need to spin. This change
has been made with the idea that we generally tend to avoid spin locks
and that also the spin locks that we do have and are heavily used
(i.e. sched_lock) do recurse, and therefore in an effort to reduce
function call overhead for some architectures (such as alpha), we
inline recursion for this case.

Create a new malloc type for the witness code and retire from using
the M_DEV type. The new type is called M_WITNESS and is only declared
if WITNESS is enabled.

Begin cleaning up some machdep/mutex.h code - specifically updated the
"optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN
and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently
need those.

Finally, caught up to the interface changes in all sys code.

Contributors: jake, jhb, jasone (in no particular order)
2001-02-09 06:11:45 +00:00
peter
e014685526 Clean up some leftovers from the root mount cleanup that was done some
time ago.  FFS_ROOT and CD9660_ROOT are obsolete.
2001-02-04 15:35:10 +00:00
phk
7a682ee864 Remove the LABPC driver.
Doesn't work, no maintainer, more promising code exists elsewhere.
2001-02-04 11:18:15 +00:00
peter
fe7d89e3f2 All the world is not an i386. Merge rev 1.438 of i386/i386/machdep.c.
Make buffer_map a system map.
2001-02-04 07:00:47 +00:00
peter
9b4aea27e5 Remove count for NSIO. The only places it was used it were incorrect.
(alpha-gdbstub.c got sync'ed up a bit with the i386 version)
2001-01-31 10:54:45 +00:00
peter
ab46631b96 Convert mca (microchannel bus support) from something that we count
(bogus) to something that we test for the presence of.
2001-01-29 11:57:27 +00:00
peter
b7edc4f4e3 Send "#if NISA > 0" to the bit-bucket and replace it with an option.
These were compile-time "is the isa code present?" tests and not
'how many isa busses' tests.
2001-01-29 09:38:39 +00:00
peter
4d33b0dad5 Gag. These compiled because I had a stray "eisa.h" in my config dir. 2001-01-29 08:40:16 +00:00
peter
d3da30dfac change 'count eisa' to 'optional eisa' and update the only consumer
of 'NEISA' - userconfig.c.
While there, send some defunct code to the file history.
2001-01-29 08:19:02 +00:00
kato
ba9a1fe1a9 Merged from sys/i386/isa/npx.c revisions 1.88 and 1.89. 2001-01-28 12:31:03 +00:00
kato
c859c78560 Synced with sys/i386/i386/machdep.c revision 1.436. 2001-01-28 11:06:28 +00:00
nyan
64f8fd698f Merged from sys/isa/sio.c revision 1.320. 2001-01-27 13:02:06 +00:00
nyan
52c12909eb Added pc98 apm driver.
Submitted by:	MURAMATSU Atsushi <amura@ma3.seikyou.ne.jp>
2001-01-23 12:37:15 +00:00
jasone
24d53563ed Remove MUTEX_DECLARE() and MTX_COLD. Instead, postpone full mutex
initialization until after malloc() is safe to call, then iterate through
all mutexes and complete their initialization.

This change is necessary in order to avoid some circular bootstrapping
dependencies.
2001-01-21 07:52:20 +00:00
wollman
0fbfe85a3c Finish deprecating <sys/select.h> in favor of <sys/selinfo.h> in kernel code. 2001-01-20 02:24:07 +00:00
peter
802c028309 Convert apm from a bogus 'count' into a plain option. Clean out some
other cruft from the files.alpha and files.ia64 that were related to this.
2001-01-19 14:09:54 +00:00
peter
91d167d573 Zap unused #include "apm.h" 2001-01-19 13:56:31 +00:00
peter
0d5e420364 Use #ifdef DEV_NPX from opt_npx.h instead of #if NNPX > 0 from npx.h 2001-01-19 13:19:02 +00:00
bmilekic
37decc93f5 Implement MTX_RECURSE flag for mtx_init().
All calls to mtx_init() for mutexes that recurse must now include
the MTX_RECURSE bit in the flag argument variable. This change is in
preparation for an upcoming (further) mutex API cleanup.
The witness code will call panic() if a lock is found to recurse but
the MTX_RECURSE bit was not set during the lock's initialization.

The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to
MTX_RECURSED, which is more appropriate given its meaning.

The following locks have been made "recursive," thus far:
eventhandler, Giant, callout, sched_lock, possibly some others declared
in the architecture-specific code, all of the network card driver locks
in pci/, as well as some other locks in dev/ stuff that I've found to
be recursive.

Reviewed by: jhb
2001-01-19 01:59:14 +00:00
peter
134cd3c07e Stop doing runtime checking on i386 cpus for cpu class. The cpu is
slow enough as it is, without having to constantly check that it really
is an i386 still.  It was possible to compile out the conditionals for
faster cpus by leaving out 'I386_CPU', but it was not possible to
unconditionally compile for the i386.  You got the runtime checking whether
you wanted it or not.  This makes I386_CPU mutually exclusive with the
other cpu types, and tidies things up a little in the process.

Reviewed by:  alfred, markm, phk, benno, jlemon, jhb, jake, grog, msmith,
              jasone, dcs, des (and a bunch more people who encouraged it)
2001-01-16 09:10:34 +00:00
markm
fde03d4ba0 Remove NOBLOCKRANDOM as a compile-time option. Instead, provide
exactly the same functionality via a sysctl, making this feature
a run-time option.

The default is 1(ON), which means that /dev/random device will
NOT block at startup.

setting kern.random.sys.seeded to 0(OFF) will cause /dev/random
to block until the next reseed, at which stage the sysctl
will be changed back to 1(ON).

While I'm here, clean up the sysctls, and make them dynamic.
Reviewed by:		des
Tested on Alpha by:	obrien
2001-01-14 17:50:15 +00:00
nyan
4b44cbd6eb Merged from sys/i386/conf/GENERIC revision from 1.286 to 1.291. 2001-01-13 13:23:42 +00:00
nyan
1ba0600909 Merged from sys/i386/conf/GENERIC.hints revision 1.6 and 1.7. 2001-01-13 13:23:22 +00:00
kato
3657c441c5 Merged from sys/i386/isa/npx.c revision 1.87. 2001-01-12 13:42:53 +00:00
kato
0d056e1e4d Merged from sys/i386/i386/machdep.c revisions 1.427 and 1.428. 2001-01-12 13:39:50 +00:00
nyan
2e3ba2a4f5 Correct typo.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2001-01-08 09:17:58 +00:00
kato
9abe30ef58 Merged from sys/i386/i386/machdep.c revision 1.426. 2001-01-07 07:59:19 +00:00
kato
6098ff346b Merged from sys/i386/conf/GENERIC revisions 1.292 - 1.294. 2000-12-16 03:31:44 +00:00
kato
336f3a8924 Merged from sys/i386/i386/machdep.c revision 1.425. 2000-12-16 03:25:08 +00:00
nyan
561cc1147c Removed the VoxWare sound drivers. 2000-12-10 10:02:32 +00:00
nyan
afb8ae41f3 Fixed to support 3Com 3C569B for PC-98.
Submitted by:	"Hirokazu WATANABE" <gwna@geocities.co.jp>
2000-12-09 04:25:07 +00:00
dwmalone
dd75d1d73b Convert more malloc+bzero to malloc+M_ZERO.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
2000-12-08 21:51:06 +00:00
phk
c3f2ee9700 Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
kato
8de42711fb Merged from sys/i386/isa/clock.c revision 1.164. 2000-12-05 09:35:54 +00:00
kato
c4979e6a99 Merged from sys/i386/i386/machdep.c revision 1.424. 2000-12-05 09:33:11 +00:00
marcel
75c76bdc6b Don't use p->p_sigstk.ss_flags to keep state of whether the
process is on the alternate stack or not. For compatibility
with sigstack(2) state is being updated if such is needed.

We now determine whether the process is on the alternate
stack by looking at its stack pointer. This allows a process
to siglongjmp from a signal handler on the alternate stack
to the place of the sigsetjmp on the normal stack. When
maintaining state, this would have invalidated the state
information and causing a subsequent signal to be delivered
on the normal stack instead of the alternate stack.

PR: 22286
2000-11-30 05:23:49 +00:00
kato
367fcdbd72 Merged from sys/i386/i386/userconfig.c revision 1.185. 2000-11-29 12:31:13 +00:00
phk
2ad308fd87 Make diskerr() always log with printf. 2000-11-26 19:29:15 +00:00
kato
b78e6d6acc Merged from sys/i386/i386/machdep.c revision 1.422. 2000-11-26 06:29:33 +00:00
jlemon
954e1d2ccd Lock down the network interface queues. The queue mutex must be obtained
before adding/removing packets from the queue.  Also, the if_obytes and
if_omcasts fields should only be manipulated under protection of the mutex.

IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on
the queue.  An IF_LOCK macro is provided, as well as the old (mutex-less)
versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which
needs them, but their use is discouraged.

Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF,
which takes care of locking/enqueue, and also statistics updating/start
if necessary.
2000-11-25 07:35:38 +00:00
kato
8294bdbb72 Merged from sys/i386/i386/machdep.c revision 1.421. 2000-11-20 12:06:08 +00:00
nyan
c62b300d45 Merged from the following changes.
sys/conf/Makefile.i386      1.211
sys/conf/files.i386         1.329
sys/isa/fd.c                1.186, 1.188 and 1.189
sys/isa/sio.c               1.305 and 1.317
sys/i386/conf/GENERIC       1.270, 1.281, 1.282 and 1.284
sys/i386/i386/machdep.c     1.419
sys/i386/i386/userconfig.c  1.184
2000-11-05 14:31:19 +00:00
phk
ff5cdfae2d Move suser() and suser_xxx() prototypes and a related #define from
<sys/proc.h> to <sys/systm.h>.

Correctly document the #includes needed in the manpage.

Add one now needed #include of <sys/systm.h>.
Remove the consequent 48 unused #includes of <sys/proc.h>.
2000-10-29 16:06:56 +00:00
nyan
3d97ada87f Restore GDC mode to initial mode instead of 24KHz.
Submitted by:	Tomokazu HARADA <tkhara@osk4.3web.ne.jp>
2000-10-28 11:27:56 +00:00
nyan
965741e3e3 Fixed extention memory check routine.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2000-10-28 11:16:42 +00:00
phk
54ca48450c Convert all users of fldoff() to offsetof(). fldoff() is bad
because it only takes a struct tag which makes it impossible to
use unions, typedefs etc.

Define __offsetof() in <machine/ansi.h>

Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h>

Remove myriad of local offsetof() definitions.

Remove includes of <stddef.h> in kernel code.

NB: Kernelcode should *never* include from /usr/include !

Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API.

Deprecate <struct.h> with a warning.  The warning turns into an error on
01-12-2000 and the file gets removed entirely on 01-01-2001.

Paritials reviews by:   various.
Significant brucifications by:  bde
2000-10-27 11:45:49 +00:00
markm
6458d733a9 As the blocking model has seems to be troublesome for many, disable
it for now with an option.

This option is already deprecated, and will be removed when the
entropy-harvesting code is fast enough to warrant it.
2000-10-27 06:06:04 +00:00
jhb
eec9a83118 Catch up to the new swi code.
Noticed by:	phk
2000-10-25 20:21:42 +00:00
jhb
ff18363a3e - Overhaul the software interrupt code to use interrupt threads for each
type of software interrupt.  Roughly, what used to be a bit in spending
  now maps to a swi thread.  Each thread can have multiple handlers, just
  like a hardware interrupt thread.
- Instead of using a bitmask of pending interrupts, we schedule the specific
  software interrupt thread to run, so spending, NSWI, and the shandlers
  array are no longer needed.  We can now have an arbitrary number of
  software interrupt threads.  When you register a software interrupt
  thread via sinthand_add(), you get back a struct intrhand that you pass
  to sched_swi() when you wish to schedule your swi thread to run.
- Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit
  more intuitive.  Also, prefix all the members of struct intrhand with
  'ih_'.
- Make swi_net() a MI function since there is now no point in it being
  MD.

Submitted by:	cp
2000-10-25 05:19:40 +00:00
kato
a961cceaf1 Used kbio.h and consio.h instead of machine/console.h. 2000-10-20 10:35:44 +00:00
kato
511dbb9a9b Merged from sys/i386/isa/npx.c revision 1.86. 2000-10-20 10:20:27 +00:00
kato
7ac0a58b2c Merged from sys/i386/isa/clock.c revision 1.160. 2000-10-20 10:19:40 +00:00
kato
72eed4a0dc Merged from sys/i386/i386/machdep.c revisions 1.417 and 1.418. 2000-10-20 10:17:26 +00:00
kato
885aebae37 Converted da' and wd' into rda' and rwd', respectively.
Submitted by:	MURAMATSU Atsushi <amura@ma3.seikyou.ne.jp>
2000-10-18 15:28:10 +00:00
kato
c93671f44e Merged from sys/i386/i386/machdep.c revision 1.416. 2000-10-18 09:05:09 +00:00
phk
beadbd4365 Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
peter
72f413de0c Clean up as in isa/* - resource_query_string() loop cosmetic tweaks. 2000-10-15 09:32:58 +00:00
nyan
5c19d4f6c0 Fixed warnings. 2000-10-15 09:04:21 +00:00
nyan
6df9be0e35 Fixed warnings. 2000-10-15 04:54:17 +00:00
kato
7224891b27 Fixed include files to use sys/{cons,fb,kb}io.h instead of
machine/console.h.
2000-10-09 11:07:18 +00:00
phk
410d456c0b Initiate deorbit burn sequence for <machine/mouse.h>.
Replace all in-tree uses with <sys/mouse.h> which repo-copied a few
moments ago from src/sys/i386/include/mouse.h by peter.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/mouse.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/mouse.h> files will be removed.
2000-10-09 08:08:36 +00:00
kato
85918e53b0 Merged from sys/isa/sio.c revision 1.316. 2000-10-06 11:52:32 +00:00
kato
f12f8fe7f7 Merged from sys/i386/isa/npx.c revision 1.85. 2000-10-06 11:51:20 +00:00
kato
4be446749c Merged from sys/i386/isa/clock.c revisions 1.158 and 1.159. 2000-10-06 11:50:19 +00:00
kato
9eb7d6862a Merged from sys/i386/i386/machdep.c revision 1.415. 2000-10-06 11:43:51 +00:00
kato
f6a592b80b Merged from sys/i386/i386/machdep.c revision 1.414. 2000-10-03 13:27:31 +00:00
nyan
bd4026ebae Added NEC PC-9801-83, 84, PC-9801-103, 104, PC-9801N-25 and PC-9801N-J02R
support which use National Semiconductor DP8393X (SONIC) as ethernet
controller. Currently, this driver is used on only PC-98.

Submitted by:	Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
Obtained from:	NetBSD/pc98
2000-10-02 14:27:20 +00:00
kato
4f4f698466 Merged from sys/i368/i386/machdep.c revision 1.413. 2000-10-02 08:57:21 +00:00
bmilekic
73f1784807 Big mbuf subsystem diff #1: incorporate mutexes and fix things up somewhat
to accomodate the changes.

 Here's a list of things that have changed (I may have left out a few); for a
 relatively complete list, see http://people.freebsd.org/~bmilekic/mtx_journal

   * Remove old (once useful) mcluster code for MCLBYTES > PAGE_SIZE which
     nobody uses anymore. It was great while it lasted, but now we're moving
     onto bigger and better things (Approved by: wollman).

   * Practically re-wrote the allocation macros in sys/sys/mbuf.h to accomodate
     new allocations which grab the necessary lock.

   * Make sure that necessary mbstat variables are manipulated with
     corresponding atomic() routines.

   * Changed the "wait" routines, cleaned it up, made one routine that does
     the job.

   * Generalized MWAKEUP() macro. Got rid of m_retry and m_retryhdr, as they
     are now included in the generalized "wait" routines.

   * Sleep routines now use msleep().

   * Free lists have locks.

   * etc... probably other stuff I'm missing...

  Things to look out for and work on later:

   * find a better way to (dynamically) adjust EXT_COUNTERS

   * move necessity to recurse on a lock from drain routines by providing
     lock-free lower-level version of MFREE() (and possibly m_free()?).

   * checkout include of mutex.h in sys/sys/mbuf.h - probably violating
     general philosophy here.

   The code has been reviewed quite a bit, but problems may arise... please,
   don't panic! Send me Emails: bmilekic@freebsd.org

Reviewed by: jlemon, cp, alfred, others?
2000-09-30 06:30:39 +00:00
kato
ffffca70d7 Merged from sys/i386/i386/machdep.c revision 1.411. 2000-09-23 06:38:59 +00:00
kato
3c596ee04e Merged from sys/i386/conf/GENERIC revision 1.279. 2000-09-23 06:38:04 +00:00
kato
9407677169 Merged from sys/isa/sio.c revision 1.315. 2000-09-22 12:56:55 +00:00
kato
c8adbcf10a Merged from sys/i386/i386/machdep.c revision 1.410. 2000-09-22 12:54:50 +00:00
kato
1757f776ca Merged from sys/i386/conf/GENERIC revision 1.278. 2000-09-22 12:53:49 +00:00
kato
e80d3b3345 Merged from sys/isa/fd.c revision 1.187.
Pointed out by:	nyan
2000-09-15 05:47:56 +00:00
kato
650d266497 Merged from sys/i386/isa/sio.c revision 1.314. 2000-09-15 05:45:23 +00:00
kato
6c0f3170b5 Merged from sys/i386/isa/clock.c revision 1.157. 2000-09-15 05:42:42 +00:00
kato
0fcfd857e2 Merged from sys/i386/i386/machdep.c revision 1.408. 2000-09-15 05:35:55 +00:00
jhb
ebc05310ca Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just
use struct mtx, struct witness, and struct witness_blessed.

Requested by:	bde
2000-09-14 20:15:16 +00:00
nyan
b4f34dbe5f - Changed the structure name (struct disk -> struct softc).
- Converted to disk_create() interface.
- Removed unnecessary code.
2000-09-14 11:45:31 +00:00
kato
100914de6c Merged from sys/isa/sio.c revision 1.312. 2000-09-13 10:14:43 +00:00
kato
b13fc9954d Merged from sys/i386/conf/GENERIC revision 1.275. 2000-09-13 10:11:30 +00:00
kato
8969a9cf8b Merged from sys/i386/conf/GENERIC revision 1.274. 2000-09-13 10:10:34 +00:00
dwmalone
eeb5416b47 Add the ability to define a "shutdown" and "shutdown and poweroff" key
to syscons. I have a man page to follow describing the format of the
kbdmap file.

PR:		19273
Reviewed by:	sheldonh
2000-09-11 20:37:42 +00:00
kato
108ecef4d4 Merged from sys/isa/sio.c revisions 1.309 - 1.311. 2000-09-08 11:54:13 +00:00
kato
41776e16eb Merged from sys/i386/i386/machdep.c revision 1.407. 2000-09-08 11:20:04 +00:00
kato
06674277f3 Merged from sys/i386/i386/machdep.c revision 1.406. 2000-09-07 13:35:44 +00:00
kato
5413a4bd48 Merged from sys/isa/sio.c revision 1.306, 1.307 and 1.308. 2000-09-07 13:34:45 +00:00
kato
4eea9218c9 Merged from sys/i386/isa/npx.c revision 1.84. 2000-09-07 13:33:48 +00:00
kato
9d03d4b106 Merged from sys/i386/isa/clock.c revision 1.156. 2000-09-07 13:32:59 +00:00
kato
1a48d24187 Merged from sys/i386/i386/machdep.c revision 1.405. 2000-09-03 15:55:34 +00:00
kato
8804903d0e Merged from sys/i386/i386/machdep.c rev. 1.404 just for keeping
similarity.  No PC-98 may have ACPI feature, but I'm not 100%
sure.
2000-09-03 14:11:03 +00:00
kato
ade89a0233 Merged from sys/dev/syscons/syscons.c revision 1.346. 2000-09-03 07:05:30 +00:00
kato
8ac9a8d4cd Fixed FPU_ERROR_BROKEN code. It had old-isa code. 2000-09-01 11:47:07 +00:00
nyan
8abf809362 Enabled pcic, card and xe devices. 2000-08-26 07:38:43 +00:00
peter
2aff7a5e80 Comment out the static wiring of hints for GENERIC - the release process
now installs the hints file into /boot.
2000-08-24 18:56:54 +00:00
nyan
f61e10a1cd Disabled serial console. 2000-08-19 10:19:43 +00:00
dwmalone
df0e25bf6c Replace the mbuf external reference counting code with something
that should be better.

The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.

NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.

The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.

Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.

The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.

The size of the pool of reference counters is available in the
stats provided by "netstat -m".

PR:		19866
Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:	alfred (glanced at by others on -net)
2000-08-19 08:32:59 +00:00