NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/57661 (Crash when booting on Xeon Silver 4416+ in KVM/Qemu)



Synopsis: Crash when booting on Xeon Silver 4416+ in KVM/Qemu

State-Changed-From-To: open->needs-pullups
State-Changed-By: riastradh%NetBSD.org@localhost
State-Changed-When: Wed, 14 May 2025 01:13:07 +0000
State-Changed-Why:
fixed in HEAD, needs pullup-9 and pullup-10

There are several changes here, with different levels of risk.

x86/identcpu rev. 1.135 (x86: Reserve space for only the extended CPU
state we will use.) is probably the lowest risk to pull up, and will
likely fix this symptom on its own.  But it's not enough to fix the
problem I hypothesize underlies PR kern/57258: kthread_fpu_enter/exit
problem <https://gnats.NetBSD.org/57258>, which is that on machines
with AVX-512 -- or any >576-byte xsave area size -- the logic in
fpu_kern_enter/leave uses a static 576-byte union savefpu buffer to
initialize a >576-byte xsave area.

That problem is fixed by x86/fpu.c rev. 1.90, among a collection of
other higher-risk changes (amd64: Allocate FPU save state outside pcb
if it's too large.).  So, we might have to split that change up (and
test it) to make a lower-risk fix for the fpu_kern_enter/leave issue,
say for pullup-9 -- just the part to allocate safe_fpu and zero_fpu in
fpu.c separately if too large, not the parts to support
TILECFG/TILEDATA by separately allocating an fpu save area for each pcb
on affected machines.





Home | Main Index | Thread Index | Old Index