mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 17:00:19 +02:00
Merge pull request #537 from Sonicadvance1/move_memory_x64
Moves some memory op implementations to x64 file
This commit is contained in:
2 files changed
+15
-15
No files matched your search
@@ -19,11 +19,6 @@ struct InternalThreadState;
|
||||
namespace FEXCore::HLE {
|
||||
|
||||
void RegisterMemory() {
|
||||
REGISTER_SYSCALL_IMPL(munmap, [](FEXCore::Core::InternalThreadState *Thread, void *addr, size_t length) -> uint64_t {
|
||||
uint64_t Result = ::munmap(addr, length);
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL(brk, [](FEXCore::Core::InternalThreadState *Thread, void *addr) -> uint64_t {
|
||||
uint64_t Result = Thread->CTX->SyscallHandler->HandleBRK(Thread, addr);
|
||||
SYSCALL_ERRNO();
|
||||
@@ -54,16 +49,6 @@ namespace FEXCore::HLE {
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL(mlockall, [](FEXCore::Core::InternalThreadState *Thread, int flags) -> uint64_t {
|
||||
uint64_t Result = ::mlockall(flags);
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL(munlockall, [](FEXCore::Core::InternalThreadState *Thread) -> uint64_t {
|
||||
uint64_t Result = ::munlockall();
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL(mlock2, [](FEXCore::Core::InternalThreadState *Thread, const void *addr, size_t len, int flags) -> uint64_t {
|
||||
uint64_t Result = ::mlock2(addr, len, flags);
|
||||
SYSCALL_ERRNO();
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
#define MEM_PASSTHROUGH
|
||||
namespace FEXCore::HLE::x64 {
|
||||
void RegisterMemory() {
|
||||
REGISTER_SYSCALL_IMPL_X64(munmap, [](FEXCore::Core::InternalThreadState *Thread, void *addr, size_t length) -> uint64_t {
|
||||
uint64_t Result = ::munmap(addr, length);
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL_X64(mmap, [](FEXCore::Core::InternalThreadState *Thread, void *addr, size_t length, int prot, int flags, int fd, off_t offset) -> uint64_t {
|
||||
#ifdef MEM_PASSTHROUGH
|
||||
uint64_t Result = reinterpret_cast<uint64_t>(::mmap(addr, length, prot, flags, fd, offset));
|
||||
@@ -25,5 +30,15 @@ namespace FEXCore::HLE::x64 {
|
||||
uint64_t Result = ::mprotect(addr, len, prot);
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL_X64(mlockall, [](FEXCore::Core::InternalThreadState *Thread, int flags) -> uint64_t {
|
||||
uint64_t Result = ::mlockall(flags);
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
|
||||
REGISTER_SYSCALL_IMPL_X64(munlockall, [](FEXCore::Core::InternalThreadState *Thread) -> uint64_t {
|
||||
uint64_t Result = ::munlockall();
|
||||
SYSCALL_ERRNO();
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user