mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-24 19:46:58 +00:00
i386: Remove AMD feature flag aliases from Opteron models
When CPU vendor is set to AMD, the AMD feature alias bits on CPUID[0x80000001].EDX are already automatically copied from CPUID[1].EDX on x86_cpu_realizefn(). When CPU vendor is Intel, those bits are reserved and should be zero. On either case, those bits shouldn't be set in the CPU model table. Commit 726a8ff68677d8d5fba17eb0ffb85076bfb598dc removed those bits from most CPU models, but the Opteron_* entries still have them. Remove the alias bits from Opteron_* too. Add an assert() to x86_register_cpudef_type() to ensure we don't make the same mistake again. Backports commit 2a923a293df95334fa22634016efdd138f49da7f from qemu
This commit is contained in:
parent
b37fa358f3
commit
f424e16f24
|
@ -29,7 +29,7 @@
|
|||
#include "hw/i386/pc.h"
|
||||
#include "sysemu/cpus.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "target-i386/topology.h"
|
||||
#include "target/i386/topology.h"
|
||||
#include "qapi-visit.h"
|
||||
|
||||
|
||||
|
|
|
@ -1688,12 +1688,7 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
// FEAT_7_0_EDX
|
||||
0,
|
||||
// FEAT_8000_0001_EDX
|
||||
CPUID_EXT2_LM | CPUID_EXT2_FXSR | CPUID_EXT2_MMX |
|
||||
CPUID_EXT2_NX | CPUID_EXT2_PSE36 | CPUID_EXT2_PAT |
|
||||
CPUID_EXT2_CMOV | CPUID_EXT2_MCA | CPUID_EXT2_PGE |
|
||||
CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | CPUID_EXT2_APIC |
|
||||
CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EXT2_MSR |
|
||||
CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT2_FPU,
|
||||
CPUID_EXT2_LM | CPUID_EXT2_NX | CPUID_EXT2_SYSCALL,
|
||||
},
|
||||
"AMD Opteron 240 (Gen 1 Class Opteron)",
|
||||
},
|
||||
|
@ -1718,13 +1713,7 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
// FEAT_7_0_EDX
|
||||
0,
|
||||
// FEAT_8000_0001_EDX
|
||||
CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_FXSR |
|
||||
CPUID_EXT2_MMX | CPUID_EXT2_NX | CPUID_EXT2_PSE36 |
|
||||
CPUID_EXT2_PAT | CPUID_EXT2_CMOV | CPUID_EXT2_MCA |
|
||||
CPUID_EXT2_PGE | CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL |
|
||||
CPUID_EXT2_APIC | CPUID_EXT2_CX8 | CPUID_EXT2_MCE |
|
||||
CPUID_EXT2_PAE | CPUID_EXT2_MSR | CPUID_EXT2_TSC | CPUID_EXT2_PSE |
|
||||
CPUID_EXT2_DE | CPUID_EXT2_FPU,
|
||||
CPUID_EXT2_LM | CPUID_EXT2_NX | CPUID_EXT2_SYSCALL,
|
||||
// FEAT_8000_0001_ECX
|
||||
CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM,
|
||||
},
|
||||
|
@ -1752,13 +1741,7 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
// FEAT_7_0_EDX
|
||||
0,
|
||||
// FEAT_8000_0001_EDX
|
||||
CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_FXSR |
|
||||
CPUID_EXT2_MMX | CPUID_EXT2_NX | CPUID_EXT2_PSE36 |
|
||||
CPUID_EXT2_PAT | CPUID_EXT2_CMOV | CPUID_EXT2_MCA |
|
||||
CPUID_EXT2_PGE | CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL |
|
||||
CPUID_EXT2_APIC | CPUID_EXT2_CX8 | CPUID_EXT2_MCE |
|
||||
CPUID_EXT2_PAE | CPUID_EXT2_MSR | CPUID_EXT2_TSC | CPUID_EXT2_PSE |
|
||||
CPUID_EXT2_DE | CPUID_EXT2_FPU,
|
||||
CPUID_EXT2_LM | CPUID_EXT2_NX | CPUID_EXT2_SYSCALL,
|
||||
// FEAT_8000_0001_ECX
|
||||
CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A |
|
||||
CPUID_EXT3_ABM | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM,
|
||||
|
@ -1789,13 +1772,8 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
// FEAT_7_0_EDX
|
||||
0,
|
||||
// FEAT_8000_0001_EDX
|
||||
CPUID_EXT2_LM | CPUID_EXT2_RDTSCP |
|
||||
CPUID_EXT2_PDPE1GB | CPUID_EXT2_FXSR | CPUID_EXT2_MMX |
|
||||
CPUID_EXT2_NX | CPUID_EXT2_PSE36 | CPUID_EXT2_PAT |
|
||||
CPUID_EXT2_CMOV | CPUID_EXT2_MCA | CPUID_EXT2_PGE |
|
||||
CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | CPUID_EXT2_APIC |
|
||||
CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EXT2_MSR |
|
||||
CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT2_FPU,
|
||||
CPUID_EXT2_LM | CPUID_EXT2_PDPE1GB | CPUID_EXT2_NX |
|
||||
CPUID_EXT2_SYSCALL,
|
||||
// FEAT_8000_0001_ECX
|
||||
CPUID_EXT3_FMA4 | CPUID_EXT3_XOP |
|
||||
CPUID_EXT3_3DNOWPREFETCH | CPUID_EXT3_MISALIGNSSE |
|
||||
|
@ -1828,13 +1806,8 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
// FEAT_7_0_EDX
|
||||
0,
|
||||
// FEAT_8000_0001_EDX
|
||||
CPUID_EXT2_LM | CPUID_EXT2_RDTSCP |
|
||||
CPUID_EXT2_PDPE1GB | CPUID_EXT2_FXSR | CPUID_EXT2_MMX |
|
||||
CPUID_EXT2_NX | CPUID_EXT2_PSE36 | CPUID_EXT2_PAT |
|
||||
CPUID_EXT2_CMOV | CPUID_EXT2_MCA | CPUID_EXT2_PGE |
|
||||
CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | CPUID_EXT2_APIC |
|
||||
CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EXT2_MSR |
|
||||
CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT2_FPU,
|
||||
CPUID_EXT2_LM | CPUID_EXT2_PDPE1GB | CPUID_EXT2_NX |
|
||||
CPUID_EXT2_SYSCALL,
|
||||
// FEAT_8000_0001_ECX
|
||||
CPUID_EXT3_TBM | CPUID_EXT3_FMA4 | CPUID_EXT3_XOP |
|
||||
CPUID_EXT3_3DNOWPREFETCH | CPUID_EXT3_MISALIGNSSE |
|
||||
|
|
Loading…
Reference in a new issue