[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1574346] Re: TCG: mov to segment register is incorrect
[Qemu-devel] [Bug 1574346] Re: TCG: mov to segment register is incorrectly emulated for AMD CPUs
Sun, 24 Apr 2016 20:07:44 -0000
** Changed in: qemu
Status: New => Confirmed
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
TCG: mov to segment register is incorrectly emulated for AMD CPUs
Status in QEMU:
In TCG mode, the effect of:
xorl %eax, %eax
movl %eax, %gs
is to mark the GS segment unusable and set its base to zero. After
doing this, reading MSR_GS_BASE will return zero and using a GS prefix
in long mode will treat the GS base as zero.
This is correct for Intel CPUs but is incorrect for AMD CPUs. On an
AMD CPU, writing 0 to %gs using mov, pop, or (I think) lgs will leave
the base unchanged.
To make it easier to use TCG to validate behavior on different CPUs,
please consider changing the TCG behavior to match actual CPU behavior
when emulating an AMD CPU.
To manage notifications about this bug go to: