2023-07-09 22:20:50 +02:00
|
|
|
/*
|
|
|
|
* sc_core_adapter.h
|
|
|
|
*
|
|
|
|
* Created on: Jul 5, 2023
|
|
|
|
* Author: eyck
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SYSC_SC_CORE_ADAPTER_IF_H_
|
|
|
|
#define _SYSC_SC_CORE_ADAPTER_IF_H_
|
|
|
|
|
|
|
|
#include "core_complex.h"
|
2023-10-29 17:06:56 +01:00
|
|
|
#include <iostream>
|
2023-07-09 22:20:50 +02:00
|
|
|
#include <iss/iss.h>
|
|
|
|
#include <iss/vm_types.h>
|
2023-10-29 17:06:56 +01:00
|
|
|
#include <scc/report.h>
|
|
|
|
#include <util/ities.h>
|
2023-07-09 22:20:50 +02:00
|
|
|
|
2023-07-14 11:11:03 +02:00
|
|
|
namespace sysc {
|
2023-07-09 22:20:50 +02:00
|
|
|
struct sc_core_adapter_if {
|
2023-07-14 11:11:03 +02:00
|
|
|
virtual iss::arch_if* get_arch_if() = 0;
|
2023-07-09 22:20:50 +02:00
|
|
|
virtual void set_mhartid(unsigned) = 0;
|
|
|
|
virtual uint32_t get_mode() = 0;
|
|
|
|
virtual uint64_t get_state() = 0;
|
|
|
|
virtual bool get_interrupt_execution() = 0;
|
|
|
|
virtual void set_interrupt_execution(bool v) = 0;
|
|
|
|
virtual void local_irq(short id, bool value) = 0;
|
|
|
|
virtual ~sc_core_adapter_if() = default;
|
|
|
|
};
|
2023-10-29 17:06:56 +01:00
|
|
|
} // namespace sysc
|
2023-07-09 22:20:50 +02:00
|
|
|
#endif /* _SYSC_SC_CORE_ADAPTER_IF_H_ */
|