I trying to find information about correct CPU identification - including counting physical CPUs, logical CPUs, cores, HTT capabilities forfollowing Intel CPUs:
IA32, IA32 with EM64T, IA64, and later - Atom.
So far the only clear and partially working (partially - due to dependency on CPU affinity) algorithm have been found only for IA32 systems (OS-es, modes).
What is the correct way to do that for 64-bit systems, like Itanium and IA32 with EM64T extension?
Would be excellent to have code examples for both Unix(Linux, FreeBSD, etc.) and Windows.
For Intel 64, there is an article that describes the metholodogy: http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration. It does not cover Itanium though.