pseudo_inst.cc (11259:4006183015a1) | pseudo_inst.cc (11270:a3b41de1c4f1) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2010-2012 ARM Limited | 2 * Copyright (c) 2010-2012, 2015 ARM Limited |
3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 600 unchanged lines hidden (view full) --- 611// This function is executed when annotated work items begin. Depending on 612// what the user specified at the command line, the simulation may exit and/or 613// take a checkpoint when a certain work item begins. 614// 615void 616workbegin(ThreadContext *tc, uint64_t workid, uint64_t threadid) 617{ 618 DPRINTF(PseudoInst, "PseudoInst::workbegin(%i, %i)\n", workid, threadid); | 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 600 unchanged lines hidden (view full) --- 611// This function is executed when annotated work items begin. Depending on 612// what the user specified at the command line, the simulation may exit and/or 613// take a checkpoint when a certain work item begins. 614// 615void 616workbegin(ThreadContext *tc, uint64_t workid, uint64_t threadid) 617{ 618 DPRINTF(PseudoInst, "PseudoInst::workbegin(%i, %i)\n", workid, threadid); |
619 tc->getCpuPtr()->workItemBegin(); | |
620 System *sys = tc->getSystemPtr(); 621 const System::Params *params = sys->params(); | 619 System *sys = tc->getSystemPtr(); 620 const System::Params *params = sys->params(); |
622 sys->workItemBegin(threadid, workid); | |
623 | 621 |
624 DPRINTF(WorkItems, "Work Begin workid: %d, threadid %d\n", workid, | 622 if (params->exit_on_work_items) { 623 exitSimLoop("workbegin", static_cast<int>(workid)); 624 return; 625 } 626 627 DPRINTF(WorkItems, "Work Begin workid: %d, threadid %d\n", workid, |
625 threadid); | 628 threadid); |
629 tc->getCpuPtr()->workItemBegin(); 630 sys->workItemBegin(threadid, workid); |
|
626 627 // 628 // If specified, determine if this is the specific work item the user 629 // identified 630 // 631 if (params->work_item_id == -1 || params->work_item_id == workid) { 632 633 uint64_t systemWorkBeginCount = sys->incWorkItemsBegin(); --- 35 unchanged lines hidden (view full) --- 669// This function is executed when annotated work items end. Depending on 670// what the user specified at the command line, the simulation may exit and/or 671// take a checkpoint when a certain work item ends. 672// 673void 674workend(ThreadContext *tc, uint64_t workid, uint64_t threadid) 675{ 676 DPRINTF(PseudoInst, "PseudoInst::workend(%i, %i)\n", workid, threadid); | 631 632 // 633 // If specified, determine if this is the specific work item the user 634 // identified 635 // 636 if (params->work_item_id == -1 || params->work_item_id == workid) { 637 638 uint64_t systemWorkBeginCount = sys->incWorkItemsBegin(); --- 35 unchanged lines hidden (view full) --- 674// This function is executed when annotated work items end. Depending on 675// what the user specified at the command line, the simulation may exit and/or 676// take a checkpoint when a certain work item ends. 677// 678void 679workend(ThreadContext *tc, uint64_t workid, uint64_t threadid) 680{ 681 DPRINTF(PseudoInst, "PseudoInst::workend(%i, %i)\n", workid, threadid); |
677 tc->getCpuPtr()->workItemEnd(); | |
678 System *sys = tc->getSystemPtr(); 679 const System::Params *params = sys->params(); | 682 System *sys = tc->getSystemPtr(); 683 const System::Params *params = sys->params(); |
680 sys->workItemEnd(threadid, workid); | |
681 | 684 |
685 if (params->exit_on_work_items) { 686 exitSimLoop("workend", static_cast<int>(workid)); 687 return; 688 } 689 |
|
682 DPRINTF(WorkItems, "Work End workid: %d, threadid %d\n", workid, threadid); | 690 DPRINTF(WorkItems, "Work End workid: %d, threadid %d\n", workid, threadid); |
691 tc->getCpuPtr()->workItemEnd(); 692 sys->workItemEnd(threadid, workid); |
|
683 684 // 685 // If specified, determine if this is the specific work item the user 686 // identified 687 // 688 if (params->work_item_id == -1 || params->work_item_id == workid) { 689 690 uint64_t systemWorkEndCount = sys->incWorkItemsEnd(); --- 30 unchanged lines hidden --- | 693 694 // 695 // If specified, determine if this is the specific work item the user 696 // identified 697 // 698 if (params->work_item_id == -1 || params->work_item_id == workid) { 699 700 uint64_t systemWorkEndCount = sys->incWorkItemsEnd(); --- 30 unchanged lines hidden --- |