diff --git a/CMakeLists.txt b/CMakeLists.txt index ed11047..abba1df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.13) -set(VERSION "0.7.1") -set(LIBCPUID_CURRENT 17) -set(LIBCPUID_AGE 0) -set(LIBCPUID_REVISION 1) +set(VERSION "0.8.0") +set(LIBCPUID_CURRENT 18) +set(LIBCPUID_AGE 1) +set(LIBCPUID_REVISION 0) project( cpuid LANGUAGES C ASM_MASM diff --git a/ChangeLog b/ChangeLog index 61b377f..d24a0d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -227,3 +227,28 @@ Version 0.7.1 (2024-11-30): * Fix detection of Intel Meteor Lake * Support for Intel Arrow Lake * Support for AMD Turin + +Version 0.8.0 (2025-05-04): + * A backwards-incompatible change, since the sizeof cpu_raw_data_t and + cpu_id_t are now different. + * Fix a typo in string (#208) + * Support for AMD Turin Dense + * Simplify exec_cpuid() to use constraints (#209) + * Use HW_NCPUONLINE in get_total_cpus() for OpenBSD/NetBSD (#210) + * Implement cpu_clock_by_os() for OpenBSD (#211) + * Support Intel Lunar Lake + * Support Intel Twin Lake + * Support Intel Alder Lake-PS + * Support more Intel Raptor Lake ("Intel Processor", "Xeon E") + * Support Intel Raptor Lake-U Refresh + * Support Intel Raptor Lake-U/H Re-refresh + * Support Intel Arrow Lake-U/H + * Fix warning during build on OpenBSD about strcpy() + * Refactored internal struct match_entry_t for x86 CPUs to fix truncation issues (#212) + * Add technology_node field to struct cpu_id_t + * Support more ARM CPUs + * Support ARMv9.5-A CPUs (new value FEATURE_LEVEL_ARM_V9_5_A for cpu_feature_level_t) + * Massive DB updates for almost all Intel and AMD CPUs along with more test data + * Return ERR_BADFMT during raw deserialization if cpu_raw_data_t is empty + * Support another type of header for raw deserialization + * Support Intel Granite Rapids-SP diff --git a/configure.ac b/configure.ac index 8c43a77..e1ac512 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libcpuid CPU Identification library], [0.7.1], [libcpuid-devel@lists.sourceforge.net], [libcpuid]) +AC_INIT([libcpuid CPU Identification library], [0.8.0], [libcpuid-devel@lists.sourceforge.net], [libcpuid]) AC_CONFIG_SRCDIR([libcpuid/libcpuid.h]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -33,9 +33,10 @@ dnl 16:0:4 Version 0.6.4: DB updates, fixes, support for Centaur CPUs (VIA and dnl 16:0:5 Version 0.6.5: DB updates, various improvements, detection of LP E-Cores for Intel CPUs 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_*) dnl 17:0:1 Version 0.7.1: DB updates, fixes -LIBCPUID_CURRENT=17 -LIBCPUID_AGE=0 -LIBCPUID_REVISION=1 +dnl 18:1:0 Version 0.8.0: major DB updates, fixes, add more fields cpu_id_t (technology_node), add more fields in cpu_raw_data_t (ID_AA64DFR2_EL1, ID_AA64FPFR0_EL1, ID_AA64ISAR3_EL1), support ARMv9.5-A +LIBCPUID_CURRENT=18 +LIBCPUID_AGE=1 +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 bd61cc3..ab75ad2 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.7.1\"" +DEFINES = /D "VERSION=\"0.8.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 1854330..45c6793 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.7.1\"" +DEFINES = /D "VERSION=\"0.8.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 dda05b6..2d5dd0c 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.7.1\" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D VERSION=\"0.8.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.7.1\" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D VERSION=\"0.8.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 d845510..a2cdf10 100644 --- a/libcpuid/libcpuid.h +++ b/libcpuid/libcpuid.h @@ -29,7 +29,7 @@ * \file libcpuid.h * \author Veselin Georgiev * \date Oct 2008 - * \version 0.7.1 + * \version 0.8.0 * * Version history: * @@ -84,6 +84,10 @@ * add more fields in cpu_raw_data_t (amd_fn80000026h, arm_*), * detect x2APIC and AVX512 features for AMD x86 CPUs. * * 0.7.1 (2024-11-30): A lot of DB updates, fix build on ARM platforms. + * * 0.8.0 (2025-05-04): A lot of major DB updates, fixes, + * add more fields cpu_id_t (technology_node), + * add more fields in cpu_raw_data_t (ID_AA64DFR2_EL1, ID_AA64FPFR0_EL1, ID_AA64ISAR3_EL1), + * support ARMv9.5-A (FEATURE_LEVEL_ARM_V9_5_A in cpu_feature_level_t and more CPU_FEATURE in cpu_feature_t). */ /** @mainpage A simple libcpuid introduction diff --git a/libcpuid/libcpuid_vc10.vcxproj b/libcpuid/libcpuid_vc10.vcxproj index f22068b..619db90 100644 --- a/libcpuid/libcpuid_vc10.vcxproj +++ b/libcpuid/libcpuid_vc10.vcxproj @@ -102,7 +102,7 @@ Disabled - WIN32;_DEBUG;_LIB;VERSION="0.7.1";%(PreprocessorDefinitions) + WIN32;_DEBUG;_LIB;VERSION="0.8.0";%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -117,7 +117,7 @@ Disabled - WIN32;_DEBUG;_LIB;VERSION="0.7.1";%(PreprocessorDefinitions) + WIN32;_DEBUG;_LIB;VERSION="0.8.0";%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -130,7 +130,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.7.1";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.8.0";%(PreprocessorDefinitions) MultiThreaded @@ -142,7 +142,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.7.1";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.8.0";%(PreprocessorDefinitions) MultiThreaded @@ -157,7 +157,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.7.1";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.8.0";%(PreprocessorDefinitions) MultiThreaded @@ -169,7 +169,7 @@ - WIN32;NDEBUG;_LIB;VERSION="0.7.1";%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;VERSION="0.8.0";%(PreprocessorDefinitions) MultiThreaded diff --git a/libcpuid/libcpuid_vc71.vcproj b/libcpuid/libcpuid_vc71.vcproj index 00923f2..a2dfe63 100644 --- a/libcpuid/libcpuid_vc71.vcproj +++ b/libcpuid/libcpuid_vc71.vcproj @@ -19,7 +19,7 @@