[1] add EN_ENIDMAFIX - the byte-aligner on the ENI version of the card
appears to lose under heavy load so avoid using it. see comment
in midway.c for full details.
note that the Adaptec version of the card works properly under
load.
detected by Kenjiro Cho <kjc@csl.sony.co.jp> [confirmed by chuck]
fix by chuck & kjc
[2] update some freebsd specific code [from kjc]
[3] for circular buffers: ensure there is always one free slot so
that we can easily tell the difference between a full and
empty list. re-structure a few loops to reflect this.
fixes a problem with mbufs being free'd while still in DMA,
and makes drive a bit more robust.
detected and fixed by kjc
movs.
XXX As our CPP seems to hate the 060SP, I couldn't use assym.h for the
PCB_ONFAULT definition, but had to hardwire 64 in the code. This needs
to be fixed ASAP, and will be done in the upcoming reorganization of
the 060sp Makefiles.
of the reserved KVAs (vpage[]) used by these routines. This avoids the
context switching in there.
* In pmap_redzone(), remove the first kernel address (at KERNBASE) from
the kernel maps instead of just turning off the PTE `valid' bits.
The latter doesn't create a "red zone" at all, but causes the VM to
allocate a new page if the red zone is touched.
uncached (if needed) chunks of memory of the two sizes (256 and 1024
bytes) that the SRMMU ever needs.
* Change pmap_changeprot4m() so that is does not rely setpte4m() because
setpte4m() cannot be used for anything other than VAs that are in the
pmap associated with the current context.
In the same vain, make sure that kvm_uncache() switches to context 0.
Define a constant for the SuperMac Spectrum/24 series III display card.
Thanks go to Luca Falzoni <falzoni@jetai.unipv.it> for trying out the
code for the Dayna ethernet support.
a function) which specifies how many lines will be skipped when scrolling
up when the bottom of the screen is reached. Dumb framebuffers skip 10
lines (as before) because the copies are s ... l ... o ... w, but it's
silly to skip 10 lines on VGA, since the copies are much faster, so we
only skip one in that case.
memory-mapped or i/o-mapped access to the device registers, and always
choose memory-mapped if it is enabled. In particular, do _not_ explictly
disable the space we decide to not use, as this confuses some versions
of Alpha console software (which are arguably buggy because of this
problem).
Also, fix a logic error pointed out by Ross Harvey <ross@teraflop.com>
that would cause memory-mapped access to never be enabled.
unmounting all of the file systems. If we encounter a condition where
all of the dirty buffers could not flush, then don't unmount file systems,
since it might be likely to wedge.
- MIT syntax to Motorola syntax moveml register lists (for better readability)
- comment alignment
- remove commented out debug or alternate code from early DraCo support
development.
(I wanted to do this stuff for a long time, but always had "more important"
things to do.)
with large amounts of memory and not spew. This doesn't really replace
fixing this problem better later, but it works for now. Basically, if memory
is greater than 128MB, start upping the sizes of some maps.