By not doing so, a very obscure bug followed where the config search
stuff stopped at the bridge (pceb) and didn't even call match for the
two Qlogic ISP cards that followed.
locore.s:
- cpu_switch "returns" to proc_trampoline after cpu_fork. cpu_switch is
called with an argument, remove it from the stack when not compiled
with -DMRTD.
- use KENTRY instead of ENTRY for all functions called from C.
- when calling C code, don't clean up the stack when compiled with -DMRTD.
- need to split fusubail into fubail and subail, because fu and su
take different number of arguments.
machdep.c:
- set sf_p when dumping
- new function do_softclock (that just calls softclock) because softclock
doesn't take an argument.
mainbus.c:
- establish softclock interrupt to call do_softclock
trap.c:
- trap() and syscall() allways use std C calling conventions.
- need to split fusubail into fubail and subail, because fu and su
take different number of arguments.
- make child_return take only one argument like the other functions
"called" via cpu_set_kpc.
vm_machdep.c:
- set sf_p in cpu_fork.
up on systems that have Zorro I/O space allocated outside the Z2 I/O
region, and then only if kvm usage is high enough to begin allocating
pages already mapped for hardware mappings. Found and fixed by Niklas
Hallqvist on OpenBSD.
From niklas@cvs.openbsd.org:
Yay! This fixes a bug that has been there since day one of the amiga port.
We have never protected the kvm area that maps Zorro I/O registers in the
Z2 memory space from being allocated by the kmem_* routines. Lately kvm
usage has increased and we have needed more kvm allocated than earlier thus
this area have got allocated with random results. Most often resulting in
MMU fault panics, but also in hangs. This bug has stalled the amiga port
release builds for several weeks, but now I *hope* the amiga will have a
chance to be built and tested in time for 2.3.
(1) Fix a typo that caused a NULL pointer deref.
(2) union_copyup() locks the vnode, so unlock it before calling relookup().
PR #5272, MINOURA, Makoto <minoura@kw.netlaputa.ne.jp>.
in the branch delay slot was no longer getting executed at the proper time.
This resulted in a corrupt ps_strings pointer and caused programs trying to
use ps_strings to fail.
the new proc structure when performing a fork. This makes it much
easier to abort a fork operation and return an error if we run out
of KVA space.
The U-area pages are still wired down in {,u}vm_fork(), as before.