Commit graph

64 commits

Author SHA1 Message Date
Max Raulea
2f59ad7c70 Kernel Module now Links and compiles!!
The kernel module now links and compiles, there are still a lot of empty
TODOs left, there are empty stubs for hypertrace, assembly files and
kdserial etc. these can be introduced one by one. My first step will be
loading the kernel module from the userspace cli.

Big step forward! :)
2026-08-24 11:20:24 +02:00
Max Raulea
95389e46df A lot of platform function swaps and left hyperevade out of the build
Created a lot of new platform wrappers for windows only functions
also removed hyperevade from the linux module build and added a empty
stub for the transparent functions they provide which can be filled in
later.
2026-08-23 14:18:12 +02:00
Nikzad
2dfbf46e51 c/cpp files 2026-08-06 21:13:03 +03:30
Nikzad
0564b729c9 kernel: implement CPUID command handling in kernel mode- Add DebuggerCommandCpuid() for CPUID execution
- Implement IOCTL_DEBUGGER_CPUID handler
- Fill CPUID response with register values and leaf data
- Add max sub-leaf detection for some special leaves like 0x4, 0xB and...
- Add SGX support detection via leaf 7
2026-07-19 18:12:45 +03:30
sina
5bccbff58b fix IPT kernel structure based on the new model
Some checks are pending
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
2026-07-01 19:44:15 +02:00
Masoud Rahimi Jafari
dabf132d31 Fixed ioctl pt operation size bug 2026-06-14 16:29:26 +02:00
sina
df12e9fd79 Fix adding missing IOCTL for Intel PT 2026-06-10 23:56:36 +02:00
Sina Karvandi
b38b43eef9
Merge branch 'dev' into feat/intel-pt-integration 2026-06-10 23:14:26 +02:00
sina
cd52174d82 fix and remove unused VMM callbacks 2026-06-09 15:04:20 +02:00
sina
bb3b09beb9 replace VMM callbacks 2026-06-09 01:37:48 +02:00
sina
aa09f9cde3 check to unload the trace module before unloading vmm 2026-06-06 23:45:18 +02:00
sina
0aedc66ed0 add load and unload hyper trace module 2026-06-06 17:18:14 +02:00
sina
2cd620b521 move IRP closing to basic IOCTLs 2026-06-05 18:29:00 +02:00
Masoud Rahimi Jafari
2dc1a26f1c Added user app example for pt tracing 2026-06-04 01:55:42 +02:00
sina
adfe5f7d14 uninit VMM and KD separately 2026-06-04 00:55:05 +02:00
sina
b6b8320518 moving pool mananger from hyperhv to hyperkd 2026-06-04 00:06:41 +02:00
sina
0a874d31a9 create multiple IOCTL handlers for different modules 2026-06-02 14:04:47 +02:00
sina
cb5a83096d load trace module 2026-05-28 20:26:33 +02:00
sina
0a279b5dba check IOCTL to load VMM module 2026-05-27 20:21:21 +02:00
sina
167931fc01 load the vmm module over IOCTL instead of CreateFile 2026-05-26 19:52:04 +02:00
sina
81f3d9f3d2 export HyperTrace LBR support and capacity function to the VMM and HyperEvade module
Some checks failed
vs2022-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2022-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2022-ci / Deploy release (push) Has been cancelled
2026-05-26 16:41:23 +02:00
sina
5fb797c201 fix output buffer IOCTL checks for WRMSR 2026-05-17 20:18:36 +02:00
sina
1369aa777b refactor IOCTL codes 2026-05-17 17:07:59 +02:00
sina
09416e7fe1 add lbrdump command and sdk function 2026-05-04 00:29:54 +02:00
sina
aa80cd9d6b Apply all ARCH Based LBR controls on API level 2026-05-01 20:39:13 +02:00
sina
6f004f1ffd Add ARCH LBR functions from hypervisor 2026-05-01 18:40:39 +02:00
sina
af50093b9b apply LBR filters from VMX-root mode 2026-04-27 03:16:41 +02:00
sina
84f0fa0ed4 check for the VMX state independently from function arguments 2026-04-26 12:37:08 +02:00
sina
c6b6a8a3a0 add processor trace command 2026-04-25 22:46:55 +02:00
sina
e359911d60 add base structure for Intel PT 2026-04-25 21:42:17 +02:00
sina
3cbf328fee Restructure of the hypertrace project 2026-04-25 18:02:48 +02:00
sina
566d38c39a create dmp function to enable, disable, save, and dump LBR branches 2026-04-24 18:35:15 +02:00
sina
24875bda88 apply VM-exit and VM-entry load and save controls from VMCALLs 2026-04-23 16:42:34 +02:00
sina
f192c194df initialize the LBR based on hypervisor environment checks 2026-04-22 17:43:23 +02:00
sina
111bead68d check for hypervisor support of load and save VMCS exit and entry controls 2026-04-19 20:08:47 +02:00
sina
43cdab9821 broadcast LBR example to all cores 2026-04-19 19:20:18 +02:00
sina
2ad4fa56ee create separate example for LBR 2026-04-19 15:49:12 +02:00
sina
1b08f14add add cross VMCALLs for setting core-specific LBR state 2026-04-14 19:23:51 +02:00
sina
a1d30abdf2 remove VMX instructions from hypertrace in favor of linking to hyperhv callbacks 2026-04-14 17:53:54 +02:00
sina
201820376d enable and disable LBR separately from the HyperTrace module 2026-04-06 16:45:35 +02:00
sina
1dd73675e9 apply the LBR and HyperTrace initialization and operations 2026-04-06 01:05:59 +02:00
sina
2329fd3c19 add user mode side of initializing LBR 2026-04-05 22:56:59 +02:00
sina
91c558e43b
disable hypertrace callback by default 2026-02-11 18:17:09 +01:00
Hari Mishal
1924385156 Uncommented call to hypertrace in Loader.c and added dependencies (lbr.h, lbr.c) and code (tracing.c) to print lbr buffer. 2026-02-11 02:54:02 +01:00
sina
5a42d00a1f
Link hypertrace to hyperkd 2026-02-08 04:09:47 +01:00
unknown
a869065718 add support to the registers command to the user debugger 2025-08-31 01:53:29 +02:00
sina
c37ec6f3c0
apply command to the target thread from MBEC 2025-08-23 01:30:12 +02:00
copilot-swe-agent[bot]
8a5f696544 Fix grammar and spelling errors: perfrom->perform, occured->occurred, recieved->received
Co-authored-by: SinaKarvandi <13383992+SinaKarvandi@users.noreply.github.com>
2025-08-20 12:49:07 +00:00
sina
3961196112
add support for SMI related functionalities 2025-08-02 23:18:18 +02:00
sina
7ae6ad8e37
added kernel side support for putting breakpoint in the user debugger 2025-07-09 22:38:36 +02:00