Merge branch 'master' into LLE

This commit is contained in:
Luke Usher 2016-10-27 22:15:06 +01:00
commit d424f0b004
8 changed files with 90 additions and 5 deletions

View File

@ -59,7 +59,14 @@ XBSYSAPI VOID *ExInterlockedAddLargeInteger;
XBSYSAPI VOID *ExInterlockedAddLargeStatistic;
XBSYSAPI VOID *ExInterlockedCompareExchange64;
XBSYSAPI VOID *ExMutantObjectType;
XBSYSAPI VOID *ExQueryPoolBlockSize;
// ******************************************************************
// * ExQueryPoolBlockSize
// ******************************************************************
XBSYSAPI EXPORTNUM(23) ULONG NTAPI ExQueryPoolBlockSize
(
IN PVOID PoolBlock
);
// ******************************************************************
// * ExQueryNonVolatileSetting

View File

@ -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,

View File

@ -1507,8 +1507,24 @@ XBSYSAPI EXPORTNUM(17) VOID NTAPI xboxkrnl::ExFreePool
GetCurrentThreadId(), P);
CxbxFree(P);
}
// ******************************************************************
// * 0x0017 ExQueryPoolBlockSize
// ******************************************************************
XBSYSAPI EXPORTNUM(23) xboxkrnl::ULONG NTAPI xboxkrnl::ExQueryPoolBlockSize
(
IN PVOID PoolBlock
)
{
DbgPrintf("EmuKrnl (0x%X): ExQueryPoolBlockSize\n"
"(\n"
" PoolBlock : 0x%.08X\n"
");\n",
GetCurrentThreadId(), PoolBlock);
// Not strictly correct, but it will do for now
return MmQueryAllocationSize(PoolBlock);
}
// ******************************************************************
@ -2726,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
// ******************************************************************

View File

@ -664,6 +664,16 @@ OOVPATable DSound_1_0_4134[] =
"IDirectSoundBuffer8_SetBufferData"
#endif
},
// IDirectSound8_CreateStream
{
(OOVPA*)&IDirectSound8_CreateStream_1_0_3936,
XTL::EmuIDirectSound8_CreateStream,
#ifdef _DEBUG_TRACE
"EmuIDirectSound8_CreateStream"
#endif
},
// CDirectSoundVoiceSettings::SetMixBins
{
(OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134, 0,

View File

@ -988,6 +988,16 @@ OOVPATable DSound_1_0_4361[] =
"CDirectSound::CreateSoundStream (XREF)"
#endif
},
// IDirectSound8_CreateStream
{
(OOVPA*)&IDirectSound8_CreateStream_1_0_3936,
XTL::EmuIDirectSound8_CreateStream,
#ifdef _DEBUG_TRACE
"EmuIDirectSound8_CreateStream"
#endif
},
// DirectSoundCreateStream
{
(OOVPA*)&DirectSoundCreateStream_1_0_4361,

View File

@ -683,6 +683,16 @@ OOVPATable DSound_1_0_4432[] =
"EmuDirectSoundCreate"
#endif
},
// IDirectSound8_CreateStream
{
(OOVPA*)&IDirectSound8_CreateStream_1_0_3936,
XTL::EmuIDirectSound8_CreateStream,
#ifdef _DEBUG_TRACE
"EmuIDirectSound8_CreateStream"
#endif
},
// CDirectSound_CreateSoundStream (* unchanged since 4361 *)
{
(OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0,

View File

@ -3833,6 +3833,16 @@ OOVPATable DSound_1_0_4627[] =
"CDirectSound::CreateSoundStream (XREF)"
#endif
},
// IDirectSound8_CreateStream
{
(OOVPA*)&IDirectSound8_CreateStream_1_0_3936,
XTL::EmuIDirectSound8_CreateStream,
#ifdef _DEBUG_TRACE
"EmuIDirectSound8_CreateStream"
#endif
},
// DirectSoundCreateStream (* unchanged since 4361 *)
{
(OOVPA*)&DirectSoundCreateStream_1_0_4361,

View File

@ -80,7 +80,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[367] =
(uint32)PANIC(0x0014), // 0x0014 (20) ExInterlockedAddLargeStatistic
(uint32)PANIC(0x0015), // 0x0015 (21) ExInterlockedCompareExchange64
(uint32)PANIC(0x0016), // 0x0016 (22) ExMutantObjectType
(uint32)PANIC(0x0017), // 0x0017 (23) ExQueryPoolBlockSize
(uint32)&xboxkrnl::ExQueryPoolBlockSize, // 0x0017 (23) ExQueryPoolBlockSize
(uint32)&xboxkrnl::ExQueryNonVolatileSetting, // 0x0018 (24)
(uint32)&xboxkrnl::ExReadWriteRefurbInfo, // 0x0019 (25)
(uint32)PANIC(0x001A), // 0x001A (26) ExQueryPoolBlockSize
@ -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)