On 9/19/24 00:13, Warner Losh wrote:
Kexec does just this. The new kernel boots without
going through the reset
vector. The old kernel keeps a tiny bit of code around that tears down all the
protections, etc and hands off to the new kernel a mostly reset machine.. but it
doesn't go through the firmware to do it... it was the original reason for it in
linux: fast reboot times.
Indeed - when Sun implemented the equivalent in Solaris, the feature was
literally named "Fast Reboot":
https://illumos.org/opensolaris/ARChive/PSARC/2008/382/final.materials/fast…
It will refuse to run and require a trip through the firmware if any active
drivers don't support or can't complete a "quiesce" routine to finish
off
any in-progress operations and reset the the hardware to the state expected
for a fresh boot:
https://illumos.org/opensolaris/ARChive/PSARC/2008/382/final.materials/quie…
--
-Alan Coopersmith- alan.coopersmith(a)oracle.com
Oracle Solaris Engineering -
https://blogs.oracle.com/solaris