Implement CPUID cache register for Pentium Pro/II.
This commit is contained in:
parent
b973755ca3
commit
bf68656e8f
1 changed files with 16 additions and 2 deletions
18
src/cpu.c
18
src/cpu.c
|
|
@ -1629,7 +1629,7 @@ void cpu_CPUID()
|
||||||
case CPU_PENTIUMPRO:
|
case CPU_PENTIUMPRO:
|
||||||
if (!EAX)
|
if (!EAX)
|
||||||
{
|
{
|
||||||
EAX = 0x00000001;
|
EAX = 0x00000002;
|
||||||
EBX = 0x756e6547;
|
EBX = 0x756e6547;
|
||||||
EDX = 0x49656e69;
|
EDX = 0x49656e69;
|
||||||
ECX = 0x6c65746e;
|
ECX = 0x6c65746e;
|
||||||
|
|
@ -1640,6 +1640,13 @@ void cpu_CPUID()
|
||||||
EBX = ECX = 0;
|
EBX = ECX = 0;
|
||||||
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_CMPXCHG8B | CPUID_CMOV | CPUID_SEP;
|
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_CMPXCHG8B | CPUID_CMOV | CPUID_SEP;
|
||||||
}
|
}
|
||||||
|
else if (EAX == 2)
|
||||||
|
{
|
||||||
|
EAX = 0x03020101;
|
||||||
|
EBX = 0;
|
||||||
|
ECX = 0;
|
||||||
|
EDX = 0x06040a42;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
EAX = EBX = ECX = EDX = 0;
|
EAX = EBX = ECX = EDX = 0;
|
||||||
break;
|
break;
|
||||||
|
|
@ -1647,7 +1654,7 @@ void cpu_CPUID()
|
||||||
case CPU_PENTIUM_2:
|
case CPU_PENTIUM_2:
|
||||||
if (!EAX)
|
if (!EAX)
|
||||||
{
|
{
|
||||||
EAX = 0x00000001;
|
EAX = 0x00000002;
|
||||||
EBX = 0x756e6547;
|
EBX = 0x756e6547;
|
||||||
EDX = 0x49656e69;
|
EDX = 0x49656e69;
|
||||||
ECX = 0x6c65746e;
|
ECX = 0x6c65746e;
|
||||||
|
|
@ -1658,6 +1665,13 @@ void cpu_CPUID()
|
||||||
EBX = ECX = 0;
|
EBX = ECX = 0;
|
||||||
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_CMPXCHG8B | CPUID_CMOV | CPUID_MMX | CPUID_SEP;
|
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_CMPXCHG8B | CPUID_CMOV | CPUID_MMX | CPUID_SEP;
|
||||||
}
|
}
|
||||||
|
else if (EAX == 2)
|
||||||
|
{
|
||||||
|
EAX = 0x03020101;
|
||||||
|
EBX = 0;
|
||||||
|
ECX = 0;
|
||||||
|
EDX = 0x08040c43;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
EAX = EBX = ECX = EDX = 0;
|
EAX = EBX = ECX = EDX = 0;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue