mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
My core2duo patch introduced a vague statement of "missing features" in
the CPUID specification. This patch addresses this by specifying exactly what is missing. While going along the missing CPUID entries I also stumbled across invalid and missing CPUID #defines while comparing them to the Intel Documentation. This patch also addresses these. I found them too minor to split them up in a separate patch. Furthermore I looked through CPUID functions > 5 and realized that it should be safe to bump the level to 10. I tried booting Linux with that and it worked fine. Signed-off-by: Alexander Graf <agraf@suse.de> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5350 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e6a6d5abc6
commit
558fa8361b
3 changed files with 41 additions and 9 deletions
|
@ -1956,6 +1956,27 @@ void helper_cpuid(void)
|
|||
ECX = CPUID_MWAIT_EMX | CPUID_MWAIT_IBE;
|
||||
EDX = 0;
|
||||
break;
|
||||
case 6:
|
||||
/* Thermal and Power Leaf */
|
||||
EAX = 0;
|
||||
EBX = 0;
|
||||
ECX = 0;
|
||||
EDX = 0;
|
||||
break;
|
||||
case 9:
|
||||
/* Direct Cache Access Information Leaf */
|
||||
EAX = 0; /* Bits 0-31 in DCA_CAP MSR */
|
||||
EBX = 0;
|
||||
ECX = 0;
|
||||
EDX = 0;
|
||||
break;
|
||||
case 0xA:
|
||||
/* Architectural Performance Monitoring Leaf */
|
||||
EAX = 0;
|
||||
EBX = 0;
|
||||
ECX = 0;
|
||||
EDX = 0;
|
||||
break;
|
||||
case 0x80000000:
|
||||
EAX = env->cpuid_xlevel;
|
||||
EBX = env->cpuid_vendor1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue