Before:
$ dc ..
miyu% dc ..
dc: 02 unimplemented
dc: 0 unimplemented
dc: 0 unimplemented
dc: input base must be a number between 2 and 16 (inclusive)
dc: stack empty
dc: stack empty
dc: 'h' (0150) unimplemented
dc: stack empty
dc: 'u' (0165) unimplemented
...
** get heart attack suspecting major FS corruption **
After:
$ dc ..
Cannot use directory as input!
- Use the "clz" instruction to pick a run-queue, instead of using the
ffs-by-table-lookup method.
- Use strd instead of stmia where possible.
- Use multiple ldr instructions instead of ldmia where possible.
they use the mini D$.
This results in a small performance boost on xscale platforms, since
flushing the main cache on a context switch won't affect the kernel
stack/pcb.
with the KVA of the newly-wired uarea.
This is useful on some architectures (e.g. xscale) where the uarea mapping
can be tweaked to use the mini-data cache instead of the main cache.
(Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
userspace). Having them here is both good and bad. Good because they're
close to the actual native ones, bad because it exposes things out
of compat/netbsd32. However, putting the exclusively in the latter
requires a lot of reshuffling in the includes there, so this will
do for now.
variable if we determine that the boot arguments presented to us by the
PROM do not contain a boot file name.
Idea from Greg Woods on port-sparc@netbsd.org.
codes when I right-shift the country-code register! Fixes a bug
reported by Dan Carosone: regulatory domain "ETSI" registered as
domain "Spain/Other", so he could only tune channels 10 and 11.
removing the advertising clause. Diffs provided in PR 22410 by Joel
Baker, confirmed to the board by Jason Downs.
With additional thanks to Jason Thorpe.