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 void register_reset();
27};
28
29class CpuRiscv32 : public CpuRiscv
30{
31public:
32 CpuRiscv32() = default;
33 CpuRiscv32(const CpuRiscv32&) = default;
34 CpuRiscv32(const Object& o): CpuRiscv(o) {}
35};
36
37class CpuRiscv64 : public CpuRiscv
38{
39public:
40 CpuRiscv64() = default;
41 CpuRiscv64(const CpuRiscv64&) = default;
42 CpuRiscv64(const Object& o): CpuRiscv(o) {}
43};
44
46{
47public:
48 CpuRiscv64SiFiveX280() = default;
51};
52} // namespace qemu
Definition target.h:160
Definition riscv.h:30
Definition riscv.h:46
Definition riscv.h:38
Definition riscv.h:15
Definition libqemu-cxx.h:653
Definition libqemu-cxx.h:222