diff --git a/CMakeLists.txt b/CMakeLists.txt index b343dbe..a8f9f25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.13) -set(VERSION "0.6.5") -set(LIBCPUID_CURRENT 16) +set(VERSION "0.7.0") +set(LIBCPUID_CURRENT 17) set(LIBCPUID_AGE 0) -set(LIBCPUID_REVISION 5) +set(LIBCPUID_REVISION 0) project( cpuid LANGUAGES C ASM_MASM diff --git a/ChangeLog b/ChangeLog index 03e7361..8126772 100644 --- a/ChangeLog +++ b/ChangeLog @@ -190,3 +190,30 @@ Version 0.6.5 (2024-04-28): * Support for Intel Meteor Lake, including detection of LP E-Cores * Support for Intel Emerald Rapids-SP * Support for more AMD Van Gogh + +Version 0.7.0 (2024-08-26): + * Fix handle leaks in rdmsr.c (#199) + * Fix cpuid_get_hypervisor when NULL data is provided (#199) + * Prevent intel_fn11 array overruns (#199) + * Support for AMD Hawk Point + * Support for more AMD Phoenix (8000 series) + * Add cpu_clock_by_tsc() function to the library (#124) + * Check x86 CPUs MSR support (#185) + * Add support for ARM CPUs (AArch32 + AArch64) (#200) + * Add cpu_feature_level_t enumerated values for x86 CPUs (#177) + * Support up to 4 subleaf entries for CPUID leaf 0x80000026 (#189) + * Support for Extended CPU topology subleaf in cpuid_identify_purpose_amd() (#189) + * Support CPU purpose for AMD x86 CPUs (#189) + * Add cpuid Linux and FreeBSD kernel modules for ARM CPUs + * Improve errors handling in cpuid_get_all_raw_data() and cpuid_get_raw_data_core() (#202) + * Support get_total_cpus() on DragonFly BSD + * Improve set_cpu_affinity() on NetBSD + * Fix build on OpenBSD + * Improve behavior when CPU affinity cannot be set + * Fix a regression in cpuid_tool about arguments doing nothing (like --rdmsr or --cpuid) + * Fix a segmentation fault when using --quiet in cpuid_tool + * Improve error handling in cpu_identify_all() + * Add Python bindings (#197) + * Support for AMD Granite Ridge + * Support for AMD Strix Point + * Detect x2APIC and AVX512 features for AMD x86 CPUs diff --git a/configure.ac b/configure.ac index 95bb964..6a97db5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libcpuid CPU Identification library], [0.6.5], [libcpuid-devel@lists.sourceforge.net], [libcpuid]) +AC_INIT([libcpuid CPU Identification library], [0.7.0], [libcpuid-devel@lists.sourceforge.net], [libcpuid]) AC_CONFIG_SRCDIR([libcpuid/libcpuid.h]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -31,9 +31,10 @@ dnl 16:0:2 Version 0.6.2: DB updates, fix for single-core CPUs dnl 16:0:3 Version 0.6.3: DB updates, fixes, restore CPU affinity, rename {set,get}_error() to cpuid_{set,get}_error() dnl 16:0:4 Version 0.6.4: DB updates, fixes, support for Centaur CPUs (VIA and Zhaoxin) dnl 16:0:5 Version 0.6.5: DB updates, various improvements, detection of LP E-Cores for Intel CPUs -LIBCPUID_CURRENT=16 +dnl 17:0:0 Version 0.7.0: DB updates, fixes, various improvements, add cpu_clock_by_tsc() function, add support for ARM CPUs, add cpu_feature_level_t enumerated values, add more fields in cpu_raw_data_t (amd_fn80000026h, arm_*) +LIBCPUID_CURRENT=17 LIBCPUID_AGE=0 -LIBCPUID_REVISION=5 +LIBCPUID_REVISION=0 AC_SUBST([LIBCPUID_AGE]) AC_SUBST([LIBCPUID_REVISION]) AC_SUBST([LIBCPUID_CURRENT]) diff --git a/libcpuid/Makefile.x64 b/libcpuid/Makefile.x64 index 3aa6f1e..d602b26 100644 --- a/libcpuid/Makefile.x64 +++ b/libcpuid/Makefile.x64 @@ -5,7 +5,7 @@ all: libcpuid.lib ASM = ml64 /nologo CC = cl.exe /nologo /TC OPTFLAGS = /MT -DEFINES = /D "VERSION=\"0.6.5\"" +DEFINES = /D "VERSION=\"0.7.0\"" OBJECTS = masm-x64.obj asm-bits.obj cpuid_main.obj libcpuid_util.obj recog_amd.obj recog_arm.obj recog_centaur.obj recog_intel.obj rdcpuid.obj rdtsc.obj libcpuid.lib: $(OBJECTS) diff --git a/libcpuid/Makefile.x86 b/libcpuid/Makefile.x86 index d59fe23..4c6c8d3 100644 --- a/libcpuid/Makefile.x86 +++ b/libcpuid/Makefile.x86 @@ -12,7 +12,7 @@ all: libcpuid.lib CC = cl.exe /nologo /TC OPTFLAGS = /MT -DEFINES = /D "VERSION=\"0.6.5\"" +DEFINES = /D "VERSION=\"0.7.0\"" OBJECTS = asm-bits.obj cpuid_main.obj libcpuid_util.obj recog_amd.obj recog_arm.obj recog_centaur.obj recog_intel.obj rdcpuid.obj rdtsc.obj libcpuid.lib: $(OBJECTS) diff --git a/libcpuid/libcpuid.dsp b/libcpuid/libcpuid.dsp index add44a9..85bcdc7 100644 --- a/libcpuid/libcpuid.dsp +++ b/libcpuid/libcpuid.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D VERSION=\"0.6.5\" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D VERSION=\"0.7.0\" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe @@ -64,7 +64,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D VERSION=\"0.6.5\" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D VERSION=\"0.7.0\" /YX /FD /GZ /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe diff --git a/libcpuid/libcpuid.h b/libcpuid/libcpuid.h index 2e5bab6..63c091f 100644 --- a/libcpuid/libcpuid.h +++ b/libcpuid/libcpuid.h @@ -29,7 +29,7 @@ * \file libcpuid.h * \author Veselin Georgiev * \date Oct 2008 - * \version 0.6.5 + * \version 0.7.0 * * Version history: * @@ -79,6 +79,10 @@ * fix build for NetBSD and DragonFly BSD. * * 0.6.5 (2024-04-28): A lot of DB updates, support heterogeneous RAW dumps in cpu_identify_all(), * detection of LP E-Cores for Intel CPUs. + * * 0.7.0 (2024-08-26): A lot of DB updates, add cpu_clock_by_tsc() function, + * add support for ARM CPUs, add cpu_feature_level_t enumerated values, + * add more fields in cpu_raw_data_t (amd_fn80000026h, arm_*), + * detect x2APIC and AVX512 features for AMD x86 CPUs. */ /** @mainpage A simple libcpuid introduction diff --git a/libcpuid/libcpuid_vc10.vcxproj b/libcpuid/libcpuid_vc10.vcxproj index df54914..4e7de71 100644 --- a/libcpuid/libcpuid_vc10.vcxproj +++ b/libcpuid/libcpuid_vc10.vcxproj @@ -102,7 +102,7 @@ Disabled - WIN32;_DEBUG;_LIB;VERSION="0.6.5";%(PreprocessorDefinitions) + WIN32;_DEBUG;_LIB;VERSION="0.7.0";%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -117,7 +117,7 @@ Disabled - WIN32;_DEBUG;_LIB;VERSION="0.6.5";%(PreprocessorDefinitions) + WIN32;_DEBUG;_LIB;VERSION="0.7.0";%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -130,7 +130,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.6.5";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.7.0";%(PreprocessorDefinitions) MultiThreaded @@ -142,7 +142,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.6.5";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.7.0";%(PreprocessorDefinitions) MultiThreaded @@ -157,7 +157,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.6.5";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.7.0";%(PreprocessorDefinitions) MultiThreaded @@ -169,7 +169,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.6.5";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.7.0";%(PreprocessorDefinitions) MultiThreaded diff --git a/libcpuid/libcpuid_vc71.vcproj b/libcpuid/libcpuid_vc71.vcproj index e9cad0d..ce592f1 100644 --- a/libcpuid/libcpuid_vc71.vcproj +++ b/libcpuid/libcpuid_vc71.vcproj @@ -19,7 +19,7 @@