gem5-dev@gem5.org

The gem5 Developer List

View all threads

[M] Change in gem5/gem5[develop]: util: added workbegin and workend in m5 util

ZQ
Zhantong Qiu (Gerrit)
Sat, Sep 24, 2022 9:40 PM

Zhantong Qiu has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/63751?usp=email )

Change subject: util: added workbegin and workend in m5 util
......................................................................

util: added workbegin and workend in m5 util

Added m5 workbegin and m5 workend that can be used with out/m5

Change-Id: Ic2b1ac3c08dcae3f66fb65dffaa3a3358b717251
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/63751
Reviewed-by: Bobby Bruce bbruce@ucdavis.edu
Maintainer: Bobby Bruce bbruce@ucdavis.edu
Tested-by: kokoro noreply+kokoro@google.com

M util/m5/src/command/SConscript
A util/m5/src/command/workbegin.cc
A util/m5/src/command/workend.cc
3 files changed, 121 insertions(+), 0 deletions(-)

Approvals:
kokoro: Regressions pass
Bobby Bruce: Looks good to me, approved; Looks good to me, approved

diff --git a/util/m5/src/command/SConscript b/util/m5/src/command/SConscript
index a9a59a1..0ca53f3 100644
--- a/util/m5/src/command/SConscript
+++ b/util/m5/src/command/SConscript
@@ -38,6 +38,8 @@
'readfile.cc',
'resetstats.cc',
'writefile.cc',

  • 'workbegin.cc',
  • 'workend.cc'
    ]

command_objs = list(map(env.StaticObject, command_ccs))
diff --git a/util/m5/src/command/workbegin.cc
b/util/m5/src/command/workbegin.cc
new file mode 100644
index 0000000..82bf38b
--- /dev/null
+++ b/util/m5/src/command/workbegin.cc
@@ -0,0 +1,52 @@
+/*

    • Copyright (c) 2022 The Regents of the University of California.
    • All rights reserved.
    • Redistribution and use in source and binary forms, with or without
    • modification, are permitted provided that the following conditions are
    • met: redistributions of source code must retain the above copyright
    • notice, this list of conditions and the following disclaimer;
    • redistributions in binary form must reproduce the above copyright
    • notice, this list of conditions and the following disclaimer in the
    • documentation and/or other materials provided with the distribution;
    • neither the name of the copyright holders nor the names of its
    • contributors may be used to endorse or promote products derived from
    • this software without specific prior written permission.
    • THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    • "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    • LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    • A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    • OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    • SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    • LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    • DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    • THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    • (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    • OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • */

+#include "args.hh"
+#include "command.hh"
+#include "dispatch_table.hh"
+
+namespace
+{
+
+bool
+do_work_begin(const DispatchTable &dt, Args &args)
+{

  • uint64_t workid, threadid;
  • if (!args.pop(workid, 0) || !args.pop(threadid, 0))
  •    return false;
    
  • (*dt.m5_work_begin)(workid, threadid);
  • return true;
    +}

+Command workbegin = {

  • "workbegin", 0, 2, do_work_begin, "[workid][threadid]\n"
  •    "        Exit immediately" };
    

+} // anonymous namespace
diff --git a/util/m5/src/command/workend.cc b/util/m5/src/command/workend.cc
new file mode 100644
index 0000000..5134c80
--- /dev/null
+++ b/util/m5/src/command/workend.cc
@@ -0,0 +1,52 @@
+/*

    • Copyright (c) 2022 The Regents of the University of California.
    • All rights reserved.
    • Redistribution and use in source and binary forms, with or without
    • modification, are permitted provided that the following conditions are
    • met: redistributions of source code must retain the above copyright
    • notice, this list of conditions and the following disclaimer;
    • redistributions in binary form must reproduce the above copyright
    • notice, this list of conditions and the following disclaimer in the
    • documentation and/or other materials provided with the distribution;
    • neither the name of the copyright holders nor the names of its
    • contributors may be used to endorse or promote products derived from
    • this software without specific prior written permission.
    • THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    • "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    • LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    • A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    • OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    • SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    • LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    • DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    • THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    • (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    • OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • */

+#include "args.hh"
+#include "command.hh"
+#include "dispatch_table.hh"
+
+namespace
+{
+
+bool
+do_work_end(const DispatchTable &dt, Args &args)
+{

  • uint64_t workid, threadid;
  • if (!args.pop(workid, 0) || !args.pop(threadid, 0))
  •    return false;
    
  • (*dt.m5_work_end)(workid, threadid);
  • return true;
    +}

+Command workend = {

  • "workend", 0, 2, do_work_end, "[workid [threadid]]\n"
  •    "        Exit immediately" };
    

+} // anonymous namespace

--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/63751?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ic2b1ac3c08dcae3f66fb65dffaa3a3358b717251
Gerrit-Change-Number: 63751
Gerrit-PatchSet: 2
Gerrit-Owner: Zhantong Qiu ztqiu@ucdavis.edu
Gerrit-Reviewer: Bobby Bruce bbruce@ucdavis.edu
Gerrit-Reviewer: Gabe Black gabe.black@gmail.com
Gerrit-Reviewer: Jason Lowe-Power power.jg@gmail.com
Gerrit-Reviewer: Zhantong Qiu ztqiu@ucdavis.edu
Gerrit-Reviewer: kokoro noreply+kokoro@google.com
Gerrit-MessageType: merged

Zhantong Qiu has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/63751?usp=email ) Change subject: util: added workbegin and workend in m5 util ...................................................................... util: added workbegin and workend in m5 util Added m5 workbegin and m5 workend that can be used with out/m5 Change-Id: Ic2b1ac3c08dcae3f66fb65dffaa3a3358b717251 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/63751 Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu> Maintainer: Bobby Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com> --- M util/m5/src/command/SConscript A util/m5/src/command/workbegin.cc A util/m5/src/command/workend.cc 3 files changed, 121 insertions(+), 0 deletions(-) Approvals: kokoro: Regressions pass Bobby Bruce: Looks good to me, approved; Looks good to me, approved diff --git a/util/m5/src/command/SConscript b/util/m5/src/command/SConscript index a9a59a1..0ca53f3 100644 --- a/util/m5/src/command/SConscript +++ b/util/m5/src/command/SConscript @@ -38,6 +38,8 @@ 'readfile.cc', 'resetstats.cc', 'writefile.cc', + 'workbegin.cc', + 'workend.cc' ] command_objs = list(map(env.StaticObject, command_ccs)) diff --git a/util/m5/src/command/workbegin.cc b/util/m5/src/command/workbegin.cc new file mode 100644 index 0000000..82bf38b --- /dev/null +++ b/util/m5/src/command/workbegin.cc @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2022 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "args.hh" +#include "command.hh" +#include "dispatch_table.hh" + +namespace +{ + +bool +do_work_begin(const DispatchTable &dt, Args &args) +{ + uint64_t workid, threadid; + if (!args.pop(workid, 0) || !args.pop(threadid, 0)) + return false; + + (*dt.m5_work_begin)(workid, threadid); + + return true; +} + +Command workbegin = { + "workbegin", 0, 2, do_work_begin, "[workid][threadid]\n" + " Exit immediately" }; + +} // anonymous namespace diff --git a/util/m5/src/command/workend.cc b/util/m5/src/command/workend.cc new file mode 100644 index 0000000..5134c80 --- /dev/null +++ b/util/m5/src/command/workend.cc @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2022 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "args.hh" +#include "command.hh" +#include "dispatch_table.hh" + +namespace +{ + +bool +do_work_end(const DispatchTable &dt, Args &args) +{ + uint64_t workid, threadid; + if (!args.pop(workid, 0) || !args.pop(threadid, 0)) + return false; + + (*dt.m5_work_end)(workid, threadid); + + return true; +} + +Command workend = { + "workend", 0, 2, do_work_end, "[workid [threadid]]\n" + " Exit immediately" }; + +} // anonymous namespace -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/63751?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: develop Gerrit-Change-Id: Ic2b1ac3c08dcae3f66fb65dffaa3a3358b717251 Gerrit-Change-Number: 63751 Gerrit-PatchSet: 2 Gerrit-Owner: Zhantong Qiu <ztqiu@ucdavis.edu> Gerrit-Reviewer: Bobby Bruce <bbruce@ucdavis.edu> Gerrit-Reviewer: Gabe Black <gabe.black@gmail.com> Gerrit-Reviewer: Jason Lowe-Power <power.jg@gmail.com> Gerrit-Reviewer: Zhantong Qiu <ztqiu@ucdavis.edu> Gerrit-Reviewer: kokoro <noreply+kokoro@google.com> Gerrit-MessageType: merged