diff options
author | Tony Gutierrez <anthony.gutierrez@amd.com> | 2016-01-19 14:05:03 -0500 |
---|---|---|
committer | Tony Gutierrez <anthony.gutierrez@amd.com> | 2016-01-19 14:05:03 -0500 |
commit | 28e353e0403ea379d244a418e8dc8ee0b48187cf (patch) | |
tree | 64bf9dcdf22bf7f60668f790744c11ee8ec2f2bf /src/mem/ruby/common/DataBlock.hh | |
parent | d658b6e1cc22de852fef611e28f448257acc298a (diff) | |
download | gem5-28e353e0403ea379d244a418e8dc8ee0b48187cf.tar.xz |
mem: write combining for ruby protocols
This patch adds support for write-combining in ruby.
Diffstat (limited to 'src/mem/ruby/common/DataBlock.hh')
-rw-r--r-- | src/mem/ruby/common/DataBlock.hh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mem/ruby/common/DataBlock.hh b/src/mem/ruby/common/DataBlock.hh index 49ce3624a..d52b6fa72 100644 --- a/src/mem/ruby/common/DataBlock.hh +++ b/src/mem/ruby/common/DataBlock.hh @@ -35,6 +35,8 @@ #include <iomanip> #include <iostream> +class WriteMask; + class DataBlock { public: @@ -58,8 +60,12 @@ class DataBlock void clear(); uint8_t getByte(int whichByte) const; const uint8_t *getData(int offset, int len) const; + uint8_t *getDataMod(int offset); void setByte(int whichByte, uint8_t data); void setData(const uint8_t *data, int offset, int len); + void copyPartial(const DataBlock &dblk, int offset, int len); + void copyPartial(const DataBlock &dblk, const WriteMask &mask); + void atomicPartial(const DataBlock & dblk, const WriteMask & mask); bool equal(const DataBlock& obj) const; void print(std::ostream& out) const; |