[PATCH] kernel32: implement GetLargePageMinimum
Marcus Meissner
marcus at jet.franken.de
Mon Jun 13 01:40:57 CDT 2016
From: Austin English <austinenglish at gmail.com>
Original implementation by Austin, polished up a bit.
https://bugs.winehq.org/show_bug.cgi?id=18745
Signed-off-by: Marcus Meissner <marcus at jet.franken.de>
Signed-off-by: Austin English <austinenglish at gmail.com>
---
dlls/kernel32/kernel32.spec | 2 +-
dlls/kernel32/process.c | 28 ++++++++++++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index ec7155b6e..0fc4dcb 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -696,7 +696,7 @@
@ stdcall GetHandleInformation(long ptr)
@ stub -i386 GetLSCallbackTarget
@ stub -i386 GetLSCallbackTemplate
-# @ stub GetLargePageMinimum
+@ stdcall GetLargePageMinimum()
@ stdcall GetLargestConsoleWindowSize(long)
@ stdcall GetLastError()
@ stub GetLinguistLangSize
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 99c5196..6e3b2a7 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -4078,3 +4078,31 @@ UINT WINAPI GetSystemFirmwareTable(DWORD provider, DWORD id, PVOID buffer, DWORD
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
+
+/***********************************************************************
+ * GetLargePageMinimum (KERNEL32.@)
+ */
+SIZE_T WINAPI GetLargePageMinimum(void)
+{
+#ifdef linux
+ FILE *f;
+ unsigned long hugepagesize = 0;
+
+ f = fopen( "/proc/meminfo", "r" );
+ if (f)
+ {
+ char buffer[256];
+
+ while (fgets( buffer, sizeof(buffer), f ))
+ {
+ if (sscanf( buffer, "Hugepagesize: %lu", &hugepagesize ))
+ break;
+ }
+ fclose( f );
+ }
+ return (SIZE_T)hugepagesize*1024;
+#else
+ FIXME("stub: not implemented on your platform.\n");
+ return 0;
+#endif
+}
--
2.8.3
More information about the wine-patches
mailing list