1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 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 --- 88 unchanged lines hidden (view full) --- 97 98 if (fault == NoFault) { 99 %(op_wb)s; 100 } 101 } else { 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, 111 Trace::InstRecord *traceData) const 112 { --- 12 unchanged lines hidden (view full) --- 125 if (fault == NoFault) { 126 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, 127 memAccessFlags, &memData); 128 } 129 } else { 130 xc->setPredicate(false); 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, 140 Trace::InstRecord *traceData) const --- 10 unchanged lines hidden (view full) --- 151 152 %(postacc_code)s; 153 154 if (fault == NoFault) { 155 %(op_wb)s; 156 } 157 } 158 |
159 return fault; 160 } 161}}; 162 163def template LoadExecute {{ 164 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, 165 Trace::InstRecord *traceData) const 166 { --- 13 unchanged lines hidden (view full) --- 180 181 if (fault == NoFault) { 182 %(op_wb)s; 183 } 184 } else { 185 xc->setPredicate(false); 186 } 187 |
188 return fault; 189 } 190}}; 191 192def template NeonLoadExecute {{ 193 template <class Element> 194 Fault %(class_name)s<Element>::execute( 195 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const --- 18 unchanged lines hidden (view full) --- 214 215 if (fault == NoFault) { 216 %(op_wb)s; 217 } 218 } else { 219 xc->setPredicate(false); 220 } 221 |
222 return fault; 223 } 224}}; 225 226def template StoreExecute {{ 227 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, 228 Trace::InstRecord *traceData) const 229 { --- 17 unchanged lines hidden (view full) --- 247 248 if (fault == NoFault) { 249 %(op_wb)s; 250 } 251 } else { 252 xc->setPredicate(false); 253 } 254 |
255 return fault; 256 } 257}}; 258 259def template NeonStoreExecute {{ 260 template <class Element> 261 Fault %(class_name)s<Element>::execute( 262 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const --- 22 unchanged lines hidden (view full) --- 285 286 if (fault == NoFault) { 287 %(op_wb)s; 288 } 289 } else { 290 xc->setPredicate(false); 291 } 292 |
293 return fault; 294 } 295}}; 296 297def template StoreExExecute {{ 298 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, 299 Trace::InstRecord *traceData) const 300 { --- 23 unchanged lines hidden (view full) --- 324 325 if (fault == NoFault) { 326 %(op_wb)s; 327 } 328 } else { 329 xc->setPredicate(false); 330 } 331 |
332 return fault; 333 } 334}}; 335 336def template StoreExInitiateAcc {{ 337 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, 338 Trace::InstRecord *traceData) const 339 { --- 12 unchanged lines hidden (view full) --- 352 353 if (fault == NoFault) { 354 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, 355 memAccessFlags, NULL); 356 } 357 } else { 358 xc->setPredicate(false); 359 } |
360 361 return fault; 362 } 363}}; 364 365def template StoreInitiateAcc {{ 366 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, 367 Trace::InstRecord *traceData) const --- 14 unchanged lines hidden (view full) --- 382 if (fault == NoFault) { 383 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, 384 memAccessFlags, NULL); 385 } 386 } else { 387 xc->setPredicate(false); 388 } 389 |
390 return fault; 391 } 392}}; 393 394def template NeonStoreInitiateAcc {{ 395 template <class Element> 396 Fault %(class_name)s<Element>::initiateAcc( 397 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const --- 16 unchanged lines hidden (view full) --- 414 if (fault == NoFault) { 415 fault = xc->writeBytes(memUnion.bytes, %(size)d, EA, 416 memAccessFlags, NULL); 417 } 418 } else { 419 xc->setPredicate(false); 420 } 421 |
422 return fault; 423 } 424}}; 425 426def template LoadInitiateAcc {{ 427 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s *xc, 428 Trace::InstRecord *traceData) const 429 { --- 6 unchanged lines hidden (view full) --- 436 437 if (%(predicate_test)s) 438 { 439 if (fault == NoFault) { 440 fault = xc->read(EA, (uint%(mem_acc_size)d_t &)Mem, memAccessFlags); 441 } 442 } else { 443 xc->setPredicate(false); |
444 } 445 446 return fault; 447 } 448}}; 449 450def template NeonLoadInitiateAcc {{ 451 template <class Element> --- 9 unchanged lines hidden (view full) --- 461 462 if (%(predicate_test)s) 463 { 464 if (fault == NoFault) { 465 fault = xc->readBytes(EA, NULL, %(size)d, memAccessFlags); 466 } 467 } else { 468 xc->setPredicate(false); |
469 } 470 471 return fault; 472 } 473}}; 474 475def template LoadCompleteAcc {{ 476 Fault %(class_name)s::completeAcc(PacketPtr pkt, --- 14 unchanged lines hidden (view full) --- 491 %(memacc_code)s; 492 } 493 494 if (fault == NoFault) { 495 %(op_wb)s; 496 } 497 } 498 |
499 return fault; 500 } 501}}; 502 503def template NeonLoadCompleteAcc {{ 504 template <class Element> 505 Fault %(class_name)s<Element>::completeAcc( 506 PacketPtr pkt, %(CPU_exec_context)s *xc, --- 14 unchanged lines hidden (view full) --- 521 %(memacc_code)s; 522 } 523 524 if (fault == NoFault) { 525 %(op_wb)s; 526 } 527 } 528 |
529 return fault; 530 } 531}}; 532 533def template StoreCompleteAcc {{ 534 Fault %(class_name)s::completeAcc(PacketPtr pkt, 535 %(CPU_exec_context)s *xc, 536 Trace::InstRecord *traceData) const 537 { |
538 return NoFault; 539 } 540}}; 541 542def template NeonStoreCompleteAcc {{ 543 template <class Element> 544 Fault %(class_name)s<Element>::completeAcc( 545 PacketPtr pkt, %(CPU_exec_context)s *xc, 546 Trace::InstRecord *traceData) const 547 { |
548 return NoFault; 549 } 550}}; 551 552def template StoreExCompleteAcc {{ 553 Fault %(class_name)s::completeAcc(PacketPtr pkt, 554 %(CPU_exec_context)s *xc, 555 Trace::InstRecord *traceData) const --- 8 unchanged lines hidden (view full) --- 564 uint64_t writeResult = pkt->req->getExtraData(); 565 %(postacc_code)s; 566 567 if (fault == NoFault) { 568 %(op_wb)s; 569 } 570 } 571 |
572 return fault; 573 } 574}}; 575 576def template RfeDeclare {{ 577 /** 578 * Static instruction class for "%(mnemonic)s". 579 */ --- 620 unchanged lines hidden --- |