|
gem5
v22.1.0.0
|
#include <functional>#include <iostream>#include <type_traits>#include <typeinfo>#include "base/bitfield.hh"#include "base/compiler.hh"#include "sim/serialize_handlers.hh"Go to the source code of this file.
Namespaces | |
| gem5 | |
| Reference material can be found at the JEDEC website: UFS standard http://www.jedec.org/standards-documents/results/jesd220 UFS HCI specification http://www.jedec.org/standards-documents/results/jesd223. | |
| gem5::bitfield_backend | |
| std | |
| Overload hash function for BasicBlockRange type. | |
Macros | |
| #define | __BitUnion(type, name) |
| #define | EndBitUnion(name) |
| This closes off the class and union started by the above macro. More... | |
| #define | __SubBitUnion(name, fieldType, ...) |
| #define | EndSubBitUnion(name) |
| This closes off the union created above and gives it a name. More... | |
| #define | SubBitUnion(name, first, last) __SubBitUnion(name, Bitfield, first, last) |
| Regular bitfields These define macros for read/write regular bitfield based subbitfields. More... | |
| #define | SignedSubBitUnion(name, first, last) __SubBitUnion(name, SignedBitfield, first, last) |
| Regular bitfields These define macros for read/write regular bitfield based subbitfields. More... | |
| #define | BitUnion(type, name) __BitUnion(type, name) |
| Use this to define an arbitrary type overlayed with bitfields. More... | |
| #define | BitUnion64(name) __BitUnion(uint64_t, name) |
| Use this to define conveniently sized values overlayed with bitfields. More... | |
| #define | BitUnion32(name) __BitUnion(uint32_t, name) |
| #define | BitUnion16(name) __BitUnion(uint16_t, name) |
| #define | BitUnion8(name) __BitUnion(uint8_t, name) |
Typedefs | |
| template<typename T > | |
| using | gem5::BitUnionType = bitfield_backend::BitUnionOperators< T > |
| template<typename T > | |
| using | gem5::BitUnionBaseType = typename bitfield_backend::BitUnionBaseType< T >::Type |
Functions | |
| template<typename T > | |
| static std::ostream & | gem5::bitfield_backend::bitfieldBackendPrinter (std::ostream &os, const T &t) |
| template<> | |
| std::ostream & | gem5::bitfield_backend::bitfieldBackendPrinter (std::ostream &os, const char &t) |
| template<> | |
| std::ostream & | gem5::bitfield_backend::bitfieldBackendPrinter (std::ostream &os, const unsigned char &t) |
| template<typename T > | |
| std::ostream & | gem5::operator<< (std::ostream &os, const BitUnionType< T > &bu) |
| A default << operator which casts a bitunion to its underlying type and passes it to bitfield_backend::bitfieldBackendPrinter. More... | |
| #define __BitUnion | ( | type, | |
| name | |||
| ) |
Definition at line 405 of file bitunion.hh.
| #define __SubBitUnion | ( | name, | |
| fieldType, | |||
| ... | |||
| ) |
Definition at line 439 of file bitunion.hh.
| #define BitUnion16 | ( | name | ) | __BitUnion(uint16_t, name) |
Definition at line 496 of file bitunion.hh.
| #define BitUnion32 | ( | name | ) | __BitUnion(uint32_t, name) |
Definition at line 495 of file bitunion.hh.
| #define BitUnion8 | ( | name | ) | __BitUnion(uint8_t, name) |
Definition at line 497 of file bitunion.hh.