mem.isa (10184:bbfa3152bdea) | mem.isa (10196:be0e1724eb39) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2010, 2012 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 28 unchanged lines hidden (view full) --- 37// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 38// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 39// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40// 41// Authors: Stephen Hines 42 43 44def template PanicExecute {{ | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2010, 2012 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 28 unchanged lines hidden (view full) --- 37// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 38// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 39// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40// 41// Authors: Stephen Hines 42 43 44def template PanicExecute {{ |
45 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, | 45 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, |
46 Trace::InstRecord *traceData) const 47 { 48 panic("Execute function executed when it shouldn't be!\n"); 49 return NoFault; 50 } 51}}; 52 53def template PanicInitiateAcc {{ | 46 Trace::InstRecord *traceData) const 47 { 48 panic("Execute function executed when it shouldn't be!\n"); 49 return NoFault; 50 } 51}}; 52 53def template PanicInitiateAcc {{ |
54 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, | 54 Fault %(class_name)s::initiateAcc(CPU_EXEC_CONTEXT *xc, |
55 Trace::InstRecord *traceData) const 56 { 57 panic("InitiateAcc function executed when it shouldn't be!\n"); 58 return NoFault; 59 } 60}}; 61 62def template PanicCompleteAcc {{ 63 Fault %(class_name)s::completeAcc(PacketPtr pkt, | 55 Trace::InstRecord *traceData) const 56 { 57 panic("InitiateAcc function executed when it shouldn't be!\n"); 58 return NoFault; 59 } 60}}; 61 62def template PanicCompleteAcc {{ 63 Fault %(class_name)s::completeAcc(PacketPtr pkt, |
64 %(CPU_exec_context)s *xc, | 64 CPU_EXEC_CONTEXT *xc, |
65 Trace::InstRecord *traceData) const 66 { 67 panic("CompleteAcc function executed when it shouldn't be!\n"); 68 return NoFault; 69 } 70}}; 71 72 73def template SwapExecute {{ | 65 Trace::InstRecord *traceData) const 66 { 67 panic("CompleteAcc function executed when it shouldn't be!\n"); 68 return NoFault; 69 } 70}}; 71 72 73def template SwapExecute {{ |
74 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, | 74 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, |
75 Trace::InstRecord *traceData) const 76 { 77 Addr EA; 78 Fault fault = NoFault; 79 80 %(op_decl)s; 81 uint64_t memData = 0; 82 %(op_rd)s; --- 19 unchanged lines hidden (view full) --- 102 xc->setPredicate(false); 103 } 104 105 return fault; 106 } 107}}; 108 109def template SwapInitiateAcc {{ | 75 Trace::InstRecord *traceData) const 76 { 77 Addr EA; 78 Fault fault = NoFault; 79 80 %(op_decl)s; 81 uint64_t memData = 0; 82 %(op_rd)s; --- 19 unchanged lines hidden (view full) --- 102 xc->setPredicate(false); 103 } 104 105 return fault; 106 } 107}}; 108 109def template SwapInitiateAcc {{ |
110 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, | 110 Fault %(class_name)s::initiateAcc(CPU_EXEC_CONTEXT *xc, |
111 Trace::InstRecord *traceData) const 112 { 113 Addr EA; 114 Fault fault = NoFault; 115 116 %(op_decl)s; 117 uint64_t memData = 0; 118 %(op_rd)s; --- 12 unchanged lines hidden (view full) --- 131 } 132 133 return fault; 134 } 135}}; 136 137def template SwapCompleteAcc {{ 138 Fault %(class_name)s::completeAcc(PacketPtr pkt, | 111 Trace::InstRecord *traceData) const 112 { 113 Addr EA; 114 Fault fault = NoFault; 115 116 %(op_decl)s; 117 uint64_t memData = 0; 118 %(op_rd)s; --- 12 unchanged lines hidden (view full) --- 131 } 132 133 return fault; 134 } 135}}; 136 137def template SwapCompleteAcc {{ 138 Fault %(class_name)s::completeAcc(PacketPtr pkt, |
139 %(CPU_exec_context)s *xc, | 139 CPU_EXEC_CONTEXT *xc, |
140 Trace::InstRecord *traceData) const 141 { 142 Fault fault = NoFault; 143 144 %(op_decl)s; 145 %(op_rd)s; 146 147 if (%(predicate_test)s) --- 9 unchanged lines hidden (view full) --- 157 } 158 } 159 160 return fault; 161 } 162}}; 163 164def template LoadExecute {{ | 140 Trace::InstRecord *traceData) const 141 { 142 Fault fault = NoFault; 143 144 %(op_decl)s; 145 %(op_rd)s; 146 147 if (%(predicate_test)s) --- 9 unchanged lines hidden (view full) --- 157 } 158 } 159 160 return fault; 161 } 162}}; 163 164def template LoadExecute {{ |
165 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, | 165 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, |
166 Trace::InstRecord *traceData) const 167 { 168 Addr EA; 169 Fault fault = NoFault; 170 171 %(op_decl)s; 172 %(op_rd)s; 173 %(ea_code)s; --- 14 unchanged lines hidden (view full) --- 188 189 return fault; 190 } 191}}; 192 193def template NeonLoadExecute {{ 194 template <class Element> 195 Fault %(class_name)s<Element>::execute( | 166 Trace::InstRecord *traceData) const 167 { 168 Addr EA; 169 Fault fault = NoFault; 170 171 %(op_decl)s; 172 %(op_rd)s; 173 %(ea_code)s; --- 14 unchanged lines hidden (view full) --- 188 189 return fault; 190 } 191}}; 192 193def template NeonLoadExecute {{ 194 template <class Element> 195 Fault %(class_name)s<Element>::execute( |
196 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 196 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
197 { 198 Addr EA; 199 Fault fault = NoFault; 200 201 %(op_decl)s; 202 %(mem_decl)s; 203 %(op_rd)s; 204 %(ea_code)s; --- 15 unchanged lines hidden (view full) --- 220 xc->setPredicate(false); 221 } 222 223 return fault; 224 } 225}}; 226 227def template StoreExecute {{ | 197 { 198 Addr EA; 199 Fault fault = NoFault; 200 201 %(op_decl)s; 202 %(mem_decl)s; 203 %(op_rd)s; 204 %(ea_code)s; --- 15 unchanged lines hidden (view full) --- 220 xc->setPredicate(false); 221 } 222 223 return fault; 224 } 225}}; 226 227def template StoreExecute {{ |
228 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, | 228 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, |
229 Trace::InstRecord *traceData) const 230 { 231 Addr EA; 232 Fault fault = NoFault; 233 234 %(op_decl)s; 235 %(op_rd)s; 236 %(ea_code)s; --- 18 unchanged lines hidden (view full) --- 255 256 return fault; 257 } 258}}; 259 260def template NeonStoreExecute {{ 261 template <class Element> 262 Fault %(class_name)s<Element>::execute( | 229 Trace::InstRecord *traceData) const 230 { 231 Addr EA; 232 Fault fault = NoFault; 233 234 %(op_decl)s; 235 %(op_rd)s; 236 %(ea_code)s; --- 18 unchanged lines hidden (view full) --- 255 256 return fault; 257 } 258}}; 259 260def template NeonStoreExecute {{ 261 template <class Element> 262 Fault %(class_name)s<Element>::execute( |
263 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 263 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
264 { 265 Addr EA; 266 Fault fault = NoFault; 267 268 %(op_decl)s; 269 %(mem_decl)s; 270 %(op_rd)s; 271 %(ea_code)s; --- 19 unchanged lines hidden (view full) --- 291 xc->setPredicate(false); 292 } 293 294 return fault; 295 } 296}}; 297 298def template StoreExExecute {{ | 264 { 265 Addr EA; 266 Fault fault = NoFault; 267 268 %(op_decl)s; 269 %(mem_decl)s; 270 %(op_rd)s; 271 %(ea_code)s; --- 19 unchanged lines hidden (view full) --- 291 xc->setPredicate(false); 292 } 293 294 return fault; 295 } 296}}; 297 298def template StoreExExecute {{ |
299 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, | 299 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, |
300 Trace::InstRecord *traceData) const 301 { 302 Addr EA; 303 Fault fault = NoFault; 304 305 %(op_decl)s; 306 %(op_rd)s; 307 %(ea_code)s; --- 22 unchanged lines hidden (view full) --- 330 xc->setPredicate(false); 331 } 332 333 return fault; 334 } 335}}; 336 337def template StoreExInitiateAcc {{ | 300 Trace::InstRecord *traceData) const 301 { 302 Addr EA; 303 Fault fault = NoFault; 304 305 %(op_decl)s; 306 %(op_rd)s; 307 %(ea_code)s; --- 22 unchanged lines hidden (view full) --- 330 xc->setPredicate(false); 331 } 332 333 return fault; 334 } 335}}; 336 337def template StoreExInitiateAcc {{ |
338 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, | 338 Fault %(class_name)s::initiateAcc(CPU_EXEC_CONTEXT *xc, |
339 Trace::InstRecord *traceData) const 340 { 341 Addr EA; 342 Fault fault = NoFault; 343 344 %(op_decl)s; 345 %(op_rd)s; 346 %(ea_code)s; --- 12 unchanged lines hidden (view full) --- 359 xc->setPredicate(false); 360 } 361 362 return fault; 363 } 364}}; 365 366def template StoreInitiateAcc {{ | 339 Trace::InstRecord *traceData) const 340 { 341 Addr EA; 342 Fault fault = NoFault; 343 344 %(op_decl)s; 345 %(op_rd)s; 346 %(ea_code)s; --- 12 unchanged lines hidden (view full) --- 359 xc->setPredicate(false); 360 } 361 362 return fault; 363 } 364}}; 365 366def template StoreInitiateAcc {{ |
367 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, | 367 Fault %(class_name)s::initiateAcc(CPU_EXEC_CONTEXT *xc, |
368 Trace::InstRecord *traceData) const 369 { 370 Addr EA; 371 Fault fault = NoFault; 372 373 %(op_decl)s; 374 %(op_rd)s; 375 %(ea_code)s; --- 14 unchanged lines hidden (view full) --- 390 391 return fault; 392 } 393}}; 394 395def template NeonStoreInitiateAcc {{ 396 template <class Element> 397 Fault %(class_name)s<Element>::initiateAcc( | 368 Trace::InstRecord *traceData) const 369 { 370 Addr EA; 371 Fault fault = NoFault; 372 373 %(op_decl)s; 374 %(op_rd)s; 375 %(ea_code)s; --- 14 unchanged lines hidden (view full) --- 390 391 return fault; 392 } 393}}; 394 395def template NeonStoreInitiateAcc {{ 396 template <class Element> 397 Fault %(class_name)s<Element>::initiateAcc( |
398 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 398 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
399 { 400 Addr EA; 401 Fault fault = NoFault; 402 403 %(op_decl)s; 404 %(mem_decl)s; 405 %(op_rd)s; 406 %(ea_code)s; --- 13 unchanged lines hidden (view full) --- 420 xc->setPredicate(false); 421 } 422 423 return fault; 424 } 425}}; 426 427def template LoadInitiateAcc {{ | 399 { 400 Addr EA; 401 Fault fault = NoFault; 402 403 %(op_decl)s; 404 %(mem_decl)s; 405 %(op_rd)s; 406 %(ea_code)s; --- 13 unchanged lines hidden (view full) --- 420 xc->setPredicate(false); 421 } 422 423 return fault; 424 } 425}}; 426 427def template LoadInitiateAcc {{ |
428 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, | 428 Fault %(class_name)s::initiateAcc(CPU_EXEC_CONTEXT *xc, |
429 Trace::InstRecord *traceData) const 430 { 431 Addr EA; 432 Fault fault = NoFault; 433 434 %(op_src_decl)s; 435 %(op_rd)s; 436 %(ea_code)s; --- 9 unchanged lines hidden (view full) --- 446 447 return fault; 448 } 449}}; 450 451def template NeonLoadInitiateAcc {{ 452 template <class Element> 453 Fault %(class_name)s<Element>::initiateAcc( | 429 Trace::InstRecord *traceData) const 430 { 431 Addr EA; 432 Fault fault = NoFault; 433 434 %(op_src_decl)s; 435 %(op_rd)s; 436 %(ea_code)s; --- 9 unchanged lines hidden (view full) --- 446 447 return fault; 448 } 449}}; 450 451def template NeonLoadInitiateAcc {{ 452 template <class Element> 453 Fault %(class_name)s<Element>::initiateAcc( |
454 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 454 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
455 { 456 Addr EA; 457 Fault fault = NoFault; 458 459 %(op_decl)s; 460 %(mem_decl)s; 461 %(op_rd)s; 462 %(ea_code)s; --- 11 unchanged lines hidden (view full) --- 474 } 475 476 return fault; 477 } 478}}; 479 480def template LoadCompleteAcc {{ 481 Fault %(class_name)s::completeAcc(PacketPtr pkt, | 455 { 456 Addr EA; 457 Fault fault = NoFault; 458 459 %(op_decl)s; 460 %(mem_decl)s; 461 %(op_rd)s; 462 %(ea_code)s; --- 11 unchanged lines hidden (view full) --- 474 } 475 476 return fault; 477 } 478}}; 479 480def template LoadCompleteAcc {{ 481 Fault %(class_name)s::completeAcc(PacketPtr pkt, |
482 %(CPU_exec_context)s *xc, | 482 CPU_EXEC_CONTEXT *xc, |
483 Trace::InstRecord *traceData) const 484 { 485 Fault fault = NoFault; 486 487 %(op_decl)s; 488 %(op_rd)s; 489 490 if (%(predicate_test)s) --- 12 unchanged lines hidden (view full) --- 503 504 return fault; 505 } 506}}; 507 508def template NeonLoadCompleteAcc {{ 509 template <class Element> 510 Fault %(class_name)s<Element>::completeAcc( | 483 Trace::InstRecord *traceData) const 484 { 485 Fault fault = NoFault; 486 487 %(op_decl)s; 488 %(op_rd)s; 489 490 if (%(predicate_test)s) --- 12 unchanged lines hidden (view full) --- 503 504 return fault; 505 } 506}}; 507 508def template NeonLoadCompleteAcc {{ 509 template <class Element> 510 Fault %(class_name)s<Element>::completeAcc( |
511 PacketPtr pkt, %(CPU_exec_context)s *xc, | 511 PacketPtr pkt, CPU_EXEC_CONTEXT *xc, |
512 Trace::InstRecord *traceData) const 513 { 514 Fault fault = NoFault; 515 516 %(mem_decl)s; 517 %(op_decl)s; 518 %(op_rd)s; 519 --- 12 unchanged lines hidden (view full) --- 532 } 533 534 return fault; 535 } 536}}; 537 538def template StoreCompleteAcc {{ 539 Fault %(class_name)s::completeAcc(PacketPtr pkt, | 512 Trace::InstRecord *traceData) const 513 { 514 Fault fault = NoFault; 515 516 %(mem_decl)s; 517 %(op_decl)s; 518 %(op_rd)s; 519 --- 12 unchanged lines hidden (view full) --- 532 } 533 534 return fault; 535 } 536}}; 537 538def template StoreCompleteAcc {{ 539 Fault %(class_name)s::completeAcc(PacketPtr pkt, |
540 %(CPU_exec_context)s *xc, | 540 CPU_EXEC_CONTEXT *xc, |
541 Trace::InstRecord *traceData) const 542 { 543 return NoFault; 544 } 545}}; 546 547def template NeonStoreCompleteAcc {{ 548 template <class Element> 549 Fault %(class_name)s<Element>::completeAcc( | 541 Trace::InstRecord *traceData) const 542 { 543 return NoFault; 544 } 545}}; 546 547def template NeonStoreCompleteAcc {{ 548 template <class Element> 549 Fault %(class_name)s<Element>::completeAcc( |
550 PacketPtr pkt, %(CPU_exec_context)s *xc, | 550 PacketPtr pkt, CPU_EXEC_CONTEXT *xc, |
551 Trace::InstRecord *traceData) const 552 { 553 return NoFault; 554 } 555}}; 556 557def template StoreExCompleteAcc {{ 558 Fault %(class_name)s::completeAcc(PacketPtr pkt, | 551 Trace::InstRecord *traceData) const 552 { 553 return NoFault; 554 } 555}}; 556 557def template StoreExCompleteAcc {{ 558 Fault %(class_name)s::completeAcc(PacketPtr pkt, |
559 %(CPU_exec_context)s *xc, | 559 CPU_EXEC_CONTEXT *xc, |
560 Trace::InstRecord *traceData) const 561 { 562 Fault fault = NoFault; 563 564 %(op_decl)s; 565 %(op_rd)s; 566 567 if (%(predicate_test)s) --- 675 unchanged lines hidden --- | 560 Trace::InstRecord *traceData) const 561 { 562 Fault fault = NoFault; 563 564 %(op_decl)s; 565 %(op_rd)s; 566 567 if (%(predicate_test)s) --- 675 unchanged lines hidden --- |