summaryrefslogtreecommitdiff
path: root/src/common/android/id_cache.cpp
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.orgq>2025-02-28 17:11:07 +1000
committerMike Lothian <mike@fireburn.co.uk>2025-05-12 12:46:19 +0100
commit856c00f19c4ddfeb050df05012d3ea7a825e0b07 (patch)
treea894f439b26fce2e7f7d003739f95ef2da426e42 /src/common/android/id_cache.cpp
parent9cd38cd8bf91dd4d67fc9865a83ccccd5860de26 (diff)
arm: Improve TLB implementation and fault handling in NCE
This commit enhances the Translation Lookaside Buffer (TLB) implementation in the ARM Native Code Execution (NCE) component to increase stability, particularly on Android devices. The changes prioritize robustness and error recovery over performance optimizations. Key improvements: - Replace set-associative TLB with a simpler linear search implementation - Implement a basic LRU replacement policy for TLB entries - Add validation checks for memory addresses before TLB insertion - Ensure proper page alignment for guest and host addresses - Enhance alignment fault handling with instruction skipping as fallback - Add comprehensive debug logging for memory access errors - Improve error recovery in guest memory access scenarios These changes should significantly reduce crashes during emulation on Android devices by gracefully handling memory access edge cases that previously resulted in hard crashes. Co-Authored-By: Camille LaVey <camillelavey@citron-emu.org> Signed-off-by: Zephyron <zephyron@citron-emu.org>
Diffstat (limited to 'src/common/android/id_cache.cpp')
0 files changed, 0 insertions, 0 deletions