quic/qbox
Loading...
Searching...
No Matches
qemu-components
common
include
libqemu-cxx
target
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
13
namespace
qemu {
14
class
CpuRiscv
:
public
Cpu
15
{
16
public
:
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
29
class
CpuRiscv32
:
public
CpuRiscv
30
{
31
public
:
32
CpuRiscv32
() =
default
;
33
CpuRiscv32
(
const
CpuRiscv32
&) =
default
;
34
CpuRiscv32
(
const
Object
&
o
):
CpuRiscv
(
o
) {}
35
};
36
37
class
CpuRiscv64
:
public
CpuRiscv
38
{
39
public
:
40
CpuRiscv64
() =
default
;
41
CpuRiscv64
(
const
CpuRiscv64
&) =
default
;
42
CpuRiscv64
(
const
Object
&
o
):
CpuRiscv
(
o
) {}
43
};
44
45
class
CpuRiscv64SiFiveX280
:
public
CpuRiscv
46
{
47
public
:
48
CpuRiscv64SiFiveX280
() =
default
;
49
CpuRiscv64SiFiveX280
(
const
CpuRiscv64SiFiveX280
&) =
default
;
50
CpuRiscv64SiFiveX280
(
const
Object
&
o
):
CpuRiscv
(
o
) {}
51
};
52
}
// namespace qemu
QemuTargetSocket
Definition
target.h:160
qemu::CpuRiscv32
Definition
riscv.h:30
qemu::CpuRiscv64SiFiveX280
Definition
riscv.h:46
qemu::CpuRiscv64
Definition
riscv.h:38
qemu::CpuRiscv
Definition
riscv.h:15
qemu::Cpu
Definition
libqemu-cxx.h:653
qemu::Object
Definition
libqemu-cxx.h:222
Generated by
1.9.8