[gem5-dev] Change in gem5/gem5[master]: memtest: Fix rescheduling of progress check events
Tiago Mück has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18793 Change subject: memtest: Fix rescheduling of progress check events .. memtest: Fix rescheduling of progress check events noRequestEvent needs to be rescheduled on recvRetry, otherwise the timeout may be triggered even though packets are being eventually sent. noResponseEvent scheduling is also fixed. This timeout should not be active when we are not expecting a response. Change-Id: If9edb75b5b803caf9f99bf41ea3948b15a3f3d71 Signed-off-by: Tiago Muck --- M src/cpu/testers/memtest/memtest.cc 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/cpu/testers/memtest/memtest.cc b/src/cpu/testers/memtest/memtest.cc index 93a6ac6..742cf3b 100644 --- a/src/cpu/testers/memtest/memtest.cc +++ b/src/cpu/testers/memtest/memtest.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 ARM Limited + * Copyright (c) 2015, 2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -120,7 +120,6 @@ // kick things into action schedule(tickEvent, curTick()); schedule(noRequestEvent, clockEdge(progressCheck)); -schedule(noResponseEvent, clockEdge(progressCheck)); } Port & @@ -189,8 +188,12 @@ // the packet will delete the data delete pkt; -// finally shift the response timeout forward -reschedule(noResponseEvent, clockEdge(progressCheck), true); +// finally shift the response timeout forward if we are still +// expecting responses; deschedule it otherwise +if (outstandingAddrs.size() != 0) +reschedule(noResponseEvent, clockEdge(progressCheck)); +else if (noResponseEvent.scheduled()) +deschedule(noResponseEvent); } void @@ -303,6 +306,10 @@ } else { DPRINTF(MemTest, "Waiting for retry\n"); } + +// Schedule noResponseEvent now if we are expecting a response +if (!noResponseEvent.scheduled() && (outstandingAddrs.size() != 0)) +schedule(noResponseEvent, clockEdge(progressCheck)); } void @@ -327,6 +334,7 @@ retryPkt = nullptr; // kick things into action again schedule(tickEvent, clockEdge(interval)); +reschedule(noRequestEvent, clockEdge(progressCheck), true); } } -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18793 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: If9edb75b5b803caf9f99bf41ea3948b15a3f3d71 Gerrit-Change-Number: 18793 Gerrit-PatchSet: 1 Gerrit-Owner: Tiago Mück Gerrit-MessageType: newchange ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: mem: Add invalid context id check on LLSC checks
Tiago Mück has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18792 Change subject: mem: Add invalid context id check on LLSC checks .. mem: Add invalid context id check on LLSC checks If the request's address is in the LLSC list, its context Id was being fetched unconditionally, which could cause the assert at Request::contextId() to fail. Change-Id: Iae9791f81c8fe9a7fcd842cd8ab7db18f34f2808 Signed-off-by: Tiago Muck --- M src/mem/abstract_mem.cc 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mem/abstract_mem.cc b/src/mem/abstract_mem.cc index a998530..ce40dca 100644 --- a/src/mem/abstract_mem.cc +++ b/src/mem/abstract_mem.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2012,2017-2018 ARM Limited + * Copyright (c) 2010-2012,2017-2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -258,6 +258,7 @@ if (isLLSC) { while (i != lockedAddrList.end()) { +assert(req->hasContextId()); if (i->addr == paddr && i->matchesContext(req)) { // it's a store conditional, and as far as the memory system can // tell, the requesting context's lock is still valid. @@ -284,7 +285,10 @@ DPRINTF(LLSC, "Erasing lock record: context %d addr %#x\n", i->contextId, paddr); ContextID owner_cid = i->contextId; -ContextID requester_cid = pkt->req->contextId(); +assert(owner_cid != InvalidContextID); +ContextID requester_cid = pkt->req->hasContextId() + ? pkt->req->contextId() + : InvalidContextID; if (owner_cid != requester_cid) { ThreadContext* ctx = system()->getThreadContext(owner_cid); TheISA::globalClearExclusive(ctx); -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18792 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: Iae9791f81c8fe9a7fcd842cd8ab7db18f34f2808 Gerrit-Change-Number: 18792 Gerrit-PatchSet: 1 Gerrit-Owner: Tiago Mück Gerrit-MessageType: newchange ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: mem: Snoop filter support for large systems
Tiago Mück has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18791 Change subject: mem: Snoop filter support for large systems .. mem: Snoop filter support for large systems Changed SnoopMask to use std::bitset instead of uint64 so we can simulate larger systems without having to workaround limitations on the number of ports. No noticeable performance drop was observed after this change. The size of the bitset is currently set to 256 which should fit most needs. Change-Id: I216882300500e2dcb789889756e73a1033271621 Signed-off-by: Tiago Muck --- M src/mem/snoop_filter.cc M src/mem/snoop_filter.hh 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/src/mem/snoop_filter.cc b/src/mem/snoop_filter.cc index 3e1dae6..8168c3d 100644 --- a/src/mem/snoop_filter.cc +++ b/src/mem/snoop_filter.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2017 ARM Limited + * Copyright (c) 2013-2017,2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -49,11 +49,13 @@ #include "debug/SnoopFilter.hh" #include "sim/system.hh" +const int SnoopFilter::SNOOP_MASK_SIZE; + void SnoopFilter::eraseIfNullEntry(SnoopFilterCache::iterator& sf_it) { SnoopItem& sf_item = sf_it->second; -if (!(sf_item.requested | sf_item.holder)) { +if ((sf_item.requested | sf_item.holder).none()) { cachedLocations.erase(sf_it); DPRINTF(SnoopFilter, "%s: Removed SF entry.\n", __func__); @@ -96,8 +98,7 @@ totRequests++; if (is_hit) { -// Single bit set -> value is a power of two -if (isPow2(interested)) +if (interested.count() == 1) hitSingleRequests++; else hitMultiRequests++; @@ -114,8 +115,9 @@ if (cpkt->needsResponse()) { if (!cpkt->cacheResponding()) { // Max one request per address per port -panic_if(sf_item.requested & req_port, "double request :( " \ - "SF value %x.%x\n", sf_item.requested, sf_item.holder); +panic_if((sf_item.requested & req_port).any(), + "double request :( SF value %x.%x\n", + sf_item.requested, sf_item.holder); // Mark in-flight requests to distinguish later on sf_item.requested |= req_port; @@ -126,7 +128,8 @@ // to the CPU, already -> the response will not be seen by this // filter -> we do not need to keep the in-flight request, but make // sure that we know that that cluster has a copy -panic_if(!(sf_item.holder & req_port), "Need to hold the value!"); +panic_if((sf_item.holder & req_port).none(), + "Need to hold the value!"); DPRINTF(SnoopFilter, "%s: not marking request. SF value %x.%x\n", __func__, sf_item.requested, sf_item.holder); @@ -134,7 +137,7 @@ } else { // if (!cpkt->needsResponse()) assert(cpkt->isEviction()); // make sure that the sender actually had the line -panic_if(!(sf_item.holder & req_port), "requester %x is not a " \ +panic_if((sf_item.holder & req_port).none(), "requester %x is not a " \ "holder :( SF value %x.%x\n", req_port, sf_item.requested, sf_item.holder); // CleanEvicts and Writebacks -> the sender and all caches above @@ -206,8 +209,8 @@ SnoopMask interested = (sf_item.holder | sf_item.requested); totSnoops++; -// Single bit set -> value is a power of two -if (isPow2(interested)) + +if (interested.count() == 1) hitSingleSnoops++; else hitMultiSnoops++; @@ -222,7 +225,7 @@ assert(cpkt->isWriteback() || cpkt->req->isUncacheable() || (cpkt->isInvalidate() == cpkt->needsWritable()) || cpkt->req->isCacheMaintenance()); -if (cpkt->isInvalidate() && !sf_item.requested) { +if (cpkt->isInvalidate() && sf_item.requested.none()) { // Early clear of the holder, if no other request is currently going on // @todo: This should possibly be updated even though we do not filter // upward snoops @@ -266,11 +269,12 @@ __func__, sf_item.requested, sf_item.holder); // The source should have the line -panic_if(!(sf_item.holder & rsp_mask), "SF value %x.%x does not have "\ - "the line\n", sf_item.requested, sf_item.holder); +panic_if((sf_item.holder & rsp_mask).none(), + "SF value %x.%x does not have the line\n", + sf_item.requested, sf_item.holder); // The destination should have had a request in -panic_if(!(sf_item.requested & req_mask), "SF value %x.%x missing "\ +panic_if((sf_item.requested & req_mask).none(), "SF value %x.%x missing "\
[gem5-dev] Change in gem5/gem5[master]: mem-ruby: Increase maximum num. of controllers in Ruby
Tiago Mück has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18790 Change subject: mem-ruby: Increase maximum num. of controllers in Ruby .. mem-ruby: Increase maximum num. of controllers in Ruby Increasing to 256 should be enough for any large-scale system simulatable by gem5 Change-Id: Iad2d33d5b0cc64a1b7d9d187f12cabbcba113446 Signed-off-by: Tiago Muck --- M src/mem/ruby/common/Set.hh 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mem/ruby/common/Set.hh b/src/mem/ruby/common/Set.hh index cb01c96..39dd319 100644 --- a/src/mem/ruby/common/Set.hh +++ b/src/mem/ruby/common/Set.hh @@ -39,8 +39,8 @@ #include "base/logging.hh" #include "mem/ruby/common/TypeDefines.hh" -// Change for systems with more than 64 controllers of a particular type. -const int NUMBER_BITS_PER_SET = 64; +// Change for systems with more than 256 controllers of a particular type. +const int NUMBER_BITS_PER_SET = 256; class Set { -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18790 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: Iad2d33d5b0cc64a1b7d9d187f12cabbcba113446 Gerrit-Change-Number: 18790 Gerrit-PatchSet: 1 Gerrit-Owner: Tiago Mück Gerrit-MessageType: newchange ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: mem: Parameterize coherent xbar sanity checks
Tiago Mück has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18789 Change subject: mem: Parameterize coherent xbar sanity checks .. mem: Parameterize coherent xbar sanity checks Parameters can be used to change coherent xbar limits for the routing table and outstanding snoops. We need the ability to tweak these values as the current defaults may be violated in simulations with large core counts. Change-Id: Idb64b8c105683d02d8beba5bce13b815181ba824 Signed-off-by: Tiago Muck --- M src/mem/XBar.py M src/mem/coherent_xbar.cc M src/mem/coherent_xbar.hh 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/mem/XBar.py b/src/mem/XBar.py index 976a290..dab961f 100644 --- a/src/mem/XBar.py +++ b/src/mem/XBar.py @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2015, 2017 ARM Limited +# Copyright (c) 2012, 2015, 2017, 2019 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall @@ -101,6 +101,12 @@ # An optional snoop filter snoop_filter = Param.SnoopFilter(NULL, "Selected snoop filter") +# Maximum number of outstanding snoop requests for sanity checks +max_outstanding_snoops = Param.Int(512, "Max. outstanding snoops allowed") + +# Maximum routing table size for sanity checks +max_routing_table_size = Param.Int(512, "Max. routing table size") + # Determine how this crossbar handles packets where caches have # already committed to responding, by establishing if the crossbar # is the point of coherency or not. diff --git a/src/mem/coherent_xbar.cc b/src/mem/coherent_xbar.cc index 839d95b..74c93be 100644 --- a/src/mem/coherent_xbar.cc +++ b/src/mem/coherent_xbar.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2018 ARM Limited + * Copyright (c) 2011-2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -59,6 +59,8 @@ CoherentXBar::CoherentXBar(const CoherentXBarParams *p) : BaseXBar(p), system(p->system), snoopFilter(p->snoop_filter), snoopResponseLatency(p->snoop_response_latency), + maxOutstandingSnoopCheck(p->max_outstanding_snoops), + maxRoutingTableSizeCheck(p->max_routing_table_size), pointOfCoherency(p->point_of_coherency), pointOfUnification(p->point_of_unification) { @@ -325,8 +327,9 @@ outstandingSnoop.insert(pkt->req); // basic sanity check on the outstanding snoops -panic_if(outstandingSnoop.size() > 512, - "Outstanding snoop requests exceeded 512\n"); +panic_if(outstandingSnoop.size() > maxOutstandingSnoopCheck, + "%s: Outstanding snoop requests exceeded %d\n", + name(), maxOutstandingSnoopCheck); } // remember where to route the normal response to @@ -334,8 +337,9 @@ assert(routeTo.find(pkt->req) == routeTo.end()); routeTo[pkt->req] = slave_port_id; -panic_if(routeTo.size() > 512, - "Routing table exceeds 512 packets\n"); +panic_if(routeTo.size() > maxRoutingTableSizeCheck, + "%s: Routing table exceeds %d packets\n", + name(), maxRoutingTableSizeCheck); } // update the layer state and schedule an idle event @@ -401,8 +405,9 @@ assert(routeTo.find(pkt->req) == routeTo.end()); routeTo[pkt->req] = slave_port_id; -panic_if(routeTo.size() > 512, - "Routing table exceeds 512 packets\n"); +panic_if(routeTo.size() > maxRoutingTableSizeCheck, + "%s: Routing table exceeds %d packets\n", + name(), maxRoutingTableSizeCheck); } } } diff --git a/src/mem/coherent_xbar.hh b/src/mem/coherent_xbar.hh index ff28cb7..386b479 100644 --- a/src/mem/coherent_xbar.hh +++ b/src/mem/coherent_xbar.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2015, 2017 ARM Limited + * Copyright (c) 2011-2015, 2017, 2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -278,8 +278,19 @@ * broadcast needed for probes. NULL denotes an absent filter. */ SnoopFilter *snoopFilter; +/** Cycles of snoop response latency.*/ const Cycles snoopResponseLatency; + +/** Maximum number of outstading snoops sanity check*/ +const unsigned int maxOutstandingSnoopCheck; + +/** Maximum routing table size sanity check*/ +const unsigned int maxRoutingTableSizeCheck; + +/** Is this crossbar the point of coherency? **/ const bool pointOfCoherency; + +/** Is this crossbar the point of unification? **/ const bool pointOfUnification;
[gem5-dev] Change in gem5/gem5[master]: mem: xbars do not merge single interleaved ranges
Tiago Mück has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18788 Change subject: mem: xbars do not merge single interleaved ranges .. mem: xbars do not merge single interleaved ranges BaseXBar does not attempt to merge interleaved address ranges if it has only one of the ranges. Change-Id: If71c9cf1444ee11916611afb51eab3a4f1d93985 Signed-off-by: Tiago Muck --- M src/mem/xbar.cc 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mem/xbar.cc b/src/mem/xbar.cc index de32c0b..a85f7a1 100644 --- a/src/mem/xbar.cc +++ b/src/mem/xbar.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2015, 2018 ARM Limited + * Copyright (c) 2011-2015, 2018, 2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -438,7 +438,7 @@ // if we already got interleaved ranges that are not // part of the same range, then first do a merge // before we add the new one -if (!intlv_ranges.empty() && +if ((intlv_ranges.size() > 1) && !intlv_ranges.back().mergesWith(r.first)) { DPRINTF(AddrRanges, "-- Merging range from %d ranges\n", intlv_ranges.size()); @@ -466,7 +466,7 @@ // if there is still interleaved ranges waiting to be merged, // go ahead and do it -if (!intlv_ranges.empty()) { +if (intlv_ranges.size() > 1) { DPRINTF(AddrRanges, "-- Merging range from %d ranges\n", intlv_ranges.size()); AddrRange merged_range(intlv_ranges); @@ -475,7 +475,8 @@ DPRINTF(AddrRanges, "-- Adding merged range %s\n", merged_range.to_string()); } -} +} else if (intlv_ranges.size() == 1) +xbarRanges.push_back(intlv_ranges.front()); // also check that no range partially intersects with the // default range, this has to be done after all ranges are set -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18788 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: If71c9cf1444ee11916611afb51eab3a4f1d93985 Gerrit-Change-Number: 18788 Gerrit-PatchSet: 1 Gerrit-Owner: Tiago Mück Gerrit-MessageType: newchange ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Cron /z/m5/regression/do-regression quick
* build/ARM/tests/opt/quick/fs/10.linux-boot/arm/linux/realview-simple-atomic-dual: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64a/o3-timing: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/simple-atomic: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/simple-timing: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/simple-timing-ruby: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/minor-timing: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/o3-timing: FAILED! * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/o3-timing: FAILED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing: CHANGED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-atomic: CHANGED! * build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-simple: CHANGED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing: CHANGED! * build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-two-level: CHANGED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/minor-timing: CHANGED! * build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing-mt: CHANGED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby: CHANGED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic: CHANGED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual: CHANGED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing: CHANGED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing-dual: CHANGED! * build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-simple: CHANGED! * build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-two-level: CHANGED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby: CHANGED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing: CHANGED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic: CHANGED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing: CHANGED! * build/NULL/tests/opt/quick/se/80.dram-openpage/null/none/dram-lowp: CHANGED! * build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-simple-mem: CHANGED! * build/NULL/tests/opt/quick/se/80.dram-closepage/null/none/dram-lowp: CHANGED! * build/NULL/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby: CHANGED! * build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-dram-ctrl: CHANGED! * build/NULL_MOESI_hammer/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_hammer: CHANGED! * build/NULL_MESI_Two_Level/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MESI_Two_Level: CHANGED! * build/NULL_MOESI_CMP_directory/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_directory: CHANGED! * build/NULL_MOESI_CMP_token/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_token: CHANGED! * build/ALPHA/tests/opt/quick/fs/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic: CHANGED! * build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic: CHANGED! * build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing: CHANGED! * build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-timing-mp: CHANGED! * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing: CHANGED! * build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-two-level: CHANGED! * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby: CHANGED! * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic: CHANGED! * build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp: CHANGED! * build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-simple: CHANGED! * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-atomic: CHANGED! * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/o3-timing: CHANGED! * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-timing: CHANGED! * build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/o3-timing-mp: CHANGED! * build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-atomic: CHANGED! * build/SPARC/tests/opt/quick/se/70.twolf/sparc/linux/simple-atomic: CHANGED! * build/X86/tests/opt/quick/se/00.hello/x86/linux/o3-timing: CHANGED! * build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing-ruby: CHANGED! * build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-timing: CHANGED! *
[gem5-dev] Change in gem5/gem5[master]: base: Add a type for keeping track of object file loaders.
Hello Andreas Sandberg, Brandon Potter, Daniel Carvalho, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18583 to look at the new patch set (#2). Change subject: base: Add a type for keeping track of object file loaders. .. base: Add a type for keeping track of object file loaders. This avoids having a big pile of #if-s in sim/process.cc and allows dynamically adding new types of object file loaders which might recognize new arch/OS combinations. Change-Id: Ie3b9c1aa2974d30a61afc4fcc529ffd6a74d43e0 --- M src/base/loader/object_file.cc M src/base/loader/object_file.hh 2 files changed, 49 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18583 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: Ie3b9c1aa2974d30a61afc4fcc529ffd6a74d43e0 Gerrit-Change-Number: 18583 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Daniel Carvalho Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: alpha: Add an object file loader for linux.
Hello Andreas Sandberg, Brandon Potter, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18584 to look at the new patch set (#2). Change subject: alpha: Add an object file loader for linux. .. alpha: Add an object file loader for linux. Change-Id: I91c4019567bdf74b2517fda597121a6ad107cb86 --- M src/arch/alpha/linux/process.cc 1 file changed, 31 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18584 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I91c4019567bdf74b2517fda597121a6ad107cb86 Gerrit-Change-Number: 18584 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: power: Add an object file loader for linux.
Hello Andreas Sandberg, Brandon Potter, kokoro, Sandipan Das, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18587 to look at the new patch set (#2). Change subject: power: Add an object file loader for linux. .. power: Add an object file loader for linux. Change-Id: I64ce81e98a6dc96754554d0fdcd7d16b8a2752d4 --- M src/arch/power/linux/process.cc 1 file changed, 31 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18587 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I64ce81e98a6dc96754554d0fdcd7d16b8a2752d4 Gerrit-Change-Number: 18587 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-Reviewer: Sandipan Das Gerrit-Reviewer: kokoro Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: sim: Make the Process create function use the object loader mechanism.
Hello Andreas Sandberg, Brandon Potter, kokoro, Anthony Gutierrez, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18631 to look at the new patch set (#2). Change subject: sim: Make the Process create function use the object loader mechanism. .. sim: Make the Process create function use the object loader mechanism. This gets rid of the big mass of #if-s around headers and around the code which creates an object file. As a nice side bonus, this also means that in addition to supporting multiple OS/arch combinations simultaneously, the object file loader could support multiple ISAs simultaneously as well, since each could load and set up its object file loaders indepedently and without the base process classes knowledge/involvement. Change-Id: I0a19ad06e30e9062a96d27f00b66756eb3a595ba --- M src/sim/process.cc 1 file changed, 3 insertions(+), 172 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18631 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I0a19ad06e30e9062a96d27f00b66756eb3a595ba Gerrit-Change-Number: 18631 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Anthony Gutierrez Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-Reviewer: kokoro Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: mips: Add an object file loader for linux.
Hello Andreas Sandberg, Brandon Potter, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18586 to look at the new patch set (#2). Change subject: mips: Add an object file loader for linux. .. mips: Add an object file loader for linux. Change-Id: Icae6430a210076117cf2ceadce52d6efbe58a5f3 --- M src/arch/mips/linux/process.cc 1 file changed, 31 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18586 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: Icae6430a210076117cf2ceadce52d6efbe58a5f3 Gerrit-Change-Number: 18586 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: x86: Add an object file loader for linux.
Hello Andreas Sandberg, Brandon Potter, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18630 to look at the new patch set (#2). Change subject: x86: Add an object file loader for linux. .. x86: Add an object file loader for linux. Change-Id: I283dd1f52fd020ad3c226eb00fc9216ee034c67f --- M src/arch/x86/linux/process.cc 1 file changed, 35 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18630 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I283dd1f52fd020ad3c226eb00fc9216ee034c67f Gerrit-Change-Number: 18630 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: riscv: Add an object file loader for linux.
Hello Andreas Sandberg, Brandon Potter, kokoro, Alec Roelke, Alec Roelke, Tuan Ta, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18628 to look at the new patch set (#2). Change subject: riscv: Add an object file loader for linux. .. riscv: Add an object file loader for linux. Change-Id: I3accca91cc4e02fa8e3a1169590cbe6696cf05e2 --- M src/arch/riscv/linux/process.cc 1 file changed, 35 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18628 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I3accca91cc4e02fa8e3a1169590cbe6696cf05e2 Gerrit-Change-Number: 18628 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Alec Roelke Gerrit-Reviewer: Alec Roelke Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-Reviewer: Tuan Ta Gerrit-Reviewer: kokoro Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: sparc: Add an object file loader for linux and solaris.
Hello Andreas Sandberg, Brandon Potter, Jason Lowe-Power, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18629 to look at the new patch set (#2). Change subject: sparc: Add an object file loader for linux and solaris. .. sparc: Add an object file loader for linux and solaris. Change-Id: I76bcbc06714f7d538f03a8311994a868de3640f1 --- M src/arch/sparc/linux/process.cc M src/arch/sparc/solaris/process.cc 2 files changed, 62 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18629 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I76bcbc06714f7d538f03a8311994a868de3640f1 Gerrit-Change-Number: 18629 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Jason Lowe-Power Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: arm: Add an object file loader for linux and freebsd.
Hello Andreas Sandberg, Brandon Potter, kokoro, Giacomo Gabrielli, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/18585 to look at the new patch set (#2). Change subject: arm: Add an object file loader for linux and freebsd. .. arm: Add an object file loader for linux and freebsd. Change-Id: Ie5fd187a4897aa608ffc12278b23d3ee8c0f323c --- M src/arch/arm/freebsd/process.cc M src/arch/arm/linux/process.cc 2 files changed, 74 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18585 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: Ie5fd187a4897aa608ffc12278b23d3ee8c0f323c Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: Gabe Black Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Brandon Potter Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Giacomo Gabrielli Gerrit-Reviewer: kokoro Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev