Message ID | 1428688965-26977-1-git-send-email-ehabkost@redhat.com |
---|---|
State | New |
Headers | show |
On Fri, 10 Apr 2015 15:02:45 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > When CPU vendor is 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. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > target-i386/cpu.c | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index e657f10..3305e09 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -688,7 +688,6 @@ static X86CPUDefinition builtin_x86_defs[] = { > .features[FEAT_1_ECX] = > CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT, > .features[FEAT_8000_0001_EDX] = > - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | > CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, > .features[FEAT_8000_0001_ECX] = > CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM | > @@ -711,7 +710,6 @@ static X86CPUDefinition builtin_x86_defs[] = { > CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_CX16 | > CPUID_EXT_POPCNT, > .features[FEAT_8000_0001_EDX] = > - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | > CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX | > CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT | CPUID_EXT2_MMXEXT | > CPUID_EXT2_FFXSR | CPUID_EXT2_PDPE1GB | CPUID_EXT2_RDTSCP, > @@ -769,7 +767,6 @@ static X86CPUDefinition builtin_x86_defs[] = { > CPUID_EXT_SSE3 | CPUID_EXT_CX16, > /* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */ > .features[FEAT_8000_0001_EDX] = > - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | > CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, > /* Missing: CPUID_EXT3_LAHF_LM, CPUID_EXT3_CMP_LEG, CPUID_EXT3_EXTAPIC, > CPUID_EXT3_CR8LEG, CPUID_EXT3_ABM, CPUID_EXT3_SSE4A, > @@ -805,8 +802,6 @@ static X86CPUDefinition builtin_x86_defs[] = { > CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_PSE36, > .features[FEAT_1_ECX] = > CPUID_EXT_SSE3, > - .features[FEAT_8000_0001_EDX] = > - PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES, > .features[FEAT_8000_0001_ECX] = > 0, > .xlevel = 0x80000008, > @@ -888,7 +883,6 @@ static X86CPUDefinition builtin_x86_defs[] = { > PPRO_FEATURES | CPUID_PSE36 | CPUID_VME | CPUID_MTRR | > CPUID_MCA, > .features[FEAT_8000_0001_EDX] = > - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | > CPUID_EXT2_MMXEXT | CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT, > .xlevel = 0x80000008, > }, > @@ -912,7 +906,6 @@ static X86CPUDefinition builtin_x86_defs[] = { > CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_SSSE3 | > CPUID_EXT_MOVBE, > .features[FEAT_8000_0001_EDX] = > - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | > CPUID_EXT2_NX, > .features[FEAT_8000_0001_ECX] = > CPUID_EXT3_LAHF_LM,
diff --git a/target-i386/cpu.c b/target-i386/cpu.c index e657f10..3305e09 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -688,7 +688,6 @@ static X86CPUDefinition builtin_x86_defs[] = { .features[FEAT_1_ECX] = CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT, .features[FEAT_8000_0001_EDX] = - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, .features[FEAT_8000_0001_ECX] = CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM | @@ -711,7 +710,6 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_CX16 | CPUID_EXT_POPCNT, .features[FEAT_8000_0001_EDX] = - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX | CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT | CPUID_EXT2_MMXEXT | CPUID_EXT2_FFXSR | CPUID_EXT2_PDPE1GB | CPUID_EXT2_RDTSCP, @@ -769,7 +767,6 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_EXT_SSE3 | CPUID_EXT_CX16, /* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */ .features[FEAT_8000_0001_EDX] = - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, /* Missing: CPUID_EXT3_LAHF_LM, CPUID_EXT3_CMP_LEG, CPUID_EXT3_EXTAPIC, CPUID_EXT3_CR8LEG, CPUID_EXT3_ABM, CPUID_EXT3_SSE4A, @@ -805,8 +802,6 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_PSE36, .features[FEAT_1_ECX] = CPUID_EXT_SSE3, - .features[FEAT_8000_0001_EDX] = - PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES, .features[FEAT_8000_0001_ECX] = 0, .xlevel = 0x80000008, @@ -888,7 +883,6 @@ static X86CPUDefinition builtin_x86_defs[] = { PPRO_FEATURES | CPUID_PSE36 | CPUID_VME | CPUID_MTRR | CPUID_MCA, .features[FEAT_8000_0001_EDX] = - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | CPUID_EXT2_MMXEXT | CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT, .xlevel = 0x80000008, }, @@ -912,7 +906,6 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_SSSE3 | CPUID_EXT_MOVBE, .features[FEAT_8000_0001_EDX] = - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | CPUID_EXT2_NX, .features[FEAT_8000_0001_ECX] = CPUID_EXT3_LAHF_LM,
When CPU vendor is 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. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- target-i386/cpu.c | 7 ------- 1 file changed, 7 deletions(-)