diff options
| author | 2020-12-03 15:32:45 -0800 | |
|---|---|---|
| committer | 2020-12-03 15:32:45 -0800 | |
| commit | 69aaad9b9684570284efcdb5921e54d0f5983838 (patch) | |
| tree | 364256228dfcdfc989a597aca2a6c753b173f93a /src/core/arm/arm_interface.h | |
| parent | Merge pull request #5059 from lioncash/mouse (diff) | |
| parent | kernel: scheduler: Minor cleanup to remove duplicated code. (diff) | |
| download | yuzu-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.h | 22 |
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 | ||