From b9df0682adf687db9af2d76be552ab43ad31675f Mon Sep 17 00:00:00 2001 From: ssvine <79405160+ssvine@users.noreply.github.com> Date: Fri, 2 Jan 2026 17:35:08 +0300 Subject: [PATCH] Support SystemEmulationProcessorInformation --- src/common/platform/win_pefile.hpp | 1 + src/windows-emulator/syscalls/system.cpp | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/common/platform/win_pefile.hpp b/src/common/platform/win_pefile.hpp index 566a8014..8bae3298 100644 --- a/src/common/platform/win_pefile.hpp +++ b/src/common/platform/win_pefile.hpp @@ -94,6 +94,7 @@ #define IMAGE_FILE_MACHINE_CEE 0xC0EE #endif +#define PROCESSOR_ARCHITECTURE_INTEL 0 #define PROCESSOR_ARCHITECTURE_AMD64 9 enum class PEMachineType : std::uint16_t diff --git a/src/windows-emulator/syscalls/system.cpp b/src/windows-emulator/syscalls/system.cpp index 5af6418b..d4b1401e 100644 --- a/src/windows-emulator/syscalls/system.cpp +++ b/src/windows-emulator/syscalls/system.cpp @@ -199,12 +199,14 @@ namespace syscalls }); case SystemProcessorInformation: - return handle_query(c.emu, system_information, system_information_length, return_length, - [&](SYSTEM_PROCESSOR_INFORMATION64& info) { - memset(&info, 0, sizeof(info)); - info.MaximumProcessors = 2; - info.ProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64; - }); + case SystemEmulationProcessorInformation: + return handle_query( + c.emu, system_information, system_information_length, return_length, [&](SYSTEM_PROCESSOR_INFORMATION64& info) { + memset(&info, 0, sizeof(info)); + info.MaximumProcessors = 2; + info.ProcessorArchitecture = + (info_class == SystemProcessorInformation ? PROCESSOR_ARCHITECTURE_AMD64 : PROCESSOR_ARCHITECTURE_INTEL); + }); case SystemNumaProcessorMap: return handle_query(c.emu, system_information, system_information_length, return_length,