38#ifndef __BASE_CHANNEL_ADDR_HH__
39#define __BASE_CHANNEL_ADDR_HH__
66 explicit constexpr operator Type()
const {
return a; }
74 :
a(range.removeIntlvBits(_a)) {}
216 return std::hash<gem5::ChannelAddr::Type>{}(
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
The ChanneelAddrRange class describes a contiguous range of addresses in a contiguous channel-local a...
Class holding a guest address in a contiguous channel-local address space.
Type a
Member holding the actual value.
Addr addIntlvBits(Addr a) const
This method adds the interleaving bits removed by removeIntlvBits.
ChannelAddr(const ChannelAddr &)=default
constexpr ChannelAddr operator<<(const int b) const
constexpr ChannelAddr operator>>(const int b) const
constexpr bool operator<(const ChannelAddr &b) const
constexpr bool operator>(const ChannelAddr &b) const
constexpr ChannelAddr(Type _a)
Explicit constructor assigning a value.
constexpr ChannelAddr operator+(const Type &b) const
constexpr bool operator!=(const ChannelAddr &b) const
constexpr ChannelAddr operator|(const Type b) const
constexpr ChannelAddr operator^(const int b) const
constexpr ChannelAddr operator+(const ChannelAddr &b) const
constexpr bool operator>=(const ChannelAddr &b) const
constexpr ChannelAddrRange()
constexpr ChannelAddr operator&(const ChannelAddr &b) const
constexpr ChannelAddrRange(ChannelAddr start, ChannelAddr end)
constexpr ChannelAddr operator%(const int b) const
constexpr bool operator<=(const ChannelAddr &b) const
constexpr ChannelAddr operator|(const ChannelAddr &b) const
constexpr ChannelAddr operator/(const Type &b) const
constexpr ChannelAddr start() const
constexpr bool contains(ChannelAddr a) const
constexpr ChannelAddr size() const
constexpr ChannelAddr operator*(const Type &b) const
constexpr bool valid() const
Addr getPA(const AddrRange &range) const
constexpr bool operator==(const ChannelAddr &b) const
ChannelAddr & operator=(const ChannelAddr &)=default
constexpr ChannelAddr operator&(const Type b) const
constexpr ChannelAddr operator-(const ChannelAddr &b) const
constexpr Type value() const
Converting back to the value type.
ChannelAddr(const AddrRange &range, Addr _a)
constexpr ChannelAddr operator^(const ChannelAddr &b) const
constexpr ChannelAddr operator-(const Type &b) const
constexpr ChannelAddrRange(const ChannelAddrRange &)=default
constexpr ChannelAddr end() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static std::ostream & operator<<(std::ostream &os, const DummyMatRegContainer &d)
Overload hash function for BasicBlockRange type.
result_type operator()(argument_type const &a) const noexcept
gem5::ChannelAddr argument_type