HyperDbg Debugger
Loading...
Searching...
No Matches
Vpid.c File Reference

VPID Implementations. More...

#include "pch.h"

Functions

_Use_decl_annotations_ VOID VpidInvvpid (INVVPID_TYPE Type, INVVPID_DESCRIPTOR *Descriptor)
 INVVPID Instruction.
 
_Use_decl_annotations_ VOID VpidInvvpidIndividualAddress (UINT16 Vpid, UINT64 LinearAddress)
 INVVPID instruction to invalidate a special address.
 
VOID VpidInvvpidSingleContext (UINT16 Vpid)
 INVVPID Single Context.
 
VOID VpidInvvpidAllContext ()
 INVVPID All Contexts.
 
VOID VpidInvvpidSingleContextRetainingGlobals (UINT16 Vpid)
 INVVPID Single Context Retaining Globals.
 

Detailed Description

VPID Implementations.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.1
Date
2020-04-11

Function Documentation

◆ VpidInvvpid()

_Use_decl_annotations_ VOID VpidInvvpid ( INVVPID_TYPE Type,
INVVPID_DESCRIPTOR * Descriptor )

INVVPID Instruction.

Parameters
Type
Descriptor
Returns
VOID
24{
25 INVVPID_DESCRIPTOR * TargetDescriptor = NULL;
26 INVVPID_DESCRIPTOR ZeroDescriptor = {0};
27
28 if (!Descriptor)
29 {
30 TargetDescriptor = &ZeroDescriptor;
31 }
32 else
33 {
34 TargetDescriptor = Descriptor;
35 }
36
37 AsmInvvpid(Type, TargetDescriptor);
38}
unsigned char AsmInvvpid(unsigned long Type, void *Descriptors)
INVVPID wrapper.
NULL()
Definition test-case-generator.py:530

◆ VpidInvvpidAllContext()

VOID VpidInvvpidAllContext ( )

INVVPID All Contexts.

Returns
VOID
75{
76 VpidInvvpid(InvvpidAllContext, NULL);
77}
_Use_decl_annotations_ VOID VpidInvvpid(INVVPID_TYPE Type, INVVPID_DESCRIPTOR *Descriptor)
INVVPID Instruction.
Definition Vpid.c:23

◆ VpidInvvpidIndividualAddress()

_Use_decl_annotations_ VOID VpidInvvpidIndividualAddress ( UINT16 Vpid,
UINT64 LinearAddress )

INVVPID instruction to invalidate a special address.

Parameters
Vpid
LinearAddress
Returns
VOID
50{
51 INVVPID_DESCRIPTOR Descriptor = {Vpid, 0, 0, LinearAddress};
52 VpidInvvpid(InvvpidIndividualAddress, &Descriptor);
53}

◆ VpidInvvpidSingleContext()

VOID VpidInvvpidSingleContext ( UINT16 Vpid)

INVVPID Single Context.

Parameters
Vpid
Returns
VOID
63{
64 INVVPID_DESCRIPTOR Descriptor = {Vpid, 0, 0, 0};
65 VpidInvvpid(InvvpidSingleContext, &Descriptor);
66}

◆ VpidInvvpidSingleContextRetainingGlobals()

VOID VpidInvvpidSingleContextRetainingGlobals ( UINT16 Vpid)

INVVPID Single Context Retaining Globals.

Parameters
Vpid
Returns
VOID
87{
88 INVVPID_DESCRIPTOR Descriptor = {Vpid, 0, 0, 0};
89 VpidInvvpid(InvvpidSingleContextRetainingGlobals, &Descriptor);
90}