quic/qbox
Loading...
Searching...
No Matches
qemu-mr-hint.h
1/*
2 * This file is part of libqbox
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#ifndef _LIBQBOX_TLM_EXTENSIONS_QEMU_MR_HINT_H
10#define _LIBQBOX_TLM_EXTENSIONS_QEMU_MR_HINT_H
11
12#include <tlm>
13
14#include <libqemu-cxx/libqemu-cxx.h>
15
16class QemuMrHintTlmExtension : public tlm::tlm_extension<QemuMrHintTlmExtension>
17{
18private:
20 uint64_t m_offset;
21
22public:
23 QemuMrHintTlmExtension() = default;
25
26 QemuMrHintTlmExtension(qemu::MemoryRegion mr, uint64_t offset): m_mr(mr), m_offset(offset) {}
27
28 virtual tlm_extension_base* clone() const override { return new QemuMrHintTlmExtension(*this); }
29
30 virtual void copy_from(tlm_extension_base const& ext) override
31 {
32 m_mr = static_cast<const QemuMrHintTlmExtension&>(ext).m_mr;
33 m_offset = static_cast<const QemuMrHintTlmExtension&>(ext).m_offset;
34 }
35
36 qemu::MemoryRegion get_mr() const { return m_mr; }
37 uint64_t get_offset() const { return m_offset; }
38};
39
40#endif
Definition qemu-mr-hint.h:17
Definition target.h:160
Definition libqemu-cxx.h:362