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

Reply via email to