mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-12 18:00:40 +02:00
FEX: Moves HostFeatures querying to the frontend
This moves the CPU feature querying to the frontend. The primary purpose here is for the wow64 frontend to not require linux-isms for querying these features. This is required since non-Linux environments don't have the "CPUID" feature for reading EL1 MSRs in EL0. Wiring up the remaining wow64 registry querying is left for a future exercise. This also technically removes an xbyak requirement from FEXCore for when building the x86 Test harness runner, but that doesn't really matter for regular use cases.
This commit is contained in:
16 files changed
+145
-107
No files matched your search
@@ -25,6 +25,7 @@ $end_info$
|
||||
#include <FEXCore/Utils/TypeDefines.h>
|
||||
|
||||
#include "Common/Config.h"
|
||||
#include "Common/HostFeatures.h"
|
||||
#include "Common/InvalidationTracker.h"
|
||||
#include "Common/TSOHandlerConfig.h"
|
||||
#include "Common/CPUFeatures.h"
|
||||
@@ -468,6 +469,11 @@ NTSTATUS ProcessInit() {
|
||||
Exception::HandlerConfig.emplace();
|
||||
|
||||
CTX = FEXCore::Context::Context::CreateNewContext();
|
||||
{
|
||||
auto HostFeatures = FEX::FetchHostFeatures();
|
||||
CTX->SetHostFeatures(HostFeatures);
|
||||
}
|
||||
|
||||
CTX->SetSignalDelegator(SignalDelegator.get());
|
||||
CTX->SetSyscallHandler(SyscallHandler.get());
|
||||
CTX->InitCore();
|
||||
|
||||
Reference in new issue
Block a user