summaryrefslogtreecommitdiff
path: root/src/mem/ruby/common/DataBlock.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/common/DataBlock.hh')
-rw-r--r--src/mem/ruby/common/DataBlock.hh6
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;