summaryrefslogtreecommitdiff
path: root/src/core/arm/arm_interface.h
diff options
context:
space:
mode:
authorGravatar bunnei2020-12-03 15:32:45 -0800
committerGravatar GitHub2020-12-03 15:32:45 -0800
commit69aaad9b9684570284efcdb5921e54d0f5983838 (patch)
tree364256228dfcdfc989a597aca2a6c753b173f93a /src/core/arm/arm_interface.h
parentMerge pull request #5059 from lioncash/mouse (diff)
parentkernel: scheduler: Minor cleanup to remove duplicated code. (diff)
downloadyuzu-69aaad9b9684570284efcdb5921e54d0f5983838.tar.gz
yuzu-69aaad9b9684570284efcdb5921e54d0f5983838.tar.xz
yuzu-69aaad9b9684570284efcdb5921e54d0f5983838.zip
Merge pull request #4996 from bunnei/use-4jits
Kernel: Refactor to use 4-instances of Dynarmic & various cleanups and improvements
Diffstat (limited to 'src/core/arm/arm_interface.h')
-rw-r--r--src/core/arm/arm_interface.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 1f24051e4..70098c526 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -64,15 +64,25 @@ public:
64 /// Step CPU by one instruction 64 /// Step CPU by one instruction
65 virtual void Step() = 0; 65 virtual void Step() = 0;
66 66
67 /// Exits execution from a callback, the callback must rewind the stack
68 virtual void ExceptionalExit() = 0;
69
67 /// Clear all instruction cache 70 /// Clear all instruction cache
68 virtual void ClearInstructionCache() = 0; 71 virtual void ClearInstructionCache() = 0;
69 72
70 /// Notifies CPU emulation that the current page table has changed. 73 /**
71 /// 74 * Clear instruction cache range
72 /// @param new_page_table The new page table. 75 * @param addr Start address of the cache range to clear
73 /// @param new_address_space_size_in_bits The new usable size of the address space in bits. 76 * @param size Size of the cache range to clear, starting at addr
74 /// This can be either 32, 36, or 39 on official software. 77 */
75 /// 78 virtual void InvalidateCacheRange(VAddr addr, std::size_t size) = 0;
79
80 /**
81 * Notifies CPU emulation that the current page table has changed.
82 * @param new_page_table The new page table.
83 * @param new_address_space_size_in_bits The new usable size of the address space in bits.
84 * This can be either 32, 36, or 39 on official software.
85 */
76 virtual void PageTableChanged(Common::PageTable& new_page_table, 86 virtual void PageTableChanged(Common::PageTable& new_page_table,
77 std::size_t new_address_space_size_in_bits) = 0; 87 std::size_t new_address_space_size_in_bits) = 0;
78 88