1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2024-11-30 23:05:48 +00:00
Commit graph

770 commits

Author SHA1 Message Date
FrankXie
a7d5f29ace [MSVC] Replace #warning with compatible directives for MSVC 2024-11-26 11:15:05 +01:00
dependabot[bot]
391b168a49 Bump dawidd6/action-download-artifact from 3 to 6 in /.github/workflows
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3 to 6.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v3...v6)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-26 11:02:16 +01:00
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