Commit Graph

1503 Commits

Author SHA1 Message Date
KATO Takenori
bf7c3a8311 Catch up with Peter's config(8) changes. 2000-06-14 09:20:43 +00:00
Peter Wemm
2c7c3a91e9 Print error messages to stderr, not stdout. 2000-06-14 02:45:11 +00:00
Peter Wemm
f71c01cc52 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 Takenori
0f38731801 Merged from sys/i386/i386/machdep.c rev 1.395. 2000-06-13 13:05:51 +00:00
KATO Takenori
e276b136e4 Merged from sys/i386/i386/machdep.c revision 1.394. 2000-06-06 08:21:59 +00:00
KATO Takenori
dc41b25cb0 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 Takenori
031491c0a6 Merged from sys/i386/isa/npx.c revision 1.81. 2000-06-06 08:12:17 +00:00
Yoshihiro Takahashi
932d2288a0 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
Yoshihiro Takahashi
6042137954 Sync with sys/isa/ppc.c revision 1.27. 2000-05-31 10:49:58 +00:00
Yoshihiro Takahashi
0a67fdf343 Removed ICMP_BANDLIM option. It no longer exists. 2000-05-31 10:49:19 +00:00
Peter Wemm
23dff9e066 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
Yoshihiro Takahashi
c4de295680 Fixed header file path (machine/lpt.h -> dev/ppbus/lptio.h). 2000-05-26 12:25:01 +00:00
Yoshihiro Takahashi
6f37f14225 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 Wemm
0385347c1a 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
Yoshihiro Takahashi
3ec91ea962 Sync with sys/i386/conf/GENERIC revisions from 1.246 to 1.256. 2000-05-19 16:36:42 +00:00
Yoshihiro Takahashi
7c14268dbd 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 Cobbs
2e2de7f23f 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
Yoshihiro Takahashi
0f90341e15 Use bus_space stuff except where it needs high performance. 2000-05-12 12:38:25 +00:00
Poul-Henning Kamp
9626b608de 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
Yoshihiro Takahashi
987887c000 GENERIC98 -> GENERIC 2000-05-05 08:03:31 +00:00
KATO Takenori
c3a6416c86 Rename GENERIC98 to GENERIC. 2000-05-04 04:58:30 +00:00
Peter Wemm
365c5db0a7 Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
Peter Wemm
ab063af911 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
Yoshihiro Takahashi
517b2a8d5c Clean up MAXMEM routine.
Submitted by:	"K.Magara" <magara@maizuru-ct.ac.jp>
2000-04-30 08:52:47 +00:00
Yoshihiro Takahashi
de64b8c968 Fixed to support JIS7 KANJI.
Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
2000-04-30 08:40:43 +00:00
Poul-Henning Kamp
87150cb06d s/biowait/bufwait/g
Prodded by: several.
2000-04-29 16:25:22 +00:00
Poul-Henning Kamp
eb95c536ad Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
Yoshihiro Takahashi
e73f2591dc Fixed typo. 2000-04-29 05:55:33 +00:00
Yoshihiro Takahashi
d3331668b3 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
Yoshihiro Takahashi
cd6f7fcd8d machine/random.h -> sys/random.h 2000-04-27 13:13:43 +00:00
Yoshihiro Takahashi
f23d815dbd Add wormio.h. The wd driver needs it. 2000-04-27 13:09:07 +00:00
Yoshihiro Takahashi
b81eb9cfd6 Sync with sys/i386/conf/GENERIC revision 1.252. 2000-04-23 09:04:42 +00:00
Yoshihiro Takahashi
4b38c2c0ac Release allocated resources and return ENXIO on error. 2000-04-22 15:12:52 +00:00
Poul-Henning Kamp
3389ae9350 Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
Poul-Henning Kamp
0991b97a30 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
Warner Losh
487e50ecdb 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
Poul-Henning Kamp
8177437d85 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
Yoshihiro Takahashi
e81dafee50 Added wdreg.h. PC-98 still uses the wd driver. 2000-04-14 11:29:15 +00:00
Yoshihiro Takahashi
f71c82a792 Added wdreg.h and fixed path. 2000-04-13 10:37:49 +00:00
KATO Takenori
df01d25d3e 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 Takenori
86cc4d7dfa - Fixed counter number (timer2 -> timer1).
- Fixed operator in pcaintr (andb -> orb).

Pointed out by:	nyan
2000-04-12 13:19:44 +00:00
Yoshihiro Takahashi
00add4ed4f 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 Takenori
cae3675927 Merged from sys/i386/isa/isa_compat.c revisions 1.19 and 1.20. 2000-04-12 11:23:16 +00:00
Yoshihiro Takahashi
4b00895121 Newbusify adv driver.
Reviewed by:	imp
2000-04-07 11:32:42 +00:00
Poul-Henning Kamp
c244d2de43 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 Takenori
769e7115b7 Merged from sys/isa/sio.c revisions 1.293 and 1.294. 2000-04-01 11:27:31 +00:00
Peter Wemm
255108f385 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
Warner Losh
5664bf9cea NewBus the cs driver.
Submitted by: max@rsu.ru
2000-03-30 05:16:16 +00:00
Yoshihiro Takahashi
239fe111cd - 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
Yoshihiro Takahashi
3de3db30db Newbusify mse driver. 2000-03-29 14:23:16 +00:00