mirror of
https://github.com/pound-emu/pound.git
synced 2025-12-12 01:36:57 +00:00
The initial vCPU state for AArch64 had a couple of architectural inaccuracies that this commit corrects. First, AArch64 has 32 general-purpose registers (X0-X31), not 31. The stack pointer (SP) is not a separate special-purpose register but is an alias for register X31. The dedicated `sp` field in vcpu_state_t was therefore redundant and architecturally incorrect. This change increases GP_REGISTERS to 32 and removes the separate `sp` field. The SP should be managed via `r[31]`. Second, to support floating-point and SIMD instructions, the vCPU state must include the vector registers. This adds the definitions and storage for the 32 128-bit FP/SIMD registers (V0-V31). Signed-off-by: Ronald Caesar <github43132@proton.me> |
||
|---|---|---|
| .. | ||
| aarch64 | ||
| audio | ||
| Base | ||
| gpu | ||
| Images | ||
| JIT | ||
| memory | ||
| miscgui | ||
| main.cpp | ||
| Pound.rc | ||