Merge pull request #4848 from lioncash/thread

InternalThreadState: Remove unused includes
This commit is contained in:
Ryan Houdek authored and GitHub committed 2025-09-08 16:59:15 -07:00
commit e9f8c01e04
7 files changed
+51 -27

No files matched your search

@@ -1,15 +1,14 @@
// SPDX-License-Identifier: MIT
#pragma once
#include <FEXCore/Core/Context.h>
#include <FEXCore/Core/CoreState.h>
#include <FEXCore/Core/SignalDelegator.h>
#include <FEXCore/Utils/Event.h>
#include <FEXCore/Utils/InterruptableConditionVariable.h>
#include <FEXCore/Utils/Threads.h>
#include <FEXCore/Utils/AllocatorHooks.h>
#include <FEXCore/Utils/TypeDefines.h>
#include <FEXCore/fextl/memory.h>
#include <FEXCore/fextl/vector.h>
#include <cstddef>
#include <cstdint>
#include <shared_mutex>
#include <type_traits>
@@ -300,7 +300,8 @@ void SeccompEmulator::DeserializeFilters(FEXCore::Core::CpuStateFrame* Frame, in
::mprotect(Ptr, SFilter.CodeSize, PROT_READ | PROT_EXEC);
auto& it = Filters.emplace_back(FilterInformation {(FilterFunc)Ptr, 1, SFilter.CodeSize, SFilter.FilterInstructions, SFilter.ShouldLog});
auto& it =
Filters.emplace_back(SeccompFilterInfo {(SeccompFilterFunc)Ptr, 1, SFilter.CodeSize, SFilter.FilterInstructions, SFilter.ShouldLog});
TotalFilterInstructions += SFilter.FilterInstructions;
// Append the filter to the thread.
@@ -663,8 +664,7 @@ uint64_t SeccompEmulator::SetModeFilter(FEXCore::Core::CpuStateFrame* Frame, uin
const bool LoggingEnabled = flags & SECCOMP_FILTER_FLAG_LOG;
auto Result = emit.JITFilter(flags, prog);
if (Result == 0) {
auto& it = Filters.emplace_back(FilterInformation {(FilterFunc)emit.GetFunc(), 1, emit.AllocationSize(), prog->len, LoggingEnabled});
auto& it = Filters.emplace_back(SeccompFilterInfo {(SeccompFilterFunc)emit.GetFunc(), 1, emit.AllocationSize(), prog->len, LoggingEnabled});
TotalFilterInstructions += prog->len;
// Append the filter to the thread.
@@ -7,10 +7,14 @@ $end_info$
#pragma once
#include <FEXCore/Config/Config.h>
#include <FEXCore/fextl/vector.h>
#include <FEXCore/fextl/list.h>
#include <FEXCore/Utils/SignalScopeGuards.h>
#include <signal.h>
#include <atomic>
#include <csignal>
#include <cstddef>
#include <cstdint>
#include <optional>
struct sock_fprog;
struct seccomp_data;
@@ -30,10 +34,19 @@ namespace HLE {
namespace FEX::HLE {
class SyscallHandler;
class SignalDelegator;
class SyscallHandler;
struct ThreadStateObject;
using SeccompFilterFunc = uint64_t (*)(uint32_t Acc, uint32_t Index, uint32_t Tmp, uint32_t Tmp2, void* Data);
struct SeccompFilterInfo final {
SeccompFilterFunc Func;
uint64_t RefCount;
size_t MappedSize;
uint32_t FilterInstructions;
bool ShouldLog;
};
class SeccompEmulator final {
public:
SeccompEmulator(FEX::HLE::SyscallHandler* SyscallHandler, FEX::HLE::SignalDelegator* SignalDelegation)
@@ -60,15 +73,6 @@ public:
std::optional<int> SerializeFilters(FEXCore::Core::CpuStateFrame* Frame);
void DeserializeFilters(FEXCore::Core::CpuStateFrame* Frame, int FD);
using FilterFunc = uint64_t (*)(uint32_t Acc, uint32_t Index, uint32_t Tmp, uint32_t Tmp2, void* Data);
struct FilterInformation final {
FilterFunc Func;
uint64_t RefCount;
size_t MappedSize;
uint32_t FilterInstructions;
bool ShouldLog;
};
private:
FEX_CONFIG_OPT(Is64BitMode, IS64BIT_MODE);
FEX_CONFIG_OPT(NeedsSeccomp, NEEDSSECCOMP);
@@ -102,7 +106,7 @@ private:
uint64_t TotalFilterInstructions {};
FEXCore::ForkableUniqueMutex FilterMutex;
fextl::list<FilterInformation> Filters {};
fextl::list<SeccompFilterInfo> Filters {};
uint64_t AuditSerialIncrement() {
return AuditSerial.fetch_add(1);
@@ -20,6 +20,7 @@ $end_info$
#include <FEXCore/Core/X86Enums.h>
#include <FEXCore/Debug/InternalThreadState.h>
#include <FEXCore/IR/IR.h>
#include <FEXCore/Utils/Event.h>
#include <FEXHeaderUtils/Syscalls.h>
@@ -6,15 +6,21 @@ $end_info$
*/
#pragma once
#include <stdint.h>
#include <cstdint>
#include <sys/types.h>
namespace FEXCore::Context {
class Context;
}
namespace FEXCore::Core {
struct CpuStateFrame;
struct InternalThreadState;
struct CPUState;
} // namespace FEXCore::Core
namespace FEX::HLE {
struct clone3_args;
struct ThreadStateObject;
FEX::HLE::ThreadStateObject* CreateNewThread(FEXCore::Context::Context* CTX, FEXCore::Core::CpuStateFrame* Frame, FEX::HLE::clone3_args* args);
@@ -1,7 +1,10 @@
// SPDX-License-Identifier: MIT
#include "LinuxSyscalls/ThreadManager.h"
#include "LinuxSyscalls/Syscalls.h"
#include "LinuxSyscalls/SignalDelegator.h"
#include "LinuxSyscalls/Seccomp/SeccompEmulator.h"
#include <FEXHeaderUtils/Syscalls.h>
#include <FEXCore/Utils/Profiler.h>
@@ -11,20 +11,31 @@ $end_info$
#include "Common/SHMStats.h"
#include "LinuxSyscalls/Types.h"
#include "LinuxSyscalls/Seccomp/SeccompEmulator.h"
#include <FEXCore/Config/Config.h>
#include <FEXCore/Core/Context.h>
#include <FEXCore/fextl/vector.h>
#include <FEXCore/Utils/InterruptableConditionVariable.h>
#include <FEXCore/Utils/Profiler.h>
#include <FEXCore/Utils/SignalScopeGuards.h>
#include <FEXCore/Utils/Threads.h>
#include <FEXCore/Utils/TypeDefines.h>
#include <atomic>
#include <condition_variable>
#include <cstddef>
#include <cstdint>
#include <mutex>
#include <optional>
#include <sys/stat.h>
#include <bits/types/sigset_t.h>
#include <cstdint>
#include <linux/seccomp.h>
namespace FEX::HLE {
class SyscallHandler;
class SignalDelegator;
class SyscallHandler;
struct SeccompFilterInfo;
enum class SignalEvent : uint32_t {
Nothing, // If the guest uses our signal we need to know it was errant on our end
@@ -75,7 +86,7 @@ struct ThreadStateObject : public FEXCore::Allocator::FEXAllocOperators {
// Seccomp thread specific data.
uint32_t SeccompMode {SECCOMP_MODE_DISABLED};
fextl::vector<FEX::HLE::SeccompEmulator::FilterInformation*> Filters {};
fextl::vector<FEX::HLE::SeccompFilterInfo*> Filters {};
// personality emulation.
uint32_t persona {};