File debug_if.h
File List > bindings > cp > rv64 > debug_if.h
Go to the documentation of this file
#pragma once
#include <array>
#include <cstdint>
#include "riscv.h"
struct debug_if {
virtual ~debug_if() {}
virtual void enable_debug(void) = 0;
virtual void disable_debug(void) = 0;
virtual void set_single_step(void) = 0;
virtual rv64::CoreExecStatus get_status(void) = 0;
virtual void set_status(rv64::CoreExecStatus) = 0;
virtual void insert_breakpoint(uint64_t) = 0;
virtual void remove_breakpoint(uint64_t) = 0;
virtual uint64_t get_program_counter(void) = 0;
virtual std::array<int64_t, 32> get_registers(void) = 0;
virtual uint64_t read_register(unsigned) = 0;
virtual void write_register(unsigned, uint64_t) = 0;
virtual uint8_t load_byte(uint64_t addr) = 0;
virtual void store_byte(uint64_t addr, uint8_t val) = 0;
};