[Bug 275086] Old i386 boot: CPU0: local APIC error 0x4 – Cannot boot any longer

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 01 Jan 2025 11:44:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275086

ben@desync.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ben@desync.com

--- Comment #3 from ben@desync.com ---
Created attachment 256313
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=256313&action=edit
fix

The offending commit appears to be 279cd05b7e4d.

0x4 in the ECR is apparently:

> Bit 2: Send Accept Error.
> Set when the local APIC detects that a message it sent was not accepted by any > APIC on the APIC bus. Used only on P6 family and Pentium processors.

I guess pre-P4 systems don't like IPIs fired off into oblivion.  Attached patch
adds a check for multiple CPUs to match the one in
smp_targeted_tlb_shootdown(), which seems to be the only other caller.  Tested
on single-CPU 440BX and multiprocessor i840.

-- 
You are receiving this mail because:
You are the assignee for the bug.