HomeFreeBSD

mips/malta: Explicitly set AP entry point to _locore

Description

mips/malta: Explicitly set AP entry point to _locore

Otherwise we rely on the firmware implicitly ending up there without
faulting. Perhaps the hardware this was tested on does so, but on QEMU
this is not the case, as the AP will otherwise re-run bootloader code
that tries to reconfigure PCI BARs and ends up faulting, so the AP is
never seen by FreeBSD to have started.

This matches Linux's arch/mips/kernel/smp-mt.c:vsmp_boot_secondary,
which unconditionally writes to TCRestart (this register), albeit using
a separate entry point, whilst ours is shared.

This is a direct commit to stable/13 as mips no longer exists in main.

Obtained from: CheriBSD (diagnosis; patch rewritten from scratch)

(cherry picked from commit cc521bcf790bdcc76fddd619f35d0279f22e535a)

Details

Provenance
jrtc27Authored on Thu, Dec 12, 9:07 PM
Parents
rG41efd8eef313: libalias: fix subtle racy problem in outside-inside forwarding
Branches
Unknown
Tags
Unknown