dispatcher.cc (12697:cd71b966be1e) dispatcher.cc (13345:1c9e1df05191)
1/*
2 * Copyright (c) 2011-2015,2018 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 125 unchanged lines hidden (view full) ---

134
135 DPRINTF(GPUDisp, " read register %#x size=%d\n", offset, pkt->getSize());
136
137 if (offset < 8) {
138 assert(!offset);
139 assert(pkt->getSize() == 8);
140
141 uint64_t retval = dispatchActive;
1/*
2 * Copyright (c) 2011-2015,2018 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 125 unchanged lines hidden (view full) ---

134
135 DPRINTF(GPUDisp, " read register %#x size=%d\n", offset, pkt->getSize());
136
137 if (offset < 8) {
138 assert(!offset);
139 assert(pkt->getSize() == 8);
140
141 uint64_t retval = dispatchActive;
142 pkt->set(retval);
142 pkt->setLE(retval);
143 } else {
144 offset -= 8;
145 assert(offset + pkt->getSize() < sizeof(HsaQueueEntry));
146 char *curTaskPtr = (char*)&curTask;
147
148 memcpy(pkt->getPtr<const void*>(), curTaskPtr + offset, pkt->getSize());
149 }
150

--- 10 unchanged lines hidden (view full) ---

161
162 int offset = pkt->getAddr() - pioAddr;
163
164#if TRACING_ON
165 uint64_t data_val = 0;
166
167 switch (pkt->getSize()) {
168 case 1:
143 } else {
144 offset -= 8;
145 assert(offset + pkt->getSize() < sizeof(HsaQueueEntry));
146 char *curTaskPtr = (char*)&curTask;
147
148 memcpy(pkt->getPtr<const void*>(), curTaskPtr + offset, pkt->getSize());
149 }
150

--- 10 unchanged lines hidden (view full) ---

161
162 int offset = pkt->getAddr() - pioAddr;
163
164#if TRACING_ON
165 uint64_t data_val = 0;
166
167 switch (pkt->getSize()) {
168 case 1:
169 data_val = pkt->get();
169 data_val = pkt->getLE<uint8_t>();
170 break;
171 case 2:
170 break;
171 case 2:
172 data_val = pkt->get();
172 data_val = pkt->getLE<uint16_t>();
173 break;
174 case 4:
173 break;
174 case 4:
175 data_val = pkt->get();
175 data_val = pkt->getLE<uint32_t>();
176 break;
177 case 8:
176 break;
177 case 8:
178 data_val = pkt->get();
178 data_val = pkt->getLE<uint64_t>();
179 break;
180 default:
181 DPRINTF(GPUDisp, "bad size %d\n", pkt->getSize());
182 }
183
184 DPRINTF(GPUDisp, "write register %#x value %#x size=%d\n", offset, data_val,
185 pkt->getSize());
186#endif

--- 207 unchanged lines hidden ---
179 break;
180 default:
181 DPRINTF(GPUDisp, "bad size %d\n", pkt->getSize());
182 }
183
184 DPRINTF(GPUDisp, "write register %#x value %#x size=%d\n", offset, data_val,
185 pkt->getSize());
186#endif

--- 207 unchanged lines hidden ---