Paul Richards [Sun, 18 Apr 1999 01:03:46 +0000 (01:03 +0000)]
The changes to vm_page.c have broken the assumption that mallocing
early will result in memory below 16M so now we need to explicitly use
contigmalloc to get low physical memory.
Peter Wemm [Sat, 17 Apr 1999 16:31:13 +0000 (16:31 +0000)]
Disconnect lkm subdir so we don't build a lkm module, in case something
I do breaks world or the nightly snapshots. (you can still do it by hand
though for the moment)
Peter Wemm [Sat, 17 Apr 1999 14:41:41 +0000 (14:41 +0000)]
Get out the blow torch and hack away all the unused stuff. Note that
I zapped the MACHINE_MIPS stuff, it isn't likely to be useful apart from
recognition of the machine name. It would be reasonable to expect new
ports would look something like the alpha/i386 from a config perspective.
Peter Wemm [Fri, 16 Apr 1999 21:22:55 +0000 (21:22 +0000)]
Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition. eisa, isapnp and pccard* are
not yet using the new resource manager. Once fully converted, all drivers
will be loadable, including PCI and ISA.
(Some other changes appear to have snuck in, including a port of Soren's
ATA driver to the Alpha. Soren, back this out if you need to.)
This is a checkpoint of work-in-progress, but is quite functional.
The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.
Bruce Evans [Thu, 15 Apr 1999 15:35:32 +0000 (15:35 +0000)]
Removed dead code and cleaned up. setconf() now just asks for the
root device name. The parser for the name is still too simple (it
forces slice = none, partition = 'a').
Bruce Evans [Thu, 15 Apr 1999 14:52:24 +0000 (14:52 +0000)]
Made booting with -a work for all configurations. Previously it
only worked for configurations with "swap on generic".
usr.sbin/config/config.y:
- ignore all "swap [on] device ...' specifications except for
warning about them. They haven't done anything related to swap
for almost 4 years, and were previously silently ignored,
except for "swap on generic" which stopped swap${KERNEL}.c
from being generated. Code to support swapping is now deader
than before.
usr.sbin/config/mkswapconf.c:
- don't generate a dummy setconf() function in swap${KERNEL}.c.
sys/i386/conf/files.i386:
- swapgeneric.c is now standard. It should be merged into autoconf.c
so that it doesn't conflict with swap${KERNEL}.c for kernels named
"generic".
sys/i386/i386/autoconf.c:
- don't call setroot() for mfs roots. Since setroot() doesn't do anything
harmful, this was just a waste of time, except possibly for booting with
-a it may have helped prevent an undesireable call to setconf() by
finding a bogus rootdev.
- honor -a for ffs roots. -a now overrides all other ways of specifying
the root device. Previously, -r had precedence over -a, and the -a
handling was usually a no-op.
- don't honor -a for non-ffs roots, since it would currently just get in
the way of a clean panic.
sys/i386/i386/swapgeneric.c:
- don't declare things that are now always declared in swap${KERNEL}.c.
Don't decide things that are now decided in autoconf.c. Code to
support the "generic" case is now dead instead of useless.
Warner Losh [Thu, 15 Apr 1999 04:36:45 +0000 (04:36 +0000)]
Clarify the current state of cc -aout:
Compiling -g sometimes doesn't work (from Bruce)
libgcc_r won't build (Jos Backus)
Also mention that make -j n world is working again
Bill Paul [Thu, 15 Apr 1999 03:18:33 +0000 (03:18 +0000)]
- Close PR #11136: add PCI ID for another new cyclone device: the
3c900B-TPC (twisted pair and coax). Treated similarly to the
3c900B-COMBO, except no AUI port.
- Fix media selection so that it's possible to select the AUI and BNC
ports on the 3c905B-COMBO. This board is now fully supported.
- Change TX queueing strategy to hopefully be more efficient by avoiding
register accesses in xl_start(). Should provide small performance
improvement and a little better reliability.
Bill Paul [Wed, 14 Apr 1999 19:40:08 +0000 (19:40 +0000)]
Grrr. Make all modes work properly with the 82c168 chip and built-in
transceiver. Note in the manual page that autoselection doesn't
work on the 82c168 because the built-in NWAY support is horribly
broken. Manual mode selection works fine, but autoneg is broken for
everything except maybe 10Mbps half-duplex. There's no simple way
to fix this at the moment, so I have to settle for documenting the
bug for now. Fortunately, there aren't anywhere near as many 82c168
boards around as there are 82c169s.
Peter Wemm [Wed, 14 Apr 1999 16:54:00 +0000 (16:54 +0000)]
Add example for 'makeoptions DEBUG' and some notes. I have not activated
it here since a -g LINT kernel is 100% useless as it won't run and hence
doesn't need debug capabilities (and would just waste disk space :-).
Bruce Evans [Wed, 14 Apr 1999 15:20:03 +0000 (15:20 +0000)]
Search bdevsw[] instead of the half-baked builtin table of devices
in the RB_ASKNAME case. I had thought that I made this change in
rev.1.18, but rev.1.18 only affects obscure subcases of the
RB_DFLTROOT case (subcases where the compiled in default root is
not found in bdevsw[] -- then the root device is set to the first
device in the half-baked table that is also in bdevsw[]).
Removed yet more vestiges of config-time swap configuration.
Peter Wemm [Tue, 13 Apr 1999 20:22:34 +0000 (20:22 +0000)]
Build the functionality of the wdc_p hack into the ide_pci.c code.
All it did was match a specific device ID and turn on a quirk for
the wdc driver.
Incidently, at line 1462 there is a return that prevents the generic
ide_pci code from trying to look at the device. I'd be interested
to know if we can take out the return and let the generic code "see" it.
I've left the return in because that's the way it worked before.
(Be sure to rerun config after cvsup or you'll get undefined files!)
Peter Wemm [Tue, 13 Apr 1999 19:38:12 +0000 (19:38 +0000)]
Shoot the LKM support in the old wd/wdc/atapi driver set in the head and
perform a cleanup/unifdef sweep over it to tidy things up. The atapi
code is permanently attached to the wd driver and is always probed.
I will add an extra option bit in the flags to disable an atapi probe on
either the master or slave if needed, if people want this.
Remember, this driver is destined to die some time. It's possible that
it will loose all atapi support down the track and only be used for
dumb non-ATA disks and all ata/atapi devices will be handled by the new
ata system.
ATAPI, ATAPI_STATIC and CMD640 are no longer options, all are implicit.
Peter Wemm [Tue, 13 Apr 1999 18:25:08 +0000 (18:25 +0000)]
Clean up the kernel/kernel.debug/install.debug etc stuff.
Sense ${DEBUG} to decide on building kernel.debug or not.
Use a common install and install.debug target to minimize duplication.
(I deleted the ELF transition kernel warning, it was getting dated..)
Bill Paul [Tue, 13 Apr 1999 17:29:55 +0000 (17:29 +0000)]
Some more fixes:
- It turns out that the 'promiscuous mode' bug what I discovered with the
PNIC is not restricted to promiscuous mode. I've been doing some remote
debugging for someone with a P75 system, and at 100Mbps, the receiver
screws up even when the NIC is in normal mode. Thus, enable the workaround
for this bug all the time. Note that the workaround is still not enabled
for the PNIC II, since I haven't tested one yet.
- Set the 'arbitration' bit in the bus configuration register and set the
maximum burst size to 16 longwords. This seems to fix problems with
transmit corruption on the P75 system mentioned above. (It probably hurts
performance a bit too, but I've given up trying to make the PNIC perform
well.)
Guy Helmer [Tue, 13 Apr 1999 13:23:11 +0000 (13:23 +0000)]
Add kld(4) man page. Copyright notice in PR submission was "???", which
I changed to "Christopher G. Demetriou" since the page appears to be a
revision of lkm(4).
Bill Paul [Mon, 12 Apr 1999 21:37:00 +0000 (21:37 +0000)]
Merge in some updates for the RealTek driver, mainly:
- Rewrite the transmit section to be a little less bogus.
- Set ifq_maxlen correctly. RL_TX_LIST_CNT - 1 is wrong, because for the
RealTek, RL_TX_LIST_CNT is 4. Set it to IFQ_MAXLEN instead.