HomeFreeBSD

Fix yet another bug when the system has no CPU 0. When created, threads

Description

Fix yet another bug when the system has no CPU 0. When created, threads
were implicitly assigned to CPU 0. This had no practical effect since a real
CPU was chosen immediately by the scheduler. However, on systems without a
CPU 0, sched_ule attempted to access the scheduler queue of the "old" CPU
when assigned the initial choice of the old one. This caused an attempt to
use illegal memory and a crash (or, more usually, a deadlock). Fix this by
assigned new threads to the BSP explicitly and add some asserts to see that
this problem does not recur.

Details

Provenance
nwhitehornAuthored on
Parents
rS304104: MFC: r303685
Branches
Unknown
Tags
Unknown