1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2024-11-10 22:59:13 +00:00
Commit graph

732 commits

Author SHA1 Message Date
The Tumultuous Unicorn Of Darkness
f438aa3b40
CI: add a build job for DragonFly BSD 2024-07-31 19:48:56 +02:00
The Tumultuous Unicorn Of Darkness
fae9ec6b72
CI: update Linux+FreeBSD jobs 2024-07-31 16:39:42 +02:00
The Tumultuous Unicorn Of Darkness
b7940c7029
Fix a regression in cpuid_tool when ident_required=0 for arg
In 2b8023f733, I had to update the behavior of cpuid_tool to loop over all data.cpu_types items.
I did not realize since this change, it was not entering the loop for args with ident_required=0, because data.num_cpu_types was always 0, so print_info() was never called for such args.

In other words, args like --rdmsr or --cpuid did nothing due to this regression. This commit fix this regression.
2024-07-31 16:33:40 +02:00
The Tumultuous Unicorn Of Darkness
d31e2fd73b
CI: split UNIX job 2024-07-31 15:51:56 +02:00
The Tumultuous Unicorn Of Darkness
70559537c9
CI: add a build job for FreeBSD 2024-07-31 15:36:09 +02:00
The Tumultuous Unicorn Of Darkness
55ddd70513
CI: rename some jobs with better names 2024-07-31 15:33:28 +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
c6723aa914
Improve cpuid_tool behavior when cpu_types array is empty
It happens when cpuid_get_all_raw_data() cannot use set_cpu_affinity()
2024-07-27 13:33:55 +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
dec92af12f
Add README for CPUID kernel modules for ARM 2024-07-10 22:28:50 +02:00
The Tumultuous Unicorn Of Darkness
af5f267ba3
CI: update CMake option names
Related to 52efefbb7d
2024-07-10 22:02:50 +02:00
The Tumultuous Unicorn Of Darkness
66c4e22162
Ignore files generated by cpuid_tool 2024-07-10 21:57:20 +02:00
The Tumultuous Unicorn Of Darkness
4df61a58b2
Update supported CPU and OS in README.md 2024-07-10 21:56:29 +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
0d71be934e
Add cpuid FreeBSD kernel module for ARM CPUs 2024-07-10 20:17:10 +02:00
The Tumultuous Unicorn Of Darkness
371a9648d6
Add cpuid Linux kernel module for ARM CPUs 2024-07-10 20:16:19 +02:00
The Tumultuous Unicorn Of Darkness
fb4abf78bb
CMake: disable C++ compiler
libcpuid is written in C only, the C++ (CXX) compiler is not required
2024-07-10 16:53:19 +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
92bf72bf4d
Revert "CI: disable docs pipeline for now"
This reverts commit 334cbea0ae.

GitHut Pages actived
2024-07-01 09:46:38 +02:00
The Tumultuous Unicorn Of Darkness
bfe8383346
README: update URLs 2024-07-01 09:46:13 +02:00
The Tumultuous Unicorn Of Darkness
ca7f84676b
Tests: put back delimiter when fixing test files 2024-07-01 09:44:07 +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
2c42dba70a
Delete update_tests.sh
In fact, run_tests.py --fix can do the same thing.
2024-06-30 14:43:54 +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
549206f59e
README: minor fix 2024-06-30 13:50:35 +02:00
The Tumultuous Unicorn Of Darkness
6f02f1f416
Update README.md and add CONTRIBUTING.md
- update supported CPU architectures
- update build instructions
- move contributing to a dedicated page
2024-06-30 13:42:24 +02:00
The Tumultuous Unicorn Of Darkness
5134a23dc0
Remove useless files
AM_INIT_AUTOMAKE([foreign]) is set in configure.ac, so these files are not mandatory
2024-06-30 12:53:33 +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
e740cbe798
utils: move bump_version.sh 2024-06-29 19:03:09 +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