johnose.blogg.se

Intel cpu id
Intel cpu id












MSRs and can therefore be falsified (e.g. In addition for some CPUs (mostly AMD) some of the data returned by CPUID can be modified via. Of course there's also some errata where a CPU falsely claims it supports a feature when it doesn't and errata where a CPU correctly claims it supports a feature but the feature itself is buggy and shouldn't be used.Īlso if you look at more than just feature flags alone (and also look at things like the reporting of number of logical CPUs, reporting of cache details, etc) it's a huge mess and some information returned by newer CPUs simply doesn't exist on older CPUs (but can be reconstructed by using "vendor:family:model:stepping" as an index into a lookup table provided by the OS). There's only 2 cases that I can think of where this is broken:Ī) If Intel says SYSENTER/SYSEXIT is supported then it's supported in both 32 bit and 64 bit code but if AMD says it's supported they mean it's only supported in 32 bit code.ī) If AMD says SYSCALL/SYSRET is supported then it's supported in both 32 bit and 64 bit code but if Intel says it's supported they mean it's only supported in 64 bit code. In the same way if an Intel CPU sets a feature flag in AMD's area (in "eax=0x80000001") then Intel are saying that the CPU supports an AMD feature the same as an AMD CPU would. returned in EDX and ECX after CPUID with "eax=0x00000001"), then AMD is saying that the CPU supports an Intel feature the same as an Intel chip would. If an AMD CPU sets a feature flag in the Intel area (e.g. Conceptually each vendor has their own area of CPUID's space where everything in the area starting at "eax = 0x00000000" is defined by Intel, and everything in the area starting at "eax = 0x80000000" is defined by AMD.














Intel cpu id