Old kvm_mkdb had a possibility to check old kernel's version
string retained at a hole between text segment and data segment.
It might happen a misunderstanding that the running kernel's version
matches kvm.db's version.
This had been caused by checking current kernel's version string
via /dev/kmem. The version string can get via sysctl, so use it!
as int's, as the array is not guaranteed to be int-aligned on the stack.
Use a CHAR64LONG16 type instead for the workspace, since the workspace
is accessed through that type anyway.
Fixes PR pkg/12417 from Andrew Brown.
the process dsize for both positive and negative changes. Since atop()
casts its result to a paddr_t (which is unsigned), negative changes in
process data size resulted in unrealistic dsizes being set. Use
"dsize -= atop(-diff)" for a negative diffs. Fixes the "Impossible
process sizes" mentioned on current-users.
Unsigned cast catch and much debugging help from Martin Laubach.
return value of uvm_fault() to the onfault routine via %o0. users of
pcb_onfault now return this value to their callers rather than always
returning EFAULT. this allows i/o errors in VOP_GETPAGES() to be returned
back to read(), etc.
XXX if local address is specified in specific address family
(like IPv4 numeric addr) it will not be honored when we connect to different
address family (like IPv6 destination). there's no good way to circumvent this.
POSIX recommendations.
- trap now accepts signal names and signal numbers
e.g. INT, SIGINT, 2
- added option -l that outputs a list of valid signals
- added signal EXIT to list of valid signals
- a `-' in the action part will reset specified signal to their
default behaviour
- changed standard output format to make it suitable as an input
to another shell that achieves the same trapping results
When invoked with 'pkg_add -u ...', and the package to be installed is
found already being installed, the old (installed) package is removed
with pkg_delete, and the new one is installed.
A very crude handling of dependencies is done (by moving the +REQUIRED_BY
file aside before pkg_delete, and back into place after the new pkg is
installed).
This needs a lot more work to TRT, but it's a first start.
of uvm_fault() to the onfault routine via %eax. users of pcb_onfault now
return this value to their callers rather than always returning EFAULT.
this allows i/o errors in VOP_GETPAGES() to be returned back to read(), etc.
To avoid complexity, don't bother with ea_irq_claim() and ea_irq_release() any
more. This driver will be replaced with an MI one soon eough -- it just
happened to be convenient for me to test.