# HG changeset patch
# User Brad Beckmann <[email protected]>
# Date 1268945283 25200
# Node ID f2a5891876d08ca5e63bacc6ac5ce16d132744b9
# Parent 0bbbf9828319dcddbb5e0c595d1576eb421f695e
ruby: Added Null data support to the DMASequencer
diff --git a/src/mem/ruby/system/DMASequencer.cc
b/src/mem/ruby/system/DMASequencer.cc
--- a/src/mem/ruby/system/DMASequencer.cc
+++ b/src/mem/ruby/system/DMASequencer.cc
@@ -96,7 +96,7 @@
len :
RubySystem::getBlockSizeBytes() - offset;
- if (write) {
+ if (write && (data != NULL)) {
msg.getDataBlk().setData(data, offset, msg.getLen());
}
@@ -133,8 +133,10 @@
RubySystem::getBlockSizeBytes());
if (active_request.write) {
-
msg.getDataBlk().setData(&active_request.data[active_request.bytes_completed],
- 0, msg.getLen());
+ if (active_request.data != NULL) {
+
msg.getDataBlk().setData(&active_request.data[active_request.bytes_completed],
+ 0, msg.getLen());
+ }
msg.getType() = SequencerRequestType_ST;
} else {
msg.getType() = SequencerRequestType_LD;
@@ -153,8 +155,10 @@
if (active_request.bytes_completed == 0)
offset = active_request.start_paddr & m_data_block_mask;
assert( active_request.write == false );
- memcpy(&active_request.data[active_request.bytes_completed],
- dblk.getData(offset, len), len);
+ if (active_request.data != NULL) {
+ memcpy(&active_request.data[active_request.bytes_completed],
+ dblk.getData(offset, len), len);
+ }
issueNext();
}
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev