1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2025-10-03 11:01:30 +00:00
Commit graph

535 commits

Author SHA1 Message Date
The Tumultuous Unicorn Of Darkness
44ba0e69a0
DB: add AMD Turin Dense
Related to InstLatx64/InstLatx64@6b10282fa6
2025-02-23 10:52:15 +01:00
Barak A. Pearlmutter
817e453e27 typo in string 2024-12-08 14:52:01 +01:00
The Tumultuous Unicorn Of Darkness
2b84c1ff02
Release version 0.7.1 2024-11-30 15:34:57 +01:00
The Tumultuous Unicorn Of Darkness
43be84460c
DB: add AMD Turin 2024-11-30 12:32:41 +01:00
The Tumultuous Unicorn Of Darkness
15cbda31bd
DB: add Intel Arrow Lake 2024-11-30 12:22:10 +01:00
The Tumultuous Unicorn Of Darkness
d5a82d6f64
DB: use correct _intel_model_t enum value for Meteor Lake CPUs 2024-11-30 12:18:41 +01:00
FrankXie
a7d5f29ace [MSVC] Replace #warning with compatible directives for MSVC 2024-11-26 11:15:05 +01:00
The Tumultuous Unicorn Of Darkness
7770fffb6a
Fix build error on AArch64 when HWCAP_CPUID is not defined
Fix #205
2024-10-04 12:54:42 +02:00
The Tumultuous Unicorn Of Darkness
a0f07b8b26
Return ERR_NO_CPUID when cpuid kernel module cannot be used on AArch32 state 2024-08-30 15:15:22 +02:00
The Tumultuous Unicorn Of Darkness
9574313a76
Release version 0.7.0 2024-08-26 11:05:12 +02:00
The Tumultuous Unicorn Of Darkness
3b8b7dfaf8
Detect x2APIC and AVX512 for AMD CPUs and update tests
AVX512 is supported since Zen 4, meaning all Zen 4 CPUs are x86-64-v4.
x2APIC and AVX512 are present in 'Processor Programming Reference (PPR) for AMD Family 19h Model 11h, Revision B1'.
2024-08-25 20:49:56 +02:00
The Tumultuous Unicorn Of Darkness
a9ec98f2bf
DB: add AMD Granite Ridge 2024-08-25 20:09:32 +02:00
The Tumultuous Unicorn Of Darkness
b2bbc1ed23
DB: add AMD Strix Point 2024-08-25 20:01:30 +02:00
The Tumultuous Unicorn Of Darkness
0d8cf47ee4
Fix strings truncation warnings
recog_arm.c: In function 'cpuid_identify_arm':
recog_arm.c:2548:9: warning: 'strncpy' specified bound 16 equals destination size [-Wstringop-truncation]
 2548 |         strncpy(data->vendor_str,   hw_impl->name,     VENDOR_STR_MAX);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recog_arm.c:2549:9: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation]
 2549 |         strncpy(data->brand_str,    id_part->name,     BRAND_STR_MAX);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recog_arm.c:2550:9: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation]
 2550 |         strncpy(data->cpu_codename, id_part->codename, CODENAME_STR_MAX);
2024-08-25 16:48:32 +02:00
The Tumultuous Unicorn Of Darkness
656ea52909
Add missing source files in build systems 2024-08-25 16:48:25 +02:00
Pavol Žáčik
6c87edab5a Remove CPU_ prefix from x86 cpu_feature_level_t enum options
This makes the option names of cpu_feature_level_t consistent
and it also makes it easier to list options of the cpu_feature_t
enum just by their prefix (because it now doesn't collide with
the prefix of cpu_feature_level_t options).
2024-08-25 12:43:29 +02:00
The Tumultuous Unicorn Of Darkness
6b87429dc5
Rename error variable in cpu_request_core_type() for consistency 2024-08-04 15:13:45 +02:00
The Tumultuous Unicorn Of Darkness
673f4e45ff
Improve error handling in cpu_identify_all() 2024-08-04 15:13:45 +02:00
The Tumultuous Unicorn Of Darkness
8f6b84d86c
Fix SEGFAULT in debugf() when using --quiet
The `--quiet` option calls `cpuid_set_warn_function(NULL)`, but debugf() was not checking if _warn_fun is defined unlike warnf()
2024-08-04 15:13:26 +02:00
The Tumultuous Unicorn Of Darkness
afbc2e5a4a
Hide a warning
/home/runner/work/libcpuid/libcpuid/libcpuid/cpuid_main.c:450:44: warning: unused parameter 'logical_cpu' [-Wunused-parameter]
static bool set_cpu_affinity(logical_cpu_t logical_cpu)
2024-08-03 12:38:19 +02:00
The Tumultuous Unicorn Of Darkness
543c3ac17d
Fix scanf() format for 'logical_cpu' in cpuid_deserialize_raw_data_internal()
logical_cpu is an uint16_t, so SCNu16 is the correct format. It was providing strange values with SCNi16, like with the Intel® Xeon® Platinum 8280 dump.
2024-07-31 15:12:30 +02:00
The Tumultuous Unicorn Of Darkness
25c83f0d0b
Provide raw for logical CPU 0 in cpuid_get_raw_data_core() even if set_cpu_affinity() is not supported
On OpenBSD, set_cpu_affinity() is not supported, so cpuid_get_raw_data_core() always returns ERR_INVCNB.
This commit allows to provide raw data for at least one CPU core.
2024-07-27 17:45:05 +02:00
The Tumultuous Unicorn Of Darkness
00b7081035
Do not set 'with_affinity' in cpu_raw_data_array_t_constructor() when set_cpu_affinity() is not supported 2024-07-27 17:41:58 +02:00
The Tumultuous Unicorn Of Darkness
508225fe3f
Fix build on OpenBSD
There are declaration conflicts between ctype.h and libcpuid_internal.h. Let's provide a workaround for it.
2024-07-27 17:39:48 +02:00
The Tumultuous Unicorn Of Darkness
2133c22052
Improve set_cpu_affinity() on NetBSD
By default, running libcpuid as regular user on NetBSD shows nothing: set_cpu_affinity() fails quietly so cpu_identify_all() is not able to get raw data.
This commit display a warning when an unallowed user try to set CPU affinity.
2024-07-27 13:25:08 +02:00
The Tumultuous Unicorn Of Darkness
3c37492b93
Support get_total_cpus() on DragonFly BSD
Tested on DragonFly BSD 6: it works as expected.
2024-07-27 12:00:23 +02:00
The Tumultuous Unicorn Of Darkness
505c8b5fe6
Improve errors handling in cpuid_get_all_raw_data() and cpuid_get_raw_data_core()
Close #202
2024-07-26 11:57:11 +02:00
The Tumultuous Unicorn Of Darkness
52efefbb7d
CMake: harmonizes options 2024-07-10 20:56:38 +02:00
The Tumultuous Unicorn Of Darkness
4d6cc787fe
rdcpuid: handle errors 2024-07-10 20:18:03 +02:00
The Tumultuous Unicorn Of Darkness
ea462f761f
Move Windows MSR driver to a new directory
The idea is to have add new drivers for ARM CPUs
2024-07-09 19:02:39 +02:00
The Tumultuous Unicorn Of Darkness
7b6047c2ac
Extract both AArch32 and AArch64 registers on AArch64 2024-07-09 18:17:54 +02:00
The Tumultuous Unicorn Of Darkness
a4c97cd1e7
Remove ARM64 registers definition
Moved to libcpuid_arm_driver.h in 0f0b1e6060
2024-07-08 21:58:34 +02:00
The Tumultuous Unicorn Of Darkness
9b9f9e2faa
Disable is_aarch64_mode() for now
Function is not used.
2024-07-08 21:53:49 +02:00
The Tumultuous Unicorn Of Darkness
0f0b1e6060
Add rdcpuid interface for kernel drivers on ARM CPUs 2024-07-08 21:53:26 +02:00
The Tumultuous Unicorn Of Darkness
6e6b4bcbf5
Set a dummy cpu_exec_mrs() macro when inline ASM is not supported
Fix #201
2024-07-08 21:44:02 +02:00
The Tumultuous Unicorn Of Darkness
c5d9b387d1
Improve ARM core ID identification and add cpuid_get_raw_data_core() 2024-07-07 17:48:41 +02:00
The Tumultuous Unicorn Of Darkness
ea9ada7118
Add initial support for ARM CPUs running in AArch32 mode
Related to #96
Kernel modules to access AArch32 registers will be added in a separate commit.
2024-07-07 16:47:59 +02:00
The Tumultuous Unicorn Of Darkness
7b0e6ba085
Put back correct fprintf() format in cpuid_serialize_raw_data_internal()
%08 and %016 removed by mistake in 10bac35920
2024-07-03 19:36:56 +02:00
The Tumultuous Unicorn Of Darkness
1bc636e2cf
Print a warning for unsupported CPU architectures
The goal is to warn people trying to build libcpuid on PPC, MIPS, RISC-V and so on.
2024-07-01 15:11:21 +02:00
The Tumultuous Unicorn Of Darkness
2dcd347807
Update docs 2024-07-01 11:00:06 +02:00
The Tumultuous Unicorn Of Darkness
48f82ab05a
Tests: do not print warnings 2024-06-30 20:05:10 +02:00
The Tumultuous Unicorn Of Darkness
7b87858dc2
Fix register type for match_arm_features()
D:\a\libcpuid\libcpuid\libcpuid\recog_arm.c(890,3): warning C4244: 'function': conversion from 'uint64_t' to 'uint32_t', possible loss of data [D:\a\libcpuid\libcpuid\libcpuid\libcpuid_vc10.vcxproj]

Indeed, it was an issue.
2024-06-30 20:04:35 +02:00
The Tumultuous Unicorn Of Darkness
10bac35920
Fix warnings about sscanf() and printf() formats
I do not have them on GCC (Linux x86_64), but it complains on macOS and Windows according to CI: https://github.com/anrieff/libcpuid/actions/runs/9731746775/job/26856558997
inttypes seems to be a better portable way to handle type like uint64_t.
2024-06-30 19:54:21 +02:00
The Tumultuous Unicorn Of Darkness
7456289072
Do not warn about deprecated declarations in cpu_ident_internal() 2024-06-30 13:51:50 +02:00
The Tumultuous Unicorn Of Darkness
c6a72849b8
Allow to build libcpuid without deprecated attributes
It helps to track internal usage of deprecated attributes.
2024-06-30 12:38:22 +02:00
The Tumultuous Unicorn Of Darkness
ef988303ae
Fix consistency 2024-06-29 19:01:41 +02:00
The Tumultuous Unicorn Of Darkness
23b6674ba1
Fill CPU purpose for AMD in cpuid_identify_amd() 2024-06-29 17:45:36 +02:00
The Tumultuous Unicorn Of Darkness
f3c6b8f1ef
Support for Extended CPU topology leaf in cpuid_identify_purpose_amd() 2024-06-29 17:35:44 +02:00
The Tumultuous Unicorn Of Darkness
e78f12464b
Add support for AMD leaf 80000026h 2024-06-29 17:35:33 +02:00
The Tumultuous Unicorn Of Darkness
959edc34e7
Add cpu_feature_level_t enumerated values for x86 CPUs
I had to fix run_tests.py to update all test files properly.
Fix #177
2024-06-29 17:01:50 +02:00