C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
bank-port-interface.h
Go to the documentation of this file.
1// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3/*
4 © 2023 Intel Corporation
5
6 This software and the related documents are Intel copyrighted materials, and
7 your use of them is governed by the express license under which they were
8 provided to you ("License"). Unless the License provides otherwise, you may
9 not use, modify, copy, publish, distribute, disclose or transmit this software
10 or the related documents without Intel's prior written permission.
11
12 This software and the related documents are provided as is, with no express or
13 implied warranties, other than those that are expressly stated in the License.
14*/
15
16#ifndef SIMICS_BANK_PORT_INTERFACE_H
17#define SIMICS_BANK_PORT_INTERFACE_H
18
19#include <string_view>
20
22
23namespace simics {
24
25class BankInterface;
26class MappableConfObject;
27
28/*
29 * An interface implemented by a Simics bank port
30 */
32 public:
33 virtual ~BankPortInterface() = default;
34
35 // @return the bank name on the port
36 virtual std::string_view bank_name() const = 0;
37
38 // @return the interface of the bank on the port
39 virtual const BankInterface *bank_iface() const = 0;
40
41 // @return the device object holds the port
42 virtual MappableConfObject *dev_obj() const = 0;
43
44 // @return if the port contains one bank
45 virtual bool validate_bank_iface() const = 0;
46
47 // set the bank on the port, can only be called once
48 virtual void set_bank(const bank_t &bank) = 0;
49};
50
51} // namespace simics
52#endif
An interface implemented by a Simics bank.
Definition: bank-interface.h:47
Definition: bank-port-interface.h:31
virtual ~BankPortInterface()=default
virtual const BankInterface * bank_iface() const =0
virtual MappableConfObject * dev_obj() const =0
virtual bool validate_bank_iface() const =0
virtual void set_bank(const bank_t &bank)=0
virtual std::string_view bank_name() const =0
Definition: mappable-conf-object.h:134
Definition: after-bank.h:33
std::tuple< Name, Description, std::vector< register_t > > bank_t
Definition: bank-type.h:38