base_dyn_inst.hh (6974:4d4903a3e7c5) base_dyn_inst.hh (6975:862a31349d43)
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * Copyright (c) 2009 The University of Edinburgh
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

882 if (TheISA::HasUnalignedMemAcc) {
883 splitRequest(req, sreqLow, sreqHigh);
884 }
885 initiateTranslation(req, sreqLow, sreqHigh, NULL, BaseTLB::Read);
886
887 if (fault == NoFault) {
888 effAddr = req->getVaddr();
889 effAddrValid = true;
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * Copyright (c) 2009 The University of Edinburgh
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

882 if (TheISA::HasUnalignedMemAcc) {
883 splitRequest(req, sreqLow, sreqHigh);
884 }
885 initiateTranslation(req, sreqLow, sreqHigh, NULL, BaseTLB::Read);
886
887 if (fault == NoFault) {
888 effAddr = req->getVaddr();
889 effAddrValid = true;
890 cpu->read(req, sreqLow, sreqHigh, data, lqIdx);
890 fault = cpu->read(req, sreqLow, sreqHigh, data, lqIdx);
891 } else {
892
893 // Return a fixed value to keep simulation deterministic even
894 // along misspeculated paths.
895 data = (T)-1;
896
897 // Commit will have to clean up whatever happened. Set this
898 // instruction as executed.

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

928 if (TheISA::HasUnalignedMemAcc) {
929 splitRequest(req, sreqLow, sreqHigh);
930 }
931 initiateTranslation(req, sreqLow, sreqHigh, res, BaseTLB::Write);
932
933 if (fault == NoFault) {
934 effAddr = req->getVaddr();
935 effAddrValid = true;
891 } else {
892
893 // Return a fixed value to keep simulation deterministic even
894 // along misspeculated paths.
895 data = (T)-1;
896
897 // Commit will have to clean up whatever happened. Set this
898 // instruction as executed.

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

928 if (TheISA::HasUnalignedMemAcc) {
929 splitRequest(req, sreqLow, sreqHigh);
930 }
931 initiateTranslation(req, sreqLow, sreqHigh, res, BaseTLB::Write);
932
933 if (fault == NoFault) {
934 effAddr = req->getVaddr();
935 effAddrValid = true;
936 cpu->write(req, sreqLow, sreqHigh, data, sqIdx);
936 fault = cpu->write(req, sreqLow, sreqHigh, data, sqIdx);
937 }
938
939 return fault;
940}
941
942template<class Impl>
943inline void
944BaseDynInst<Impl>::splitRequest(RequestPtr req, RequestPtr &sreqLow,

--- 68 unchanged lines hidden ---
937 }
938
939 return fault;
940}
941
942template<class Impl>
943inline void
944BaseDynInst<Impl>::splitRequest(RequestPtr req, RequestPtr &sreqLow,

--- 68 unchanged lines hidden ---