HomeFreeBSD

powerpc64: Fix boot on virtual-mode OF (PowerMac G5)

Description

powerpc64: Fix boot on virtual-mode OF (PowerMac G5)

In 78599c32efed3247d165302a1fbe8d9203e38974, CFI endproc decoration was
added to locore64.S. However, it missed the subtle detail that
restartkernel_virtual() falls through to restartkernel(). This was
causing boot failure on PowerMac G5, as it tried to execute the
epilogue as code.

Fix this by branching to __restartkernel() instead of intentionally
running off the end of the function.

While here, add some additional notes on how the virtual mode restart
works.

(cherry picked from commit d26f2a50ff48dacd38ba358d658882d51f7bdbc4)

Details

Provenance
bdragonAuthored on Feb 7 2021, 10:05 PM
Parents
rG5e9e7ad9a2a4: readelf: decode LA48 and ASG_DISABLE feature flags
Branches
Unknown
Tags
Unknown