On Wed, Mar 11, 2015 at 05:56:23PM -0400, Kevin O'Connor wrote:
In 0673b787 the QEMU SMP init code was changed to run in 32bit mode. Unfortunately, the transition32 assembler function is not multi-processor safe, because it modifies the global RTC index register. This race condition led to sporadic failures when emulating machines with a large number of processors.
This patch changes the entry_smp code to use a variant of transition32 that does not touch the RTC registers.
FYI, I pushed this change to the main SeaBIOS repo.