cpu_pmap_init() and replace pmap_ctx_lock usage with this new ci_ctx_lock
- replace smp_dcache_flush_page_all() with smp_dcache_flush_page_cpuset(),
that flushes only on the set of CPUs not, everyone. add new
dcache_flush_page_cpuset() to flush this page from the D$ only
on the specified set of CPUs.
- add a cpuset to pmap_free_page() and use it when freeing PTE pages
when a pmap is destroyed
- introduce pmap_free_page_noflush(), and use it when we allocated a
page for PTEs but didn't use it and don't need to flush it
- don't bother with pmap_lock in pmap_extract(), the only potential
issue is pseg_get() which is already safe
tested on sb2000, sb2500 and ultra80 with a bunch of various heavy
workloads, and seems to give a clear 1-2% speed up for high-forking /
short lived processes, such as ./configure.
fix the powerpc64 quirk handling by introducing a prefix quirk and
using it as appropriate. fix the (postfix) quirk.
now rump and powerpc64 get along nicely.
libc implementation (such as *BSD and glibc2).
2. don't typedef void * wc{type,trans}_t, suggested by soda@-san.
it may pass through compiler type check, it's harmful.
so i introduce dummy struct __tag_wc{type,trans}_t(iconv_t already does).
no ABI change was made.
Strongly architect handles so we can more easily detect bogus
handles. This switches us to a full 32 bits for all handles.
Handle the case of FC disks disappearing and then reappearing-
at least at the FC transport level.
Some better and finer control of debug and non-debug printouts.
be needed to update acpiapm_get_powstat() which is currently slightly
broken due to recent rearrangement of acpi_bat(4)'s sensors. (This
approach is in lieu of exporting proplists between kernel entities, and
avoids exposing some internal sysmon_envsys details.)
driver/attach/data typically present and once some locking is grown
in here, these routines can be made to fail or succeed a component
attachment/detachment atomically.
event monitors require some of the data loaded by the refresh. For
example, the initial refresh might load sensor limits and max_value in
addition to the cur_value.
for now it uses the same monochrome overlay as OBP, otherwise it's got the
usual wsdisplay / vcons goodies
TODO:
- fill in mmap and ioctl methods so we can at least run X in monochrome
- figure out where the 24bit buffer is ( and maybe if there's an 8 bit buffer )
- see if we can do any acceleration
- find the DAC registers