quic/qbox
Loading...
Searching...
No Matches
riscv.h
1/*
2 * This file is part of libqemu-cxx
3 * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
4 * Author: GreenSocs 2021
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#pragma once
10
11#include <libqemu-cxx/libqemu-cxx.h>
12
13namespace qemu {
14class CpuRiscv : public Cpu
15{
16public:
17 static constexpr const char* const TYPE = "riscv-cpu";
18
19 using MipUpdateCallbackFn = std::function<void(uint32_t)>;
20
21 CpuRiscv() = default;
22 CpuRiscv(const CpuRiscv&) = default;
23 CpuRiscv(const Object& o): Cpu(o) {}
24
25 void set_mip_update_callback(MipUpdateCallbackFn cb);
26};
27
28class CpuRiscv32 : public CpuRiscv
29{
30public:
31 CpuRiscv32() = default;
32 CpuRiscv32(const CpuRiscv32&) = default;
33 CpuRiscv32(const Object& o): CpuRiscv(o) {}
34};
35
36class CpuRiscv64 : public CpuRiscv
37{
38public:
39 CpuRiscv64() = default;
40 CpuRiscv64(const CpuRiscv64&) = default;
41 CpuRiscv64(const Object& o): CpuRiscv(o) {}
42};
43
45{
46public:
47 CpuRiscv64SiFiveX280() = default;
50};
51} // namespace qemu
Definition target.h:160
Definition riscv.h:29
Definition riscv.h:45
Definition riscv.h:37
Definition riscv.h:15
Definition libqemu-cxx.h:664
Definition libqemu-cxx.h:229