pound-emu_pound/core/Base
Ronald Caesar e7b5349980 aarch64/mem: Introduce a dedicated guest memory access layer
This commit introduces a proper abstraction layer for all read and write
operations.

The previous approach of directly calculating a Host Virtual Address
(HVA) from a Guest Physical Address (GPA) via gpa_to_hva() forces every
part of the emulator that touches guest memory to be aware of the
underlying host pointer, which is poor design.

This new layer introduces a suite of guest_mem_read{b,w,l,q} and
guest_mem_write{b,w,l,q} fuctions. All future memory accesses from the
emulated CPU should be performed through these functions.

The code has also been moved into the pound::aarch64 namespace for
better organization.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-14 20:07:29 -04:00
..
Logging aarch64/mem: Introduce a dedicated guest memory access layer 2025-08-14 20:07:29 -04:00
Arch.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Assert.cpp Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Assert.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
BoundedQueue.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Config.cpp Configurable Window Size 2025-06-20 22:55:58 +02:00
Config.h Configurable Window Size 2025-06-20 22:55:58 +02:00
Enum.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Error.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
IoFile.cpp Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
IoFile.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
PathUtil.cpp Add Firmware Directory 2025-06-20 20:40:27 +02:00
PathUtil.h Add Firmware Directory 2025-06-20 20:40:27 +02:00
PolyfillThread.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
StringUtil.cpp Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
StringUtil.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
swap.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Thread.cpp Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Thread.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Types.h Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00