target-i386: add lock mov cr0 = cr8
AMD CPUs featuring a shortcut to access CR8 even from 32-bit mode. If you use the LOCK prefix with "mov CR0", it accesses CR8 instead. This behavior is guarded by the CR8_LEGACY CPUID bit (Fn8000_0001:ECX[1]). Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
5f0ce17ffc
commit
ccd59d09a9
@ -7351,6 +7351,10 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
|
||||
ot = OT_QUAD;
|
||||
else
|
||||
ot = OT_LONG;
|
||||
if ((prefixes & PREFIX_LOCK) && (reg == 0) &&
|
||||
(s->cpuid_ext3_features & CPUID_EXT3_CR8LEG)) {
|
||||
reg = 8;
|
||||
}
|
||||
switch(reg) {
|
||||
case 0:
|
||||
case 2:
|
||||
|
Loading…
Reference in New Issue
Block a user