diff options
author | Liam <byteslice@airmail.cc> | 2023-02-05 20:22:02 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-02-07 05:57:44 +0100 |
commit | 2415d37ea296e8856267375989a8b95cebe2575a (patch) | |
tree | 376baf5952a8ccc15b445702d38c056ffa71dd1b /src/core/hle/kernel/svc/svc_code_memory.cpp | |
parent | Merge pull request #9731 from liamwhite/svc-move-only (diff) | |
download | yuzu-2415d37ea296e8856267375989a8b95cebe2575a.tar yuzu-2415d37ea296e8856267375989a8b95cebe2575a.tar.gz yuzu-2415d37ea296e8856267375989a8b95cebe2575a.tar.bz2 yuzu-2415d37ea296e8856267375989a8b95cebe2575a.tar.lz yuzu-2415d37ea296e8856267375989a8b95cebe2575a.tar.xz yuzu-2415d37ea296e8856267375989a8b95cebe2575a.tar.zst yuzu-2415d37ea296e8856267375989a8b95cebe2575a.zip |
Diffstat (limited to 'src/core/hle/kernel/svc/svc_code_memory.cpp')
-rw-r--r-- | src/core/hle/kernel/svc/svc_code_memory.cpp | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/src/core/hle/kernel/svc/svc_code_memory.cpp b/src/core/hle/kernel/svc/svc_code_memory.cpp index 4cb21e101..ec256b757 100644 --- a/src/core/hle/kernel/svc/svc_code_memory.cpp +++ b/src/core/hle/kernel/svc/svc_code_memory.cpp @@ -63,12 +63,9 @@ Result CreateCodeMemory(Core::System& system, Handle* out, VAddr address, size_t return ResultSuccess; } -Result CreateCodeMemory32(Core::System& system, Handle* out, u32 address, u32 size) { - return CreateCodeMemory(system, out, address, size); -} - -Result ControlCodeMemory(Core::System& system, Handle code_memory_handle, u32 operation, - VAddr address, size_t size, MemoryPermission perm) { +Result ControlCodeMemory(Core::System& system, Handle code_memory_handle, + CodeMemoryOperation operation, VAddr address, size_t size, + MemoryPermission perm) { LOG_TRACE(Kernel_SVC, "called, code_memory_handle=0x{:X}, operation=0x{:X}, address=0x{:X}, size=0x{:X}, " @@ -90,7 +87,7 @@ Result ControlCodeMemory(Core::System& system, Handle code_memory_handle, u32 op // This enables homebrew usage of these SVCs for JIT. // Perform the operation. - switch (static_cast<CodeMemoryOperation>(operation)) { + switch (operation) { case CodeMemoryOperation::Map: { // Check that the region is in range. R_UNLESS( @@ -146,9 +143,26 @@ Result ControlCodeMemory(Core::System& system, Handle code_memory_handle, u32 op return ResultSuccess; } -Result ControlCodeMemory32(Core::System& system, Handle code_memory_handle, u32 operation, - u64 address, u64 size, MemoryPermission perm) { - return ControlCodeMemory(system, code_memory_handle, operation, address, size, perm); +Result CreateCodeMemory64(Core::System& system, Handle* out_handle, uint64_t address, + uint64_t size) { + R_RETURN(CreateCodeMemory(system, out_handle, address, size)); +} + +Result ControlCodeMemory64(Core::System& system, Handle code_memory_handle, + CodeMemoryOperation operation, uint64_t address, uint64_t size, + MemoryPermission perm) { + R_RETURN(ControlCodeMemory(system, code_memory_handle, operation, address, size, perm)); +} + +Result CreateCodeMemory64From32(Core::System& system, Handle* out_handle, uint32_t address, + uint32_t size) { + R_RETURN(CreateCodeMemory(system, out_handle, address, size)); +} + +Result ControlCodeMemory64From32(Core::System& system, Handle code_memory_handle, + CodeMemoryOperation operation, uint64_t address, uint64_t size, + MemoryPermission perm) { + R_RETURN(ControlCodeMemory(system, code_memory_handle, operation, address, size, perm)); } } // namespace Kernel::Svc |