lsq_unit.hh (3876:127c71cfe21a) | lsq_unit.hh (3970:d54945bab95d) |
---|---|
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; --- 545 unchanged lines hidden (view full) --- 554 // Get shift amount for offset into the store's data. 555 int shift_amt = req->getVaddr() & (store_size - 1); 556 // @todo: Magic number, assumes byte addressing 557 shift_amt = shift_amt << 3; 558 559 // Cast this to type T? 560 data = storeQueue[store_idx].data >> shift_amt; 561 | 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; --- 545 unchanged lines hidden (view full) --- 554 // Get shift amount for offset into the store's data. 555 int shift_amt = req->getVaddr() & (store_size - 1); 556 // @todo: Magic number, assumes byte addressing 557 shift_amt = shift_amt << 3; 558 559 // Cast this to type T? 560 data = storeQueue[store_idx].data >> shift_amt; 561 |
562 // When the data comes from the store queue entry, it's in host 563 // order. When it gets sent to the load, it needs to be in guest 564 // order so when the load converts it again, it ends up back 565 // in host order like the inst expects. 566 data = TheISA::htog(data); 567 |
|
562 assert(!load_inst->memData); 563 load_inst->memData = new uint8_t[64]; 564 565 memcpy(load_inst->memData, &data, req->getSize()); 566 567 DPRINTF(LSQUnit, "Forwarding from store idx %i to load to " 568 "addr %#x, data %#x\n", 569 store_idx, req->getVaddr(), data); --- 137 unchanged lines hidden --- | 568 assert(!load_inst->memData); 569 load_inst->memData = new uint8_t[64]; 570 571 memcpy(load_inst->memData, &data, req->getSize()); 572 573 DPRINTF(LSQUnit, "Forwarding from store idx %i to load to " 574 "addr %#x, data %#x\n", 575 store_idx, req->getVaddr(), data); --- 137 unchanged lines hidden --- |