aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/unicorn
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-03-16 20:06:27 -0400
committerGitHub <noreply@github.com>2018-03-16 20:06:27 -0400
commite7ba2a4447bb06146f23163e82689852bf83008e (patch)
tree7ff83f9d4b4fd4df5f48333d07fb743e3c4531cb /src/core/arm/unicorn
parent07ae1f972d5f41f6d5287750f05596b0b29fb6bd (diff)
parentcc6f22e0e423527e9ddf374960fa29a472cea04a (diff)
Merge pull request #232 from bunnei/heap-fixes
Various heap fixes for libtransistor
Diffstat (limited to 'src/core/arm/unicorn')
-rw-r--r--src/core/arm/unicorn/arm_unicorn.cpp4
-rw-r--r--src/core/arm/unicorn/arm_unicorn.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/core/arm/unicorn/arm_unicorn.cpp b/src/core/arm/unicorn/arm_unicorn.cpp
index 5d2956bfd..162c766fd 100644
--- a/src/core/arm/unicorn/arm_unicorn.cpp
+++ b/src/core/arm/unicorn/arm_unicorn.cpp
@@ -77,6 +77,10 @@ void ARM_Unicorn::MapBackingMemory(VAddr address, size_t size, u8* memory,
CHECKED(uc_mem_map_ptr(uc, address, size, static_cast<u32>(perms), memory));
}
+void ARM_Unicorn::UnmapMemory(VAddr address, size_t size) {
+ CHECKED(uc_mem_unmap(uc, address, size));
+}
+
void ARM_Unicorn::SetPC(u64 pc) {
CHECKED(uc_reg_write(uc, UC_ARM64_REG_PC, &pc));
}
diff --git a/src/core/arm/unicorn/arm_unicorn.h b/src/core/arm/unicorn/arm_unicorn.h
index c9a561dec..00b5b1865 100644
--- a/src/core/arm/unicorn/arm_unicorn.h
+++ b/src/core/arm/unicorn/arm_unicorn.h
@@ -14,6 +14,7 @@ public:
~ARM_Unicorn();
void MapBackingMemory(VAddr address, size_t size, u8* memory,
Kernel::VMAPermission perms) override;
+ void UnmapMemory(VAddr address, size_t size) override;
void SetPC(u64 pc) override;
u64 GetPC() const override;
u64 GetReg(int index) const override;