ev5.cc (8231:51cf7f3cf9ac) ev5.cc (8607:5fb918115c07)
1/*
2 * Copyright (c) 2002-2005 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;

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

204#ifdef DEBUG
205// Cause the simulator to break when changing to the following IPL
206int break_ipl = -1;
207#endif
208
209void
210ISA::setIpr(int idx, uint64_t val, ThreadContext *tc)
211{
1/*
2 * Copyright (c) 2002-2005 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;

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

204#ifdef DEBUG
205// Cause the simulator to break when changing to the following IPL
206int break_ipl = -1;
207#endif
208
209void
210ISA::setIpr(int idx, uint64_t val, ThreadContext *tc)
211{
212 uint64_t old;
213
214 if (tc->misspeculating())
215 return;
216
217 switch (idx) {
218 case IPR_PALtemp0:
219 case IPR_PALtemp1:
220 case IPR_PALtemp2:
221 case IPR_PALtemp3:

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

257 // This IPR only writes the upper 64 bits. It's ok to write
258 // all 64 here since we mask out the lower 32 in rpcc (see
259 // isa_desc).
260 ipr[idx] = val;
261 break;
262
263 case IPR_PALtemp23:
264 // write entire quad w/ no side-effect
212 if (tc->misspeculating())
213 return;
214
215 switch (idx) {
216 case IPR_PALtemp0:
217 case IPR_PALtemp1:
218 case IPR_PALtemp2:
219 case IPR_PALtemp3:

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

255 // This IPR only writes the upper 64 bits. It's ok to write
256 // all 64 here since we mask out the lower 32 in rpcc (see
257 // isa_desc).
258 ipr[idx] = val;
259 break;
260
261 case IPR_PALtemp23:
262 // write entire quad w/ no side-effect
265 old = ipr[idx];
266 ipr[idx] = val;
267#if FULL_SYSTEM
268 if (tc->getKernelStats())
263#if FULL_SYSTEM
264 if (tc->getKernelStats())
269 tc->getKernelStats()->context(old, val, tc);
265 tc->getKernelStats()->context(ipr[idx], val, tc);
270#endif
266#endif
267 ipr[idx] = val;
271 break;
272
273 case IPR_DTB_PTE:
274 // write entire quad w/ no side-effect, tag is forthcoming
275 ipr[idx] = val;
276 break;
277
278 case IPR_EXC_ADDR:

--- 263 unchanged lines hidden ---
268 break;
269
270 case IPR_DTB_PTE:
271 // write entire quad w/ no side-effect, tag is forthcoming
272 ipr[idx] = val;
273 break;
274
275 case IPR_EXC_ADDR:

--- 263 unchanged lines hidden ---