Brendan wrote:
You might be able to use "chipset identification" (e.g. product ID of host bridge and LPC bridge) to infer the information; but that won't be complete (e.g. additional devices motherboard manufacturer added to the motherboard that aren't built directly into the chipset) and will involve maintaining a huge database of all possible motherboards.
I think you may have hit on a good idea by accident, actually.
Creating and, more crucially, maintaining and correcting such a database, would actually be an excellent project in and of itself, and not just for OS development. If nothing else, it would serve to consolidate knowledge currently scattered among less public databases at companies like Intel, Microsoft and Oracle, and among the configuration files of the *BSDs and various Linux distros.
However, it is not something that would be a part of a single hobby OS project, or even a single commercial OS project - it is the sort of massive operation that really would have to be done as a formal consortium, run by a small group of subject matter experts and supported by dozens of volunteers, with some doing the basic research and a separate group doing confirmation. It would probably also require at least a few good negotiators with at least basic domain knowledge who could work with the manufacturers to try and crowbar some additional information out of them where needed.
If they provided a common format for providing motherboard information - you know, what SMBIOS was supposed to have been from the start - as a supplemental report that developers could refer to, and as a downloadable data structure which installer programs and operating systems themselves could interrogate, it would save
everyone a lot of wheel reinventing.
The problem, of course, is that no matter how good this idea might be, it would need someone to start it, a group of people to run it, and a raft of dosh to keep it running. Even running something like this on a shoestring would at least require paying for the hosting and other basic infrastructure. It's the sort of thing Patreon exists for, but the interest group is so small that it would be difficult to get enough support.
I am not the one to do this, for a number of reasons which should be obvious from my previous posts. Perhaps some other members would be able to, but I am not going to hold my breath. I hope someone does, but hoping wouldn't get it done. As a somewhat Machiavellian aside, perhaps some of the more... ah... OCD and/or AS members could be persuaded to divert attention from their OS work into this? It is the sort of thing that could benefit from obsessive attention to detail.