SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
map_info_extension.h
Go to the documentation of this file.
1/*
2 © 2015 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_IFACE_MAP_INFO_EXTENSION_H
15#define SIMICS_SYSTEMC_IFACE_MAP_INFO_EXTENSION_H
16
18
19#include <tlm>
20
21namespace simics {
22namespace systemc {
23namespace iface {
24
29class MapInfoExtension: public tlm::tlm_extension<MapInfoExtension> {
30 public:
32
34 : map_info_() {
35 }
36
37 explicit MapInfoExtension(const types::map_info_t &map_info)
38 : map_info_(map_info) {
39 }
40
41 tlm::tlm_extension_base *clone() const override {
42 return new MapInfoExtension(*this);
43 }
44
45 void copy_from(const tlm::tlm_extension_base &ext) override {
46 *this = static_cast<const MapInfoExtension &>(ext);
47 }
48
49 physical_address_t base() const { return map_info_.base; }
50 physical_address_t start() const { return map_info_.start; }
51 physical_address_t length() const { return map_info_.length; }
52 int function() const { return map_info_.function; }
53
54 private:
55 types::map_info_t map_info_;
56};
57
58} // namespace iface
59} // namespace systemc
60} // namespace simics
61
62#endif
Additional mapping information for the Simics io_memory access.
Definition: map_info_extension.h:29
MapInfoExtension()
Definition: map_info_extension.h:33
tlm::tlm_extension_base * clone() const override
Definition: map_info_extension.h:41
physical_address_t length() const
Definition: map_info_extension.h:51
physical_address_t base() const
Definition: map_info_extension.h:49
physical_address_t start() const
Definition: map_info_extension.h:50
int function() const
Definition: map_info_extension.h:52
MapInfoExtension(const types::map_info_t &map_info)
Definition: map_info_extension.h:37
void copy_from(const tlm::tlm_extension_base &ext) override
Definition: map_info_extension.h:45
types::map_info_t::physical_address_t physical_address_t
Definition: map_info_extension.h:31
Definition: adapter.h:79
Reduced, stand-alone, version of the Simics map_info_t struct.
Definition: map_info.h:23
physical_address_t start
Definition: map_info.h:26
int function
Definition: map_info.h:28
physical_address_t length
Definition: map_info.h:27
physical_address_t base
Definition: map_info.h:25
uint64_t physical_address_t
Definition: map_info.h:24