Switch to casserts

Pound's asserts were broken from the very beginning and I've just
realized this. Fixing it is not my problem.

Signed-off-by: Ronald Caesar <github43132@proton.me>
This commit is contained in:
Ronald Caesar 2025-08-16 22:47:47 -04:00
parent 6f5b6b8742
commit cc2fb074e3
4 changed files with 53 additions and 44 deletions

View file

@ -1,17 +1,18 @@
#include "isa.h"
#include "Base/Assert.h"
#include "guest.h"
#include "mmu.h"
#include "memory/arena.h"
#include <cassert>
namespace pound::arm64
{
void take_synchronous_exception(vcpu_state_t* vcpu, uint8_t exception_class, uint32_t iss, uint64_t faulting_address)
{
ASSERT(nullptr != vcpu);
assert(nullptr != vcpu);
/* An EC holds 6 bits.*/
ASSERT(0 == (exception_class & 11000000));
assert(0 == (exception_class & 11000000));
/* An ISS holds 25 bits */
ASSERT(0 == (iss & 0xFE000000));
assert(0 == (iss & 0xFE000000));
vcpu->elr_el1 = vcpu->pc;
vcpu->spsr_el1 = vcpu->pstate;
@ -156,12 +157,16 @@ void cpuTest()
{
vcpu_state_t vcpu_states[CPU_CORES] = {};
pound::memory::arena_t guest_memory_arena = pound::memory::arena_init(GUEST_RAM_SIZE);
ASSERT(nullptr != guest_memory_arena.data);
assert(nullptr != guest_memory_arena.data);
pound::arm64::memory::guest_memory_t guest_ram = {};
guest_ram.base = static_cast<uint8_t*>(guest_memory_arena.data);
guest_ram.size = guest_memory_arena.capacity;
(void)test_guest_ram_access(&guest_ram);
vcpu_states[0].sctlr_el1 = 3;
uint64_t out = 0;
uint64_t gva = 2636;
assert(0 == pound::arm64::memory::mmu_gva_to_gpa(&vcpu_states[0], gva, &out));
}
} // namespace pound::armv64