2007-10-17

CPU feature flags and their meanings

Posted in Computers, Personal, PlanetDebian at 15:03 CEST (+0200) by sven

Since I never really found a nice overview of which CPU flags (see /proc/cpuinfo) mean what, so I gathered some information using the web, with the most notable sources being the BOINC FAQ entry on CPU Register Acronyms at [1] and the output of the nice little (though seemingly mostly unmaintained) cpuid utility. See my results at [2]. Any suggestions for enhancements and completions are highly welcome, just leave a comment to this post.

[1]: href=”http://boincfaq.mundayweb.com/index.php?language=1&view=176
[2]: http://blog.incase.de/index.php/cpu-feature-flags-and-their-meanings/

5 Comments

  1. Ken Bloom said,

    October 17, 2007 at 15:50 CEST (+0200)

    I have seen hyperthreaded machines and non-hyperthreaded machines that have the ht flag, and have seen that hyperthreaded machines do not have the htt flag.

    The best way to detect a hyperthreaded machine is to look for two single-core processors with the same physical id, like the abbreviated /proc/cpuinfo that I’ve included from a dual-core hyperthreaded machine.

    processor : 0
    physical id : 0
    core id : 0
    cpu cores : 1

    processor : 1
    physical id : 0
    core id : 0
    cpu cores : 1

    processor : 2
    physical id : 3
    core id : 0
    cpu cores : 1

    processor : 3
    physical id : 3
    core id : 0
    cpu cores : 1

  2. sven said,

    October 17, 2007 at 15:54 CEST (+0200)

    I’ve also seen machines without active Hyperthreading but with the HT flag. My VDR machine is the prime example for how this happens: The BIOS doesn’t support Hyperthreading with the CPU I’m using (Pentium E2160), though the CPU does support it.
    Your technique obviously works to detect active hyperthreading support.

  3. Steve said,

    October 17, 2007 at 15:55 CEST (+0200)

    Don’t forget ‘HVM’ as Intels alternative to AMDs ‘SVM’ flag.

  4. Steve said,

    October 17, 2007 at 15:56 CEST (+0200)

    Sorry I got that wrong. The flag for Intel is ‘vmx’.

    (HVM is what this kind of stuff is called under Xen so I got confused for a second!)

  5. sven said,

    October 17, 2007 at 16:18 CEST (+0200)

    Thanks Steve. Added it to the table. (HVM, and VMX, SVM was there already). Added cross-references to all three.