HomeFreeBSD

Fix wrong cpu0 identification

Description

Fix wrong cpu0 identification

Summary:
chrp_cpuref_init() was relying on the boot strap processor to be
the first child of /cpus. That was not always the case, specially
on pseries with FDT.

This change uses the "reg" property of each CPU instead and also
adds several sanity checks to avoid unexpected behavior (maybe
too many panics?).

The main observed symptom was interrupts being missed by the main
processor, leading to timeouts and the kernel aborting the boot.

Submitted by: Leandro Lupori
Reviewed by: nwhitehorn
Differential Revision: https://reviews.freebsd.org/D15174

Details

Provenance
jhibbitsAuthored on
Reviewer
nwhitehorn
Differential Revision
D15174: Fix wrong cpu0 identification
Parents
rS333362: Fix for missing network interface address event when adding the default IPv6
Branches
Unknown
Tags
Unknown