16#ifndef SIMICS_BANK_TEMPLATES_H
17#define SIMICS_BANK_TEMPLATES_H
28template <
typename TBank = Bank,
typename... Args>
30 static_assert(std::is_base_of<Bank, TBank>::value,
31 "TBank must be derived from Bank");
50 uint8_t miss_pattern = 0)
66 std::string_view name_of_bank_memory)
Definition: bank-port-interface.h:30
virtual void set_bank(const bank_t &bank)=0
virtual std::string_view bank_name() const =0
void set_miss_pattern(uint8_t miss_pattern) override
Definition: bank.h:139
void allocate_bank_memory(std::string_view name)
std::string_view name() const override
Definition: bank.h:113
MappableConfObject * dev_obj() const override
Definition: bank.h:116
Definition: bank-templates.h:40
BigEndianBank(MappableConfObject *dev_obj, const std::string &name)
Definition: bank-templates.h:42
std::string_view bank_name() const override
Definition: hierarchical-object.h:168
Definition: mappable-conf-object.h:131
Definition: bank-templates.h:47
MissPatternBank(MappableConfObject *dev_obj, const std::string &name, uint8_t miss_pattern=0)
Definition: bank-templates.h:49
Definition: bank-templates.h:29
PortBank(BankPortInterface *port_iface, Description desc, Args... args)
Definition: bank-templates.h:33
Normally a bank allocates memory from the device object using the name of the bank as the key.
Definition: bank-templates.h:62
SharedMemoryBank(MappableConfObject *dev_obj, const std::string &name, std::string_view name_of_bank_memory)
Definition: bank-templates.h:65
Definition: attr-value.h:23
ByteOrder
Definition: bank-interface.h:34
std::string_view Description
Type used to describe a resource.
Definition: common-types.h:43