diff --git a/import/OpenXDK/include/xboxkrnl/mm.h b/import/OpenXDK/include/xboxkrnl/mm.h index 704d739cc..ac7eac26c 100644 --- a/import/OpenXDK/include/xboxkrnl/mm.h +++ b/import/OpenXDK/include/xboxkrnl/mm.h @@ -96,7 +96,7 @@ XBSYSAPI EXPORTNUM(173) PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress XBSYSAPI VOID *MmIsAddressValid; //XBSYSAPI VOID *MmLockUnlockBufferPages; -XBSYSAPI EXPORTNUM(175) PHYSICAL_ADDRESS NTAPI MmLockUnlockBufferPages +XBSYSAPI EXPORTNUM(175) VOID NTAPI MmLockUnlockBufferPages ( IN PHYSICAL_ADDRESS BaseAddress, IN ULONG NumberOfBytes, diff --git a/src/CxbxKrnl/EmuKrnl.cpp b/src/CxbxKrnl/EmuKrnl.cpp index cbb503434..b795592f4 100644 --- a/src/CxbxKrnl/EmuKrnl.cpp +++ b/src/CxbxKrnl/EmuKrnl.cpp @@ -2742,6 +2742,28 @@ XBSYSAPI EXPORTNUM(172) xboxkrnl::NTSTATUS NTAPI xboxkrnl::MmFreeSystemMemory return STATUS_SUCCESS; } +// ****************************************************************** +// * 0x00AF - MmLockUnlockBufferPages +// ****************************************************************** +XBSYSAPI EXPORTNUM(175) void NTAPI xboxkrnl::MmLockUnlockBufferPages +( + IN PHYSICAL_ADDRESS BaseAddress, + IN ULONG NumberOfBytes, + IN ULONG Protect +) +{ + DbgPrintf("EmuKrnl (0x%X): MmLockUnlockBufferPages\n" + "(\n" + " BaseAddress : 0x%.08X\n" + " NumberOfBytes : 0x%.08X\n" + " Protect : 0x%.08X\n" + ");\n", + GetCurrentThreadId(), BaseAddress, NumberOfBytes, Protect); + + + EmuWarning("EmuKrnl: MmLockUnlockBufferPages ignored"); +} + // ****************************************************************** // * 0x00B1 - MmMapIoSpace // ****************************************************************** diff --git a/src/CxbxKrnl/KernelThunk.cpp b/src/CxbxKrnl/KernelThunk.cpp index 49804d2a0..561a1bd53 100644 --- a/src/CxbxKrnl/KernelThunk.cpp +++ b/src/CxbxKrnl/KernelThunk.cpp @@ -232,7 +232,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[367] = (uint32)&xboxkrnl::MmFreeSystemMemory, // 0x00AC (172) (uint32)PANIC(0x00AD), // 0x00AD (173) MmGetPhysicalAddress (uint32)PANIC(0x00AE), // 0x00AE (174) MmIsAddressValid - (uint32)PANIC(0x00AF), // 0x00AF (175) MmLockUnlockBufferPages + (uint32)&xboxkrnl::MmLockUnlockBufferPages, // 0x00AF (175) MmLockUnlockBufferPages (uint32)PANIC(0x00B0), // 0x00B0 (176) MmLockUnlockPhysicalPage (uint32)&xboxkrnl::MmMapIoSpace, // 0x00B1 (177) (uint32)&xboxkrnl::MmPersistContiguousMemory, // 0x00B2 (178)