fetch.hh (12622:91cce46512f2) fetch.hh (12749:223c83ed9979)
1/*
2 * Copyright (c) 2010-2012, 2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

94 : fetch(_fetch)
95 {}
96
97 void
98 markDelayed()
99 {}
100
101 void
1/*
2 * Copyright (c) 2010-2012, 2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

94 : fetch(_fetch)
95 {}
96
97 void
98 markDelayed()
99 {}
100
101 void
102 finish(const Fault &fault, RequestPtr req, ThreadContext *tc,
102 finish(const Fault &fault, const RequestPtr &req, ThreadContext *tc,
103 BaseTLB::Mode mode)
104 {
105 assert(mode == BaseTLB::Execute);
106 fetch->finishTranslation(fault, req);
107 delete this;
108 }
109 };
110

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

124 : fetch(_fetch)
125 {}
126
127 void setFault(Fault _fault)
128 {
129 fault = _fault;
130 }
131
103 BaseTLB::Mode mode)
104 {
105 assert(mode == BaseTLB::Execute);
106 fetch->finishTranslation(fault, req);
107 delete this;
108 }
109 };
110

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

124 : fetch(_fetch)
125 {}
126
127 void setFault(Fault _fault)
128 {
129 fault = _fault;
130 }
131
132 void setReq(RequestPtr _req)
132 void setReq(const RequestPtr &_req)
133 {
134 req = _req;
135 }
136
137 /** Process the delayed finish translation */
138 void process()
139 {
140 assert(fetch->numInst < fetch->fetchWidth);

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

290 * @param vaddr The memory address that is being fetched from.
291 * @param ret_fault The fault reference that will be set to the result of
292 * the icache access.
293 * @param tid Thread id.
294 * @param pc The actual PC of the current instruction.
295 * @return Any fault that occured.
296 */
297 bool fetchCacheLine(Addr vaddr, ThreadID tid, Addr pc);
133 {
134 req = _req;
135 }
136
137 /** Process the delayed finish translation */
138 void process()
139 {
140 assert(fetch->numInst < fetch->fetchWidth);

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

290 * @param vaddr The memory address that is being fetched from.
291 * @param ret_fault The fault reference that will be set to the result of
292 * the icache access.
293 * @param tid Thread id.
294 * @param pc The actual PC of the current instruction.
295 * @return Any fault that occured.
296 */
297 bool fetchCacheLine(Addr vaddr, ThreadID tid, Addr pc);
298 void finishTranslation(const Fault &fault, RequestPtr mem_req);
298 void finishTranslation(const Fault &fault, const RequestPtr &mem_req);
299
300
301 /** Check if an interrupt is pending and that we need to handle
302 */
303 bool
304 checkInterrupt(Addr pc)
305 {
306 return (interruptPending && (THE_ISA != ALPHA_ISA || !(pc & 0x3)));

--- 272 unchanged lines hidden ---
299
300
301 /** Check if an interrupt is pending and that we need to handle
302 */
303 bool
304 checkInterrupt(Addr pc)
305 {
306 return (interruptPending && (THE_ISA != ALPHA_ISA || !(pc & 0x3)));

--- 272 unchanged lines hidden ---