On 21/10/2015 14:10, Laszlo Ersek wrote: > [...] The first message appears in the log: > > ------------ > SMRAM TileSize = 00000800 > CPU[000] APIC ID=0000 SMBASE=7FFC1000 SaveState=7FFD0C00 Size=00000400 > CPU[001] APIC ID=0001 SMBASE=7FFC1800 SaveState=7FFD1400 Size=00000400 > SmmRelocateBases: sending SMI IPI to APIC ID 0x1 > ------------ > > but the second message doesn't; the (!mRebased[Index]) condition > never evaluates to false, so the loop is never exited. [...] > > Then VCPU#1 goes on to do various things (I'm too lazy to analyze all > those trace entries), but ultimately it reaches a HLT. And the busy wait > in SmmRelocateBases() never completes, because vcpu #1 seems to have > looked at VCPU#0's area. > > Given that this works with TCG, I *guess* it is either a KVM bug, or > some visibility race. I'll have to look at more.
Remember that TCG is a sequential emulator, which does not run two processors at the same time. This can both hide and introduce bugs. But a KVM bug is of course possible as well, so thanks for the debugging; I'll take a look now as well! Paolo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel