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 --- |