This code has been submitted by Luigi Rizzo <luigi@labinfo.iet.unipi.it>,
based on work done by Sujal Patel.
This currnetly doesn't provide the ability to register the port address
of PnP cards assigned a PnP driver. As there aren't any PnP capible
drivers yet, this isn't much of a problem.
The code allows you, through USERCONFIG, configure what the cards port
bases, irqs, and dma's are like. Currently there isn't support to view
what cards are in the sytem.
It successfully configures my PnP Internal Modem and sio then sees the
card as a normal isa device.
Make upgrade potentially a little less interactive.
Add and document new loadConfig function (sort of like a script #include).
Make TCP/IP setup far less chatty when it doesn't need to be.
Turn on the 0WS option for 16bit cards. Newer machines insert enough
delay that without this the performance is unacceptable. The 83C690,
83C790, and 83C795 chips which this affects are all designed to work
with 0 waitstates in 16bit mode.
Also cleaned up the toggling of 16bit access mode that occurs during
normal operation; the previous code may not have done the right thing
in all cases.
peter [Mon, 8 Sep 1997 06:40:58 +0000 (06:40 +0000)]
Change an assemble-time divide into a shift. Under binutils-2.8 gas in elf
mode, the slash is a comment leader, while under non-elf it is a divide
symbol (what a concept! :-). Theoretically, #APP/#NO_APP can change this
but that doesn't seem to mesh too well with macros and line continuation.
Removed trailing semicolons from the definitions of the sysctl
declaration macros so that a semicolon can be added when the macros
are invoked without giving a (pedantic) syntax error. Invocations
need to be followed by a semicolon so that programs like indent and
gtags don't get confused.
Fixed the one invocation that wasn't followed by a trailing semicolon.
Fix an intermittent problem during SMP code operation. Not all of the
idle page table directories for all of the processors was being updated
during kernel grow operations. The problem appears to be gone now.
Changed the Ints labels for the IO APIC from "INT#" to "PIN#" to better
reflect its logical usage. Ie., there is NOT a 1-to-1 correspondence
between IRQ numbers and APIC pin numbers as there is with the 8259 ICU.
peter [Fri, 5 Sep 1997 17:54:07 +0000 (17:54 +0000)]
Argh, what was I thinking?? Don't (yet) halt the CPU in the idle loop
while waiting for an interrupt (rather than spinning on the runqueue status
bits), since the other cpu can put stuff in there and the sleeping cpu may
not get an interrupt for a while. When we have a reschedule IPI, this can
come back.
peter [Fri, 5 Sep 1997 12:12:35 +0000 (12:12 +0000)]
When compiling under elf, use correct library naming conventions. Also
add the required extra symlink. Set the -soname to libcrypt.so so that
the symlink is used at runtime rather than resolved at compile time.
peter [Fri, 5 Sep 1997 11:49:43 +0000 (11:49 +0000)]
If not building a.out, still build a pic version of libmd. This allows
things like libskey.so to be dynamically self contained.
Things like md5(1) where speed is critical should still link with libmd.a,
but for things like login, where it's a once-off call if skey is used, it's
not worth the hassle.
peter [Fri, 5 Sep 1997 11:45:15 +0000 (11:45 +0000)]
Restore the BINFORMAT?= in sys.mk, or it's painfully difficult to use
.if in Makefiles. bsd.prog.mk and bsd.lib.mk do not depend on it however.
Allow overriding of the -soname arg when building the lib*crypt.so* libs
since libdescrypt.so and libscrupt.so both need a -soname of libcrypt.so
so that the symlink is obeyed at runtime rather than at compile time.
peter [Fri, 5 Sep 1997 09:09:56 +0000 (09:09 +0000)]
Change the BINFORMAT definitions so that they do not depend on sys.mk,
since 2.1.x make(1) apparently does not have the -m switch to set both
the the bsd.*.mk and sys.mk location, and this breaks 'make world' from a
2.1.x system.
Add a new compile option SC_HISTORY_SIZE to specify the history buffer
size in terms of lines (instead of bytes). When changing video mode
in ioctl SW_XXX commands, syscons checks scp->history_size and
allocate a history buffer at least as large as the new screen size.
(This was unnecessary before, because HISTORY_SIZE was as large as 100
lines and this is bigger than the maximum screen size: 60 lines).
Similar adjustment is done in ioctl CONS_HISTORY command too.
sos [Thu, 4 Sep 1997 18:49:53 +0000 (18:49 +0000)]
Upgrade of EIDE DMA support, Johns comments:
* lots of fixes to error handling-- mostly works now
* improve DMA timing config for Triton chipsets-- PIIX4 and UDMA drive
still untested
* generally improve DMA config in many ways-- mostly cleanup
* clean up boot-time messages
* rewrite PRD generation algorithm
* first wd timeout is now longer, to handle drive spinup
Submitted by: John Hood <cgull@smoke.marlboro.vt.us>
sonewconn no longer passes curproc to the protocol attach method
since that might cause in_pcballoc to call MALLOC with M_WAITOK during
a software interrupt.
Reviewed by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Changed the memory sizing code so that if the following conditions
are met:
1) The BIOS indicates that there is exactly 64MB of RAM, and
2) The memory size isn't specified with the MAXMEM option or
the npx0 msize hack,
...then do a speculative memory probe beyond the 64MB's until the
first bad page is encountered. This is an admitted hack, but should
nonetheless deal with detecting the correct amount of memory in nearly
all of the modern systems with >64MB of RAM.
Also made a change that will cause the list of detected memory chunks
to be printed if bootverbose is set.