[gem5-dev] Change in gem5/gem5[develop]: misc: Removed unneeded Doxygen pages
Bobby R. Bruce has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/27487 ) Change subject: misc: Removed unneeded Doxygen pages .. misc: Removed unneeded Doxygen pages These removed doxygen files have already been migrated to the gem5 website. inside-minor.doxygen: www.gem5.org/documentation/general_docs/cpu_models/minor_cpu memory_system.doxygen: www.gem5.org/documentation/general_docs/memory_system/gem5_memory_system power_thermal_model.doxygen: www.gem5.org/documentation/general_docs/thermal_model Issue-on: https://gem5.atlassian.net/browse/GEM5-229 Change-Id: Ib36c364def2dae06a0efbedd3d398763ae7d4e21 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27487 Tested-by: Gem5 Cloud Project GCB service account <345032938...@cloudbuild.gserviceaccount.com> Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- D src/doc/inside-minor.doxygen D src/doc/memory_system.doxygen D src/doc/power_thermal_model.doxygen 3 files changed, 0 insertions(+), 1,496 deletions(-) Approvals: Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved Gem5 Cloud Project GCB service account: Regressions pass diff --git a/src/doc/inside-minor.doxygen b/src/doc/inside-minor.doxygen deleted file mode 100644 index 9db3d68..000 --- a/src/doc/inside-minor.doxygen +++ /dev/null @@ -1,1089 +0,0 @@ -# Copyright (c) 2014 ARM Limited -# All rights reserved -# -# The license below extends only to copyright in the software and shall -# not be construed as granting a license to any other intellectual -# property including but not limited to intellectual property relating -# to a hardware implementation of the functionality of the software -# licensed hereunder. You may use the software subject to the license -# terms below provided that you ensure that this notice is replicated -# unmodified and in its entirety in all distributions of the software, -# modified or unmodified, in source code or in binary form. -# -# 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. - -namespace Minor -{ - -/*! - -\page minor Inside the Minor CPU model - -\tableofcontents - -This document contains a description of the structure and function of the -Minor gem5 in-order processor model. It is recommended reading for anyone who -wants to understand Minor's internal organisation, design decisions, C++ -implementation and Python configuration. A familiarity with gem5 and some of -its internal structures is assumed. This document is meant to be read -alongside the Minor source code and to explain its general structure without -being too slavish about naming every function and data type. - -\section whatis What is Minor? - -Minor is an in-order processor model with a fixed pipeline but configurable -data structures and execute behaviour. It is intended to be used to model -processors with strict in-order execution behaviour and allows visualisation -of an instruction's position in the pipeline through the -MinorTrace/minorview.py format/tool. The intention is to provide a framework -for micro-architecturally correlating the model with a particular, chosen -processor with similar capabilities. - -\section philo Design philosophy - -\subsection mt Multithreading - -The model isn't currently capable of multithreading but there are THREAD -comments in key places where stage data needs to be arrayed to support -multithreading. - -\subsection structs Data structures - -Decorating data structures
[gem5-dev] Change in gem5/gem5[develop]: tests: Removed "tests/long"
Bobby R. Bruce has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/27630 ) Change subject: tests: Removed "tests/long" .. tests: Removed "tests/long" Tests/resources contained within "tests/long" have been migrated to the testlib framework. Change-Id: I014edfac72f5d0df22abf4d4c7a69976b57d785a Issue-on: https://gem5.atlassian.net/browse/GEM5-109 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27630 Tested-by: Gem5 Cloud Project GCB service account <345032938...@cloudbuild.gserviceaccount.com> Reviewed-by: Jason Lowe-Power Reviewed-by: Giacomo Travaglini Maintainer: Bobby R. Bruce --- D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor-dual/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor-dual/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor-dual/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor-dual/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor-dual/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview-minor/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3-checker/EMPTY D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3-dual/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3-dual/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3-dual/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3-dual/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3-dual/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview-o3/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-dual-ruby-MOESI_CMP_directory/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-ruby-MOESI_CMP_directory/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview-switcheroo-full/EMPTY D tests/long/fs/10.linux-boot/ref/arm/linux/realview-switcheroo-o3/EMPTY D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor-dual/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor-dual/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor-dual/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor-dual/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor-dual/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-minor/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3-checker/EMPTY D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3-dual/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3-dual/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3-dual/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3-dual/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3-dual/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-o3/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/EMPTY D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-dual/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-dual/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-dual/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-dual/stats.txt D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-dual/system.terminal D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic/config.ini D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic/simerr D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic/simout D tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic/stats.txt D
[gem5-dev] Change in gem5/gem5[develop]: tests: Removed "tests/quick"
Bobby R. Bruce has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/27727 ) Change subject: tests: Removed "tests/quick" .. tests: Removed "tests/quick" Tests/resources contained within "tests/quick" have been migrated to the testlib framework. Change-Id: I49f2a469905f6fca5a36af433f84a5de4ec5c74f Issue-on: https://gem5.atlassian.net/browse/GEM5-109 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27727 Reviewed-by: Jason Lowe-Power Reviewed-by: Giacomo Travaglini Tested-by: Gem5 Cloud Project GCB service account <345032938...@cloudbuild.gserviceaccount.com> Maintainer: Bobby R. Bruce --- D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/EMPTY D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-dual/config.ini D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-dual/simerr D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-dual/simout D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-dual/stats.txt D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-dual/system.terminal D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic/config.ini D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic/simerr D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic/simout D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic/stats.txt D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic/system.terminal D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-dual/config.ini D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-dual/simerr D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-dual/simout D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-dual/stats.txt D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing-dual/system.terminal D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing/config.ini D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing/simerr D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing/simout D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing/stats.txt D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-timing/system.terminal D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-switcheroo-atomic/EMPTY D tests/quick/fs/10.linux-boot/ref/arm/linux/realview-switcheroo-timing/EMPTY D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-atomic/config.ini D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-atomic/simerr D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-atomic/simout D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-atomic/stats.txt D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-timing/config.ini D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-timing/simerr D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-timing/simout D tests/quick/fs/10.linux-boot/ref/x86/linux/pc-simple-timing/stats.txt D tests/quick/fs/10.linux-boot/test.py D tests/quick/fs/80.netperf-stream/test.py D tests/quick/se/00.hello.mp/test.py D tests/quick/se/01.hello-2T-smt/test.py D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-simple/config.ini D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-simple/simerr D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-simple/simout D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-simple/stats.txt D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-two-level/config.ini D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-two-level/simerr D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-two-level/simout D tests/quick/se/03.learning-gem5/ref/arm/linux/learning-gem5-p1-two-level/stats.txt D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-simple/config.ini D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-simple/simerr D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-simple/simout D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-simple/stats.txt D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-two-level/config.ini D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-two-level/simerr D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-two-level/simout D tests/quick/se/03.learning-gem5/ref/mips/linux/learning-gem5-p1-two-level/stats.txt D tests/quick/se/03.learning-gem5/ref/sparc/linux/learning-gem5-p1-simple/config.ini D tests/quick/se/03.learning-gem5/ref/sparc/linux/learning-gem5-p1-simple/simerr D tests/quick/se/03.learning-gem5/ref/sparc/linux/learning-gem5-p1-simple/simout D
[gem5-dev] Change in gem5/gem5[develop]: configs: Add missing requestToMemory MessageBuffers
Matthew Poremba has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/28187 ) Change subject: configs: Add missing requestToMemory MessageBuffers .. configs: Add missing requestToMemory MessageBuffers In commit 53b6e21 two protocol config files were missed when the new requestToMemory MessageBuffers were added. This fixes the issue such that all Ruby protocols are working again. Change-Id: Iaa04c792eaf6d659ba13c19f003e7e31b71ffdb4 JIRA: https://gem5.atlassian.net/browse/GEM5-468 --- M configs/ruby/MESI_Three_Level.py M configs/ruby/MOESI_AMD_Base.py 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/configs/ruby/MESI_Three_Level.py b/configs/ruby/MESI_Three_Level.py index c05dca3..fdebea4 100644 --- a/configs/ruby/MESI_Three_Level.py +++ b/configs/ruby/MESI_Three_Level.py @@ -229,6 +229,7 @@ dir_cntrl.responseToDir.slave = ruby_system.network.master dir_cntrl.responseFromDir = MessageBuffer() dir_cntrl.responseFromDir.master = ruby_system.network.slave +dir_cntrl.requestToMemory = MessageBuffer() dir_cntrl.responseFromMemory = MessageBuffer() for i, dma_port in enumerate(dma_ports): diff --git a/configs/ruby/MOESI_AMD_Base.py b/configs/ruby/MOESI_AMD_Base.py index 5b2d912..aa9dd50 100644 --- a/configs/ruby/MOESI_AMD_Base.py +++ b/configs/ruby/MOESI_AMD_Base.py @@ -277,6 +277,8 @@ dir_cntrl.triggerQueue = MessageBuffer(ordered = True) dir_cntrl.L3triggerQueue = MessageBuffer(ordered = True) + +dir_cntrl.requestToMemory = MessageBuffer() dir_cntrl.responseFromMemory = MessageBuffer() exec("system.dir_cntrl%d = dir_cntrl" % i) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28187 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: Iaa04c792eaf6d659ba13c19f003e7e31b71ffdb4 Gerrit-Change-Number: 28187 Gerrit-PatchSet: 1 Gerrit-Owner: Matthew Poremba Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: arch-arm: Fix function signature inconsistencies in semihosting
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28170 to review the following change. Change subject: arch-arm: Fix function signature inconsistencies in semihosting .. arch-arm: Fix function signature inconsistencies in semihosting Change-Id: Icb1aa30cb67b676d49681f68e1d62b3af409e26b Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M src/arch/arm/semihosting.cc 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/arch/arm/semihosting.cc b/src/arch/arm/semihosting.cc index 7718cd0..7711a86 100644 --- a/src/arch/arm/semihosting.cc +++ b/src/arch/arm/semihosting.cc @@ -305,7 +305,7 @@ } ArmSemihosting::RetErrno -ArmSemihosting::callClose(ThreadContext *tc, uint64_t handle) +ArmSemihosting::callClose(ThreadContext *tc, Handle handle) { if (handle > files.size()) { DPRINTF(Semihosting, "Semihosting SYS_CLOSE(%i): Illegal file\n"); @@ -350,7 +350,7 @@ } ArmSemihosting::RetErrno -ArmSemihosting::callWrite(ThreadContext *tc, uint64_t handle, Addr addr, +ArmSemihosting::callWrite(ThreadContext *tc, Handle handle, Addr addr, size_t size) { if (handle > files.size() || !files[handle]) @@ -371,7 +371,7 @@ } ArmSemihosting::RetErrno -ArmSemihosting::callRead(ThreadContext *tc, uint64_t handle, Addr addr, +ArmSemihosting::callRead(ThreadContext *tc, Handle handle, Addr addr, size_t size) { if (handle > files.size() || !files[handle]) @@ -404,7 +404,7 @@ } ArmSemihosting::RetErrno -ArmSemihosting::callIsTTY(ThreadContext *tc, uint64_t handle) +ArmSemihosting::callIsTTY(ThreadContext *tc, Handle handle) { if (handle > files.size() || !files[handle]) return retError(EBADF); @@ -418,7 +418,7 @@ } ArmSemihosting::RetErrno -ArmSemihosting::callSeek(ThreadContext *tc, uint64_t handle, uint64_t pos) +ArmSemihosting::callSeek(ThreadContext *tc, Handle handle, uint64_t pos) { if (handle > files.size() || !files[handle]) return retError(EBADF); @@ -432,7 +432,7 @@ } ArmSemihosting::RetErrno -ArmSemihosting::callFLen(ThreadContext *tc, uint64_t handle) +ArmSemihosting::callFLen(ThreadContext *tc, Handle handle) { if (handle > files.size() || !files[handle]) return retError(EBADF); -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28170 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: Icb1aa30cb67b676d49681f68e1d62b3af409e26b Gerrit-Change-Number: 28170 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: arch-arm, mem-ruby, sim: Add missing overrides
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28168 to review the following change. Change subject: arch-arm, mem-ruby, sim: Add missing overrides .. arch-arm, mem-ruby, sim: Add missing overrides Change-Id: I5ab18960bd61953e6846426adb657818f825 Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M src/arch/arm/isa.hh M src/mem/ruby/system/GPUCoalescer.hh M src/mem/ruby/system/Sequencer.hh M src/sim/kernel_workload.hh 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/arch/arm/isa.hh b/src/arch/arm/isa.hh index 5fec2db..b4fbbbf 100644 --- a/src/arch/arm/isa.hh +++ b/src/arch/arm/isa.hh @@ -726,14 +726,14 @@ unsigned eCount); void -serialize(CheckpointOut ) const +serialize(CheckpointOut ) const override { DPRINTF(Checkpoint, "Serializing Arm Misc Registers\n"); SERIALIZE_ARRAY(miscRegs, NUM_PHYS_MISCREGS); } void -unserialize(CheckpointIn ) +unserialize(CheckpointIn ) override { DPRINTF(Checkpoint, "Unserializing Arm Misc Registers\n"); UNSERIALIZE_ARRAY(miscRegs, NUM_PHYS_MISCREGS); diff --git a/src/mem/ruby/system/GPUCoalescer.hh b/src/mem/ruby/system/GPUCoalescer.hh index 620b5ee..1321173 100644 --- a/src/mem/ruby/system/GPUCoalescer.hh +++ b/src/mem/ruby/system/GPUCoalescer.hh @@ -102,9 +102,9 @@ void wakeup(); // Used only for deadlock detection void printProgress(std::ostream& out) const; -void resetStats(); +void resetStats() override; void collateStats(); -void regStats(); +void regStats() override; void writeCallback(Addr address, DataBlock& data); @@ -157,18 +157,18 @@ void recordCPWriteCallBack(MachineID myMachID, MachineID senderMachID); // Alternate implementations in VIPER Coalescer -virtual RequestStatus makeRequest(PacketPtr pkt); +virtual RequestStatus makeRequest(PacketPtr pkt) override; -int outstandingCount() const { return m_outstanding_count; } +int outstandingCount() const override { return m_outstanding_count; } bool -isDeadlockEventScheduled() const +isDeadlockEventScheduled() const override { return deadlockCheckEvent.scheduled(); } void -descheduleDeadlockEvent() +descheduleDeadlockEvent() override { deschedule(deadlockCheckEvent); } diff --git a/src/mem/ruby/system/Sequencer.hh b/src/mem/ruby/system/Sequencer.hh index 0569478..bb2819b 100644 --- a/src/mem/ruby/system/Sequencer.hh +++ b/src/mem/ruby/system/Sequencer.hh @@ -86,9 +86,9 @@ // Public Methods void wakeup(); // Used only for deadlock detection -void resetStats(); +void resetStats() override; void collateStats(); -void regStats(); +void regStats() override; void writeCallback(Addr address, DataBlock& data, @@ -106,14 +106,14 @@ const Cycles forwardRequestTime = Cycles(0), const Cycles firstResponseTime = Cycles(0)); -RequestStatus makeRequest(PacketPtr pkt); +RequestStatus makeRequest(PacketPtr pkt) override; bool empty() const; -int outstandingCount() const { return m_outstanding_count; } +int outstandingCount() const override { return m_outstanding_count; } -bool isDeadlockEventScheduled() const +bool isDeadlockEventScheduled() const override { return deadlockCheckEvent.scheduled(); } -void descheduleDeadlockEvent() +void descheduleDeadlockEvent() override { deschedule(deadlockCheckEvent); } void print(std::ostream& out) const; diff --git a/src/sim/kernel_workload.hh b/src/sim/kernel_workload.hh index 972a539..b88051a 100644 --- a/src/sim/kernel_workload.hh +++ b/src/sim/kernel_workload.hh @@ -98,7 +98,7 @@ } bool -insertSymbol(Addr address, const std::string ) +insertSymbol(Addr address, const std::string ) override { return kernelSymtab->insert(address, symbol); } -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28168 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: I5ab18960bd61953e6846426adb657818f825 Gerrit-Change-Number: 28168 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: sim: Fix mismatch between #ifndef and #define in varargs.hh
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28169 to review the following change. Change subject: sim: Fix mismatch between #ifndef and #define in varargs.hh .. sim: Fix mismatch between #ifndef and #define in varargs.hh Change-Id: I558b6c3c69a5003a77cc95b414e620715c3dbbae Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M src/sim/guest_abi/varargs.hh 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sim/guest_abi/varargs.hh b/src/sim/guest_abi/varargs.hh index 41e3c62..6a19db8 100644 --- a/src/sim/guest_abi/varargs.hh +++ b/src/sim/guest_abi/varargs.hh @@ -26,7 +26,7 @@ */ #ifndef __SIM_GUEST_ABI_VARARGS_HH__ -#define __SIM_GUEST_ABI_VARRAGS_HH__ +#define __SIM_GUEST_ABI_VARARGS_HH__ #include #include -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28169 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: I558b6c3c69a5003a77cc95b414e620715c3dbbae Gerrit-Change-Number: 28169 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: arch-arm: Fix inconsistency in variable name
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28172 to review the following change. Change subject: arch-arm: Fix inconsistency in variable name .. arch-arm: Fix inconsistency in variable name Change-Id: I091a2d0cc8bfa7b8d98c4f508d175868d0fd7249 Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M src/arch/arm/freebsd/process.cc 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/arm/freebsd/process.cc b/src/arch/arm/freebsd/process.cc index 3955f85..d8a7d68 100644 --- a/src/arch/arm/freebsd/process.cc +++ b/src/arch/arm/freebsd/process.cc @@ -118,7 +118,7 @@ void *holdp = (void *)buf2.bufferPtr(); size_t *holdlenp = (size_t *)buf3.bufferPtr(); -ret = sysctl((int *)hnamep, namelen, holdp, holdlenp, hnewp, newlen); +ret = sysctl((int *)hnamep, nameLen, holdp, holdlenp, hnewp, newlen); buf.copyOut(tc->getVirtProxy()); buf2.copyOut(tc->getVirtProxy()); -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28172 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: I091a2d0cc8bfa7b8d98c4f508d175868d0fd7249 Gerrit-Change-Number: 28172 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: mem-ruby: Removed the unused parameter m_id from VirtualChannel
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28171 to review the following change. Change subject: mem-ruby: Removed the unused parameter m_id from VirtualChannel .. mem-ruby: Removed the unused parameter m_id from VirtualChannel Change-Id: Ie6f8db9b1cb0d0e0ca694c631c6662413fd833c1 Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M src/mem/ruby/network/garnet2.0/InputUnit.cc M src/mem/ruby/network/garnet2.0/VirtualChannel.cc M src/mem/ruby/network/garnet2.0/VirtualChannel.hh 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mem/ruby/network/garnet2.0/InputUnit.cc b/src/mem/ruby/network/garnet2.0/InputUnit.cc index 8fdce06..640e3b4 100644 --- a/src/mem/ruby/network/garnet2.0/InputUnit.cc +++ b/src/mem/ruby/network/garnet2.0/InputUnit.cc @@ -52,7 +52,7 @@ // Instantiating the virtual channels virtualChannels.reserve(m_num_vcs); for (int i=0; i < m_num_vcs; i++) { -virtualChannels.emplace_back(i); +virtualChannels.emplace_back(); } } diff --git a/src/mem/ruby/network/garnet2.0/VirtualChannel.cc b/src/mem/ruby/network/garnet2.0/VirtualChannel.cc index 3b077d4..a469a84 100644 --- a/src/mem/ruby/network/garnet2.0/VirtualChannel.cc +++ b/src/mem/ruby/network/garnet2.0/VirtualChannel.cc @@ -31,8 +31,8 @@ #include "mem/ruby/network/garnet2.0/VirtualChannel.hh" -VirtualChannel::VirtualChannel(int id) - : m_id(id), inputBuffer(), m_vc_state(IDLE_, Cycles(0)), m_output_port(-1), +VirtualChannel::VirtualChannel() + : inputBuffer(), m_vc_state(IDLE_, Cycles(0)), m_output_port(-1), m_enqueue_time(INFINITE_), m_output_vc(-1) { } diff --git a/src/mem/ruby/network/garnet2.0/VirtualChannel.hh b/src/mem/ruby/network/garnet2.0/VirtualChannel.hh index 52963c8..752dfb4 100644 --- a/src/mem/ruby/network/garnet2.0/VirtualChannel.hh +++ b/src/mem/ruby/network/garnet2.0/VirtualChannel.hh @@ -40,7 +40,7 @@ class VirtualChannel { public: -VirtualChannel(int id); +VirtualChannel(); ~VirtualChannel() = default; bool need_stage(flit_stage stage, Cycles time); @@ -89,7 +89,6 @@ uint32_t functionalWrite(Packet *pkt); private: -int m_id; flitBuffer inputBuffer; std::pair m_vc_state; int m_output_port; -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28171 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: Ie6f8db9b1cb0d0e0ca694c631c6662413fd833c1 Gerrit-Change-Number: 28171 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: scons: Disable unsupported -Wl,--as-needed in MacOS
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28173 to review the following change. Change subject: scons: Disable unsupported -Wl,--as-needed in MacOS .. scons: Disable unsupported -Wl,--as-needed in MacOS Change-Id: Id6f8199b818217c4fcf4b80efdb7cc9e1d14e32b Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M SConstruct 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index 215c0b6..3345148 100755 --- a/SConstruct +++ b/SConstruct @@ -359,7 +359,10 @@ main.Append(CCFLAGS=['-I/usr/local/include']) main.Append(CXXFLAGS=['-I/usr/local/include']) -main.Append(LINKFLAGS='-Wl,--as-needed') +# On Mac OS X/Darwin the default linker doesn't support the +# option --as-needed +if sys.platform != "darwin": +main.Append(LINKFLAGS='-Wl,--as-needed') main['FILTER_PSHLINKFLAGS'] = lambda x: str(x).replace(' -shared', '') main['PSHLINKFLAGS'] = main.subst('${FILTER_PSHLINKFLAGS(SHLINKFLAGS)}') if GetOption('gold_linker'): -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28173 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: Id6f8199b818217c4fcf4b80efdb7cc9e1d14e32b Gerrit-Change-Number: 28173 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: arch-arm: Make variable const to allow derived constexpr
Hello Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28167 to review the following change. Change subject: arch-arm: Make variable const to allow derived constexpr .. arch-arm: Make variable const to allow derived constexpr Change-Id: Idf5ae62603b6181d44aaaef91b774fa7b26eb718 Signed-off-by: Nikos Nikoleris Reviewed-by: Giacomo Travaglini --- M src/arch/arm/aapcs32.hh 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/arm/aapcs32.hh b/src/arch/arm/aapcs32.hh index fd63483..269c83f 100644 --- a/src/arch/arm/aapcs32.hh +++ b/src/arch/arm/aapcs32.hh @@ -558,7 +558,7 @@ if (useBaseABI(state)) return getArgument(tc, state); -int base = state.allocate(Elem{}, Count); +const int base = state.allocate(Elem{}, Count); if (base >= 0) { constexpr int lane_per_reg = 16 / sizeof(Elem); HA ha; -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28167 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: Idf5ae62603b6181d44aaaef91b774fa7b26eb718 Gerrit-Change-Number: 28167 Gerrit-PatchSet: 1 Gerrit-Owner: Nikos Nikoleris Gerrit-Reviewer: Giacomo Travaglini Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: configs: Do not require args.kernel to be set in baremetal.py
Hello Nikos Nikoleris, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28148 to review the following change. Change subject: configs: Do not require args.kernel to be set in baremetal.py .. configs: Do not require args.kernel to be set in baremetal.py This is allowing to us run baremetal.py with the --dtb-gen option without needing to specify a --kernel argument Change-Id: I98f1bc865d2f4e2230b1a85453efe83d95ec8a55 Signed-off-by: Giacomo Travaglini Reviewed-by: Nikos Nikoleris --- M configs/example/arm/baremetal.py 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configs/example/arm/baremetal.py b/configs/example/arm/baremetal.py index 24f40ec..412625d 100644 --- a/configs/example/arm/baremetal.py +++ b/configs/example/arm/baremetal.py @@ -89,6 +89,8 @@ print("Error: Bootscript %s does not exist" % args.readfile) sys.exit(1) +object_file = args.kernel if args.kernel else "" + cpu_class = cpu_types[args.cpu][0] mem_mode = cpu_class.memory_mode() # Only simulate caches when using a timing CPU (e.g., the HPI model) @@ -111,7 +113,7 @@ stdout=args.semi_stdout, stderr=args.semi_stderr, files_root_dir=args.semi_path, -cmd_line = " ".join([ args.kernel ] + args.args) +cmd_line = " ".join([ object_file ] + args.args) ) # Add the PCI devices we need for this system. The base system @@ -162,7 +164,7 @@ workload_class = workloads.workload_list.get(args.workload) system.workload = workload_class( -args.kernel, system) +object_file, system) return system -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28148 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: I98f1bc865d2f4e2230b1a85453efe83d95ec8a55 Gerrit-Change-Number: 28148 Gerrit-PatchSet: 1 Gerrit-Owner: Giacomo Travaglini Gerrit-Reviewer: Nikos Nikoleris Gerrit-MessageType: newchange ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
[gem5-dev] Change in gem5/gem5[develop]: sim, arch-arm: Restore capability of running without a kernel
Hello Nikos Nikoleris, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/28147 to review the following change. Change subject: sim, arch-arm: Restore capability of running without a kernel .. sim, arch-arm: Restore capability of running without a kernel The following patch: https://gem5-review.googlesource.com/c/public/gem5/+/24283 Removed the capability of starting a gem5 simulation without a kernel object. This patch is restoring it Change-Id: I6d751bac386cbb250b3593bb12463140dc964ab3 Signed-off-by: Giacomo Travaglini Reviewed-by: Nikos Nikoleris --- M src/arch/arm/fs_workload.cc M src/sim/kernel_workload.cc 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/src/arch/arm/fs_workload.cc b/src/arch/arm/fs_workload.cc index 550d8de..09c7bb2 100644 --- a/src/arch/arm/fs_workload.cc +++ b/src/arch/arm/fs_workload.cc @@ -69,9 +69,13 @@ } } -FsWorkload::FsWorkload(Params *p) : KernelWorkload(*p), -kernelEntry((kernelObj->entryPoint() & loadAddrMask()) + loadAddrOffset()) +FsWorkload::FsWorkload(Params *p) : KernelWorkload(*p) { +if (kernelObj) { +kernelEntry = (kernelObj->entryPoint() & loadAddrMask()) + +loadAddrOffset(); +} + bootLoaders.reserve(p->boot_loader.size()); for (const auto : p->boot_loader) { std::unique_ptr bl_obj; diff --git a/src/sim/kernel_workload.cc b/src/sim/kernel_workload.cc index f107d69..415ff96 100644 --- a/src/sim/kernel_workload.cc +++ b/src/sim/kernel_workload.cc @@ -38,39 +38,44 @@ if (!Loader::debugSymbolTable) Loader::debugSymbolTable = new Loader::SymbolTable; -kernelObj = Loader::createObjectFile(params().object_file); -inform("kernel located at: %s", params().object_file); +if (params().object_file == "") { +inform("No kernel set for full system simulation. " + "Assuming you know what you're doing."); +} else { +kernelObj = Loader::createObjectFile(params().object_file); +inform("kernel located at: %s", params().object_file); -fatal_if(!kernelObj, -"Could not load kernel file %s", params().object_file); +fatal_if(!kernelObj, +"Could not load kernel file %s", params().object_file); -image = kernelObj->buildImage(); +image = kernelObj->buildImage(); -_start = image.minAddr(); -_end = image.maxAddr(); +_start = image.minAddr(); +_end = image.maxAddr(); -// If load_addr_mask is set to 0x0, then calculate the smallest mask to -// cover all kernel addresses so gem5 can relocate the kernel to a new -// offset. -if (_loadAddrMask == 0) -_loadAddrMask = mask(findMsbSet(_end - _start) + 1); +// If load_addr_mask is set to 0x0, then calculate the smallest mask to +// cover all kernel addresses so gem5 can relocate the kernel to a new +// offset. +if (_loadAddrMask == 0) +_loadAddrMask = mask(findMsbSet(_end - _start) + 1); -image.move([this](Addr a) { -return (a & _loadAddrMask) + _loadAddrOffset; -}); +image.move([this](Addr a) { +return (a & _loadAddrMask) + _loadAddrOffset; +}); -// load symbols -fatal_if(!kernelObj->loadGlobalSymbols(kernelSymtab), -"Could not load kernel symbols."); +// load symbols +fatal_if(!kernelObj->loadGlobalSymbols(kernelSymtab), +"Could not load kernel symbols."); -fatal_if(!kernelObj->loadLocalSymbols(kernelSymtab), -"Could not load kernel local symbols."); +fatal_if(!kernelObj->loadLocalSymbols(kernelSymtab), +"Could not load kernel local symbols."); -fatal_if(!kernelObj->loadGlobalSymbols(Loader::debugSymbolTable), -"Could not load kernel symbols."); +fatal_if(!kernelObj->loadGlobalSymbols(Loader::debugSymbolTable), +"Could not load kernel symbols."); -fatal_if(!kernelObj->loadLocalSymbols(Loader::debugSymbolTable), -"Could not load kernel local symbols."); +fatal_if(!kernelObj->loadLocalSymbols(Loader::debugSymbolTable), +"Could not load kernel local symbols."); +} // Loading only needs to happen once and after memory system is // connected so it will happen in initState() -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28147 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: I6d751bac386cbb250b3593bb12463140dc964ab3 Gerrit-Change-Number: 28147 Gerrit-PatchSet: 1 Gerrit-Owner: Giacomo Travaglini Gerrit-Reviewer: Nikos Nikoleris Gerrit-MessageType: newchange ___ gem5-dev mailing list --
[gem5-dev] Ruby-garnet Routers/Links Statistics are not reset correctly?
Hi all, I have noticed the following behaviour: Garnet router resetStats() is not called when using m5_reset_stats(0, 0); call. Therefore statistics like: *system.ruby.network.routersXX.crossbar_activity, system.ruby.network.routersXX.buffer_reads/writes * are not getting reset! The same issue happens for link-related statistics (e.g: link utilization)! The flit related statistics (e.g: system.ruby.network.flits_injected) are getting reset correctly. collateStats() is called for all above stats, and seems to be working OK (upon using m5_dump_stats) . I have already posted this in gem5-JIRA: https://gem5.atlassian.net/browse/GEM5-434 Best Regards, Polydoros Petrakis ___ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s