2012-10-07 12:58:52 +00:00
|
|
|
// ******************************************************************
|
|
|
|
// *
|
|
|
|
// * proj : OpenXDK
|
|
|
|
// *
|
|
|
|
// * desc : Open Source XBox Development Kit
|
|
|
|
// *
|
|
|
|
// * file : mm.h
|
|
|
|
// *
|
|
|
|
// * note : XBox Kernel *Memory Manager* Declarations
|
|
|
|
// *
|
|
|
|
// ******************************************************************
|
|
|
|
#ifndef XBOXKRNL_MM_H
|
|
|
|
#define XBOXKRNL_MM_H
|
|
|
|
|
2016-11-12 00:27:06 +00:00
|
|
|
XBSYSAPI EXPORTNUM(102) PVOID MmGlobalData[8];
|
2012-10-07 12:58:52 +00:00
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmAllocateContiguousMemory
|
|
|
|
// ******************************************************************
|
|
|
|
// *
|
|
|
|
// * Allocates a range of physically contiguous, cache-aligned
|
|
|
|
// * memory from nonpaged pool (main pool on xbox).
|
|
|
|
// *
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(165) PVOID NTAPI MmAllocateContiguousMemory
|
|
|
|
(
|
|
|
|
IN ULONG NumberOfBytes
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmAllocateContiguousMemoryEx
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(166) PVOID NTAPI MmAllocateContiguousMemoryEx
|
|
|
|
(
|
|
|
|
IN ULONG NumberOfBytes,
|
|
|
|
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
|
|
|
|
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
|
|
|
|
IN ULONG Alignment OPTIONAL,
|
|
|
|
IN ULONG ProtectionType
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmAllocateSystemMemory
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(167) PVOID NTAPI MmAllocateSystemMemory
|
|
|
|
(
|
|
|
|
ULONG NumberOfBytes,
|
|
|
|
ULONG Protect
|
|
|
|
);
|
|
|
|
|
2016-12-10 18:26:28 +00:00
|
|
|
// ******************************************************************
|
|
|
|
// * MmClaimGpuInstanceMemory;
|
|
|
|
// ******************************************************************
|
2016-12-02 14:43:23 +00:00
|
|
|
XBSYSAPI EXPORTNUM(168) PVOID NTAPI MmClaimGpuInstanceMemory
|
|
|
|
(
|
|
|
|
IN SIZE_T NumberOfBytes,
|
|
|
|
OUT SIZE_T *NumberOfPaddingBytes
|
|
|
|
);
|
2012-10-07 12:58:52 +00:00
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmCreateKernelStack
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(169) PVOID NTAPI MmCreateKernelStack
|
|
|
|
(
|
2012-11-28 12:36:57 +00:00
|
|
|
IN ULONG NumberOfBytes,
|
|
|
|
IN BOOLEAN DebuggerThread
|
2012-10-07 12:58:52 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmDeleteKernelStack
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(170) VOID NTAPI MmDeleteKernelStack
|
|
|
|
(
|
|
|
|
IN PVOID EndAddress,
|
|
|
|
IN PVOID BaseAddress
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmFreeContiguousMemory
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(171) VOID NTAPI MmFreeContiguousMemory
|
|
|
|
(
|
|
|
|
IN PVOID BaseAddress
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmFreeSystemMemory
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(172) NTSTATUS NTAPI MmFreeSystemMemory
|
|
|
|
(
|
|
|
|
PVOID BaseAddress,
|
|
|
|
ULONG NumberOfBytes
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmGetPhysicalAddress
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(173) PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress
|
|
|
|
(
|
|
|
|
IN PVOID BaseAddress
|
|
|
|
);
|
|
|
|
|
2016-12-02 09:38:46 +00:00
|
|
|
XBSYSAPI EXPORTNUM(174) BOOLEAN NTAPI MmIsAddressValid
|
|
|
|
(
|
|
|
|
IN PVOID VirtualAddress
|
|
|
|
);
|
2012-10-07 12:58:52 +00:00
|
|
|
|
2016-10-26 16:07:37 +00:00
|
|
|
XBSYSAPI EXPORTNUM(175) VOID NTAPI MmLockUnlockBufferPages
|
2012-10-07 12:58:52 +00:00
|
|
|
(
|
|
|
|
IN PHYSICAL_ADDRESS BaseAddress,
|
|
|
|
IN ULONG NumberOfBytes,
|
|
|
|
IN ULONG Protect
|
|
|
|
);
|
|
|
|
|
2016-12-02 09:38:46 +00:00
|
|
|
XBSYSAPI EXPORTNUM(176) VOID NTAPI MmLockUnlockPhysicalPage
|
|
|
|
(
|
|
|
|
IN ULONG_PTR PhysicalAddress,
|
|
|
|
IN BOOLEAN UnlockPage
|
|
|
|
);
|
2012-10-07 12:58:52 +00:00
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmMapIoSpace
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(177) PVOID NTAPI MmMapIoSpace
|
|
|
|
(
|
|
|
|
IN PHYSICAL_ADDRESS PhysicalAddress,
|
|
|
|
IN ULONG NumberOfBytes,
|
2013-07-22 09:02:58 +00:00
|
|
|
IN ULONG ProtectionType
|
2012-10-07 12:58:52 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmPersistContiguousMemory
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(178) VOID NTAPI MmPersistContiguousMemory
|
|
|
|
(
|
|
|
|
IN PVOID BaseAddress,
|
|
|
|
IN ULONG NumberOfBytes,
|
|
|
|
IN BOOLEAN Persist
|
|
|
|
);
|
|
|
|
|
2016-12-02 09:38:46 +00:00
|
|
|
XBSYSAPI EXPORTNUM(179) ULONG NTAPI MmQueryAddressProtect
|
|
|
|
(
|
|
|
|
IN PVOID VirtualAddress
|
|
|
|
);
|
2012-10-07 12:58:52 +00:00
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmQueryAllocationSize
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(180) ULONG NTAPI MmQueryAllocationSize
|
|
|
|
(
|
|
|
|
IN PVOID BaseAddress
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmQueryStatistics
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(181) NTSTATUS NTAPI MmQueryStatistics
|
|
|
|
(
|
|
|
|
OUT PMM_STATISTICS MemoryStatistics
|
|
|
|
);
|
|
|
|
|
|
|
|
// ******************************************************************
|
|
|
|
// * MmSetAddressProtect
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(182) VOID NTAPI MmSetAddressProtect
|
|
|
|
(
|
|
|
|
IN PVOID BaseAddress,
|
|
|
|
IN ULONG NumberOfBytes,
|
|
|
|
IN ULONG NewProtect
|
|
|
|
);
|
|
|
|
|
2013-07-22 09:02:58 +00:00
|
|
|
// ******************************************************************
|
|
|
|
// * MmUnmapIoSpace
|
|
|
|
// ******************************************************************
|
|
|
|
XBSYSAPI EXPORTNUM(183) NTSTATUS NTAPI MmUnmapIoSpace
|
|
|
|
(
|
|
|
|
IN PVOID BaseAddress,
|
|
|
|
IN ULONG NumberOfBytes
|
|
|
|
);
|
2012-10-07 12:58:52 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|