Better ACPI implementation (currently only on PIIX4/PIIX4E/SMSC southbridges), finished the SMSC southbridge (but the Atrend BIOS still hangs, need to figure out why), and fixed Tandy EEPROM saving.

This commit is contained in:
OBattler
2020-04-13 20:01:47 +02:00
parent 0045874d71
commit 61f0ae7954
17 changed files with 472 additions and 331 deletions

View File

@@ -2202,9 +2202,15 @@ cpu_CPUID(void)
EAX = CPUID;
EBX = ECX = 0;
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_PAE | CPUID_CMPXCHG8B | CPUID_MTRR/* | CPUID_SEP*/ | CPUID_CMOV;
#ifdef USE_SEP
EDX |= CPUID_SEP;
#endif
}
else if (EAX == 2)
{
EAX = 0x00000001;
EBX = ECX = 0;
EDX = 0x00000000;
}
else
EAX = EBX = ECX = EDX = 0;
@@ -2223,12 +2229,15 @@ cpu_CPUID(void)
EAX = CPUID;
EBX = ECX = 0;
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_PAE | CPUID_CMPXCHG8B | CPUID_MMX | CPUID_MTRR/* | CPUID_SEP*/ | CPUID_CMOV;
#ifdef USE_SEP
EDX |= CPUID_SEP;
#endif
}
else if (EAX == 2)
{
EAX = 0x03020101;
EAX = 0x00000001;
EBX = ECX = 0;
EDX = 0x0C040843;
EDX = 0x00000000;
}
else
EAX = EBX = ECX = EDX = 0;
@@ -2247,12 +2256,15 @@ cpu_CPUID(void)
EAX = CPUID;
EBX = ECX = 0;
EDX = CPUID_FPU | CPUID_VME | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_PAE | CPUID_CMPXCHG8B | CPUID_MMX | CPUID_MTRR/* | CPUID_SEP*/ | CPUID_FXSR | CPUID_CMOV;
#ifdef USE_SEP
EDX |= CPUID_SEP;
#endif
}
else if (EAX == 2)
{
EAX = 0x03020101;
EAX = 0x00000001;
EBX = ECX = 0;
EDX = 0x0C040844;
EDX = 0x00000000;
}
else
EAX = EBX = ECX = EDX = 0;