Various 486 improvements

- Added SL-Enhanced versions of Intel 486 CPUs and Enhanced AMD Am486DX2/DX4 CPUs
- Cleaned up the 486 CPU types and updated intel_4x0.c to reflect this
- Fixed some incorrect EDX reset and CPUID values
- Blacklisted non-SMM capable 486 CPUs on the Soyo 4SA2 motherboard
- Merged the non-OverDrive and OverDrive Intel DX4s because of further research confirming them to be functionally identical
- Removed SMM support on early 486 CPUs
This commit is contained in:
nerd73
2021-04-15 21:38:03 -06:00
parent ebe6a16be3
commit 8e3b09f323
8 changed files with 120 additions and 111 deletions

View File

@@ -1303,13 +1303,13 @@ static void
regs[0x0d] = 0x20;
/* According to information from FreeBSD 3.x source code:
0x00 = 486DX, 0x20 = 486SX, 0x40 = 486DX2 or 486DX4, 0x80 = Pentium OverDrive. */
if (is486sx)
if (!(hasfpu) && (cpu_multi = 1))
regs[0x50] = 0x20;
else if (is486sx2)
else if (!(hasfpu) && (cpu_multi = 2))
regs[0x50] = 0x60; /* Guess based on the SX, DX, and DX2 values. */
else if (is486dx)
else if (hasfpu && (cpu_multi = 1))
regs[0x50] = 0x00;
else if (is486dx2 || isdx4)
else if (hasfpu && (cpu_multi >= 2) && !(cpu_s->cpu_type == CPU_P24T))
regs[0x50] = 0x40;
else
regs[0x50] = 0x80; /* Pentium OverDrive. */