HyperDbg Debugger
Toggle main menu visibility
Loading...
Searching...
No Matches
platform-intrinsics.h
Go to the documentation of this file.
1
12
#pragma once
13
14
#if defined(__linux__)
15
# include "
../../../../include/SDK/HyperDbgSdk.h
"
16
#endif
// defined(__linux__)
17
19
// CPUID Instructions //
21
22
//
23
// CPUID
24
//
25
VOID
26
CpuCpuId
(
INT32
* CpuInfo,
INT32
FunctionId);
27
28
//
29
// CPUID (with sub-leaf)
30
//
31
VOID
32
CpuCpuIdEx
(
INT32
* CpuInfo,
INT32
FunctionId,
INT32
SubFunctionId);
33
35
// TSC Instructions //
37
38
//
39
// RDTSC
40
//
41
UINT64
42
CpuReadTsc
(VOID);
43
44
//
45
// RDTSCP
46
//
47
UINT64
48
CpuReadTscp
(
UINT32
* Aux);
49
51
// Misc Instructions //
53
54
//
55
// PAUSE
56
//
57
VOID
58
CpuPause
(VOID);
59
61
// Interlocked (Atomic) Operations //
63
64
INT64
65
CpuInterlockedExchange64
(INT64
volatile
* Target, INT64
Value
);
66
67
INT64
68
CpuInterlockedExchangeAdd64
(INT64
volatile
* Addend, INT64
Value
);
69
70
INT64
71
CpuInterlockedIncrement64
(INT64
volatile
* Addend);
72
73
INT64
74
CpuInterlockedDecrement64
(INT64
volatile
* Addend);
75
76
INT64
77
CpuInterlockedCompareExchange64
(INT64
volatile
* Destination, INT64 ExChange, INT64 Comparand);
78
79
UCHAR
80
CpuInterlockedBitTestAndSet
(
volatile
LONG
* Base,
LONG
Bit);
INT32
signed int INT32
Definition
BasicTypes.h:50
LONG
long LONG
Definition
BasicTypes.h:28
UCHAR
unsigned char UCHAR
Definition
BasicTypes.h:34
UINT32
unsigned int UINT32
Definition
BasicTypes.h:54
HyperDbgSdk.h
Value
RequestedActionOfThePacket Value(0x1) 00000000
CpuReadTsc
UINT64 CpuReadTsc(VOID)
Read Time-Stamp Counter.
Definition
PlatformIntrinsics.c:295
CpuPause
VOID CpuPause(VOID)
Execute PAUSE (spin-wait hint).
Definition
PlatformIntrinsics.c:523
CpuInterlockedCompareExchange64
INT64 CpuInterlockedCompareExchange64(INT64 volatile *Destination, INT64 ExChange, INT64 Comparand)
Atomic 64-bit compare-exchange.
Definition
PlatformIntrinsics.c:396
CpuCpuIdEx
VOID CpuCpuIdEx(INT32 *CpuInfo, INT32 FunctionId, INT32 SubFunctionId)
Execute CPUID with sub-leaf.
Definition
PlatformIntrinsics.c:274
CpuInterlockedDecrement64
INT64 CpuInterlockedDecrement64(INT64 volatile *Addend)
Atomic 64-bit decrement.
Definition
PlatformIntrinsics.c:381
CpuInterlockedExchangeAdd64
INT64 CpuInterlockedExchangeAdd64(INT64 volatile *Addend, INT64 Value)
Atomic 64-bit exchange-add.
Definition
PlatformIntrinsics.c:351
CpuInterlockedIncrement64
INT64 CpuInterlockedIncrement64(INT64 volatile *Addend)
Atomic 64-bit increment.
Definition
PlatformIntrinsics.c:366
CpuCpuId
VOID CpuCpuId(INT32 *CpuInfo, INT32 FunctionId)
Execute CPUID.
Definition
PlatformIntrinsics.c:255
CpuReadTscp
UINT64 CpuReadTscp(UINT32 *Aux)
Read Time-Stamp Counter and Processor ID.
Definition
PlatformIntrinsics.c:315
CpuInterlockedExchange64
INT64 CpuInterlockedExchange64(INT64 volatile *Target, INT64 Value)
Atomic 64-bit exchange.
Definition
PlatformIntrinsics.c:336
CpuInterlockedBitTestAndSet
UCHAR CpuInterlockedBitTestAndSet(volatile LONG *Base, LONG Bit)
Definition
platform-intrinsics.c:190
hyperdbg
include
platform
user
header
platform-intrinsics.h
Generated by
1.17.0