I don't know what the case is for keeping two kernels in memory and switching
between them.
I suspect a small piece of trampoline code between the two kernels could
handle the case. (i.e. purgatory pays attention).
That is a fundamental aspect of the design. A general purpose infrastructure
with trampoline code to adapt it to whatever situation comes up.
Eric
--