开发者

How to find motherboard info using CPUID?

I am trying to develop a C function for getting some motherboard info (name, id, etc.) but I can't find where these info are stored. I had a look at CPUID but I could't find anything related to the motherboard there (although lo开发者_运维技巧ts of info regarding the CPU).

Does anyone know from where can I get these info?

Thanks a lot.


CPUID returns information about the CPU itself (hence the name); it does not return information about the motherboard. Your OS will likely have some way of querying ACPI data, which may (if the motherboard's manufacturer bothered to record such information) have what you're looking for; the exact method to do so depends on your OS, however.

If you're coding to the bare metal, your first stop is the ACPI tables. Of particular interest may be the OEMID and OEM Table ID in the DSDT; you might find model information elsewhere as well. Be warned, however, that BIOSes tend to be full of interesting bugs, and there's no guarantee that the manufacturer has filled in anything that's not absolutely necessary to get Windows to boot.

Non-ACPI systems are generally obsolete, at least for PC hardware. If you're on a non-ACPI system, good luck. There is no standardized location for motherboard identification information on a non-ACPI system. You can try to probe the hardware and guess based on a table of known hardware profiles, but that's the best you can do.


I would start with the dmidecode source and the standards it references (SMBIOS/DMI).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜