165 Commits

Author SHA1 Message Date
Andreas Abel
3980e61377 cpuBench support for EMR, MTL, and ZEN5 2025-06-08 21:39:09 +02:00
Andreas Abel
b3191d26c0 Workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=32813 2025-06-08 21:35:50 +02:00
Andreas Abel
08e351b7fb configs for EMR, MTL, and ARL 2025-05-18 16:22:49 +02:00
Andreas Abel
c7bce4bebc update CPUID 2025-05-17 20:48:06 +02:00
Andreas Abel
217c2c3307 compatibility with recent kernels 2025-03-04 00:43:51 +01:00
Andreas Abel
faf75236ca ranges 2023-03-12 13:48:05 +01:00
Andreas Abel
6fa0df0469 extended asm syntax 2023-01-09 17:25:41 +01:00
Andreas Abel
a7c8989664 Merge pull request #28 from bjzhjing/add-kernel-mode-fix
fix kernel mode crashing in Ubuntu 22.04
2022-12-10 20:09:24 +01:00
Cathy Zhang
e13f0aee33 fix kernel mode crashing in Ubuntu 22.04
While build nanoBench kernel module in Ubuntu 22.04, gcc is with
-mfunction-return=thunk-extern as default option. According to chapter
6.1.1 JMP2RET in the following reference:
https://www.amd.com/system/files/documents/\
technical-guidance-for-mitigating-branch-type-confusion.pdf
all 'ret' instructions are consolidated into a single piece of code.
Instead of functions ending with a 'ret' instruction, they instead end
with "jump __x86_return_thunk".

Since a 'jmp' instruction is provided instead of 'ret' at the end of
each function, it cause functions like create_runtime_code() copy much
more assembler code into runtime_code memory than it should during
runtime. Memory protection fault happens finally while running.

To address the above issue, option -mfunction-return=keep is provided
for kernel mode to overwrite the gcc default behavior in Ubuntu 22.04.
This can ensure function has 'ret' instruction generated.

Signed-off-by: Cathy Zhang <cathy.zhang@intel.com>
2022-12-06 21:48:56 -08:00
Andreas Abel
c157f74ded improved measurements 2022-12-05 17:11:28 +01:00
Andreas Abel
1ef0dc17dc fixes #26 2022-12-04 00:17:06 +01:00
Andreas Abel
88d021d86e update 2022-11-28 16:32:32 +01:00
Andreas Abel
09e6a3d6fc support for Zen4 2022-11-18 11:32:43 +01:00
Andreas Abel
b0d03d6ad7 memory initialization 2022-08-13 20:56:54 +02:00
Andreas Abel
0dcae1fc1e Zen3 fix 2022-04-28 00:05:02 +02:00
Andreas Abel
d3d4060be3 cycle-by-cycle measurements 2022-01-21 00:12:50 +01:00
Andreas Abel
7f7a7eb53a minor change 2022-01-20 23:21:10 +01:00
Andreas Abel
0ef60f2a59 filter output option 2022-01-20 16:27:58 +01:00
Andreas Abel
15b1ccb275 support for Tremont 2022-01-18 19:01:33 +01:00
Andreas Abel
5bffd03b71 support for Airmont 2022-01-18 02:52:42 +01:00
Andreas Abel
1bbedf2927 minor change 2022-01-17 16:51:56 +01:00
Andreas Abel
86f4a69813 minor fix 2022-01-16 20:40:36 +01:00
Andreas Abel
dfbd89b928 file ownerships 2022-01-15 17:57:28 +01:00
Andreas Abel
a148f95497 helper functions 2022-01-14 20:51:50 +01:00
Andreas Abel
c44e017398 support for Bonnell 2022-01-14 20:22:37 +01:00
Andreas Abel
52e601ebc5 support for Goldmont 2022-01-13 01:14:41 +01:00
Andreas Abel
12381d0324 format specifiers 2022-01-13 01:13:40 +01:00
Andreas Abel
40e764db45 refactoring 2022-01-12 23:21:00 +01:00
Andreas Abel
39f97457c6 improved drain_frontend 2022-01-12 20:33:09 +01:00
Andreas Abel
a1ad0fbf47 consistency 2022-01-12 17:14:49 +01:00
Andreas Abel
3330672330 improved counter configuration 2022-01-12 17:11:46 +01:00
Andreas Abel
73b5ac65e3 FP16 2022-01-11 23:16:44 +01:00
Andreas Abel
6e55106bf5 support for Goldmont Plus 2022-01-08 00:53:37 +01:00
Andreas Abel
9c12de2c70 FP16 2022-01-07 23:40:12 +01:00
Andreas Abel
2a767183a3 minor fixes 2022-01-03 22:26:54 +01:00
Andreas Abel
b156941b23 ADL cache 2022-01-03 22:25:26 +01:00
Andreas Abel
3e48d9d667 support for Alder Lake 2021-12-22 20:59:08 +01:00
Andreas Abel
632cbff848 interrupts 2021-12-22 20:43:57 +01:00
Andreas Abel
1b69fd34bd ADL fix 2021-12-18 19:49:37 +01:00
Andreas Abel
81914f9166 APIC interrupts 2021-12-11 00:51:31 +01:00
Andreas Abel
daf178a42b minor fix 2021-12-10 00:21:07 +01:00
Andreas Abel
8d2acc3b71 Alder Lake events 2021-12-09 16:14:08 +01:00
Andreas Abel
03f9ae5b26 extended cpuid 2021-12-09 16:13:14 +01:00
Andreas Abel
f09bd19032 compatibility with kernel 5.16 2021-12-08 23:36:28 +01:00
Andreas Abel
8b68e6aa6b events from 01.org 2021-12-08 22:01:44 +01:00
Andreas Abel
7a76d0e82d fix warnings 2021-11-26 02:10:05 +01:00
Andreas Abel
d6ceaf5db4 implicit index 2021-11-23 16:09:34 +01:00
Andreas Abel
6feb2a02bf extended drain_frontend 2021-11-19 18:30:16 +01:00
Andreas Abel
6e95fae6a5 fix 2021-11-17 19:00:39 +01:00
Andreas Abel
b1884b72bf update 2021-11-17 16:43:06 +01:00