mirror of
https://github.com/86Box/86Box.git
synced 2025-01-22 17:22:25 -05:00
Pentium II: Change BIOS update signature to non-zero on CPUID with EAX = 1, fixes microcode update error messages on some BIOS'es.
This commit is contained in:
parent
74bda71219
commit
8f25851406
1 changed files with 16 additions and 0 deletions
|
@ -2432,6 +2432,11 @@ cpu_CPUID(void)
|
|||
EAX = CPUID;
|
||||
EBX = ECX = 0;
|
||||
EDX = CPUID_FPU | CPUID_DE | CPUID_TSC | CPUID_MSR | CPUID_CMPXCHG8B | CPUID_CMOV | CPUID_MMX;
|
||||
/*
|
||||
Return anything non-zero in bits 32-63 of the BIOS signature MSR
|
||||
to indicate there has been an update.
|
||||
*/
|
||||
msr.bbl_cr_dx[3] = 0xffffffff00000000ULL;
|
||||
} else
|
||||
EAX = EBX = ECX = EDX = 0;
|
||||
break;
|
||||
|
@ -2470,6 +2475,11 @@ cpu_CPUID(void)
|
|||
EAX = CPUID;
|
||||
EBX = ECX = 0;
|
||||
EDX = CPUID_FPU | CPUID_VME | CPUID_DE | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_PAE | CPUID_MCE | CPUID_CMPXCHG8B | CPUID_MMX | CPUID_MTRR | CPUID_PGE | CPUID_MCA | CPUID_SEP | CPUID_CMOV;
|
||||
/*
|
||||
Return anything non-zero in bits 32-63 of the BIOS signature MSR
|
||||
to indicate there has been an update.
|
||||
*/
|
||||
msr.bbl_cr_dx[3] = 0xffffffff00000000ULL;
|
||||
} else if (EAX == 2) {
|
||||
EAX = 0x03020101; /* Instruction TLB: 4 KB pages, 4-way set associative, 32 entries
|
||||
Instruction TLB: 4 MB pages, fully associative, 2 entries
|
||||
|
@ -2493,6 +2503,11 @@ cpu_CPUID(void)
|
|||
EAX = CPUID;
|
||||
EBX = ECX = 0;
|
||||
EDX = CPUID_FPU | CPUID_VME | CPUID_DE | CPUID_PSE | CPUID_TSC | CPUID_MSR | CPUID_PAE | CPUID_MCE | CPUID_CMPXCHG8B | CPUID_MMX | CPUID_MTRR | CPUID_PGE | CPUID_MCA | CPUID_SEP | CPUID_FXSR | CPUID_CMOV | CPUID_PSE36;
|
||||
/*
|
||||
Return anything non-zero in bits 32-63 of the BIOS signature MSR
|
||||
to indicate there has been an update.
|
||||
*/
|
||||
msr.bbl_cr_dx[3] = 0xffffffff00000000ULL;
|
||||
} else if (EAX == 2) {
|
||||
EAX = 0x03020101; /* Instruction TLB: 4 KB pages, 4-way set associative, 32 entries
|
||||
Instruction TLB: 4 MB pages, fully associative, 2 entries
|
||||
|
@ -3250,6 +3265,7 @@ pentium_invalid_rdmsr:
|
|||
case 0x88 ... 0x8b:
|
||||
EAX = msr.bbl_cr_dx[ECX - 0x88] & 0xffffffff;
|
||||
EDX = msr.bbl_cr_dx[ECX - 0x88] >> 32;
|
||||
// EDX |= 0xffffffff;
|
||||
break;
|
||||
/* Unknown */
|
||||
case 0xae:
|
||||
|
|
Loading…
Reference in a new issue