Commit Graph

1749 Commits

Author SHA1 Message Date
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
kato
07d3c6a7b3 Merged from sys/i386/i386/machdep.c revision 1.402. 2000-08-18 09:22:01 +00:00
nyan
25d5946a2e - Fixed the conversion to bus_space interface.
- Added PC-98 Cbus devices support.
  The original patch is submitted by chi@bd.mbn.or.jp (Chiharu Shibata)
- Removed old ed driver.
2000-08-17 12:15:45 +00:00
kato
4b4bbbe11c Merged from sys/i386/i386/machdep.c revision 1.401. 2000-08-14 07:27:10 +00:00
kato
6d2d726af5 Merged from sys/i386/i386/machdep.c revision 1.400. 2000-08-12 07:35:12 +00:00
nyan
0390f0d80d Merged from sys/i386/conf/GENERIC revisions 1.266 and 1.267. 2000-08-08 11:57:09 +00:00
nyan
edb1be0f53 Merged from sys/i386/conf/GENERIC.hints revision 1.3. 2000-08-08 11:56:45 +00:00
nyan
9eb054a3a5 Changed default cursor shape to non-blink mode.
Submitted by:	Tomokazu HARADA <tkhara@osk4.3web.ne.jp>
2000-08-08 09:28:32 +00:00
nyan
6732d791f8 Fixed PC-9821 NOTE supports with LINE30 mode.
Submitted by:	Tomokazu HARADA <tkhara@osk4.3web.ne.jp>
2000-08-08 09:17:15 +00:00
kato
8174f128d6 Commented out xe device because it depend on PCMCIA stuff. 2000-08-04 08:29:50 +00:00
kato
3e35beccf8 Merged from sys/i386/isa/clock.c revision 1.155. 2000-08-04 08:15:45 +00:00
kato
ce2851a164 Commented out card and pcic devices because they are broken in pc98 port. 2000-08-02 09:05:26 +00:00
nyan
a020d75805 Merged from sys/dev/syscons/scterm-sc.c revisions from 1.8 to 1.12. 2000-07-30 08:12:08 +00:00
nyan
d7fff2a15c Merged from sys/dev/syscons/syscons.c revision 1.344. 2000-07-30 07:59:19 +00:00
kato
dd73d75cd1 Merged from sys/dev/syscons/syscons.c revision 1.345. 2000-07-28 09:36:37 +00:00
archie
7357df6b48 Make all Ethernet drivers attach using ether_ifattach() and detach using
ether_ifdetach().

The former consolidates the operations of if_attach(), ng_ether_attach(),
and bpfattach(). The latter consolidates the corresponding detach operations.

Reviewed by:	julian, freebsd-net
2000-07-13 22:54:34 +00:00
nyan
b2fdfd2b88 Backed out a part of previous commit. The function name conflicts.
Pointed out by:	haro@tk.kubota.co.jp (Munehiro Matsuda)
2000-07-12 10:15:43 +00:00
nyan
b5738d479e Merge from the following changes.
sys/conf/files.i386		1.321
sys/dev/syscons/syscons.c	1.343
sys/i386/isa/spkr.c		1.46
sys/isa/fd.c			1.183 and 1.185
sys/isa/syscons_isa.c		1.14
sys/isa/vga_isa.c		1.18
2000-07-11 12:50:34 +00:00
kris
baccd04090 Don't call printf without a format string. 2000-07-10 07:13:36 +00:00
nyan
bb3b154d60 Sync with sys/i386/conf/GENERIC revisions 1.258 and 1.259. 2000-07-04 12:31:46 +00:00
phk
e5de271d47 Previous commit changing SYSCTL_HANDLER_ARGS violated KNF.
Pointed out by:	bde
2000-07-04 11:25:35 +00:00
phk
61ff05be25 Style police catches up with rev 1.26 of src/sys/sys/sysctl.h:
Sanitize SYSCTL_HANDLER_ARGS so that simplistic tools can grog our
sources:

        -sysctl_vm_zone SYSCTL_HANDLER_ARGS
        +sysctl_vm_zone (SYSCTL_HANDLER_ARGS)
2000-07-03 09:35:31 +00:00
kato
955d8d37b0 Disabled ida, amr and mlx devices. 2000-06-28 03:25:47 +00:00
kato
53e719e96a Merged from sys/i386/i386/userconfig.c revision 1.181. 2000-06-28 03:23:42 +00:00
kato
8b446b8a02 Merged from sys/i386/isa/spkr.c revision 1.47. 2000-06-28 03:20:56 +00:00
kato
54a8c46497 Merged from sys/i386/isa/npx.c revision 1.83. 2000-06-28 03:19:44 +00:00
kato
ca048afcef Merged from sys/i386/isa/isa_dma.c revision 1.6. 2000-06-28 03:18:51 +00:00
kato
3c6b0942ae Merged from sys/i386/isa/clock.c revision 1.152. 2000-06-28 03:17:51 +00:00
kato
f9b58fdc5b Merged from sys/i386/conf/GENERIC revisions 1.261 and 1.262. 2000-06-28 03:15:27 +00:00
peter
358ae698cb Report the line number where gethints.pl does not understand something
in an old device line.
2000-06-26 09:08:23 +00:00
markm
0417c878cd Remove old entropy-harvesting hooks; this is going to be re-engineered
later.
2000-06-25 09:55:12 +00:00
markm
6100a37124 Remove the old /dev/random device. There is a new machine-independant
version.
Reviewed by:	 dfr
2000-06-25 09:48:12 +00:00
kato
50f0a99314 Oops! Disabled the ed driver becasue it cannot be compiled.
Pointed out by:	nyan
2000-06-23 13:51:52 +00:00
kato
0fdc44ce15 Include pc98/pc98/pc98.h in which M_EPSON_PC98 is defined when the
EPSON_MEMWIN option is specified.
2000-06-23 12:01:10 +00:00
nyan
a41edfcad0 Sync with sys/dev/syscons/scterm-sc.c revisions 1.6 and 1.7. 2000-06-22 10:03:28 +00:00
kato
b3523df6cb PC-98 version of ed driver is a statically limited driver.
Pointed out by:	haro@tk.kubota.co.jp (Munehiro Matsuda)
2000-06-21 14:54:19 +00:00
nyan
624e254e7a Fixed to support RSA98-III non-pnp mode. rman_get_start() had returned
iobase + 8 because the I/O address table for RSA98-III starts with +8.
Now, bus_alloc_resource() is used instead of isa_alloc_resourcev() if
device type is RSA98III.
2000-06-21 11:21:14 +00:00
peter
61ad2eac93 Deal with quoted arguments. This hack parser uses whitespace to delimit
fields, not lex/yacc grammar so it is not an exact match but should be
close enough for most cases.
Deal with 'port?', 'irq?' style specifications.  These are parsed as
seperate values in lex/yacc in config(8) but tripped up this helper tool.
2000-06-17 20:10:55 +00:00
peter
9b7f685f77 Use while (<>) instead of while(<STDIN>) so that perl will automagically
deal with filename arguments.  It is amazing how much you forget over time.

Thanks to the people that reminded me this.  I knew there was an easy way
that didn't involve messing with $argv, filehandles, etc, but just could
not remember - all of my books are on the opposite side of the planet..
2000-06-17 19:06:13 +00:00
nyan
a3b2b68e08 - Moved "hint" informations to GENERIC.hints.
- Cosmetic changes.
2000-06-17 14:46:20 +00:00
kato
d015bc83c1 Merged from sys/isa/syscons_isa.c revision 1.13. 2000-06-17 04:54:50 +00:00
kato
7aabc304e4 bs, olpt, pckbd are static limited devices. 2000-06-17 03:58:06 +00:00
kato
1c31d3bfee Catch up with Peter's config(8) changes. 2000-06-14 09:20:43 +00:00
peter
98de8beb88 Print error messages to stderr, not stdout. 2000-06-14 02:45:11 +00:00
peter
647ef85d48 Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel.  You can reconfigure your
isa devices with the likes of this at loader(8) time:
  set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8).  See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8).  There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file.  If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you.  You can also compile in the
hints directly with:  hints "device.hints"  as well.

There are a few things that I'm not too happy with yet.  Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it.  However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built.  A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated.  eg:  'device fe 4' will compile the fe driver with NFE set
to 4.  You can then set hints for 4 units (0 - 3).  Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this.  This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others
2000-06-13 22:28:50 +00:00
kato
dd55b3d077 Merged from sys/i386/i386/machdep.c rev 1.395. 2000-06-13 13:05:51 +00:00
kato
4322fb9e29 Merged from sys/i386/i386/machdep.c revision 1.394. 2000-06-06 08:21:59 +00:00
kato
fae7c57d96 Merged from sys/i386/isa/{clock.c,npx.c} revisions 1.151 and 1.82,
respectively.
2000-06-06 08:20:22 +00:00
kato
8543ab6ba9 Merged from sys/i386/isa/npx.c revision 1.81. 2000-06-06 08:12:17 +00:00
nyan
5b00cbe48f Update of isa drivers using compatability shims to use COMPAT_ISA_DRIVER().
Submitted by:	haro@tk.kubota.co.jp (Munehiro Matsuda)
2000-05-31 10:51:53 +00:00
nyan
2b96345c0f Sync with sys/isa/ppc.c revision 1.27. 2000-05-31 10:49:58 +00:00
nyan
0e03ad84cf Removed ICMP_BANDLIM option. It no longer exists. 2000-05-31 10:49:19 +00:00
peter
8a48a8126e The dreaded isa_compat.h tables are no longer used, so there is no need
for a seperate pc98 version of this stuff.  Applying the same changes
from the i386 version yields identical files so remove these and use the
common ones.
2000-05-28 13:32:49 +00:00
nyan
b7c41fbb0d Fixed header file path (machine/lpt.h -> dev/ppbus/lptio.h). 2000-05-26 12:25:01 +00:00
nyan
bdf55e9a6a Sync with sys/i386/isa/isa_compat.h revisions 1.28, 1.29 and 1.33. 2000-05-22 13:11:12 +00:00
peter
ee5cd6988f Implement an optimization of the VM<->pmap API. Pass vm_page_t's directly
to various pmap_*() functions instead of looking up the physical address
and passing that.  In many cases, the first thing the pmap code was doing
was going to a lot of trouble to get back the original vm_page_t, or
it's shadow pv_table entry.

Inspired by: John Dyson's 1998 patches.

Also:
Eliminate pv_table as a seperate thing and build it into a machine
dependent part of vm_page_t.  This eliminates having a seperate set of
structions that shadow each other in a 1:1 fashion that we often went to
a lot of trouble to translate from one to the other. (see above)
This happens to save 4 bytes of physical memory for each page in the
system.  (8 bytes on the Alpha).

Eliminate the use of the phys_avail[] array to determine if a page is
managed (ie: it has pv_entries etc).  Store this information in a flag.
Things like device_pager set it because they create vm_page_t's on the
fly that do not have pv_entries.  This makes it easier to "unmanage" a
page of physical memory (this will be taken advantage of in subsequent
commits).

Add a function to add a new page to the freelist.  This could be used
for reclaiming the previously wasted pages left over from preloaded
loader(8) files.

Reviewed by:	dillon
2000-05-21 12:50:18 +00:00
nyan
a1a2f63cd3 Sync with sys/i386/conf/GENERIC revisions from 1.246 to 1.256. 2000-05-19 16:36:42 +00:00
nyan
61405e3c6a Supported the mss on PC-98 and Sound Blaster 98.
Submitted by:	"T.Yamaoka" <taka@windows.squares.net>
2000-05-19 15:41:52 +00:00
archie
fa21035b4e Move code to handle BPF and bridging for incoming Ethernet packets out
of the individual drivers and into the common routine ether_input().
Also, remove the (incomplete) hack for matching ethernet headers
in the ip_fw code.

The good news: net result of 1016 lines removed, and this should make
bridging now work with *all* Ethernet drivers.

The bad news: it's nearly impossible to test every driver, especially
for bridging, and I was unable to get much testing help on the mailing
lists.

Reviewed by:	freebsd-net
2000-05-14 02:18:43 +00:00
nyan
cff267bc0f Use bus_space stuff except where it needs high performance. 2000-05-12 12:38:25 +00:00
phk
36c3965ff9 Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by:    peter
2000-05-05 09:59:14 +00:00
nyan
d32a54aa47 GENERIC98 -> GENERIC 2000-05-05 08:03:31 +00:00
kato
3967924ce8 Rename GENERIC98 to GENERIC. 2000-05-04 04:58:30 +00:00
peter
22f6069a2a Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
peter
1adeb7ffb1 Move the MSG* and SEM* options to opt_sysvipc.h
Remove evil allocation macros from machdep.c (why was that there???) and
use malloc() instead.
Move paramters out of param.h and into the code itself.
Move a bunch of internal definitions from public sys/*.h headers (without
#ifdef _KERNEL even) into the code itself.

I had hoped to make some of this more dynamic, but the cost of doing
wakeups on all sleeping processes on old arrays was too frightening.
The other possibility is to initialize on the first use, and allow
dynamic sysctl changes to parameters right until that point. That would
allow /etc/rc.sysctl to change SEM* and MSG* defaults as we presently
do with SHM*, but without the nightmare of changing a running system.
2000-05-01 13:33:56 +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
phk
1931990da0 s/biowait/bufwait/g
Prodded by: several.
2000-04-29 16:25:22 +00:00
phk
ce2aa22c93 Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
nyan
241d122b33 Fixed typo. 2000-04-29 05:55:33 +00:00
nyan
34c45fc8f0 Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes.
Submitted by:	Chiharu Shibata <chi@bd.mbn.or.jp> and
		Tomokazu HARADA <tkhara@osk4.3web.ne.jp>
2000-04-27 13:34:32 +00:00
nyan
4f2f4c3284 machine/random.h -> sys/random.h 2000-04-27 13:13:43 +00:00
nyan
e000278df6 Add wormio.h. The wd driver needs it. 2000-04-27 13:09:07 +00:00
nyan
55b576c056 Sync with sys/i386/conf/GENERIC revision 1.252. 2000-04-23 09:04:42 +00:00
nyan
6697052cf1 Release allocated resources and return ENXIO on error. 2000-04-22 15:12:52 +00:00
phk
6be1308ad1 Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
phk
3204ce2590 Convert three drivers not covered by any of our kernel configs.
We really need a LINT98 and possibly LINTALPHA kernels.
2000-04-18 13:21:46 +00:00
imp
4aa66e64cd hm committed newbused vt driver this weekend, so it is no longer needed
in isa_compat.

LINT now builds again.
2000-04-17 23:01:53 +00:00
phk
aaaef0b54e Complete the bio/buf divorce for all code below devfs::strategy
Exceptions:
        Vinum untouched.  This means that it cannot be compiled.
        Greg Lehey is on the case.

        CCD not converted yet, casts to struct buf (still safe)

        atapi-cd casts to struct buf to examine B_PHYS
2000-04-15 05:54:02 +00:00
nyan
d53727e526 Added wdreg.h. PC-98 still uses the wd driver. 2000-04-14 11:29:15 +00:00
nyan
c3217c729c Added wdreg.h and fixed path. 2000-04-13 10:37:49 +00:00
kato
79df56f489 Include pc98.h instead of isareg.h.
Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
Reminded by:	nyan
2000-04-12 14:08:02 +00:00
kato
989ac2d698 - Fixed counter number (timer2 -> timer1).
- Fixed operator in pcaintr (andb -> orb).

Pointed out by:	nyan
2000-04-12 13:19:44 +00:00
nyan
da28ab7c7a The nss driver is compatible mode.
Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
2000-04-12 13:02:54 +00:00
kato
3ceb651180 Merged from sys/i386/isa/isa_compat.c revisions 1.19 and 1.20. 2000-04-12 11:23:16 +00:00
nyan
49f7c12b0e Newbusify adv driver.
Reviewed by:	imp
2000-04-07 11:32:42 +00:00
phk
8ee11d587f Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)

Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.

Move b_pblkno and b_iodone_chain to struct bio while we transition, they
will be obsoleted once bio structs chain/stack.

Add bio_queue field for struct bio aware disksort.

Address a lot of stylistic issues brought up by bde.
2000-04-02 15:24:56 +00:00
kato
cd1c73cd7d Merged from sys/isa/sio.c revisions 1.293 and 1.294. 2000-04-01 11:27:31 +00:00
peter
7f3e149212 Make sysv-style shared memory tuneable params fully runtime adjustable
via sysctl.  It's done pretty simply but it should be quite adequate.
Also move SHMMAXPGS from $machine/include/vmparam.h as the comments that
went with it were wrong... we don't allocate KVM space for the pages so
that comment is bogus..  The only practical limit is how much physical
ram you want to lock up as this stuff isn't paged out or swap backed.
2000-03-30 07:17:05 +00:00
imp
ce408ebef7 NewBus the cs driver.
Submitted by: max@rsu.ru
2000-03-30 05:16:16 +00:00
nyan
243cee01b7 - Added PC-98 Cbus frontend.
- Move dev/aic/aic_isa.c entry from conf/files to conf/files.MACHINE
   because PC-98 uses different file.

Submitted by:	nyan and IMAI Takeshi <take-i@ceres.dti.ne.jp>
2000-03-29 14:32:34 +00:00
nyan
8a243e8cc2 Newbusify mse driver. 2000-03-29 14:23:16 +00:00
kato
a9cd025688 Commented out apm0. It could cause hang-up. 2000-03-29 13:39:15 +00:00
nyan
f92fa6a3e6 - Supported display suspended mode.
- Switch on/off not only text screen but also graphic screen.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2000-03-29 12:29:27 +00:00
nyan
ed031b005e Merge from the following changes.
File				Revision
sys/conf/files.i386		1.303 and 1.304
sys/dev/kbd/atkbd.c		1.23
sys/dev/syscons/scterm-sc.c	1.2
sys/dev/syscons/scvgarndr.c	1.5
sys/dev/syscons/scvtb.c		1.5
sys/dev/syscons/syscons.c	1.335
sys/isa/syscons_isa.c		1.11
sys/isa/vga_isa.c		1.17
2000-03-29 12:26:41 +00:00
kato
96493b09f8 Merged from sys/isa/fd.c revision 1.180. 2000-03-28 15:09:13 +00:00
kato
f4ae8badfd Merged from sys/i386/i386/userconfig.c revision 1.179. 2000-03-28 15:07:28 +00:00
kato
1159fc51b0 Merged from sys/i386/i386/machdep.c revision 1.387. 2000-03-28 15:04:29 +00:00
kato
16d518267b Merged from sys/i386/isa/clock.c and sys/isa/sio.c revisions 1.150 and
1.292, respectively.
2000-03-23 08:55:45 +00:00
kato
bea6df776e Removed B_READ and B_WRITE. 2000-03-23 08:53:15 +00:00
kato
f4fce91d7b Disable fdctl_wr_foo. This feature is not supported by PC98. 2000-03-23 08:50:56 +00:00
nyan
c7896c447c Added the joy driver (commented out).
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2000-03-22 03:19:37 +00:00
nyan
ff3f6ce52c Fixed style bugs. 2000-03-20 14:50:48 +00:00
kato
891f218b7c Removed old boot loader. 2000-03-20 12:14:12 +00:00
phk
5df766a0f8 Rename the existing BUF_STRATEGY() to DEV_STRATEGY()
substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo)

substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo)

This patch is machine generated except for the ccd.c and buf.h parts.
2000-03-20 11:29:10 +00:00
phk
a246e10f55 Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd.  The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue.  It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users:  Greg has not had time to test this yet, be careful.
2000-03-20 10:44:49 +00:00
kato
318ab1e812 Merged from sys/isa/fd.c. 2000-03-19 15:18:22 +00:00
kato
aed3ae8721 Merged from sys/i386/i386/userconfig.c rev 1.178. 2000-03-19 14:46:22 +00:00
kato
6a47c101bd Added COMPAT_OLDPCI and COMPAT_OLDISA options. 2000-03-19 14:42:52 +00:00
nyan
9e044c060f Fixed header file path and added necessary file. 2000-03-17 12:56:23 +00:00
nyan
5300231307 Sync with sys/i386/i386/userconfig.c revision 1.175 and 1.176. 2000-03-17 12:24:59 +00:00
nyan
acfbb9db96 Backed out ppc0 flags addtion. It isn't necessary without PPC_PROBE_CHIPSET
option.

Pointed out by:	peter
2000-03-17 11:37:03 +00:00
nyan
516636217a Fixed to probe extended memory for over 256M or under 64M.
Submitted by:   chi@bd.mbn.or.jp (Chiharu Shibata)
2000-03-16 12:14:00 +00:00
nyan
61b636eac4 Fixed to support old parallel interface.
Submitted by:   chi@bd.mbn.or.jp (Chiharu Shibata)
2000-03-16 12:06:29 +00:00
nyan
f8c8fda8fa Added 'flags 0x40' to ppc0. 2000-03-16 12:03:36 +00:00
nyan
9ee1a9859a Changed sio1 flags to 0x12000010 to enable serial console.
Submitted by:   IMAI Takeshi <take-i@ceres.dti.ne.jp>
2000-03-16 11:53:16 +00:00
phk
8e89e2d03f Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags.
Define ISADMA_{READ,WRITE,RAW} macros with the same numeric
values as the B_{READ,WRITE,RAW} and use them instead throughout.
2000-03-13 10:19:32 +00:00
kato
f141c46ae5 Merged from sys/isa/sio.c revision 1.291. 2000-03-12 13:14:51 +00:00
kato
c1bc26dd28 Merged from sys/isa/sio.c revisions 1.289 and 1.290. 2000-03-10 10:34:36 +00:00
kato
ea767b02ba Merged from sys/i386/isa/isa_compat.h revision 1.27. 2000-03-01 08:56:47 +00:00
kato
30154256b0 Merged from sys/i386/i386/userconfig.c revision 1.174. 2000-03-01 08:55:23 +00:00
kato
c4643718c0 Merged from sys/i386/i386/machdep.c revisions 1.384 and 1.385. 2000-03-01 08:53:59 +00:00
kato
be13bac0e8 Merged from sys/i386/conf/GENERIC revisions 1.243, 1.244 and 1.245. 2000-03-01 08:52:28 +00:00
kato
d245d0951c Merged from sys/isa/sio.c rev 1.288. 2000-02-17 15:09:12 +00:00
kato
129e4dc13f Synced with sys/i386/i386/userconfig.c rev 1.173. 2000-02-17 14:45:05 +00:00
peter
a5441090de Clean up some loose ends in the network code, including the X.25 and ISO
#ifdefs.  Clean out unused netisr's and leftover netisr linker set gunk.
Tested on x86 and alpha, including world.

Approved by:	jkh
2000-02-13 03:32:07 +00:00
kato
c939d4600a Synced with sys/dev/syscons/syscons.c rev 1.336. 2000-02-11 08:54:56 +00:00
kato
f62aca8d17 Synced with sys/dev/syscons/scterm-sc.c rev 1.4. 2000-02-11 08:54:16 +00:00
kato
974943ea45 Synced with sys/i386/conf/GENERIC revision 1.241.
Approved by:	jkh
2000-02-05 00:43:04 +00:00
kato
d85ed62d80 Synced with sys/i386/conf/GENERIC rev 1.240.
Approved by:	jkh
2000-02-03 10:46:28 +00:00
kato
cc8627266a Synced with sys/i386/isa/isa_compat.h rev 1.18.
Approved by:	jkh
2000-02-01 09:00:09 +00:00
kato
60a186b3e8 Synced with sys/i386/isa/wd.c revision 1.219.
Approved by:	jkh
2000-02-01 08:57:21 +00:00
kato
30a54f9992 Synced with sys/i386/isa/mse.c, npx.c and spkr.c revisions 1.49, 1.80
and 1.45, respectively.

Approved by:	jkh
2000-02-01 08:54:14 +00:00
peter
c4b6cd7f5c Remove 'conflicts' token - it has been effectively doing absolutely
nothing for quite some time.  The only thing that cared was userconfig,
but it was for one invisible device so we never saw it's effects.
2000-01-29 18:07:07 +00:00
peter
59db460dbc Zap isa_device -> id_conflicts. The sole user of it (userconfig) never
actually used it since the only device that specified it (vga0) was marked
as "FLG_INVISIBLE" in userconfig and therefore never shown.

Suggested by:	bde
2000-01-29 18:01:10 +00:00
peter
53ed6e8650 Remove #if NFOO > 0 (it's not required in most cases) and also where it
isn't used as a result, remove #include "foo.h".  Many of these drivers
still use NFOO for softc struct sizing etc however.
2000-01-29 16:00:34 +00:00
kato
c28482a132 Synced with sys/isa/ppc.c rev 1.26. 2000-01-29 14:30:28 +00:00
kato
e5c332c2a2 Synced with sys/kern/subr_diskmbr.c rev 1.44. 2000-01-29 14:21:04 +00:00
kato
6f105adabe Synced with sys/kern/subr_diskmbr.c rev 1.43. 2000-01-29 14:00:58 +00:00
kato
64d8e9b9e5 Synced with sys/isa/ppc.c rev 1.25.
Reminded by:	nyan
2000-01-29 13:40:17 +00:00
kato
b86abe9ca2 Cosmetic changes.
- Fixed order of include files.
 - Fixed white spaces.
2000-01-29 07:36:46 +00:00
kato
debd5713de Synced with sys/isa/sio.c rev 1.287. 2000-01-29 04:47:22 +00:00
kato
9af864f09a Synced with sys/i386/isa/wd.c rev 1.218. 2000-01-29 04:42:49 +00:00
kato
8d31907972 Merged with sys/i386/conf/GENERIC rev 1.238. 2000-01-28 07:15:23 +00:00
nyan
a6ded040ef Merge from sys/i386/conf/GENERIC revision 1.231, 1.232 and 1.235. 2000-01-28 01:07:48 +00:00
kato
8e057fffb8 Synced with sys/i386/isa/isa_compat.h and pcaudio.c revisions 1.26 and
1.58, respectively.
2000-01-26 11:23:51 +00:00
kato
c5a78336fe Synced with sys/i386/isa/npx.c rev 1.79. 2000-01-26 11:16:14 +00:00
peter
0053820449 Copy i386/isa/atapi-cd.[ch] to a new name so that it doesn't have the
same object file (atapi-cd.o) as the ata drivers. I'd have called it
wcd.[ch], but there's already one of those in the Attic that we can't
clobber - the good names are taken.
Fix building so that it can be compiled into LINT alongside ata.

Requested by:	bde
2000-01-24 17:16:03 +00:00