Skip to content
Permalink
Branch: master
Commits on Jun 11, 2019
  1. CPUID v1.7.3

    tycho committed Jun 11, 2019
    Not a huge release, but a few important changes:
    
    - Runtime detection for Windows 7+ when built against earlier releases
      (e.g. mainly for the thread binding features relating to processor
      groups and such)
    
    - Support for detection of PV TLB FLUSH, PV ASYNC PF VMEXIT, PV SEND
      IPI on KVM. Thanks to Zhenwei Pi for this patch.
    
    - Support for detection of MD_CLEAR. Thanks to Andy Fiddaman for this
      patch.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. Merge branch 'mds' of https://github.com/citrus-it/cpuid

    tycho committed Jun 11, 2019
  3. travis: don't depend on gcc-c++

    tycho committed Jun 11, 2019
    We don't use C++ here.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  4. travis: build using docker to get newer build environments

    tycho committed Jun 11, 2019
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  5. remove scons build script

    tycho committed Jun 11, 2019
    I don't use it nearly as often as GNU make and meson.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Oct 5, 2018
  1. add vim modelines for formatting consistency

    tycho committed Oct 5, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 27, 2018
  1. sanity: include scheduler yield every few trials

    tycho committed Sep 27, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 26, 2018
  1. prefix.h: add definition for snprintf on pre-MSVC 2015

    tycho committed Sep 26, 2018
    Can't just do "#define snprintf _snprintf" because _snprintf doesn't
    actually match the specification behavior:
    
    https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. msvc: upgrade project to Visual Studio 2013

    tycho committed Sep 26, 2018
    After 8 years since the projects were updated, Visual Studio 2008 isn't
    a great baseline anymore.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. CPUID v1.7.2

    tycho committed Sep 26, 2018
    Mostly a bugfix release. Unbroke the compile on Visual Studio, fixed the
    dumper for leaf 0x10, and fixed a minor bug in --sanity reporting.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  4. sanity.c: use best time in report about leaf cost to read

    tycho committed Sep 26, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  5. unbreak build on Visual Studio

    tycho committed Sep 26, 2018
    This has apparently been broken for quite a long time and I just never
    tried building with MSVC.
    
    I hate that this uglifies some of the code but I prioritize portability
    for this tool.
    
    Fixes #18.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 16, 2018
  1. handlers: fix handle_dump_std_10 eax value

    tycho committed Sep 16, 2018
    Oops.
    
    Fixes #17.
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 12, 2018
  1. CPUID v1.7.1

    tycho committed Sep 12, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. threads: ask kernel about processor group size, don't assume group si…

    tycho committed Sep 12, 2018
    …ze of 64
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. remove thread_get_binding/thread_bind_mask

    tycho committed Sep 12, 2018
    These are confusing and don't actually work for systems with large
    numbers of CPUs.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 11, 2018
  1. msvc: remove Visual C++ 6.0 project

    tycho committed Sep 11, 2018
    It doesn't compile for a variety of reasons (e.g. use of variadic
    macros, snprintf, inttypes.h format strings).
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 10, 2018
  1. CPUID v1.7.0

    tycho committed Sep 10, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. prefix.h: assume Windows targets are on Windows 7 or later

    tycho committed Sep 10, 2018
    This is more the rule than the exception now.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. platform.h: fix incorrect check for MSVC

    tycho committed Sep 10, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  4. threads: fix bogus shift for Windows GROUP_AFFINITY Mask value

    tycho committed Sep 10, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Sep 5, 2018
  1. TODO: add possible explanation for "bug"

    tycho committed Sep 5, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. leaf 0x8000001D: include partition count in cache size calculation

    tycho committed Sep 5, 2018
    I haven't observed any actual AMD CPUs with the size mis-calculated, but
    this should really be in the calculation anyway.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. mac os x: allow decoding all CPUs in dump files

    tycho committed Sep 5, 2018
    We had hard-coded a start/end of index 0, but this should only apply
    when we're looking at the live system rather than at a dump file.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  4. correctly display partitioning on caches

    tycho committed Sep 5, 2018
    I noticed that Intel's MacCPUID tool shows my Haswell MacBookPro11,3's
    L4 cache has a line size of "1024B", which didn't match the "64" that
    this tool saw. I realized they were multiplying the line size by the
    partition count to derive the line size.
    
    The only remaining disparity I see is in the WBINVD_NOT_INCLUSIVE for
    the L3 cache. MacCPUID behaves as though the lowest bit is set in EDX,
    but I don't see that in my tool. Perhaps the INCLUSIVE bit implies
    WBINVD_NOT_INCLUSIVE? I'm not really sure.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Aug 26, 2018
  1. travis: add dump parsing test to build script

    tycho committed Aug 26, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. CPUID v1.6.5

    tycho committed Aug 26, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. feature: introduce features listed in the May 2018 Intel ISA extensio…

    tycho committed Aug 26, 2018
    …ns manual PDF
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on May 25, 2018
  1. CPUID v1.6.4

    tycho committed May 25, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Mar 26, 2018
  1. GNUmakefile: detect MSYS in uname as well

    tycho committed Mar 26, 2018
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Mar 12, 2018
  1. Merge branch 'bhyve' of https://github.com/citrus-it/cpuid

    tycho committed Mar 12, 2018
  2. include leaf 0x40000000 regardless of whether it's in the ignore list

    tycho committed Mar 12, 2018
    The BHYVE hypervisor does funny things with 4000xxxx leaves, and maps
    them all to the base hypervisor leaf. This means that the base
    hypervisor leaf ends up in the ignore list, which we don't want.
    
    Have to add extra checks to handle_vmm_base to ensure the leaf contains
    valid data before decoding it too.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Mar 7, 2018
  1. leaf 0xd: don't print unused extended state information

    tycho committed Mar 7, 2018
    For example, this was possible:
    
      Extended state for 256-bit AVX YMM_Hi128 requires 0 bytes, offset 0
      Extended state for MPX bound registers requires 0 bytes, offset 0
    
    If the number of bytes required is zero, then we shouldn't bother
    printing it.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. leaf 0x5: simplify c-state count expression

    tycho committed Mar 7, 2018
    I don't know why I thought that was a sane bitmask/shift before. Anyway,
    it works now, and doesn't trigger any UBSAN warnings.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. ubsan: fix a bunch of shifts that might not be representable

    tycho committed Mar 7, 2018
    Integers are signed by default, so we have to tell it these are
    unsigned.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Older
You can’t perform that action at this time.