diff --git a/External/FEXCore/Source/Interface/Core/CPUID.cpp b/External/FEXCore/Source/Interface/Core/CPUID.cpp index cfc8efd42..605f2d704 100644 --- a/External/FEXCore/Source/Interface/Core/CPUID.cpp +++ b/External/FEXCore/Source/Interface/Core/CPUID.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: opcodes|cpuid +desc: Handles presented capability bits for guest cpu +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/Core/CPUID.h" #include "git_version.h" diff --git a/External/FEXCore/Source/Interface/Core/Core.cpp b/External/FEXCore/Source/Interface/Core/Core.cpp index 0d75a78ed..e7de23ea5 100644 --- a/External/FEXCore/Source/Interface/Core/Core.cpp +++ b/External/FEXCore/Source/Interface/Core/Core.cpp @@ -1,3 +1,12 @@ +/* +$info$ +category: glue ~ Logic that binds various parts together +meta: glue|driver ~ Emulation mainloop related glue logic +tags: glue|driver +desc: Glues Frontend, OpDispatcher and IR Opts & Compilation, LookupCache, Dispatcher and provides the Execution loop entrypoint +$end_info$ +*/ + #include "Common/MathUtils.h" #include "Common/Paths.h" diff --git a/External/FEXCore/Source/Interface/Core/Frontend.cpp b/External/FEXCore/Source/Interface/Core/Frontend.cpp index e325ce8fd..5228ebc60 100644 --- a/External/FEXCore/Source/Interface/Core/Frontend.cpp +++ b/External/FEXCore/Source/Interface/Core/Frontend.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: frontend|x86-meta-blocks +desc: Extracts instruction & block meta info, frontend multiblock logic +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/Core/Frontend.h" #include "Interface/Core/InternalThreadState.h" diff --git a/External/FEXCore/Source/Interface/Core/GdbServer.cpp b/External/FEXCore/Source/Interface/Core/GdbServer.cpp index 2ec9c9d91..f3080a105 100644 --- a/External/FEXCore/Source/Interface/Core/GdbServer.cpp +++ b/External/FEXCore/Source/Interface/Core/GdbServer.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: glue|gdbserver +desc: Provides a gdb interface to the guest state +$end_info$ +*/ + #include #include #include diff --git a/External/FEXCore/Source/Interface/Core/GdbServer.h b/External/FEXCore/Source/Interface/Core/GdbServer.h index 651dca939..cb137abfa 100644 --- a/External/FEXCore/Source/Interface/Core/GdbServer.h +++ b/External/FEXCore/Source/Interface/Core/GdbServer.h @@ -1,3 +1,8 @@ +/* +$info$ +tags: glue|gdbserver +$end_info$ +*/ #include #include diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/ALUOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/ALUOps.cpp index a07fd07db..89047afae 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/ALUOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/ALUOps.cpp @@ -1,3 +1,8 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ #include "Interface/Core/JIT/Arm64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/AtomicOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/AtomicOps.cpp index 9a5802d31..2276e0f6a 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/AtomicOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/AtomicOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/BranchOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/BranchOps.cpp index 0a12a2ddb..83099a0b8 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/BranchOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/BranchOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" #include "Interface/Core/InternalThreadState.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/ConversionOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/ConversionOps.cpp index 240ef36ea..abf06a766 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/ConversionOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/ConversionOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/EncryptionOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/EncryptionOps.cpp index 7aa884277..0d4f44061 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/EncryptionOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/EncryptionOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/FlagOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/FlagOps.cpp index 17ac93e72..050b1ab02 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/FlagOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/FlagOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/JIT.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/JIT.cpp index 1ba4b86c0..694299c19 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/JIT.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/JIT.cpp @@ -1,3 +1,15 @@ +/* +$info$ +glossary: Splatter ~ a code generator backend that concaternates configurable macros instead of doing isel +glossary: IR ~ Intermediate Representation, our high-level opcode representation, loosely modeling arm64 +glossary: SSA ~ Single Static Assignment, a form of representing IR in memory +glossary: Basic Block ~ A block of instructions with no control flow, terminated by control flow +glossary: Fragment ~ A Collection of basic blocks, possibly an entire guest function or a subset of it +tags: backend|arm64 +desc: Main glue logic of the arm64 splatter backend +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/Core/ArchHelpers/Arm64.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/JITClass.h b/External/FEXCore/Source/Interface/Core/JIT/Arm64/JITClass.h index c453adca1..35d8e8e2d 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/JITClass.h +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/JITClass.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #pragma once #include "Interface/Core/LookupCache.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp index c3f3563f3..16ec07cd1 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MiscOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MiscOps.cpp index bb90a554e..9ff8bd2ca 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MiscOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MiscOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MoveOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MoveOps.cpp index b410bc6f0..d8842f0d8 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MoveOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MoveOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/VectorOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/VectorOps.cpp index a8e1e7cf7..4fc19f1d3 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/VectorOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/VectorOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|arm64 +$end_info$ +*/ + #include "Interface/Core/JIT/Arm64/JITClass.h" namespace FEXCore::CPU { diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/ALUOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/ALUOps.cpp index fd89da007..7415843ca 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/ALUOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/ALUOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/AtomicOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/AtomicOps.cpp index 4fc18160c..6e5cad760 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/AtomicOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/AtomicOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/BranchOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/BranchOps.cpp index c8d2a01ae..6345b6fcb 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/BranchOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/BranchOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/ConversionOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/ConversionOps.cpp index 3a2db43d2..fbc067e7b 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/ConversionOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/ConversionOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/EncryptionOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/EncryptionOps.cpp index 1082d8b18..cb392c69a 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/EncryptionOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/EncryptionOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/FlagOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/FlagOps.cpp index 50d4e55cb..2d7dc7c4e 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/FlagOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/FlagOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp index 101008065..2445ad67f 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: backend|x86-64 +desc: Main glue logic of the x86-64 splatter backend +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/Core/Dispatcher/X86Dispatcher.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/JITClass.h b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JITClass.h index d26f3d29c..19b3ccac9 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/JITClass.h +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JITClass.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #pragma once #include "Interface/Core/LookupCache.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/MemoryOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/MemoryOps.cpp index 5a3c64236..0354f8cf5 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/MemoryOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/MemoryOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/MiscOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/MiscOps.cpp index 669596c72..58577e769 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/MiscOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/MiscOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/MoveOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/MoveOps.cpp index 15c730533..984575ae5 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/MoveOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/MoveOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/VectorOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/VectorOps.cpp index f49e95f28..307196e8b 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/VectorOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/VectorOps.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: backend|x86-64 +$end_info$ +*/ + #include "Interface/Core/JIT/x86_64/JITClass.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/Core/LookupCache.cpp b/External/FEXCore/Source/Interface/Core/LookupCache.cpp index 5f396ed49..16108a491 100644 --- a/External/FEXCore/Source/Interface/Core/LookupCache.cpp +++ b/External/FEXCore/Source/Interface/Core/LookupCache.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: glue|block-database +desc: Stores information about blocks, and provides C++ implementations to lookup the blocks +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/Core/Core.h" #include "Interface/Core/LookupCache.h" diff --git a/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index 3246bf8b3..faa7967d3 100644 --- a/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: frontend|x86-to-ir, opcodes|dispatcher-implementations +desc: Handles x86/64 ops to IR, no-pf opt, local-flags opt +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/Core/OpcodeDispatcher.h" #include "Interface/HLE/Thunks/Thunks.h" diff --git a/External/FEXCore/Source/Interface/Core/X86HelperGen.cpp b/External/FEXCore/Source/Interface/Core/X86HelperGen.cpp index e8aafe2d3..ff7573356 100644 --- a/External/FEXCore/Source/Interface/Core/X86HelperGen.cpp +++ b/External/FEXCore/Source/Interface/Core/X86HelperGen.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: glue|x86-guest-code +desc: Guest-side assembly helpers used by the backends +$end_info$ +*/ + #include "Interface/Core/X86HelperGen.h" #include diff --git a/External/FEXCore/Source/Interface/Core/X86HelperGen.h b/External/FEXCore/Source/Interface/Core/X86HelperGen.h index 1efd9a708..7fd8c7beb 100644 --- a/External/FEXCore/Source/Interface/Core/X86HelperGen.h +++ b/External/FEXCore/Source/Interface/Core/X86HelperGen.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: glue|x86-guest-code +$end_info$ +*/ + #pragma once #include diff --git a/External/FEXCore/Source/Interface/Core/X86Tables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables.cpp index 5bc05f58e..fdcbda9ff 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: frontend|x86-tables ~ Metadata that drives the frontend x86/64 decoding +tags: frontend|x86-tables +$end_info$ +*/ + #include #include diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/BaseTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/BaseTables.cpp index 72cb073b1..df18fa6f8 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/BaseTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/BaseTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" #include diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/DDDTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/DDDTables.cpp index 59e283370..b9c639300 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/DDDTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/DDDTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/EVEXTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/EVEXTables.cpp index d8ef7b79f..30ec8a419 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/EVEXTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/EVEXTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/H0F38Tables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/H0F38Tables.cpp index f1dc79aa4..4529b4572 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/H0F38Tables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/H0F38Tables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/H0F3ATables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/H0F3ATables.cpp index f8004291a..1ed82003d 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/H0F3ATables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/H0F3ATables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp index 36ed405e9..d87b762f3 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp index 24dc68921..1e27b4db9 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp index 0e8c4b3eb..8c2f1cc8a 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryTables.cpp index 399b4f4a7..a1a6246e2 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/VEXTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/VEXTables.cpp index 6f9e6c391..d91fb16e7 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/VEXTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/VEXTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/X86Tables.h b/External/FEXCore/Source/Interface/Core/X86Tables/X86Tables.h index 91e7ab1dd..b41e1097e 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/X86Tables.h +++ b/External/FEXCore/Source/Interface/Core/X86Tables/X86Tables.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #pragma once #include diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/X87Tables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/X87Tables.cpp index 0a0e12d2a..ce50daefb 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/X87Tables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/X87Tables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/Core/X86Tables/XOPTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/XOPTables.cpp index 06665e506..6d3a51ff8 100644 --- a/External/FEXCore/Source/Interface/Core/X86Tables/XOPTables.cpp +++ b/External/FEXCore/Source/Interface/Core/X86Tables/XOPTables.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: frontend|x86-tables +$end_info$ +*/ + #include "Interface/Core/X86Tables/X86Tables.h" namespace FEXCore::X86Tables { diff --git a/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.cpp b/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.cpp index fa169beeb..c8a891650 100644 --- a/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.cpp +++ b/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: glue|thunks ~ FEXCore side of thunks: Registration, Lookup +tags: glue|thunks +$end_info$ +*/ + #include #include "Thunks.h" diff --git a/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.h b/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.h index 166aa9bf7..a70191d0b 100644 --- a/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.h +++ b/External/FEXCore/Source/Interface/HLE/Thunks/Thunks.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: glue|thunks +$end_info$ +*/ + #pragma once #include diff --git a/External/FEXCore/Source/Interface/IR/IRDumper.cpp b/External/FEXCore/Source/Interface/IR/IRDumper.cpp index 559e86036..6ee7c8019 100644 --- a/External/FEXCore/Source/Interface/IR/IRDumper.cpp +++ b/External/FEXCore/Source/Interface/IR/IRDumper.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: ir|dumper ~ IR -> Text +tags: ir|dumper +$end_info$ +*/ + #include #include #include diff --git a/External/FEXCore/Source/Interface/IR/IREmitter.cpp b/External/FEXCore/Source/Interface/IR/IREmitter.cpp index ac92ad6f5..01f94f1f8 100644 --- a/External/FEXCore/Source/Interface/IR/IREmitter.cpp +++ b/External/FEXCore/Source/Interface/IR/IREmitter.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: ir|emitter ~ C++ Functions to generate IR. See IR.json for spec. +tags: ir|emitter +$end_info$ +*/ + #include namespace FEXCore::IR { diff --git a/External/FEXCore/Source/Interface/IR/IRParser.cpp b/External/FEXCore/Source/Interface/IR/IRParser.cpp index 1cf985976..0acd8c2f0 100644 --- a/External/FEXCore/Source/Interface/IR/IRParser.cpp +++ b/External/FEXCore/Source/Interface/IR/IRParser.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: ir|parser ~ Text -> IR +tags: ir|parser +$end_info$ +*/ + #include #include #include diff --git a/External/FEXCore/Source/Interface/IR/PassManager.cpp b/External/FEXCore/Source/Interface/IR/PassManager.cpp index de42fedea..84a4bad84 100644 --- a/External/FEXCore/Source/Interface/IR/PassManager.cpp +++ b/External/FEXCore/Source/Interface/IR/PassManager.cpp @@ -1,3 +1,11 @@ +/* +$info$ +meta: ir|opts ~ IR to IR Optimization +tags: ir|opts +desc: Defines which passes are run, and runs them +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/IR/Passes.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" diff --git a/External/FEXCore/Source/Interface/IR/PassManager.h b/External/FEXCore/Source/Interface/IR/PassManager.h index 7420cf50f..9a720e0fb 100644 --- a/External/FEXCore/Source/Interface/IR/PassManager.h +++ b/External/FEXCore/Source/Interface/IR/PassManager.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: ir|opts +$end_info$ +*/ + #pragma once #include diff --git a/External/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp b/External/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp index 553a09108..c12d41e44 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp @@ -1,3 +1,11 @@ +/* +$info$ +tags: ir|opts +desc: ConstProp, ZExt elim, addressgen coalesce, const pooling, fcmp reduction, const inlining +$end_info$ +*/ + + #if defined(_M_ARM_64) //aarch64 heuristics #include "aarch64/assembler-aarch64.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/DeadCodeElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/DeadCodeElimination.cpp index e53605ad2..5e31c3b32 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/DeadCodeElimination.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/DeadCodeElimination.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: ir|opts +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp index f55482b73..0b6d98c37 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Transforms ContextLoad/Store to temporaries, similar to mem2reg +$end_info$ +*/ + #include "Interface/IR/Passes.h" #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/DeadStoreElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/DeadStoreElimination.cpp index 8f2968bcf..2ed0ee3c4 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/DeadStoreElimination.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/DeadStoreElimination.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Cross block store-after-store elimination +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/IRCompaction.cpp b/External/FEXCore/Source/Interface/IR/Passes/IRCompaction.cpp index 8ff2e3193..68b924a7c 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/IRCompaction.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/IRCompaction.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Sorts the ssa storage in memory, needed for RA and others +$end_info$ +*/ + #include "Common/MathUtils.h" #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/IRValidation.cpp b/External/FEXCore/Source/Interface/IR/Passes/IRValidation.cpp index 57bb1576e..6d1821807 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/IRValidation.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/IRValidation.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Sanity checking pass +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" #include "Interface/Context/Context.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/PhiValidation.cpp b/External/FEXCore/Source/Interface/IR/Passes/PhiValidation.cpp index 0445f4578..e83f6da19 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/PhiValidation.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/PhiValidation.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Sanity checking pass +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp index 1705c64a7..3a3af6a48 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: This is not used right now, possibly broken +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp b/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp index b394e822f..3f720c5d4 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: ir|opts +$end_info$ +*/ + #include "Common/BitSet.h" #include "Interface/IR/Passes/RegisterAllocationPass.h" #include "Interface/IR/Passes.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.h b/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.h index 5f431c6a4..17acd6fc0 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.h +++ b/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: ir|opts +$end_info$ +*/ + #pragma once #include "Interface/IR/PassManager.h" #include diff --git a/External/FEXCore/Source/Interface/IR/Passes/StaticRegisterAllocationPass.cpp b/External/FEXCore/Source/Interface/IR/Passes/StaticRegisterAllocationPass.cpp index f64e08206..1373d514a 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/StaticRegisterAllocationPass.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/StaticRegisterAllocationPass.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Replaces Load/StoreContext with Load/StoreReg for SRA regs +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/SyscallOptimization.cpp b/External/FEXCore/Source/Interface/IR/Passes/SyscallOptimization.cpp index 1f441fe96..26d94e1f1 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/SyscallOptimization.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/SyscallOptimization.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Removes unused arguments if known syscall number +$end_info$ +*/ + #include "Interface/Context/Context.h" #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Interface/IR/Passes/ValueDominanceValidation.cpp b/External/FEXCore/Source/Interface/IR/Passes/ValueDominanceValidation.cpp index b4c17cc56..3e0ea98e8 100644 --- a/External/FEXCore/Source/Interface/IR/Passes/ValueDominanceValidation.cpp +++ b/External/FEXCore/Source/Interface/IR/Passes/ValueDominanceValidation.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: ir|opts +desc: Sanity Checking +$end_info$ +*/ + #include "Interface/IR/PassManager.h" #include "Interface/Core/OpcodeDispatcher.h" diff --git a/External/FEXCore/Source/Utils/ELFLoader.cpp b/External/FEXCore/Source/Utils/ELFLoader.cpp index ef3dbc395..8bb571986 100644 --- a/External/FEXCore/Source/Utils/ELFLoader.cpp +++ b/External/FEXCore/Source/Utils/ELFLoader.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: glue|elf-parsing +desc: Loads and parses an elf to memory. Also handles some loading & logic. +$end_info$ +*/ + #include #include #include diff --git a/External/FEXCore/Source/Utils/ELFSymbolDatabase.cpp b/External/FEXCore/Source/Utils/ELFSymbolDatabase.cpp index 61a578a72..11ce13f09 100644 --- a/External/FEXCore/Source/Utils/ELFSymbolDatabase.cpp +++ b/External/FEXCore/Source/Utils/ELFSymbolDatabase.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: glue|elf-parsing +desc: Part of our now defunct ld-linux replacement, keeps tracks of all symbols, loads elfs, handles relocations. Small parts of this are used. +$end_info$ +*/ + #include #include #include diff --git a/External/FEXCore/Source/Utils/LogManager.cpp b/External/FEXCore/Source/Utils/LogManager.cpp index a1406d0ea..3fd142589 100644 --- a/External/FEXCore/Source/Utils/LogManager.cpp +++ b/External/FEXCore/Source/Utils/LogManager.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: glue|log-manager +$end_info$ +*/ + + #include #include #include diff --git a/External/FEXCore/include/FEXCore/Core/CPUBackend.h b/External/FEXCore/include/FEXCore/Core/CPUBackend.h index f9258098c..3ec75f648 100644 --- a/External/FEXCore/include/FEXCore/Core/CPUBackend.h +++ b/External/FEXCore/include/FEXCore/Core/CPUBackend.h @@ -1,3 +1,10 @@ +/* +$info$ +category: backend ~ IR to host code generation +tags: backend|shared +$end_info$ +*/ + #pragma once #include #include diff --git a/Source/Tests/ELFLoader.cpp b/Source/Tests/ELFLoader.cpp index dbddc287f..d03354ff9 100644 --- a/Source/Tests/ELFLoader.cpp +++ b/Source/Tests/ELFLoader.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: Bin|FEXLoader +desc: Glues the ELF loader, FEXCore and LinuxSyscalls to launch an elf under fex +$end_info$ +*/ + #include "Common/ArgumentLoader.h" #include "Common/EnvironmentLoader.h" #include "Common/Config.h" diff --git a/Source/Tests/FEXBash.cpp b/Source/Tests/FEXBash.cpp index 886e62c17..39a8f531c 100644 --- a/Source/Tests/FEXBash.cpp +++ b/Source/Tests/FEXBash.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: Bin|FEXBash +desc: Launches bash under FEX and passes arguments via -c to it +$end_info$ +*/ + #include "Config.h" #include "Common/ArgumentLoader.h" #include "Common/EnvironmentLoader.h" diff --git a/Source/Tests/IRLoader.cpp b/Source/Tests/IRLoader.cpp index 145f43d8f..e2fb9f447 100644 --- a/Source/Tests/IRLoader.cpp +++ b/Source/Tests/IRLoader.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: Bin|IRLoader +desc: Used to run IR Tests +$end_info$ +*/ + #include "Common/ArgumentLoader.h" #include "Common/EnvironmentLoader.h" #include "Common/Config.h" diff --git a/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.cpp b/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.cpp index b3bbdedf3..a4794e803 100644 --- a/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.cpp +++ b/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: LinuxSyscalls|common +desc: Emulated /proc/cpuinfo, version, osrelease, etc +$end_info$ +*/ + #include #include #include diff --git a/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.h b/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.h index 1d22c9cca..3de472066 100644 --- a/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.h +++ b/Source/Tests/LinuxSyscalls/EmulatedFiles/EmulatedFiles.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|common +$end_info$ +*/ + #pragma once #include diff --git a/Source/Tests/LinuxSyscalls/FileManagement.cpp b/Source/Tests/LinuxSyscalls/FileManagement.cpp index 7afcafee4..0901dcd14 100644 --- a/Source/Tests/LinuxSyscalls/FileManagement.cpp +++ b/Source/Tests/LinuxSyscalls/FileManagement.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: LinuxSyscalls|common +desc: Rootfs overlay logic +$end_info$ +*/ + #include "Tests/LinuxSyscalls/FileManagement.h" #include diff --git a/Source/Tests/LinuxSyscalls/FileManagement.h b/Source/Tests/LinuxSyscalls/FileManagement.h index c92ddbb64..cc0868daf 100644 --- a/Source/Tests/LinuxSyscalls/FileManagement.h +++ b/Source/Tests/LinuxSyscalls/FileManagement.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|common +$end_info$ +*/ + #pragma once #include #include diff --git a/Source/Tests/LinuxSyscalls/SignalDelegator.cpp b/Source/Tests/LinuxSyscalls/SignalDelegator.cpp index 5ab674925..13e914593 100644 --- a/Source/Tests/LinuxSyscalls/SignalDelegator.cpp +++ b/Source/Tests/LinuxSyscalls/SignalDelegator.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: LinuxSyscalls|common +desc: Handles host -> host and host -> guest signal routing, emulates procmask & co +$end_info$ +*/ + #include #include #include "Tests/LinuxSyscalls/SignalDelegator.h" diff --git a/Source/Tests/LinuxSyscalls/SignalDelegator.h b/Source/Tests/LinuxSyscalls/SignalDelegator.h index 512e0c9c3..4d09d64da 100644 --- a/Source/Tests/LinuxSyscalls/SignalDelegator.h +++ b/Source/Tests/LinuxSyscalls/SignalDelegator.h @@ -1,3 +1,10 @@ +/* +$info$ +tags: LinuxSyscalls|common +$end_info$ +*/ + + #pragma once #include diff --git a/Source/Tests/LinuxSyscalls/Syscalls.cpp b/Source/Tests/LinuxSyscalls/Syscalls.cpp index 7b4e169a1..832742514 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls.cpp @@ -1,3 +1,11 @@ +/* +$info$ +category: LinuxSyscalls ~ Linux syscall emulation, marshaling and passthrough +tags: LinuxSyscalls|common +desc: Glue logic, brk allocations +$end_info$ +*/ + #include #include "Common/MathUtils.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls.h b/Source/Tests/LinuxSyscalls/Syscalls.h index d357fb1fb..4f78bf5eb 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls.h +++ b/Source/Tests/LinuxSyscalls/Syscalls.h @@ -1,3 +1,10 @@ +/* +$info$ +tags: LinuxSyscalls|common +desc: Glue logic, STRACE magic +$end_info$ +*/ + #pragma once #include "Tests/LinuxSyscalls/FileManagement.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/EPoll.cpp b/Source/Tests/LinuxSyscalls/Syscalls/EPoll.cpp index 3bad27c79..c3bee54b3 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/EPoll.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/EPoll.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: LinuxSyscalls|syscalls-shared ~ Syscall implementations shared between x86 and x86-64 +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/FD.cpp b/Source/Tests/LinuxSyscalls/Syscalls/FD.cpp index 1875c1c65..d894b84ec 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/FD.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/FD.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/FS.cpp b/Source/Tests/LinuxSyscalls/Syscalls/FS.cpp index 6fa180726..c0a81c2d6 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/FS.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/FS.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/IO.cpp b/Source/Tests/LinuxSyscalls/Syscalls/IO.cpp index eccdbd759..5c43dc6e4 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/IO.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/IO.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Info.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Info.cpp index 1038ead31..a826a843c 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Info.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Info.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Key.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Key.cpp index d4db35ff3..5528d2d31 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Key.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Key.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Memory.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Memory.cpp index 74d4c926a..78183db89 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Memory.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Memory.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Msg.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Msg.cpp index f015bfcd3..dbdd2697e 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Msg.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Msg.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/NotImplemented.cpp b/Source/Tests/LinuxSyscalls/Syscalls/NotImplemented.cpp index 2144f60ff..5618e384a 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/NotImplemented.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/NotImplemented.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/SHM.cpp b/Source/Tests/LinuxSyscalls/Syscalls/SHM.cpp index 49c142ce8..c3c86f7e7 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/SHM.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/SHM.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Sched.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Sched.cpp index 572ae554f..ce377efeb 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Sched.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Sched.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Semaphore.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Semaphore.cpp index c328688be..ebaf11bdf 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Semaphore.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Semaphore.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Signals.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Signals.cpp index 43fbcb0e9..5dcc1b0a7 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Signals.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Signals.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/Syscalls/Thread.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Socket.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Socket.cpp index 02741c9db..4ffa25e87 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Socket.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Socket.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Stubs.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Stubs.cpp index 9819606ad..be589d78d 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Stubs.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Stubs.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include #include "Tests/LinuxSyscalls/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Thread.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Thread.cpp index 30f9858c2..6ac0763e7 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Thread.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Thread.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/Syscalls/Thread.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Thread.h b/Source/Tests/LinuxSyscalls/Syscalls/Thread.h index bb7355eda..8ee7e4c7e 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Thread.h +++ b/Source/Tests/LinuxSyscalls/Syscalls/Thread.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #pragma once #include #include diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Time.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Time.cpp index 059f376f4..aa44cd1e0 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Time.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Time.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/Syscalls/Timer.cpp b/Source/Tests/LinuxSyscalls/Syscalls/Timer.cpp index 1aa3fe8d7..3cb6728ce 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls/Timer.cpp +++ b/Source/Tests/LinuxSyscalls/Syscalls/Timer.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-shared +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/EPoll.cpp b/Source/Tests/LinuxSyscalls/x32/EPoll.cpp index f1df2219b..adfbdad3a 100644 --- a/Source/Tests/LinuxSyscalls/x32/EPoll.cpp +++ b/Source/Tests/LinuxSyscalls/x32/EPoll.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: LinuxSyscalls|syscalls-x86-32 ~ x86-32 specific syscall implementations +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Common/MathUtils.h" #include "Tests/LinuxSyscalls/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/FD.cpp b/Source/Tests/LinuxSyscalls/x32/FD.cpp index e527c1cba..8f9d39e32 100644 --- a/Source/Tests/LinuxSyscalls/x32/FD.cpp +++ b/Source/Tests/LinuxSyscalls/x32/FD.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Common/MathUtils.h" #include "Tests/LinuxSyscalls/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/FS.cpp b/Source/Tests/LinuxSyscalls/x32/FS.cpp index fa2dcd5a1..dd2756f0d 100644 --- a/Source/Tests/LinuxSyscalls/x32/FS.cpp +++ b/Source/Tests/LinuxSyscalls/x32/FS.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Info.cpp b/Source/Tests/LinuxSyscalls/x32/Info.cpp index 1ef6cbae7..32053c438 100644 --- a/Source/Tests/LinuxSyscalls/x32/Info.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Info.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Memory.cpp b/Source/Tests/LinuxSyscalls/x32/Memory.cpp index 4ec7687fb..13135a337 100644 --- a/Source/Tests/LinuxSyscalls/x32/Memory.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Memory.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x32/NotImplemented.cpp b/Source/Tests/LinuxSyscalls/x32/NotImplemented.cpp index a358c2e5a..a8f3bccb6 100644 --- a/Source/Tests/LinuxSyscalls/x32/NotImplemented.cpp +++ b/Source/Tests/LinuxSyscalls/x32/NotImplemented.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x32/Sched.cpp b/Source/Tests/LinuxSyscalls/x32/Sched.cpp index eb44e0563..8442398c2 100644 --- a/Source/Tests/LinuxSyscalls/x32/Sched.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Sched.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Semaphore.cpp b/Source/Tests/LinuxSyscalls/x32/Semaphore.cpp index 391d07470..f06af750d 100644 --- a/Source/Tests/LinuxSyscalls/x32/Semaphore.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Semaphore.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Signals.cpp b/Source/Tests/LinuxSyscalls/x32/Signals.cpp index 03769b2a2..f68dc2bcf 100644 --- a/Source/Tests/LinuxSyscalls/x32/Signals.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Signals.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/Syscalls/Thread.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Socket.cpp b/Source/Tests/LinuxSyscalls/x32/Socket.cpp index 94ed4d559..06f3af1c7 100644 --- a/Source/Tests/LinuxSyscalls/x32/Socket.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Socket.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Syscalls.cpp b/Source/Tests/LinuxSyscalls/x32/Syscalls.cpp index 514ceb1e3..0a7a1372d 100644 --- a/Source/Tests/LinuxSyscalls/x32/Syscalls.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Syscalls.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Common/MathUtils.h" #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Syscalls.h b/Source/Tests/LinuxSyscalls/x32/Syscalls.h index 7a1d2d660..873b48685 100644 --- a/Source/Tests/LinuxSyscalls/x32/Syscalls.h +++ b/Source/Tests/LinuxSyscalls/x32/Syscalls.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #pragma once #include "Tests/LinuxSyscalls/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/SyscallsEnum.h b/Source/Tests/LinuxSyscalls/x32/SyscallsEnum.h index e7a161003..e07162bf6 100644 --- a/Source/Tests/LinuxSyscalls/x32/SyscallsEnum.h +++ b/Source/Tests/LinuxSyscalls/x32/SyscallsEnum.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + ///< Enum containing all 32bit x86 linux syscalls for the guest kernel version enum Syscalls { SYSCALL_x86_restart_syscall = 0, diff --git a/Source/Tests/LinuxSyscalls/x32/SyscallsNames.inl b/Source/Tests/LinuxSyscalls/x32/SyscallsNames.inl index 3ebd0b7d8..56631e379 100644 --- a/Source/Tests/LinuxSyscalls/x32/SyscallsNames.inl +++ b/Source/Tests/LinuxSyscalls/x32/SyscallsNames.inl @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + { 0, "restart_syscall" }, { 1, "exit" }, { 2, "fork" }, diff --git a/Source/Tests/LinuxSyscalls/x32/Thread.cpp b/Source/Tests/LinuxSyscalls/x32/Thread.cpp index 3598c0dbe..d6a334546 100644 --- a/Source/Tests/LinuxSyscalls/x32/Thread.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Thread.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/Syscalls/Thread.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Thread.h b/Source/Tests/LinuxSyscalls/x32/Thread.h index 6a8e93cff..5223463ac 100644 --- a/Source/Tests/LinuxSyscalls/x32/Thread.h +++ b/Source/Tests/LinuxSyscalls/x32/Thread.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #pragma once #include diff --git a/Source/Tests/LinuxSyscalls/x32/Time.cpp b/Source/Tests/LinuxSyscalls/x32/Time.cpp index cc4eaac61..268c59441 100644 --- a/Source/Tests/LinuxSyscalls/x32/Time.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Time.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Timer.cpp b/Source/Tests/LinuxSyscalls/x32/Timer.cpp index 26c1c3e71..3c859f339 100644 --- a/Source/Tests/LinuxSyscalls/x32/Timer.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Timer.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x32/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x32/Types.h b/Source/Tests/LinuxSyscalls/x32/Types.h index 9009400cd..07f375986 100644 --- a/Source/Tests/LinuxSyscalls/x32/Types.h +++ b/Source/Tests/LinuxSyscalls/x32/Types.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-32 +$end_info$ +*/ + #pragma once #include diff --git a/Source/Tests/LinuxSyscalls/x64/EPoll.cpp b/Source/Tests/LinuxSyscalls/x64/EPoll.cpp index 62d312a8c..bb54f8ca2 100644 --- a/Source/Tests/LinuxSyscalls/x64/EPoll.cpp +++ b/Source/Tests/LinuxSyscalls/x64/EPoll.cpp @@ -1,3 +1,10 @@ +/* +$info$ +meta: LinuxSyscalls|syscalls-x86-64 ~ x86-64 specific syscall implementations +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Common/MathUtils.h" #include "Tests/LinuxSyscalls/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x64/FD.cpp b/Source/Tests/LinuxSyscalls/x64/FD.cpp index 726a3ae80..78d1a6341 100644 --- a/Source/Tests/LinuxSyscalls/x64/FD.cpp +++ b/Source/Tests/LinuxSyscalls/x64/FD.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/IO.cpp b/Source/Tests/LinuxSyscalls/x64/IO.cpp index 8656aded4..4d8b6046b 100644 --- a/Source/Tests/LinuxSyscalls/x64/IO.cpp +++ b/Source/Tests/LinuxSyscalls/x64/IO.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x64/Info.cpp b/Source/Tests/LinuxSyscalls/x64/Info.cpp index e95ba0dc1..d13dae68d 100644 --- a/Source/Tests/LinuxSyscalls/x64/Info.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Info.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/Ioctl.cpp b/Source/Tests/LinuxSyscalls/x64/Ioctl.cpp index 5d008f62f..28e05e617 100644 --- a/Source/Tests/LinuxSyscalls/x64/Ioctl.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Ioctl.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x64/Memory.cpp b/Source/Tests/LinuxSyscalls/x64/Memory.cpp index 5a2d6812f..3a9125799 100644 --- a/Source/Tests/LinuxSyscalls/x64/Memory.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Memory.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/Msg.cpp b/Source/Tests/LinuxSyscalls/x64/Msg.cpp index 431c805f0..d76965b46 100644 --- a/Source/Tests/LinuxSyscalls/x64/Msg.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Msg.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/NotImplemented.cpp b/Source/Tests/LinuxSyscalls/x64/NotImplemented.cpp index f61e8e2e4..2694b7868 100644 --- a/Source/Tests/LinuxSyscalls/x64/NotImplemented.cpp +++ b/Source/Tests/LinuxSyscalls/x64/NotImplemented.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x64/Sched.cpp b/Source/Tests/LinuxSyscalls/x64/Sched.cpp index 92d767bf4..bcdbbebfb 100644 --- a/Source/Tests/LinuxSyscalls/x64/Sched.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Sched.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/Semaphore.cpp b/Source/Tests/LinuxSyscalls/x64/Semaphore.cpp index 1e4c0e5bf..619fa469b 100644 --- a/Source/Tests/LinuxSyscalls/x64/Semaphore.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Semaphore.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/Signals.cpp b/Source/Tests/LinuxSyscalls/x64/Signals.cpp index 8fe326c27..63134ae41 100644 --- a/Source/Tests/LinuxSyscalls/x64/Signals.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Signals.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/Syscalls/Thread.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x64/Socket.cpp b/Source/Tests/LinuxSyscalls/x64/Socket.cpp index 88b9f25f2..aa1c8b705 100644 --- a/Source/Tests/LinuxSyscalls/x64/Socket.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Socket.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include diff --git a/Source/Tests/LinuxSyscalls/x64/Syscalls.cpp b/Source/Tests/LinuxSyscalls/x64/Syscalls.cpp index b0b1ce902..8f3495be1 100644 --- a/Source/Tests/LinuxSyscalls/x64/Syscalls.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Syscalls.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/LinuxSyscalls/x64/Syscalls.h b/Source/Tests/LinuxSyscalls/x64/Syscalls.h index cde48d171..af8dd1c10 100644 --- a/Source/Tests/LinuxSyscalls/x64/Syscalls.h +++ b/Source/Tests/LinuxSyscalls/x64/Syscalls.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #pragma once #include "Tests/LinuxSyscalls/FileManagement.h" diff --git a/Source/Tests/LinuxSyscalls/x64/SyscallsEnum.h b/Source/Tests/LinuxSyscalls/x64/SyscallsEnum.h index fd4d794d8..b9241576e 100644 --- a/Source/Tests/LinuxSyscalls/x64/SyscallsEnum.h +++ b/Source/Tests/LinuxSyscalls/x64/SyscallsEnum.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + ///< Enum containing all x86-64 linux syscalls for the guest kernel version enum Syscalls { SYSCALL_x64_read = 0, diff --git a/Source/Tests/LinuxSyscalls/x64/SyscallsNames.inl b/Source/Tests/LinuxSyscalls/x64/SyscallsNames.inl index 3e3520dbe..6137911c2 100644 --- a/Source/Tests/LinuxSyscalls/x64/SyscallsNames.inl +++ b/Source/Tests/LinuxSyscalls/x64/SyscallsNames.inl @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + { 0, "read"}, { 1, "write"}, { 2, "open"}, diff --git a/Source/Tests/LinuxSyscalls/x64/Thread.cpp b/Source/Tests/LinuxSyscalls/x64/Thread.cpp index 73dd87c91..bf79b5999 100644 --- a/Source/Tests/LinuxSyscalls/x64/Thread.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Thread.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Thread.h" diff --git a/Source/Tests/LinuxSyscalls/x64/Thread.h b/Source/Tests/LinuxSyscalls/x64/Thread.h index ab431dcb8..413c9a633 100644 --- a/Source/Tests/LinuxSyscalls/x64/Thread.h +++ b/Source/Tests/LinuxSyscalls/x64/Thread.h @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #pragma once #include diff --git a/Source/Tests/LinuxSyscalls/x64/Time.cpp b/Source/Tests/LinuxSyscalls/x64/Time.cpp index 8224a7125..7a955592a 100644 --- a/Source/Tests/LinuxSyscalls/x64/Time.cpp +++ b/Source/Tests/LinuxSyscalls/x64/Time.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: LinuxSyscalls|syscalls-x86-64 +$end_info$ +*/ + #include "Tests/LinuxSyscalls/Syscalls.h" #include "Tests/LinuxSyscalls/x64/Syscalls.h" diff --git a/Source/Tests/TestHarnessRunner.cpp b/Source/Tests/TestHarnessRunner.cpp index 02e2b5210..a3187555c 100644 --- a/Source/Tests/TestHarnessRunner.cpp +++ b/Source/Tests/TestHarnessRunner.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: Bin|TestHarnessRunner +desc: Used to run Assembly tests +$end_info$ +*/ + #include "Common/ArgumentLoader.h" #include "Common/EnvironmentLoader.h" #include "CommonCore/HostFactory.h" diff --git a/Source/Tests/UnitTestGenerator.cpp b/Source/Tests/UnitTestGenerator.cpp index d32aea665..acedae7ec 100644 --- a/Source/Tests/UnitTestGenerator.cpp +++ b/Source/Tests/UnitTestGenerator.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: Bin|UnitTestGenerator +desc: Brute forces generation of tests for x86/64, incomplete, unused right now +$end_info$ +*/ + #include "Common/ArgumentLoader.h" #include "Common/EnvironmentLoader.h" #include "Common/Config.h" diff --git a/Source/Tools/Opt.cpp b/Source/Tools/Opt.cpp index 92928d2a7..f6a4d9e33 100644 --- a/Source/Tools/Opt.cpp +++ b/Source/Tools/Opt.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: Bin|Opt +desc: Unused +$end_info$ +*/ + #include "Common/ArgumentLoader.h" #include "Common/EnvironmentLoader.h" #include "Common/Config.h" diff --git a/ThunkLibs/include/common/Host.h b/ThunkLibs/include/common/Host.h index 19ff9a013..5a987fb92 100644 --- a/ThunkLibs/include/common/Host.h +++ b/ThunkLibs/include/common/Host.h @@ -1,3 +1,9 @@ +/* +$info$ +category: thunklibs ~ These are generated + glue logic 1:1 thunks unless noted otherwise +$end_info$ +*/ + #pragma once #include diff --git a/ThunkLibs/libEGL/libEGL_Guest.cpp b/ThunkLibs/libEGL/libEGL_Guest.cpp index d83fec1da..970bcd11f 100644 --- a/ThunkLibs/libEGL/libEGL_Guest.cpp +++ b/ThunkLibs/libEGL/libEGL_Guest.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: thunklibs|EGL +desc: Depends on glXGetProcAddress thunk +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libEGL/libEGL_Host.cpp b/ThunkLibs/libEGL/libEGL_Host.cpp index b6f2ca10f..4db68fad7 100644 --- a/ThunkLibs/libEGL/libEGL_Host.cpp +++ b/ThunkLibs/libEGL/libEGL_Host.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|EGL +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libGL/libGL_Guest.cpp b/ThunkLibs/libGL/libGL_Guest.cpp index 81892795d..9fc912257 100644 --- a/ThunkLibs/libGL/libGL_Guest.cpp +++ b/ThunkLibs/libGL/libGL_Guest.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: thunklibs|GL +desc: Handles glXGetProcAddress +$end_info$ +*/ + #define GL_GLEXT_PROTOTYPES 1 #define GLX_GLXEXT_PROTOTYPES 1 diff --git a/ThunkLibs/libGL/libGL_Host.cpp b/ThunkLibs/libGL/libGL_Host.cpp index f92fe75e0..8dc43df42 100644 --- a/ThunkLibs/libGL/libGL_Host.cpp +++ b/ThunkLibs/libGL/libGL_Host.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: thunklibs|GL +desc: Uses glXGetProcAddress instead of dlsym +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libSDL2/libSDL2_Guest.cpp b/ThunkLibs/libSDL2/libSDL2_Guest.cpp index ee82252e4..d478289e3 100644 --- a/ThunkLibs/libSDL2/libSDL2_Guest.cpp +++ b/ThunkLibs/libSDL2/libSDL2_Guest.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: thunklibs|SDL2 +desc: Handles sdlglproc, dload, stubs a few log fns +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libSDL2/libSDL2_Host.cpp b/ThunkLibs/libSDL2/libSDL2_Host.cpp index 7f0b8f778..c9a340a43 100644 --- a/ThunkLibs/libSDL2/libSDL2_Host.cpp +++ b/ThunkLibs/libSDL2/libSDL2_Host.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|SDL2 +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libX11/libX11_Guest.cpp b/ThunkLibs/libX11/libX11_Guest.cpp index 8c118188b..6eac9b917 100644 --- a/ThunkLibs/libX11/libX11_Guest.cpp +++ b/ThunkLibs/libX11/libX11_Guest.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: thunklibs|X11 +desc: Handles callbacks and varargs +$end_info$ +*/ + #include #include #include diff --git a/ThunkLibs/libX11/libX11_Host.cpp b/ThunkLibs/libX11/libX11_Host.cpp index 3054b7f8d..739f3cae4 100644 --- a/ThunkLibs/libX11/libX11_Host.cpp +++ b/ThunkLibs/libX11/libX11_Host.cpp @@ -1,3 +1,10 @@ +/* +$info$ +tags: thunklibs|X11 +desc: Handles callbacks and varargs +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libXext/libXext_Guest.cpp b/ThunkLibs/libXext/libXext_Guest.cpp index d972afae9..caecbec1e 100644 --- a/ThunkLibs/libXext/libXext_Guest.cpp +++ b/ThunkLibs/libXext/libXext_Guest.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|X11 +$end_info$ +*/ + #include #include #include diff --git a/ThunkLibs/libXext/libXext_Host.cpp b/ThunkLibs/libXext/libXext_Host.cpp index e22ddec98..9de910be9 100644 --- a/ThunkLibs/libXext/libXext_Host.cpp +++ b/ThunkLibs/libXext/libXext_Host.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|X11 +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libXfixes/libXfixes_Guest.cpp b/ThunkLibs/libXfixes/libXfixes_Guest.cpp index b80688105..c99cc08d9 100644 --- a/ThunkLibs/libXfixes/libXfixes_Guest.cpp +++ b/ThunkLibs/libXfixes/libXfixes_Guest.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|X11 +$end_info$ +*/ + #include #include #include diff --git a/ThunkLibs/libXfixes/libXfixes_Host.cpp b/ThunkLibs/libXfixes/libXfixes_Host.cpp index a40def4c4..36c8efe10 100644 --- a/ThunkLibs/libXfixes/libXfixes_Host.cpp +++ b/ThunkLibs/libXfixes/libXfixes_Host.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|X11 +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libXrender/libXrender_Guest.cpp b/ThunkLibs/libXrender/libXrender_Guest.cpp index 89df1174c..edede777c 100644 --- a/ThunkLibs/libXrender/libXrender_Guest.cpp +++ b/ThunkLibs/libXrender/libXrender_Guest.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|X11 +$end_info$ +*/ + #include #include #include diff --git a/ThunkLibs/libXrender/libXrender_Host.cpp b/ThunkLibs/libXrender/libXrender_Host.cpp index 2d43bafb2..0633267da 100644 --- a/ThunkLibs/libXrender/libXrender_Host.cpp +++ b/ThunkLibs/libXrender/libXrender_Host.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|X11 +$end_info$ +*/ + #include #include diff --git a/ThunkLibs/libasound/libasound_Guest.cpp b/ThunkLibs/libasound/libasound_Guest.cpp index 53a21e457..17fdd7555 100644 --- a/ThunkLibs/libasound/libasound_Guest.cpp +++ b/ThunkLibs/libasound/libasound_Guest.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|asound +$end_info$ +*/ + #include diff --git a/ThunkLibs/libasound/libasound_Host.cpp b/ThunkLibs/libasound/libasound_Host.cpp index 42dd1f653..7ce7ac6e6 100644 --- a/ThunkLibs/libasound/libasound_Host.cpp +++ b/ThunkLibs/libasound/libasound_Host.cpp @@ -1,3 +1,9 @@ +/* +$info$ +tags: thunklibs|asound +$end_info$ +*/ + #include #include diff --git a/unittests/Readme.md b/unittests/Readme.md new file mode 100644 index 000000000..54e0077b1 --- /dev/null +++ b/unittests/Readme.md @@ -0,0 +1,16 @@ +# FEX Unit tests + +FEX has its own test suite for x86-64 emulation, and we also use gcc's target tests, posixtest, and gvisor's tests. We use a combination of CMake/CTest and python runner scripts. + +We also regularly run and pass qemu's and valgrind's tests for validation, but those aren't in CI right now. + +## x86/64 testing +- A lot of handwritten assembly unit tests in [32Bit_ASM](32Bit_ASM) and [ASM](ASM) folders, run via our TestHarnessHelper +- A few handwritten IR tests in [IR](IR), run via our IRLoader +- gcc-target-tests-32 and gcc-target-tests-64, run via FEXLoader. The tests binaries are in [External/fex-gcc-target-tests-bins](../External/fex-gcc-target-tests-bins) + + +## Syscall testing +- 64-bit posixtest from http://posixtest.sourceforge.net/, run via FEXLoader. The tests binaries are in [External/fex-posixtest-bins](../External/fex-posixtest-bins) +- 64-bit gvisor tests from https://github.com/google/gvisor, run via FEXLoader. The tests binaries are in [External/fex-gvisor-tests-bins](../External/fex-gvisor-tests-bins) +