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__