Hi Paolo,
Here's a simple testcase that reproduces the problem on my machine:
https://pastebin.com/q91tQi3Y
Regarding the GDT, as you mentioned, the GDT base points to a null area.
Pedro
On 8/9/17 2:47 AM, Paolo Bonzini wrote:
On 09/08/2017 06:35, Pedro Fonseca wrote:
Hi,
We've been running tests on KVM and found a couple of situations that
cause KVM to hang under SVM. The host was running on "AMD Ryzen 7 1700
Eight-Core Processor" and Linux 4.12.5. The tests ran with a small
synthetic VM.
Do you have a C program or something like that?
Here's the initial register values that cause KVM to hang:
CS-Attr: c09b
CS-Base: 0
CS: f000
DS: 0
DS-Attr: c093
DS-Base: 0
GDT-Base: 000000000000f000
GDT-Limit: 00000027
So the GDT points to zero memory? 0x1000 in the dump below looks like a GDT.
Paolo
IDT-Base: 0000000000000000
IDT-Limit: 0000ffff
RFLAGS: 2
RIP: 0
RSP: 0
Note that sregs not displayed are initialized with values from
KVM_GET_SREGS.
And here's the non-null memory contents:
00000000: 66c7 0425 0000 0400 2301 b821 0000 00f4 f..%....#..!....
00001000: 0000 0000 0000 0000 ffff 0000 009b c000 ................
00001010: ffff 0000 0093 c000 0000 0000 009b c000 ................
00001020: ffff 0000 009b 8000 0000 0000 0000 0000 ................
00002000: 8700 0000 8700 4000 0000 0000 0000 0000 ......@.........
The ftrace is available here:
https://pastebin.com/234aqXjs
Thanks,
Pedro