gpu-compute: Explicitly use little endian packet accessors.

The gpu ISA doesn't have a well defined endianness, but it really
should. It seems that the GPU is only used with x86, and in that
context it would be little endian.

Change-Id: I1620906564a77f44553fbf6d788866e017b6054b
Reviewed-on: https://gem5-review.googlesource.com/c/13463
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
This commit is contained in:
Gabe Black
2018-10-12 05:09:27 -07:00
parent 4b9f15be1e
commit 095d7fba32

View File

@@ -139,7 +139,7 @@ GpuDispatcher::read(PacketPtr pkt)
assert(pkt->getSize() == 8);
uint64_t retval = dispatchActive;
pkt->set(retval);
pkt->setLE(retval);
} else {
offset -= 8;
assert(offset + pkt->getSize() < sizeof(HsaQueueEntry));
@@ -166,16 +166,16 @@ GpuDispatcher::write(PacketPtr pkt)
switch (pkt->getSize()) {
case 1:
data_val = pkt->get<uint8_t>();
data_val = pkt->getLE<uint8_t>();
break;
case 2:
data_val = pkt->get<uint16_t>();
data_val = pkt->getLE<uint16_t>();
break;
case 4:
data_val = pkt->get<uint32_t>();
data_val = pkt->getLE<uint32_t>();
break;
case 8:
data_val = pkt->get<uint64_t>();
data_val = pkt->getLE<uint64_t>();
break;
default:
DPRINTF(GPUDisp, "bad size %d\n", pkt->getSize());