Go to the documentation of this file.
28 #ifndef __MEM_TRANSLATION_GEN_HH__
29 #define __MEM_TRANSLATION_GEN_HH__
40 class TranslationGenConstIterator;
234 const auto orig(*
this);
248 return !(*
this == other);
252 TranslationGenConstIterator
266 #endif // __MEM_TRANSLATION_GEN_HH__
constexpr decltype(nullptr) NoFault
friend class TranslationGenConstIterator
A const iterator class is provided so this generator can be used in a range based for loop.
bool operator!=(const TranslationGenConstIterator &other) const
An iterator for pulling "Range" instances out of a TranslationGen.
virtual void translate(Range &range) const =0
Subclasses implement this function to complete TranslationGen.
TranslationGen::Range current
TranslationGenConstIterator(const TranslationGen *parent, Addr start)
Construct a valid new iterator and set it's starting conditions.
This structure represents a single, contiguous translation, or carries information about whatever fau...
std::forward_iterator_tag iterator_category
TranslationGenConstIterator operator++(int)
virtual ~TranslationGen()
TranslationGen(Addr new_start, Addr new_size)
The starting virtual address and the size of the entire region being translated.
std::shared_ptr< FaultBase > Fault
TranslationGenConstIterator const_iterator
const_iterator end() const
bool operator==(const TranslationGenConstIterator &other) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const TranslationGen * gen
TranslationGen is a base class for a generator object which returns information about address transla...
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
TranslationGenConstIterator(const TranslationGenConstIterator &other)
TranslationGenConstIterator & operator++()
The increment operator, which is the main work horse of this class.
const_iterator begin() const
TranslationGenConstIterator & operator=(const TranslationGenConstIterator &other)
void update()
Use the vaddr of the "current" Range to update its other fields.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
TranslationGenConstIterator()
Construct a blank iterator, used by end().
std::unique_ptr< TranslationGen > TranslationGenPtr
Generated on Sun Jul 30 2023 01:56:59 for gem5 by doxygen 1.8.17