Commit Graph

1985 Commits

Author SHA1 Message Date
nyan
d9dbac3752 MFi386: revision 1.124 2001-12-22 01:34:09 +00:00
nyan
943f95c0a8 Merged from sys/dev/syscons/syscons.c revision 1.377. 2001-12-22 01:32:32 +00:00
nyan
f8baad3a31 cosmetic changes. 2001-12-22 01:30:19 +00:00
nyan
db7ffc9554 MFi386: revision 1.179 2001-12-22 00:38:32 +00:00
nyan
560333de36 MFi386: revision 1.486 2001-12-22 00:35:49 +00:00
nyan
1384726539 Merged from sys/isa/{fd.c,fdreg.h} revisions 1.222 and 1.15, respectively. 2001-12-16 09:00:03 +00:00
iedowse
6829d5b143 Enable UFS_DIRHASH in the GENERIC kernel.
Suggested by:	silby
Reviewed by:	dillon
MFC after:	5 days
2001-12-14 16:27:11 +00:00
nyan
8b664dd49d Fixed to draw mouse cursor. The syscons driver for PC98 uses different
attributes from i386.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
MFC after:	3 days
2001-12-14 15:27:15 +00:00
nyan
be7a644187 MFi386: revision 1.485 (the previous commit is not completely) 2001-12-12 12:27:59 +00:00
jhb
21b6b26912 Overhaul the per-CPU support a bit:
- The MI portions of struct globaldata have been consolidated into a MI
  struct pcpu.  The MD per-CPU data are specified via a macro defined in
  machine/pcpu.h.  A macro was chosen over a struct mdpcpu so that the
  interface would be cleaner (PCPU_GET(my_md_field) vs.
  PCPU_GET(md.md_my_md_field)).
- All references to globaldata are changed to pcpu instead.  In a UP kernel,
  this data was stored as global variables which is where the original name
  came from.  In an SMP world this data is per-CPU and ideally private to each
  CPU outside of the context of debuggers.  This also included combining
  machine/globaldata.h and machine/globals.h into machine/pcpu.h.
- The pointer to the thread using the FPU on i386 was renamed from
  npxthread to fpcurthread to be identical with other architectures.
- Make the show pcpu ddb command MI with a MD callout to display MD
  fields.
- The globaldata_register() function was renamed to pcpu_init() and now
  init's MI fields of a struct pcpu in addition to registering it with
  the internal array and list.
- A pcpu_destroy() function was added to remove a struct pcpu from the
  internal array and list.

Tested on:	alpha, i386
Reviewed by:	peter, jake
2001-12-11 23:33:44 +00:00
obrien
7fd9a6a23a Update to C99, s/__FUNCTION__/__func__/,
also don't use ANSI string concatenation.
2001-12-10 08:09:49 +00:00
dillon
6fe4980d43 Allow maxusers to be specified as 0 in the kernel config, which will
cause the system to auto-size to between 32 and 512 depending on the
amount of memory.

MFC after:	1 week
2001-12-09 01:57:09 +00:00
des
d7018ca87e PROCFS requires PSEUDOFS. 2001-12-04 11:48:16 +00:00
nyan
8b353ec10a Split the sio driver for pc98 into bus front end and back end.
(merged from the files in sys/dev/sio)
2001-11-26 12:29:53 +00:00
nyan
1999b15875 MFi386: revision 1.326. 2001-11-17 13:48:31 +00:00
nyan
e5e59231f1 MFi386: revision 1.483 2001-11-17 13:16:51 +00:00
nyan
a2ed3a17cf Use make_dev_alias() instead of call make_dev() twice. 2001-11-12 13:06:04 +00:00
phk
9bb69cda68 GC userconfig after Peter axed it 15 months ago. 2001-11-05 21:46:35 +00:00
phk
6d85b02e40 Don't call cdevsw_add(). 2001-11-04 09:09:41 +00:00
phk
c665837dfd Rename the top 7 bits if disk minors to spare bits, rather than type bits. 2001-11-04 09:01:07 +00:00
nyan
175300ac14 MFi386: sys/i386/i386/machdep.c revisions 1.481 and 1.482 2001-10-30 00:53:19 +00:00
nyan
743ea98fc5 Removed pmc_isa_identify function. It is not needed.
Submitted by:	takawata
2001-10-28 04:16:50 +00:00
jlemon
86a48bed45 cn_tab no longer exists, use cnadd() to add a console device. Note that
this may result in duplicate console output in some cases.
2001-10-24 18:30:05 +00:00
nyan
d59e014361 Added the pmc driver which supports power management controller of
old NEC PC-98NOTE.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
MFC after:	1 week
2001-10-24 14:46:40 +00:00
amorita
df2cb205e6 fix broken `compat_atdisk'(replace raw device name with block device's).
Reviewed by:	nyan
MFC after:	3 days
2001-10-23 09:39:09 +00:00
amorita
2d213e18a0 Fix compile error of the case using `LINE30' option.
Reviewed by:	nyan
MFC after:	3 days
2001-10-23 08:54:50 +00:00
imp
ea86fcc299 First commit after a repo copy of isa/sio* -> dev/sio:
Move sio from isa/sio.c to dev/sio/sio.c.  The next step is to break
out the front end attachments, improve support for these parts on
different busses, and maybe, if we're lucky, merging in pc98 support.
It will also be MI and live in conf/files rather than files.*.

Approved by: bde
Tested with: i386, pc98
2001-10-22 02:48:38 +00:00
bde
3535bdaf2a Use the i386 version of npx.c. It has been merged with the pc98 version.
Approved by:	nyan
Not tested by:	bde
2001-10-21 06:14:12 +00:00
mjacob
bdff8645a6 Remove wx. 2001-10-20 18:50:31 +00:00
nyan
602d3a5092 MFi386: sys/i386/isa/npx.c revisions from 1.114 to 1.116 2001-10-19 12:30:16 +00:00
nyan
d9186a95fc Changed IO_NPXSIZE to 8 2001-10-19 12:24:45 +00:00
nyan
d201939dde MFi386: sys/i386/isa/clock.c revision 1.177 2001-10-19 11:52:49 +00:00
nyan
579f7ab43b MFi386: sys/i386/isa/pcaudio.c revision 1.63 2001-10-19 11:50:00 +00:00
nyan
83f01c8ad9 Merged from sys/isa/sio.c revisions from 1.344 to 1.347 2001-10-19 11:48:47 +00:00
nyan
4f448401bd MFi386: sys/i386/conf/GENERIC revision 1.320 2001-10-19 11:46:13 +00:00
mjacob
e666e03e1a Make SCSI changer and SES devices standard in generic kernels.
Reviewed by:	ken@kdm.org
2001-10-16 22:22:58 +00:00
nyan
c0f87bdb16 Rewrite the pc98 bus_space stuff.
The type of bus_space_tag_t is now a pointer to bus_space_tag structure,
and the bus_space_tag structure saves pointers to functions for direct
access and relocate access.

Added bsh_bam member to the bus_space_handle structure, it saves access
method either direct access or relocate access which is called by
bus_space_* functions.

Added the mecia device support. If the bs_da and bs_ra in bus tag are set
NEPC_io_space_tag and NEPC_mem_space_tag respectively, new bus_space stuff
changes the register of mecia automatically for 16bit access.

Obtained from:	NetBSD/pc98
2001-10-07 10:04:18 +00:00
rwatson
fe36bed05d o Modify pc98 syscons code to use securelevel_gt() instead of
direct variable checks.  (Yet another API to perform direct hardware I/O).

Obtained from:	TrustedBSD Project
2001-09-26 20:26:32 +00:00
brooks
34d1edd712 The faith(4) device is no longer a count device so don't specify a count. 2001-09-25 18:56:40 +00:00
nyan
6f24794a06 - Added #include <sys/systm.h>
- Cosmetic change
2001-09-24 06:41:06 +00:00
obrien
94003d0787 + Fix misplacement of `txp'
+ Document our -CURRENT debugging bits
2001-09-24 03:23:48 +00:00
peter
85182a8d78 Cleanup and split of nfs client and server code.
This builds on the top of several repo-copies.
2001-09-18 23:32:09 +00:00
jhb
5ee8d7e543 Whitespace fixes. 2001-09-18 21:05:04 +00:00
nyan
71709394dd MFi386: sys/isa/fd.c revision from 1.205 to 1.219. 2001-09-16 12:39:59 +00:00
nyan
d7801d853b Allocate i/o and memory resources using gdc driver. 2001-09-16 12:38:39 +00:00
nyan
3efb3f1278 MFi386: added comment for ed driver. 2001-09-16 05:34:34 +00:00
nyan
6390eef1b3 MFi386: cosmetic changes. 2001-09-16 05:34:05 +00:00
nyan
c6bf00383f MFi386: sys/isa/sio.c revision 1.301, 1.336, 1.337, 1.338, 1.339 and 1.342.
Removed unnecessary PnP moden entries.
2001-09-16 05:33:07 +00:00
nyan
d80c40a1b1 MFi386: sys/i386/isa/pcaudio.c revision 1.59 and 1.61. 2001-09-16 05:30:59 +00:00
nyan
d76daa601a MFi386: sys/i386/isa/mse.c revision 1.54 and 1.55. 2001-09-16 05:30:08 +00:00
nyan
0588ccfa1a MFi386: sys/i386/isa/clock.c revision 1.175 and 1.176. 2001-09-16 05:29:27 +00:00
nyan
9313ae499c Added (commented out) ACPI attachment. 2001-09-16 05:28:16 +00:00
nyan
ac453a7645 MFi386: removed IDE_DELAY option. 2001-09-16 05:24:05 +00:00
nyan
84fc83cc31 Merged from sys/i386/isa/pcaudio.c revision 1.62 (KSE changes). 2001-09-15 15:37:52 +00:00
nyan
664c8246d0 Merged from sys/i386/apm/apm.c revision 1.123 (KSE changes). 2001-09-15 15:33:28 +00:00
imp
47b4d88f66 I don't think pc98 has acpi at all, so ifdef the acpi attachments for
now.
2001-09-15 00:03:32 +00:00
imp
58130a1fd0 Merge sys/isa/sio.c 1.343
KSE changes

Reviewed by: julian, bde, jhb
2001-09-14 05:05:08 +00:00
imp
18728e5844 Merge from sys/dev/syscons/syscons.c 1.373
kse changes

# Note: There are a number of trivial and non-trivial diffs between this and
# sys/dev/syscons/syscons.c that I didn't try to account for.

Reviewed by: julian, bde, jhb
2001-09-14 05:02:12 +00:00
imp
82d5083ea4 Merge from sys/i386/isa/sprk.c 1.50, 1.51
KSE changes and acpi attachment

Reviewed by: julian, bde, jhb
2001-09-14 04:58:30 +00:00
imp
a0b86da6e8 Merge KSE changes from sys/dev/syscons/scterm-sc.c 1.17
# there are more "trivial" diffs in this file that have accumulated over time
# and I didn't try to fix those.

Reviewed by: julian, bde, jhb
2001-09-14 04:54:38 +00:00
imp
83dc9aa764 KSE changes for olpt driver
Reviewed by: julian, bde, jhb
2001-09-14 04:50:27 +00:00
imp
97c9cb2b95 Merged sys/i386/isa/npx.c 1.110, 1.111, 1.112 KSE
Reviewed by: julian, bde, jhb
2001-09-14 04:46:57 +00:00
imp
ee0b60ccf1 Changes necessary for KSE world
Reivewed by: julian, bde, jhb
2001-09-14 04:35:50 +00:00
imp
273a4d1187 Merge changes from sys/i386/isa/mse.c 1.56 and other tweaks for KSE
Reviewed by: julian, kde, jhb
2001-09-14 04:34:54 +00:00
imp
9c512364a3 Merge from sys/isa/fd.c 1.221 and a few minor tweaks to make compile
with the post KSE world.

Reviewed by: julian, bde, jhb
2001-09-14 04:30:39 +00:00
imp
c4428a2545 Merge from sys/i386/i386/machdep.c 1.480 (Julian's KSE changes)
Reviewed by: julian, bde, jhb
2001-09-14 04:27:42 +00:00
julian
5596676e6c KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
kato
9c673fcc99 Merged from sys/i386/i386/machdep.c revision 1.479. 2001-09-12 08:15:24 +00:00
peter
16c92cf0c3 Zap #if 0'ed map init code that got moved to the MI area.
Convert the powerpc tree to use the common code.
2001-09-04 08:42:35 +00:00
shiba
25567a30d1 Always turned on 8bit access card support for the fe driver
both i386/pc98, so options FE_8BIT_SUPPORT was deleted.

Reviewed by: nyan
2001-09-02 13:05:00 +00:00
peter
e031b90e2a Enable hardwiring of things like tunables from embedded enironments
that do not start from loader(8).
2001-08-27 05:11:53 +00:00
peter
70aca15c21 Optionize UPAGES for the i386. As part of this I split some of the low
level implementation stuff out of machine/globaldata.h to avoid exposing
UPAGES to lots more places.  The end result is that we can double
the kernel stack size with 'options UPAGES=4' etc.

This is mainly being done for the benefit of a MFC to RELENG_4 at some
point.  -current doesn't really need this so much since each interrupt
runs on its own kstack.
2001-08-25 02:20:02 +00:00
peter
e702307f45 Fix a #endif misplacement in 1.231 due to misapplied patch
Pointy hat to: peter
2001-08-23 01:50:31 +00:00
peter
546d8cf46c Merge i386/machdep.c rev 1.474: dont overextend %cs. (finally, it doesn't
conflict with unmerged changes)
2001-08-23 01:47:26 +00:00
peter
5c215a9c87 Merge i386/machdep.c rev 1.469: whitespace changes to fit 80 columns
Forgotten by: jhb
2001-08-23 01:46:23 +00:00
peter
62914c539b Merge i386/machdep.c rev 1.468: make breakpoint/trace interrupt instead
of trap gates

Forgotten by: bde
2001-08-23 01:43:38 +00:00
peter
8e8addf424 Merge 386/machdep.c rev 1.467: fix bugs/miscalculations
Forgotten by:  iwasaki
2001-08-23 01:42:21 +00:00
peter
0e5d70abed Identical to i386/machdep.c rev 1.473: move submap initialization to MI. 2001-08-23 01:36:54 +00:00
peter
be26ed33a4 Merge i386/machdep.c rev 1.472: Fix bug in physmem_est and maxbcache
calculation

Forgotten by: dillon
2001-08-23 01:34:35 +00:00
peter
baeea019ed Merge i386/machdep.c rev 1.470. Limit KVM for buffer cache etc.
Forgotten by: dillon
2001-08-23 01:30:51 +00:00
peter
06f57e01ae Dont compile in SSE fxsave/fxrstor instructions if CPU_ENABLE_SSE isn't
active.
2001-08-23 01:03:56 +00:00
peter
4694b279a2 Make COMPAT_43 optional again. XXX we need COMPAT_FBSD3 etc for this
stuff.
2001-08-21 02:32:59 +00:00
jhb
4a89454dcd - Close races with signals and other AST's being triggered while we are in
the process of exiting the kernel.  The ast() function now loops as long
  as the PS_ASTPENDING or PS_NEEDRESCHED flags are set.  It returns with
  preemption disabled so that any further AST's that arrive via an
  interrupt will be delayed until the low-level MD code returns to user
  mode.
- Use u_int's to store the tick counts for profiling purposes so that we
  do not need sched_lock just to read p_sticks.  This also closes a
  problem where the call to addupc_task() could screw up the arithmetic
  due to non-atomic reads of p_sticks.
- Axe need_proftick(), aston(), astoff(), astpending(), need_resched(),
  clear_resched(), and resched_wanted() in favor of direct bit operations
  on p_sflag.
- Fix up locking with sched_lock some.  In addupc_intr(), use sched_lock
  to ensure pr_addr and pr_ticks are updated atomically with setting
  PS_OWEUPC.  In ast() we clear pr_ticks atomically with clearing
  PS_OWEUPC.  We also do not grab the lock just to test a flag.
- Simplify the handling of Giant in ast() slightly.

Reviewed by:	bde (mostly)
2001-08-10 22:53:32 +00:00
peter
bb5c43c4b8 Zap 'ptrace(PT_READ_U, ...)' and 'ptrace(PT_WRITE_U, ...)' since they
are a really nasty interface that should have been killed long ago
when 'ptrace(PT_[SG]ETREGS' etc came along.  The entity that they
operate on (struct user) will not be around much longer since it
is part-per-process and part-per-thread in a post-KSE world.

gdb does not actually use this except for the obscure 'info udot'
command which does a hexdump of as much of the child's 'struct user'
as it can get.  It carries its own #defines so it doesn't break
compiles.
2001-08-08 05:25:15 +00:00
nyan
a47c474023 Merged from sys/dev/syscons/syscons.c revisions 1.370, 1.371 and 1.372. 2001-08-07 12:23:47 +00:00
nyan
a4e4d0f33d Merged from sys/dev/syscons/scterm-sc.c revision 1.16. 2001-08-07 12:10:17 +00:00
nyan
1b33ddb753 Removed PLIP support. 2001-07-31 03:39:35 +00:00
nyan
89423b7440 Convert the olpt driver to using new-bus stuff. 2001-07-29 11:11:45 +00:00
nyan
a9fe22efc3 Merged from sys/dev/syscons/syscons.c revisions 1.367 and 1.368. 2001-07-29 10:52:07 +00:00
kato
619232eb4e Merged from sys/i86/isa/npx.c revision 1.107. 2001-07-28 13:08:31 +00:00
peter
1d4cc78f8d Call the early tunable setup functions as soon as kern_envp is available.
Some things depend on hz being set not long after this.
2001-07-26 23:06:44 +00:00
nyan
b178a16108 Speed up console driver.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2001-07-26 03:07:07 +00:00
kato
1e1ca2f3d9 Merged from sys/i386/conf/GENERIC revision 1.315. 2001-07-24 11:24:58 +00:00
nyan
0f7dc27de9 Integrate fdc.h into fd.c. 2001-07-23 13:07:24 +00:00
kato
c1a57e4c69 Merged from sys/i386/isa/npx.c revision 1.106. 2001-07-19 09:07:19 +00:00
kato
a04b084fea Merged from sys/i386/isa/npx.c revision 1.105. 2001-07-19 09:06:33 +00:00
kato
e8208cbe7d Merged from sys/i386/i386/machdep.c revisions 1.462 and 1.464. 2001-07-19 08:51:08 +00:00
nyan
b0af9b0f73 Fixed conflict with sys/dev/syscons/syscons.h.
Submitted by:	yokota
2001-07-14 08:07:26 +00:00
nyan
9881dba153 - Refine pc98 supports.
- Use bus_space stuff.
- Rename FDO_* -> FDC_* (obtained from NetBSD/pc98)
2001-07-14 04:19:09 +00:00
nyan
f1fc85923f Added epson_inw function. 2001-07-14 04:14:29 +00:00
nyan
81a72cd354 Merged from the following changes.
sys/dev/syscons/scvgarndr.c revision  1.11
sys/dev/syscons/scvtb.c     revision  1.8
sys/dev/syscons/syscons.c   revisions 1.361, 1.363, 1.364, 1.365 and 1.366
sys/isa/atkbd_isa.c         revision  1.9
sys/isa/syscons_isa.c       revision  1.17
2001-07-14 03:26:02 +00:00
nyan
09dcbc2271 Merged from sys/i386/conf/GENERIC revision 1.313. 2001-07-14 02:45:53 +00:00
nyan
3dd054b814 Added (commented out) audio driver. 2001-07-14 02:44:51 +00:00
dd
8795e3b574 `pcn' supports AMD Am79C97x cards, not Am79C79x cards.
PR:		28946
Submitted by:	Ryuichiro Imura <imura@ryu16.org>
2001-07-13 13:34:08 +00:00
peter
7481fc008a Fix another missed pcb_savefpu reference (inside NPX_DEBUG) 2001-07-12 12:21:53 +00:00
peter
808a0f87b6 Apply the i386 SSE mods to pc98 as well. 2001-07-12 06:34:25 +00:00
nyan
e8e24f61cd Added #include <sys/proc.h>
Submitted by:	Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
2001-07-10 09:59:52 +00:00
nyan
320a122050 Merged from sys/i386/i386/machdep.c revisions 1.459 and 1.460. 2001-07-07 04:06:04 +00:00
dillon
e028603b7e With Alfred's permission, remove vm_mtx in favor of a fine-grained approach
(this commit is just the first stage).  Also add various GIANT_ macros to
formalize the removal of Giant, making it easy to test in a more piecemeal
fashion. These macros will allow us to test fine-grained locks to a degree
before removing Giant, and also after, and to remove Giant in a piecemeal
fashion via sysctl's on those subsystems which the authors believe can
operate without Giant.
2001-07-04 16:20:28 +00:00
nyan
497620bac5 - Don't overwrite inb, inw and outw.
- Move the lance_probe function to if_lnc.c.
- Support C-NET(98)S again.

Submitted by:		chi@bd.mbn.or.jp (Chiharu Shibata) and nyan
No response from:	Paul Richards
2001-07-04 13:00:21 +00:00
nyan
1bb64dfc81 Fixed warning message.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2001-07-02 10:18:56 +00:00
imp
8555c6bb29 Don't need the .keep_me files. Obrien and I committed past each other.
Add 0-9 to the list of possible kernel names at matsushita-san's
suggestion.

Submitted by: Makoto MATSUSHITA-san <matusita@jp.FreeBSD.org>
2001-07-01 23:35:44 +00:00
obrien
401c637a19 Ensure sys/${MACHINE}/compile/FOO exists
Reviewed by: arch, imp, peter, and the USENIX terminal room secret kernel cabal
2001-06-30 15:16:29 +00:00
imp
79f0cebcfb Really do proper keepme files in the compile directories. Use
.cvsignore file for [A-Za-z]* to keep these directories around rather
than waste a file on .keepme.  This should also make people's built
trees place nice with CVS.

Idea for .cvsignore: peter (although I suggested the regexp)
Pointed out by: Makoto MATSUSHITA-san <matusita@jp.FreeBSD.org>
Llama's costuming by: Fernamdo Llamas
2001-06-30 14:38:32 +00:00
obrien
9758e66106 Ensure sys/${MACHINE}/compile/FOO exists
Reviewed by: arch, imp, peter and
  the USENIX terminal room secret kernel cabal
2001-06-30 07:12:34 +00:00
imp
bb25a9f669 Repo copy i8237.h to dev/ic so we can get rid of some of the final vestiges
of includes of i386 files from non-i386 ports.
2001-06-30 05:29:11 +00:00
jhb
d82893e676 Add a new MI pointer to the process' trapframe p_frame instead of using
various differently named pointers buried under p_md.

Reviewed by:	jake (in principle)
2001-06-29 11:10:41 +00:00
jhb
11807e464b Enable interrupts again after disabling them in epson_{in,out}sw().
splx() doesn't do the equivalent of sti.
2001-06-29 10:44:45 +00:00
nyan
ce61f5e240 Merged from the following changes.
sys/isa/ppc.c      revisions from 1.27 to 1.34
  sys/isa/ppcreg.h   revisions from 1.10 to 1.15
  sys/isa/isareg.h   revision 1.6
2001-06-26 11:53:12 +00:00
nyan
0f2397a09b Merged from sys/isa/sio.c revision 1.335. 2001-06-26 11:48:17 +00:00
nyan
0389b45e3b Merged from sys/i386/isa/isa_dma.c revision 1.7. 2001-06-26 11:47:24 +00:00
nyan
d80add6a08 Merged from sys/isa/syscons_isa.c revision 1.16. 2001-06-26 11:46:42 +00:00
nyan
56c09a5ee8 Merged from sys/dev/syscons/scterm-sc.c revison 1.15. 2001-06-26 11:45:54 +00:00
nyan
5500e9efc4 Merged from sys/dev/syscons/syscons.c revisons 1.358 and 1.360. 2001-06-26 11:45:01 +00:00
nyan
a60425a816 Merged from sys/isa/fd.c revisions 1.198, 1.199, 1.200, 1.202 and 1.204. 2001-06-26 11:44:21 +00:00
kato
97e329557f Commented out pcm hints.
Pointed out by:	nyan
2001-06-26 08:27:00 +00:00
nyan
8451fa99ba Fixed miss merging from revision 1.102. 2001-06-26 00:47:54 +00:00
kato
d9a8a794a6 Merged from sys/i386/isa/npx.c revision 1.102. 2001-06-23 08:39:13 +00:00
kato
f770dedd89 Merged from sys/i386/i386/machdep.c revisions 1.456 and 1.457. 2001-06-23 08:30:13 +00:00
kato
c08a12b85c Removed pcm and sbc devices. 2001-06-23 08:18:55 +00:00
nyan
2d7a18646d Allocate all resources using keyboard controller. 2001-06-17 04:43:28 +00:00
nyan
089e07ab6a Commented out USERCONFIG and VISUAL_USERCONFIG options. 2001-06-14 11:32:54 +00:00
peter
f10fa038c1 With this commit, I hereby pronounce gensetdefs past its use-by date.
Replace the a.out emulation of 'struct linker_set' with something
a little more flexible.  <sys/linker_set.h> now provides macros for
accessing elements and completely hides the implementation.

The linker_set.h macros have been on the back burner in various
forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()),
John Polstra (ELF clue) and myself (cleaned up API and the conversion
of the rest of the kernel to use it).

The macros declare a strongly typed set.  They return elements with the
type that you declare the set with, rather than a generic void *.

For ELF, we use the magic ld symbols (__start_<setname> and
__stop_<setname>).  Thanks to Richard Henderson <rth@redhat.com> for the
trick about how to force ld to provide them for kld's.

For a.out, we use the old linker_set struct.

NOTE: the item lists are no longer null terminated.  This is why
the code impact is high in certain areas.

The runtime linker has a new method to find the linker set
boundaries depending on which backend format is in use.

linker sets are still module/kld unfriendly and should never be used
for anything that may be modular one day.

Reviewed by:	eivind
2001-06-13 10:58:39 +00:00
peter
bbbe8875f0 Hints overhaul:
- Replace some very poorly thought out API hacks that should have been
  fixed a long while ago.
- Provide some much more flexible search functions (resource_find_*())
- Use strings for storage instead of an outgrowth of the rather
  inconvenient temporary ioconf table from config().  We already had a
  fallback to using strings before malloc/vm was running anyway.
2001-06-12 09:40:04 +00:00
nyan
7f01a14750 Move the files from i386/isa/ic/ to dev/ic/. 2001-06-10 04:28:39 +00:00
joerg
4d382deb8b Nuke the various poorly maintained copies of ioctl_fd.h. The file is
not machine-dependant, thus it has been moved out (repo-copied) into
<sys/fdcio.h>.
2001-06-06 06:15:03 +00:00
joerg
9c040b1c43 Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so they
can be made userland-visible as <dev/ic/...>.  Also, those files are
not supposed to contain any bus-specific details at all, so placing
them under .../isa/ has been a misnomer from the beginning.

The files in src/sys/dev/ic/ have been repo-copied from their old
location (this commit is a forced null commit there to record this
message).
2001-06-04 21:04:14 +00:00
nyan
4a336ef729 Merged from sys/kern/subr_diskmbr.c revision 1.45. 2001-06-03 04:44:26 +00:00
nyan
f9486ac10a Merged from sys/kern/subr_diskmbr.c revision 1.52. 2001-06-03 03:36:57 +00:00
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