pound-emu_pound/core/aarch64/isa.cpp
Ronald Caesar c550b00dde aarch64/mem: Fixed pointer arithmatic warning
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-13 15:40:01 -04:00

36 lines
1.1 KiB
C++

#include "isa.h"
#include "Base/Assert.h"
#include "memory/arena.h"
static inline uint8_t* aarch64::memory::gpa_to_hva(aarch64::memory::guest_memory_t* memory, uint64_t gpa)
{
ASSERT(nullptr != memory);
ASSERT(nullptr != memory->base);
ASSERT(gpa < memory->size);
uint8_t* hva = memory->base + gpa;
return hva;
}
void cpuTest()
{
aarch64::vcpu_state_t vcpu_states[CPU_CORES] = {};
memory::arena_t guest_memory_arena = memory::arena_init(GUEST_RAM_SIZE);
ASSERT(nullptr != guest_memory_arena.data);
aarch64::memory::guest_memory_t guest_ram = {};
guest_ram.base = static_cast<uint8_t*>(guest_memory_arena.data);
guest_ram.size = guest_memory_arena.capacity;
// Outdated Code
CPU cpu;
cpu.pc = 0;
// Simple ARMv8 program in memory (MOVZ X0, #5; ADD X0, X0, #3; RET)
// These are placeholders; real encoding will be parsed later
cpu.write_byte(0, 0x05); // MOVZ placeholder
cpu.write_byte(4, 0x03); // ADD placeholder
cpu.write_byte(8, 0xFF); // RET placeholder
LOG_INFO(ARM, "{}", cpu.read_byte(0));
cpu.print_debug_information();
}