From: Gabe Black Date: Fri, 28 Apr 2006 18:03:42 +0000 (-0400) Subject: Merge m5.eecs.umich.edu:/bk/newmem X-Git-Tag: m5_2.0_beta1~103^2~5 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=20c85537871c131ec6c23d944db1f6b21da298fe;p=gem5.git Merge m5.eecs.umich.edu:/bk/newmem into ewok.(none):/home/gblack/m5/newmem cpu/simple/cpu.cc: Hand merged --HG-- extra : convert_revision : 68414730c23d41c30cfb7bcfa604029a5fc8622c --- 20c85537871c131ec6c23d944db1f6b21da298fe diff --cc cpu/simple/cpu.cc index 40b506a78,1a737fa6a..be34d1791 --- a/cpu/simple/cpu.cc +++ b/cpu/simple/cpu.cc @@@ -480,7 -474,8 +480,7 @@@ SimpleCPU::read(Addr addr, T &data, uns // Fault fault = xc->read(memReq,data); // Not sure what to check for no fault... if (data_read_pkt->result == Success) { - data = data_read_pkt->get(); - memcpy(&data, data_read_pkt->data, sizeof(T)); - data = gtoh(data); ++ data = gtoh(data_read_pkt->get()); } if (traceData) { @@@ -523,7 -518,8 +523,7 @@@ // Need to find a way to not duplicate code above. if (data_read_pkt->result == Success) { - data = data_read_pkt->get(); - memcpy(&data, data_read_pkt->data, sizeof(T)); - data = gtoh(data); ++ data = gtoh(data_read_pkt->get()); } if (traceData) { @@@ -627,11 -623,13 +627,13 @@@ SimpleCPU::write(T data, Addr addr, uns data_write_pkt = new Packet; data_write_pkt->cmd = Write; data_write_pkt->req = data_write_req; - data_write_pkt->data = new uint8_t[64]; + T hostData = htog(data); - memcpy(data_write_pkt->data, &hostData, sizeof(T)); + data_write_pkt->allocate(); - data_write_pkt->set(data); ++ data_write_pkt->set(hostData); #else data_write_pkt->reset(); + data = htog(data); - data_write_pkt->data = (uint8_t *)&data; + data_write_pkt->dataStatic(&data); #endif data_write_pkt->addr = data_write_req->getPaddr(); data_write_pkt->size = sizeof(T);