From b2eef2bf46725914db1b7e739bd389e6f48a6555 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 17 Aug 2025 07:31:37 +0200 Subject: [PATCH] Align processor counts --- src/windows-emulator/kusd_mmio.cpp | 14 +++++++------- src/windows-emulator/minidump_loader.cpp | 2 +- src/windows-emulator/process_context.cpp | 2 ++ src/windows-emulator/syscalls/system.cpp | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/windows-emulator/kusd_mmio.cpp b/src/windows-emulator/kusd_mmio.cpp index 95eadfa5..512c3408 100644 --- a/src/windows-emulator/kusd_mmio.cpp +++ b/src/windows-emulator/kusd_mmio.cpp @@ -27,16 +27,16 @@ namespace kusd.TimeZoneBias.High2Time = -17; kusd.TimeZoneId = 0x00000002; kusd.LargePageMinimum = 0x00200000; - kusd.RNGSeedVersion = 0x0000000000000013; + kusd.RNGSeedVersion = 0; kusd.TimeZoneBiasStamp = 0x00000004; - kusd.NtBuildNumber = 0x00006c51; + kusd.NtBuildNumber = 19045; kusd.NtProductType = NtProductWinNt; kusd.ProductTypeIsValid = 0x01; kusd.NativeProcessorArchitecture = 0x0009; kusd.NtMajorVersion = 0x0000000a; - kusd.BootId = 0x0000000b; - kusd.SystemExpirationDate.QuadPart = 0x01dc26860a9ff300; - kusd.SuiteMask = 0x00000110; + kusd.BootId = 0; + kusd.SystemExpirationDate.QuadPart = 0; + kusd.SuiteMask = 0; kusd.MitigationPolicies.MitigationPolicies = 0x0a; kusd.MitigationPolicies.NXSupportPolicy = 0x02; kusd.MitigationPolicies.SEHValidationPolicy = 0x02; @@ -48,7 +48,7 @@ namespace kusd.FullNumberOfPhysicalPages = 0x0000000000bf0958; kusd.TickCount.TickCount.LowPart = 0x001f7f05; kusd.TickCount.TickCountQuad = 0x00000000001f7f05; - kusd.Cookie = 0x1c3471da; + kusd.Cookie = 0; kusd.ConsoleSessionForegroundProcessId = 0x00000000000028f4; kusd.TimeUpdateLock = 0x0000000002b28586; kusd.BaselineSystemTimeQpc = 0x0000004b17cd596c; @@ -61,7 +61,7 @@ namespace kusd.TelemetryCoverageRound = 0x00000001; kusd.LangGenerationCount = 0x00000003; kusd.InterruptTimeBias = 0x00000015a5d56406; - kusd.ActiveProcessorCount = 0x0000000c; + kusd.ActiveProcessorCount = 0x00000004; kusd.ActiveGroupCount = 0x01; kusd.TimeZoneBiasEffectiveStart.QuadPart = 0x01db276e654cb2ff; kusd.TimeZoneBiasEffectiveEnd.QuadPart = 0x01db280b8c3b2800; diff --git a/src/windows-emulator/minidump_loader.cpp b/src/windows-emulator/minidump_loader.cpp index e78f6ebd..998a17e2 100644 --- a/src/windows-emulator/minidump_loader.cpp +++ b/src/windows-emulator/minidump_loader.cpp @@ -704,4 +704,4 @@ namespace minidump_loader throw; } } -} // namespace minidump_loader \ No newline at end of file +} // namespace minidump_loader diff --git a/src/windows-emulator/process_context.cpp b/src/windows-emulator/process_context.cpp index 29bde03a..99c87926 100644 --- a/src/windows-emulator/process_context.cpp +++ b/src/windows-emulator/process_context.cpp @@ -225,6 +225,8 @@ void process_context::setup(x86_64_emulator& emu, memory_manager& memory, regist p.HeapDeCommitFreeBlockThreshold = 0x0000000000001000; p.NumberOfHeaps = 0x00000000; p.MaximumNumberOfHeaps = 0x00000010; + p.NumberOfProcessors = 4; + p.ImageSubsystemMajorVersion = 6; p.OSPlatformId = 2; p.OSMajorVersion = 0x0000000a; diff --git a/src/windows-emulator/syscalls/system.cpp b/src/windows-emulator/syscalls/system.cpp index cb0b8705..5af6418b 100644 --- a/src/windows-emulator/syscalls/system.cpp +++ b/src/windows-emulator/syscalls/system.cpp @@ -267,8 +267,8 @@ namespace syscalls basic_info.AllocationGranularity = ALLOCATION_GRANULARITY; basic_info.MinimumUserModeAddress = MIN_ALLOCATION_ADDRESS; basic_info.MaximumUserModeAddress = MAX_ALLOCATION_ADDRESS; - basic_info.ActiveProcessorsAffinityMask = 0x0000000000000fff; - basic_info.NumberOfProcessors = 1; + basic_info.ActiveProcessorsAffinityMask = 0x0000000000000f; + basic_info.NumberOfProcessors = 4; }); default: