mem.isa (6181:19fedb1e5ded) mem.isa (6185:9925b3e83e06)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2003-2005 The Regents of The University of Michigan
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

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

159 Fault completeAcc(PacketPtr, %(CPU_exec_context)s *,
160 Trace::InstRecord *) const;
161}};
162
163def template MemAccSizeDeclare {{
164 int memAccSize(%(CPU_exec_context)s *xc);
165}};
166
1// -*- mode:c++ -*-
2
3// Copyright (c) 2003-2005 The Regents of The University of Michigan
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

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

159 Fault completeAcc(PacketPtr, %(CPU_exec_context)s *,
160 Trace::InstRecord *) const;
161}};
162
163def template MemAccSizeDeclare {{
164 int memAccSize(%(CPU_exec_context)s *xc);
165}};
166
167def template MiscMemAccSize {{
168 int %(class_name)s::memAccSize(%(CPU_exec_context)s *xc)
169 {
170 panic("Misc instruction does not support split access method!");
171 return 0;
172 }
173}};
174
175def template LoadStoreMemAccSize {{
176 int %(class_name)s::memAccSize(%(CPU_exec_context)s *xc)
177 {
178 // Return the memory access size in bytes
179 return (%(mem_acc_size)d / 8);
180 }
181}};
182

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

446 return NoFault;
447 }
448}};
449
450def template MiscInitiateAcc {{
451 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc,
452 Trace::InstRecord *traceData) const
453 {
167def template LoadStoreMemAccSize {{
168 int %(class_name)s::memAccSize(%(CPU_exec_context)s *xc)
169 {
170 // Return the memory access size in bytes
171 return (%(mem_acc_size)d / 8);
172 }
173}};
174

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

438 return NoFault;
439 }
440}};
441
442def template MiscInitiateAcc {{
443 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc,
444 Trace::InstRecord *traceData) const
445 {
454 warn("Misc instruction does not support split access method!");
446 warn("initiateAcc undefined: Misc instruction does not support split "
447 "access method!");
455 return NoFault;
456 }
457}};
458
459
460def template MiscCompleteAcc {{
461 Fault %(class_name)s::completeAcc(PacketPtr pkt,
462 %(CPU_exec_context)s *xc,
463 Trace::InstRecord *traceData) const
464 {
448 return NoFault;
449 }
450}};
451
452
453def template MiscCompleteAcc {{
454 Fault %(class_name)s::completeAcc(PacketPtr pkt,
455 %(CPU_exec_context)s *xc,
456 Trace::InstRecord *traceData) const
457 {
465 warn("Misc instruction does not support split access method!");
458 warn("completeAcc undefined: Misc instruction does not support split "
459 "access method!");
466
467 return NoFault;
468 }
469}};
470
471def template MiscMemAccSize {{
472 int %(class_name)s::memAccSize(%(CPU_exec_context)s *xc)
473 {
460
461 return NoFault;
462 }
463}};
464
465def template MiscMemAccSize {{
466 int %(class_name)s::memAccSize(%(CPU_exec_context)s *xc)
467 {
474 panic("Misc instruction does not support split access method!");
468 return (%(mem_acc_size)d / 8);
469 panic("memAccSize undefined: Misc instruction does not support split "
470 "access method!");
475 return 0;
476 }
477}};
478
479// load instructions use Ra as dest, so check for
480// Ra == 31 to detect nops
481def template LoadNopCheckDecode {{
482 {

--- 147 unchanged lines hidden ---
471 return 0;
472 }
473}};
474
475// load instructions use Ra as dest, so check for
476// Ra == 31 to detect nops
477def template LoadNopCheckDecode {{
478 {

--- 147 unchanged lines hidden ---