mem.isa (6243:3a1698fbbc9f) mem.isa (6245:f8692407cc23)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
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

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

206def template EACompExecute {{
207 Fault
208 %(class_name)s::EAComp::execute(%(CPU_exec_context)s *xc,
209 Trace::InstRecord *traceData) const
210 {
211 Addr EA;
212 Fault fault = NoFault;
213
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
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

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

206def template EACompExecute {{
207 Fault
208 %(class_name)s::EAComp::execute(%(CPU_exec_context)s *xc,
209 Trace::InstRecord *traceData) const
210 {
211 Addr EA;
212 Fault fault = NoFault;
213
214 %(fp_enable_check)s;
215 %(op_decl)s;
216 %(op_rd)s;
217 %(ea_code)s;
218
219 if (%(predicate_test)s)
220 {
221 if (fault == NoFault) {
222 %(op_wb)s;

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

231def template LoadMemAccExecute {{
232 Fault
233 %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
234 Trace::InstRecord *traceData) const
235 {
236 Addr EA;
237 Fault fault = NoFault;
238
214 %(op_decl)s;
215 %(op_rd)s;
216 %(ea_code)s;
217
218 if (%(predicate_test)s)
219 {
220 if (fault == NoFault) {
221 %(op_wb)s;

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

230def template LoadMemAccExecute {{
231 Fault
232 %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
233 Trace::InstRecord *traceData) const
234 {
235 Addr EA;
236 Fault fault = NoFault;
237
239 %(fp_enable_check)s;
240 %(op_decl)s;
241 %(op_rd)s;
242 EA = xc->getEA();
243
244 if (%(predicate_test)s)
245 {
246 if (fault == NoFault) {
247 fault = xc->read(EA, (uint%(mem_acc_size)d_t&)Mem, memAccessFlags);

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

260
261def template LoadExecute {{
262 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
263 Trace::InstRecord *traceData) const
264 {
265 Addr EA;
266 Fault fault = NoFault;
267
238 %(op_decl)s;
239 %(op_rd)s;
240 EA = xc->getEA();
241
242 if (%(predicate_test)s)
243 {
244 if (fault == NoFault) {
245 fault = xc->read(EA, (uint%(mem_acc_size)d_t&)Mem, memAccessFlags);

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

258
259def template LoadExecute {{
260 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
261 Trace::InstRecord *traceData) const
262 {
263 Addr EA;
264 Fault fault = NoFault;
265
268 %(fp_enable_check)s;
269 %(op_decl)s;
270 %(op_rd)s;
271 %(ea_code)s;
272
273 if (%(predicate_test)s)
274 {
275 if (fault == NoFault) {
276 fault = xc->read(EA, (uint%(mem_acc_size)d_t&)Mem, memAccessFlags);

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

289
290def template LoadInitiateAcc {{
291 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc,
292 Trace::InstRecord *traceData) const
293 {
294 Addr EA;
295 Fault fault = NoFault;
296
266 %(op_decl)s;
267 %(op_rd)s;
268 %(ea_code)s;
269
270 if (%(predicate_test)s)
271 {
272 if (fault == NoFault) {
273 fault = xc->read(EA, (uint%(mem_acc_size)d_t&)Mem, memAccessFlags);

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

286
287def template LoadInitiateAcc {{
288 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc,
289 Trace::InstRecord *traceData) const
290 {
291 Addr EA;
292 Fault fault = NoFault;
293
297 %(fp_enable_check)s;
298 %(op_src_decl)s;
299 %(op_rd)s;
300 %(ea_code)s;
301
302 if (%(predicate_test)s)
303 {
304 if (fault == NoFault) {
305 fault = xc->read(EA, (uint%(mem_acc_size)d_t &)Mem, memAccessFlags);

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

313
314def template LoadCompleteAcc {{
315 Fault %(class_name)s::completeAcc(PacketPtr pkt,
316 %(CPU_exec_context)s *xc,
317 Trace::InstRecord *traceData) const
318 {
319 Fault fault = NoFault;
320
294 %(op_src_decl)s;
295 %(op_rd)s;
296 %(ea_code)s;
297
298 if (%(predicate_test)s)
299 {
300 if (fault == NoFault) {
301 fault = xc->read(EA, (uint%(mem_acc_size)d_t &)Mem, memAccessFlags);

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

309
310def template LoadCompleteAcc {{
311 Fault %(class_name)s::completeAcc(PacketPtr pkt,
312 %(CPU_exec_context)s *xc,
313 Trace::InstRecord *traceData) const
314 {
315 Fault fault = NoFault;
316
321 %(fp_enable_check)s;
322 %(op_decl)s;
323 %(op_rd)s;
324
325 if (%(predicate_test)s)
326 {
327 // ARM instructions will not have a pkt if the predicate is false
328 Mem = pkt->get<typeof(Mem)>();
329

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

344def template StoreMemAccExecute {{
345 Fault
346 %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
347 Trace::InstRecord *traceData) const
348 {
349 Addr EA;
350 Fault fault = NoFault;
351
317 %(op_decl)s;
318 %(op_rd)s;
319
320 if (%(predicate_test)s)
321 {
322 // ARM instructions will not have a pkt if the predicate is false
323 Mem = pkt->get<typeof(Mem)>();
324

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

339def template StoreMemAccExecute {{
340 Fault
341 %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
342 Trace::InstRecord *traceData) const
343 {
344 Addr EA;
345 Fault fault = NoFault;
346
352 %(fp_enable_check)s;
353 %(op_decl)s;
354 %(op_rd)s;
355
356 if (%(predicate_test)s)
357 {
358 EA = xc->getEA();
359
360 if (fault == NoFault) {

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

375
376def template StoreExecute {{
377 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
378 Trace::InstRecord *traceData) const
379 {
380 Addr EA;
381 Fault fault = NoFault;
382
347 %(op_decl)s;
348 %(op_rd)s;
349
350 if (%(predicate_test)s)
351 {
352 EA = xc->getEA();
353
354 if (fault == NoFault) {

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

369
370def template StoreExecute {{
371 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
372 Trace::InstRecord *traceData) const
373 {
374 Addr EA;
375 Fault fault = NoFault;
376
383 %(fp_enable_check)s;
384 %(op_decl)s;
385 %(op_rd)s;
386 %(ea_code)s;
387
388 if (%(predicate_test)s)
389 {
390 if (fault == NoFault) {
391 %(memacc_code)s;

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

408
409def template StoreInitiateAcc {{
410 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc,
411 Trace::InstRecord *traceData) const
412 {
413 Addr EA;
414 Fault fault = NoFault;
415
377 %(op_decl)s;
378 %(op_rd)s;
379 %(ea_code)s;
380
381 if (%(predicate_test)s)
382 {
383 if (fault == NoFault) {
384 %(memacc_code)s;

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

401
402def template StoreInitiateAcc {{
403 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc,
404 Trace::InstRecord *traceData) const
405 {
406 Addr EA;
407 Fault fault = NoFault;
408
416 %(fp_enable_check)s;
417 %(op_decl)s;
418 %(op_rd)s;
419 %(ea_code)s;
420
421 if (%(predicate_test)s)
422 {
423 if (fault == NoFault) {
424 %(memacc_code)s;

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

443
444def template StoreCompleteAcc {{
445 Fault %(class_name)s::completeAcc(PacketPtr pkt,
446 %(CPU_exec_context)s *xc,
447 Trace::InstRecord *traceData) const
448 {
449 Fault fault = NoFault;
450
409 %(op_decl)s;
410 %(op_rd)s;
411 %(ea_code)s;
412
413 if (%(predicate_test)s)
414 {
415 if (fault == NoFault) {
416 %(memacc_code)s;

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

435
436def template StoreCompleteAcc {{
437 Fault %(class_name)s::completeAcc(PacketPtr pkt,
438 %(CPU_exec_context)s *xc,
439 Trace::InstRecord *traceData) const
440 {
441 Fault fault = NoFault;
442
451 %(fp_enable_check)s;
452 %(op_dest_decl)s;
453
454 if (%(predicate_test)s)
455 {
456 if (fault == NoFault) {
457 %(op_wb)s;
458 }
459 }

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

464
465def template StoreCondCompleteAcc {{
466 Fault %(class_name)s::completeAcc(PacketPtr pkt,
467 %(CPU_exec_context)s *xc,
468 Trace::InstRecord *traceData) const
469 {
470 Fault fault = NoFault;
471
443 %(op_dest_decl)s;
444
445 if (%(predicate_test)s)
446 {
447 if (fault == NoFault) {
448 %(op_wb)s;
449 }
450 }

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

455
456def template StoreCondCompleteAcc {{
457 Fault %(class_name)s::completeAcc(PacketPtr pkt,
458 %(CPU_exec_context)s *xc,
459 Trace::InstRecord *traceData) const
460 {
461 Fault fault = NoFault;
462
472 %(fp_enable_check)s;
473 %(op_dest_decl)s;
474
475 if (%(predicate_test)s)
476 {
477 if (fault == NoFault) {
478 %(op_wb)s;
479 }
480 }

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

486
487def template MiscMemAccExecute {{
488 Fault %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
489 Trace::InstRecord *traceData) const
490 {
491 Addr EA;
492 Fault fault = NoFault;
493
463 %(op_dest_decl)s;
464
465 if (%(predicate_test)s)
466 {
467 if (fault == NoFault) {
468 %(op_wb)s;
469 }
470 }

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

476
477def template MiscMemAccExecute {{
478 Fault %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
479 Trace::InstRecord *traceData) const
480 {
481 Addr EA;
482 Fault fault = NoFault;
483
494 %(fp_enable_check)s;
495 %(op_decl)s;
496 %(op_rd)s;
497
498 if (%(predicate_test)s)
499 {
500 EA = xc->getEA();
501
502 if (fault == NoFault) {

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

510
511def template MiscExecute {{
512 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
513 Trace::InstRecord *traceData) const
514 {
515 Addr EA;
516 Fault fault = NoFault;
517
484 %(op_decl)s;
485 %(op_rd)s;
486
487 if (%(predicate_test)s)
488 {
489 EA = xc->getEA();
490
491 if (fault == NoFault) {

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

499
500def template MiscExecute {{
501 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
502 Trace::InstRecord *traceData) const
503 {
504 Addr EA;
505 Fault fault = NoFault;
506
518 %(fp_enable_check)s;
519 %(op_decl)s;
520 %(op_rd)s;
521 %(ea_code)s;
522
523 if (%(predicate_test)s)
524 {
525 if (fault == NoFault) {
526 %(memacc_code)s;

--- 47 unchanged lines hidden ---
507 %(op_decl)s;
508 %(op_rd)s;
509 %(ea_code)s;
510
511 if (%(predicate_test)s)
512 {
513 if (fault == NoFault) {
514 %(memacc_code)s;

--- 47 unchanged lines hidden ---