- Use the PMAP_ASID_* constants from pmap.h
- Track pmap_pvo_{enter,remove}() depth in the same way as mpc6xx's pmap
(on which this pmap was originally based).
- Some misc. tidying up and added commentary.
- Use the VA/KVA to select whether to use the IPT or PTEG instead of
checking which pmap is being operated on.
- Add a handy DDB-callable function which will scan the kernel IPT
looking for inconsitencies.
- Finally, when unmapping a pool page, purge the data cache for the
page. This permits write-back caching to be enabled for kernel
text/data.
machine-specific code.
- Re-work the code which detects a nested critical section event.
We can now determine who is the owner of the critical section, and
what event occurred while it was owned.
- Work-around a silicon bug which can cause a nested critical event.
In the _EXCEPTION_ENTRY() macro (which sets up the critical section),
if there is a pending hardware interrupt which has a higher priority
than the current IMASK, then the "putcon" which supposedly clears SR.BL
and sets SR.IMASK to 0xf is not atomic. The pending hardware interrupt
will be taken, causing a nested critical section event. The work-around
is to update SR.BL and SR.IMASK separately using two "putcon" insns.
- Make it possible to at least *try* to resume execution if we
get an NMI.
- Major clean-up of the panic/critical section trap handlers.
The dumped state is now much more accurate.
This is somewhat of a hack, but I find it better than having
to run env(1) from inetd(8), or changing the environment for
inetd(8) itself (and thus all daemons started by it).
We only enable 8-bit output for known single-byte locales, currently
ISO8859-*. For all other locales the program output is unchanged.
RFC-1288 recommends that administrators have a mechanism to enable
characters greater than ASCII 126. A suggested solution is an
environment variable. The environment variables of choice here are
LC_CTYPE and LANG.
Thanks to Martin Husemann <martin@duskware.de> for the idea on checking
for known single-byte locales, to Johan Danielsson <joda@pdc.kth.se> for
checking RFC-1288, and to Jun-ichiro itojun Hagino <itojun@iijlab.net>
for insisting on retaining security for multi-byte locales.
If you experience any problems with these changes, please send me email
describing the problem and how to repeat it. I'd rather try to fix the
problem than have this change reverted. Thanks!
* Add a ld.so.script that exports _GOT_END_.
* Prebind the GOT in _rtld_start.
* Skip over GOT relocs in _rtld_relocate_nonplt_objects().
This makes debugging work better at least.
. added long options
. noted that pdisk cannot yet create netbsd partitions
. renamed -p to -f and documented
. changed description of -L to note that it is off by default
remove the non-functional -p/--pname argument, replace it with -f/--fname
add -a (use abbreviations) and -L (use logical offsets) to getopt parse list
thanks to wiz for noticing inconsistencies