Marc Jones wrote:
@@ -455,6 +450,7 @@ { X86_VENDOR_AMD, 0x100f21 }, { X86_VENDOR_AMD, 0x100f2A }, { X86_VENDOR_AMD, 0x100f22 },
- { X86_VENDOR_AMD, 0x100f23 }, { 0, 0 },
};
I want to suggest here that the list of CPUs is changed to only use family and model but not stepping. AMD CPUs are not broken enough that we need different cpu init code per stepping. So it is enough to write
{ X86_VENDOR_AMD, 0x100f20 },
and it will match 1, a, 2, 3, ....
I am not a fan of artificially restricting the number of machines that are correctly initialized just because a developer didnt have it in her/his hands yet.
I have mixed feelings. I think it is important to have all the stepping errata in place. This is important for stability and performance. I agree that AMD aren't broken enough that things will catch on fire without the errata but I would prefer coreboot have the same (or better) quality as the IBVs.
Wait, I am not asking to remove the code. But all the Fam10 code has a single table of CPU steppings and that hits a single function for executing the errata. only and match if those two are correct.The way the matching works is if there is no entry for family, model, stepping in the table, it will look for family, model (ie &ffffff00) You could still add an extra table for single steppings if required for what ever reason.
Stefan