From: BrillyWu <brillywu@xxxxxxxxxxxxxx> Hi, Jan I'm very sorry for these bugs in the patch. Now I have made a new patch based on the newest uq/master where the patch has been applied to fix these bugs, is it feasible? If it is not acceptable, should I re-generate a patch based on previous uq/master, or what else? Signed-off-by: BrillyWu<brillywu@xxxxxxxxxxxxxx> Signed-off-by: KaryJin<karyjin@xxxxxxxxxxxxxx> --- target-i386/cpu.h | 4 ++++ target-i386/cpuid.c | 18 +++++++++++------- target-i386/2 files changed, 15 insertions(+), 7 deletions(-) --- a/target-i386/cpu.h 2011-05-30 10:14:30.184533002 +0800 +++ b/target-i386/cpu.h 2011-05-30 10:41:45.704533001 +0800 @@ -441,6 +441,10 @@ #define CPUID_VENDOR_AMD_2 0x69746e65 /* "enti" */ #define CPUID_VENDOR_AMD_3 0x444d4163 /* "cAMD" */ +#define CPUID_VENDOR_VIA_1 0x746e6543 /* "Cent" */ +#define CPUID_VENDOR_VIA_2 0x48727561 /* "aurH" */ +#define CPUID_VENDOR_VIA_3 0x736c7561 /* "auls" */ + #define CPUID_MWAIT_IBE (1 << 1) /* Interrupts can exit capability */ #define CPUID_MWAIT_EMX (1 << 0) /* enumeration supported */ --- a/target-i386/cpuid.c 2011-05-30 10:14:30.194533005 +0800 +++ b/target-i386/cpuid.c 2011-05-30 15:07:18.794532910 +0800 @@ -1051,14 +1051,18 @@ void cpu_x86_cpuid(CPUX86State *env, uin uint32_t *ecx, uint32_t *edx) { /* test if maximum index reached */ - if ((index & 0xC000000f) == index) { - /* Handle the Centaur's CPUID instruction. */ - if (index > env->cpuid_xlevel2) { - index = env->cpuid_xlevel2; + if (index & 0x80000000) { + if (index > env->cpuid_xlevel) { + if (env->cpuid_xlevel2 > 0) { + /* Handle the Centaur's CPUID instruction. */ + if (index > env->cpuid_xlevel2) { + index = env->cpuid_xlevel2; + } else if (index < 0xC0000000) { + index = env->cpuid_xlevel; + } + } else + index = env->cpuid_xlevel; } - } else if (index & 0x80000000) { - if (index > env->cpuid_xlevel) - index = env->cpuid_level; } else { if (index > env->cpuid_level) index = env->cpuid_level; -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html