mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-09 23:56:16 +00:00
Support SystemEmulationProcessorInformation (#672)
This PR implements `SystemEmulationProcessorInformation`. It is used, for example, in 32-bit `ole32.dll`.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -199,12 +199,14 @@ namespace syscalls
|
||||
});
|
||||
|
||||
case SystemProcessorInformation:
|
||||
return handle_query<SYSTEM_PROCESSOR_INFORMATION64>(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<SYSTEM_PROCESSOR_INFORMATION64>(
|
||||
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<SYSTEM_NUMA_INFORMATION64>(c.emu, system_information, system_information_length, return_length,
|
||||
|
||||
Reference in New Issue
Block a user