lsq_unit.hh (6974:4d4903a3e7c5) | lsq_unit.hh (7509:3bd51d6ac9ef) |
---|---|
1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 808 unchanged lines hidden (view full) --- 817 " | storeHead:%i [sn:%i]\n", 818 store_idx, req->getPaddr(), data, storeHead, 819 storeQueue[store_idx].inst->seqNum); 820 821 storeQueue[store_idx].req = req; 822 storeQueue[store_idx].sreqLow = sreqLow; 823 storeQueue[store_idx].sreqHigh = sreqHigh; 824 storeQueue[store_idx].size = sizeof(T); | 1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 808 unchanged lines hidden (view full) --- 817 " | storeHead:%i [sn:%i]\n", 818 store_idx, req->getPaddr(), data, storeHead, 819 storeQueue[store_idx].inst->seqNum); 820 821 storeQueue[store_idx].req = req; 822 storeQueue[store_idx].sreqLow = sreqLow; 823 storeQueue[store_idx].sreqHigh = sreqHigh; 824 storeQueue[store_idx].size = sizeof(T); |
825 826 // Split stores can only occur in ISAs with unaligned memory accesses. If 827 // a store request has been split, sreqLow and sreqHigh will be non-null. 828 if (TheISA::HasUnalignedMemAcc && sreqLow) { 829 storeQueue[store_idx].isSplit = true; 830 } |
|
825 assert(sizeof(T) <= sizeof(storeQueue[store_idx].data)); 826 827 T gData = htog(data); 828 memcpy(storeQueue[store_idx].data, &gData, sizeof(T)); 829 830 // This function only writes the data to the store queue, so no fault 831 // can happen here. 832 return NoFault; 833} 834 835#endif // __CPU_O3_LSQ_UNIT_HH__ | 831 assert(sizeof(T) <= sizeof(storeQueue[store_idx].data)); 832 833 T gData = htog(data); 834 memcpy(storeQueue[store_idx].data, &gData, sizeof(T)); 835 836 // This function only writes the data to the store queue, so no fault 837 // can happen here. 838 return NoFault; 839} 840 841#endif // __CPU_O3_LSQ_UNIT_HH__ |