mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-03 16:35:46 +00:00
target/i386: do not set LM for 32-bit emulation '-cpu host/max'
32-bit targets by definition do not support long mode; therefore, the bit must be masked in the features supported by the accelerator. As a side effect, this avoids setting up the 0x80000008 CPUID leaf for qemu-system-i386 -cpu host which since commit 5a140b255d ("x86/cpu: Use max host physical address if -cpu max option is applied") would have printed this error: qemu-system-i386: phys-bits should be between 32 and 36 (but is 48) Backports 5ea9e9e239db83391a39c09f1de63c4099c20df5
This commit is contained in:
parent
18100d1a3b
commit
56afe9f919
|
@ -4429,6 +4429,11 @@ static uint32_t x86_cpu_get_supported_feature_word(struct uc_struct *uc,
|
||||||
} else {
|
} else {
|
||||||
return ~0;
|
return ~0;
|
||||||
}
|
}
|
||||||
|
#ifndef TARGET_X86_64
|
||||||
|
if (w == FEAT_8000_0001_EDX) {
|
||||||
|
r &= ~CPUID_EXT2_LM;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (migratable_only) {
|
if (migratable_only) {
|
||||||
r &= x86_cpu_get_migratable_flags(w);
|
r &= x86_cpu_get_migratable_flags(w);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue