Commit 9689d077 authored by Paul Gofman's avatar Paul Gofman Committed by Alexandre Julliard

ntdll: Fill NumberOfPhysicalPages field in user shared data area.

parent 22173f70
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "windef.h" #include "windef.h"
#include "winternl.h" #include "winternl.h"
#include "wine/test.h" #include "wine/test.h"
#include "ddk/wdm.h"
static unsigned int page_size; static unsigned int page_size;
...@@ -33,6 +34,8 @@ static NTSTATUS (WINAPI *pRtlFreeUserStack)(void *); ...@@ -33,6 +34,8 @@ static NTSTATUS (WINAPI *pRtlFreeUserStack)(void *);
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
static const BOOL is_win64 = sizeof(void*) != sizeof(int); static const BOOL is_win64 = sizeof(void*) != sizeof(int);
static SYSTEM_BASIC_INFORMATION sbi;
static HANDLE create_target_process(const char *arg) static HANDLE create_target_process(const char *arg)
{ {
char **argv; char **argv;
...@@ -513,9 +516,17 @@ static void test_NtMapViewOfSection(void) ...@@ -513,9 +516,17 @@ static void test_NtMapViewOfSection(void)
CloseHandle(process); CloseHandle(process);
} }
static void test_user_shared_data(void)
{
const KSHARED_USER_DATA *user_shared_data = (void *)0x7ffe0000;
ok(user_shared_data->NumberOfPhysicalPages == sbi.MmNumberOfPhysicalPages,
"Got number of physical pages %#x, expected %#x.\n",
user_shared_data->NumberOfPhysicalPages, sbi.MmNumberOfPhysicalPages);
}
START_TEST(virtual) START_TEST(virtual)
{ {
SYSTEM_BASIC_INFORMATION sbi;
HMODULE mod; HMODULE mod;
int argc; int argc;
...@@ -546,4 +557,5 @@ START_TEST(virtual) ...@@ -546,4 +557,5 @@ START_TEST(virtual)
test_NtAllocateVirtualMemory(); test_NtAllocateVirtualMemory();
test_RtlCreateUserStack(); test_RtlCreateUserStack();
test_NtMapViewOfSection(); test_NtMapViewOfSection();
test_user_shared_data();
} }
...@@ -222,6 +222,7 @@ static void set_process_name( int argc, char *argv[] ) ...@@ -222,6 +222,7 @@ static void set_process_name( int argc, char *argv[] )
*/ */
TEB *thread_init(void) TEB *thread_init(void)
{ {
SYSTEM_BASIC_INFORMATION sbi;
TEB *teb; TEB *teb;
void *addr; void *addr;
SIZE_T size; SIZE_T size;
...@@ -310,6 +311,9 @@ TEB *thread_init(void) ...@@ -310,6 +311,9 @@ TEB *thread_init(void)
user_shared_data->TickCountMultiplier = 1 << 24; user_shared_data->TickCountMultiplier = 1 << 24;
fill_cpu_info(); fill_cpu_info();
virtual_get_system_info( &sbi );
user_shared_data->NumberOfPhysicalPages = sbi.MmNumberOfPhysicalPages;
return teb; return teb;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment