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 --- |