Let FscGetCacheSize return what FscSetCacheSize set
No actual file system cache page allocation though...
This commit is contained in:
parent
ea98d81f9c
commit
78856b08a2
|
@ -52,14 +52,17 @@ XBSYSAPI EXPORTNUM(4) VOID NTAPI AvSetSavedDataAddress
|
|||
// ******************************************************************
|
||||
// * FscGetCacheSize
|
||||
// ******************************************************************
|
||||
XBSYSAPI EXPORTNUM(35) DWORD NTAPI FscGetCacheSize();
|
||||
XBSYSAPI EXPORTNUM(35) ULONG NTAPI FscGetCacheSize();
|
||||
|
||||
XBSYSAPI EXPORTNUM(36) VOID NTAPI FscInvalidateIdleBlocks();
|
||||
|
||||
// ******************************************************************
|
||||
// * FscSetCacheSize
|
||||
// ******************************************************************
|
||||
XBSYSAPI EXPORTNUM(37) LONG NTAPI FscSetCacheSize(ULONG uCachePages);
|
||||
XBSYSAPI EXPORTNUM(37) NTSTATUS NTAPI FscSetCacheSize
|
||||
(
|
||||
ULONG NumberOfCachePages
|
||||
);
|
||||
|
||||
XBSYSAPI EXPORTNUM(88) BOOLEAN KdDebuggerEnabled;
|
||||
XBSYSAPI EXPORTNUM(89) BOOLEAN KdDebuggerNotPresent;
|
||||
|
|
|
@ -51,16 +51,19 @@ namespace NtDll
|
|||
|
||||
#include "Emu.h" // For EmuWarning()
|
||||
|
||||
#define FSCACHE_MAXIMUM_NUMBER_OF_CACHE_PAGES 2048
|
||||
|
||||
// global variables
|
||||
xboxkrnl::LONG g_FscNumberOfCachePages = 16; // 16 = default number of file system cache pages
|
||||
|
||||
// ******************************************************************
|
||||
// * 0x0023 - FscGetCacheSize()
|
||||
// ******************************************************************
|
||||
XBSYSAPI EXPORTNUM(35) xboxkrnl::DWORD NTAPI xboxkrnl::FscGetCacheSize()
|
||||
XBSYSAPI EXPORTNUM(35) xboxkrnl::ULONG NTAPI xboxkrnl::FscGetCacheSize()
|
||||
{
|
||||
LOG_FUNC();
|
||||
|
||||
EmuWarning("FscGetCacheSize returning default 64kb");
|
||||
|
||||
RETURN(64 * 1024);
|
||||
RETURN(g_FscNumberOfCachePages);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -76,15 +79,25 @@ XBSYSAPI EXPORTNUM(36) xboxkrnl::VOID NTAPI xboxkrnl::FscInvalidateIdleBlocks()
|
|||
// ******************************************************************
|
||||
// * 0x0025 - FscSetCacheSize()
|
||||
// ******************************************************************
|
||||
XBSYSAPI EXPORTNUM(37) xboxkrnl::LONG NTAPI xboxkrnl::FscSetCacheSize
|
||||
XBSYSAPI EXPORTNUM(37) xboxkrnl::NTSTATUS NTAPI xboxkrnl::FscSetCacheSize
|
||||
(
|
||||
ULONG uCachePages
|
||||
ULONG NumberOfCachePages
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(uCachePages);
|
||||
LOG_FUNC_ONE_ARG(NumberOfCachePages);
|
||||
|
||||
LOG_IGNORED();
|
||||
NTSTATUS ret = STATUS_SUCCESS;
|
||||
|
||||
RETURN(0);
|
||||
if (NumberOfCachePages > FSCACHE_MAXIMUM_NUMBER_OF_CACHE_PAGES)
|
||||
ret = STATUS_INVALID_PARAMETER;
|
||||
else
|
||||
{
|
||||
// TODO : Actually allocate file system cache pages, for example do something like this :
|
||||
// if (NumberOfCachePages < g_FscNumberOfCachePages) FscShrinkCacheSize(NumberOfCachePages)
|
||||
// if (NumberOfCachePages > g_FscNumberOfCachePages) FscGrowCacheSize(NumberOfCachePages), possibly return STATUS_INSUFFICIENT_RESOURCES
|
||||
g_FscNumberOfCachePages = NumberOfCachePages;
|
||||
}
|
||||
|
||||
RETURN(ret);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue