The Tumultuous Unicorn Of Darkness
eaa37ce5b6
[CMake] force 'make' usage to build kernel module
...
It fails when CMake uses Ninja
2024-10-07 11:07:45 +02: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
Pavol Žáčik
bcd2dea9ee
Python: Do not fail sanity tests if current CPU is unsupported
2024-09-02 10:27:30 +02:00
Pavol Žáčik
20fbc35374
Python: Refactor the build of the bindings
...
When building the binding, link the dynamic
C library as built by `make` instead of linking
the system-installed C library. This simplifies
packaging in Linux distributions and also the
build of the live docs.
2024-09-02 10:27:30 +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
b121830b44
Tests: fix missing 'arch' field during test creation
...
Mistake done in 3b8b7dfaf8
.
2024-08-29 16:44:32 +02:00
The Tumultuous Unicorn Of Darkness
4d4e342a4e
Tests: add ARM Cortex A72
...
From my Raspberry Pi 4 Model B Rev 1.1 running in AArch32 mode.
2024-08-29 16:42:07 +02:00
The Tumultuous Unicorn Of Darkness
04edb80169
Drivers: fix cpuid kernel module build on ARM
2024-08-29 13:08:46 +02:00
The Tumultuous Unicorn Of Darkness
ddb834787c
Add Nix to the list of projects in Readme.md
2024-08-26 14:12:29 +02:00
The Tumultuous Unicorn Of Darkness
06c5985dcb
[CI] fix Windows x86_64 artifacts path
2024-08-26 11:24:51 +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
39506501d5
Tests: fix the --fix option
...
--fix was removing delimiters from real output, but there are required.
2024-08-25 21:05:36 +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
ca5e1e399d
Tests: add more AMD Raphael
2024-08-25 20:16:19 +02:00
The Tumultuous Unicorn Of Darkness
0438cbaae5
Tests: add more AMD Vermeer
2024-08-25 20:16:04 +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
The Tumultuous Unicorn Of Darkness
a483748856
Update Readme.md
2024-08-25 12:45:57 +02:00
Pavol Žáčik
9915832b21
Add simple sanity tests of the Python bindings
...
And include them in the CI together with pylint
and formatting checks.
2024-08-25 12:43:29 +02:00
Pavol Žáčik
ec938b5d42
Document the Python bindings using Sphinx
...
Additionally, setup the documentation for
deployment to Read The Docs.
2024-08-25 12:43:29 +02:00
Pavol Žáčik
40e2d5fcb6
Add Python bindings
...
The bindings are implemented via python-cffi and cover all
current functionality of the library. They do not provide
a 1-to-1 mapping of the functionality, but a more "Pythonic"
API instead.
When new functionality is added to the libcpuid library
in the future, the changes must be manually added to the
bindings in order to appear in the Python interface.
However, if only a C enum is extended, the changes will
be automatically reflected in the Python interface.
2024-08-25 12:43:29 +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
ddd5868577
CI: cancel previous jobs in the group
...
https://stackoverflow.com/a/72408109
2024-08-03 12:34:49 +02:00
The Tumultuous Unicorn Of Darkness
d86097846b
Update status badges with URL in README.md
2024-08-03 12:31:23 +02:00
The Tumultuous Unicorn Of Darkness
ee3543f95b
Improve OS array in README.md
2024-08-03 12:28:08 +02:00
The Tumultuous Unicorn Of Darkness
cec3e8cacc
CI: set run shell for *BSD
...
/usr/local/bin/bash is a wrapper around 'vagrant ssh' using Bash
2024-08-03 12:25:27 +02:00
The Tumultuous Unicorn Of Darkness
7a03559d3a
CI: add a build job for NetBSD
2024-08-03 12:22:44 +02:00
The Tumultuous Unicorn Of Darkness
f7c8cac3e2
CI: update action for *BSD
2024-08-02 16:52:43 +02:00
The Tumultuous Unicorn Of Darkness
6a189f5245
CI: update workflow filename for release
2024-07-31 19:50:56 +02:00
The Tumultuous Unicorn Of Darkness
50cca6ac1a
CI: add a build job for OpenBSD
2024-07-31 19:50:37 +02:00
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