48 ERROR(
"[ERROR] IntVirtMemMap failed for %llx: %08x\n", Gva, status);
133 DWORD remaining = Size;
145 ERROR(
"[ERROR] IntVirtMemMap failed for 0x%llx with status 0x%08x", secondPage, status);
157 memcpy(Buffer,
gMapping1 + Offset, toRead);
167 memcpy(Buffer,
gMapping1 + Offset, Size);
void IntLixFsrUninitMap(void)
Uninitialize the fast read mechanism.
INTSTATUS IntVirtMemUnmap(void **HostPtr)
Unmaps a memory range previously mapped with IntVirtMemMap.
QWORD SystemCr3
The Cr3 used to map the kernel.
#define INT_STATUS_SUCCESS
#define PAGE_REMAINING(addr)
static BYTE * gMapping2
The mapping point of the second page mapped.
#define INT_SUCCESS(Status)
int INTSTATUS
The status data type.
#define PAGE_COUNT(addr, bytes)
#define PAGE_FRAME_NUMBER(addr)
#define INT_STATUS_ALREADY_INITIALIZED
#define IS_KERNEL_POINTER_LIX(p)
#define INT_STATUS_NOT_INITIALIZED
INTSTATUS IntLixFsrInitMap(QWORD Gva)
Initialize the fast read mechanism.
__must_check INTSTATUS IntVirtMemMap(QWORD Gva, DWORD Length, QWORD Cr3, DWORD Flags, void **HostPtr)
Maps a guest virtual memory range inside Introcore virtual address space.
MM Mm
Guest memory information, such as paging mode, system Cr3 value, etc.
GUEST_STATE gGuest
The current guest state.
static BYTE * gMapping1
The mapping point of the first page mapped.
#define INT_STATUS_INVALID_PARAMETER_1
static QWORD gMappedGva
The guest virtual address that is currently mapped.
INTSTATUS IntLixFsrRead(QWORD Gva, DWORD Offset, DWORD Size, void *Buffer)
Performs a read from a previously mapped guest virtual address.
#define INT_STATUS_INVALID_PARAMETER_MIX
Status values returned by most functions that can signal different success or failure states...
#define INT_STATUS_INVALID_PARAMETER_3