Posted: Thu Nov 02, 2006 3:09 am
I see Smiddy make the point, but I'll confirm it anyway.
Problem is that some bioses have faulty code of their own, making you think you have a processor you do not BY ACCIDENT. Given the amount of non-spoofed bioses in existance, and the amount of revisions they sometimes hand out (i flashed my VIA mobo thrice the first year), i think that adds another problem to the issue: Am i being lied to, did some boot code make a mistake, or is this information genuine?
Talking about bugs: some processors' CPUIDs dont return the correct information as well - if you have read the intel manuals you'll probably have noticed half a page dedicated to one such bug (IIRC, fast system calls was mistakingly set)
I wont go the discussion what to do if the processor's info is spoofed on purpose. However, what if the information is incorrect by accident, then we ought to fix that. And detecting cpu type isnt that much of astrology - a simple DIV can already tell apart different processors, and apart from microcode updates, theres no way to spoof this one.
For me, the kernel should provide the most accurate information to the user. So i have a system call providing such information. That way i can provide the user with accurate information. Saving them from looking up known bugs as well as saving them from distributing patches, as you only need to update the kernel to check new processors.
For the rest i agree with Brendan, that fixable bugs should be fixed, independent of the processor saying its something its not, as some fixes might or will break other processors (like, writing Cyrix MSRs will go to the system bus on non-Cyrices. Not that some creep would try to replace the vendor string with "CyrixInstead" )
Problem is that some bioses have faulty code of their own, making you think you have a processor you do not BY ACCIDENT. Given the amount of non-spoofed bioses in existance, and the amount of revisions they sometimes hand out (i flashed my VIA mobo thrice the first year), i think that adds another problem to the issue: Am i being lied to, did some boot code make a mistake, or is this information genuine?
Talking about bugs: some processors' CPUIDs dont return the correct information as well - if you have read the intel manuals you'll probably have noticed half a page dedicated to one such bug (IIRC, fast system calls was mistakingly set)
I wont go the discussion what to do if the processor's info is spoofed on purpose. However, what if the information is incorrect by accident, then we ought to fix that. And detecting cpu type isnt that much of astrology - a simple DIV can already tell apart different processors, and apart from microcode updates, theres no way to spoof this one.
For me, the kernel should provide the most accurate information to the user. So i have a system call providing such information. That way i can provide the user with accurate information. Saving them from looking up known bugs as well as saving them from distributing patches, as you only need to update the kernel to check new processors.
For the rest i agree with Brendan, that fixable bugs should be fixed, independent of the processor saying its something its not, as some fixes might or will break other processors (like, writing Cyrix MSRs will go to the system bus on non-Cyrices. Not that some creep would try to replace the vendor string with "CyrixInstead" )