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