[gem5-dev] Change in gem5/gem5[master]: memtest: Fix rescheduling of progress check events

2019-05-15 Thread Tiago Mück (Gerrit)
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

2019-05-15 Thread Tiago Mück (Gerrit)
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

2019-05-15 Thread Tiago Mück (Gerrit)
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

2019-05-15 Thread Tiago Mück (Gerrit)
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

2019-05-15 Thread Tiago Mück (Gerrit)
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

2019-05-15 Thread Tiago Mück (Gerrit)
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

2019-05-15 Thread Cron Daemon
* 
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.

2019-05-15 Thread Gabe Black (Gerrit)

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.

2019-05-15 Thread Gabe Black (Gerrit)

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.

2019-05-15 Thread Gabe Black (Gerrit)
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.

2019-05-15 Thread Gabe Black (Gerrit)
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.

2019-05-15 Thread Gabe Black (Gerrit)

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.

2019-05-15 Thread Gabe Black (Gerrit)

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.

2019-05-15 Thread Gabe Black (Gerrit)
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.

2019-05-15 Thread Gabe Black (Gerrit)

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.

2019-05-15 Thread Gabe Black (Gerrit)

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