Re: [gem5-dev] systemc reviews

2018-06-11 Thread Gabe Black
Ok great, glad to hear it.

Gabe

On Mon, Jun 11, 2018 at 3:34 PM Matthias Jung  wrote:

> Hi Christian,
>
> I think you summarised the 3 approaches very well. I mean, we have
> approach 1 already. It makes sense if Gabe drives approach 2 because
> it has many advantages compared to approach 1. I think we could see
> approach 3 as a longterm goal and we should go for approach 2 for now.
>
> Thanks for all the opinions so far,
> Best,
> Matthias
>
> > Am 11.06.2018 um 18:02 schrieb Christian Menard <
> christian.men...@tu-dresden.de>:
> >
> > Hi,
> >
> > I am following the discussion for a while now and finally found the time
> > to look at Gabe's proposal.
> >
> > As I see it, there are three approaches for combining gem5 and SystemC
> > as outlined below. (Sorry for repeating stuff that was mentioned before,
> > I just find it helpful to summarize some points)
> >
> > 1. Bridging gem5 ans Systemc.
> > This is the approach I and Matthias implemented and presented last
> > year. It provides bridges between the gem5 and SystemC communication
> > interfaces, as well as a wrapper SystemC module that hosts a complete
> > gem5 simulation on top of the SystemC kernel. While this approach
> > certainly has limitations, it allows to combine gem5 and SystemC models.
> >
> > 2. Implementing the SystemC standard using gem5
> > This is the approach proposed by Gabe which, as I understand it,
> > provides a wrapper around gem5 implementing the SystemC standard. With
> > this approach, gem5 becomes a fully fledged SystemC kernel which
> > arbitrary standard compliant SystemC models can run on. Compared to
> > approach 1, this allows for more interaction between both domains, as
> > everything can be compiled in a single pass and there is not just one
> > single point of interaction. However, this approach prevents certain use
> > cases, e.g. where SystemC models are closed source or where a specific
> > SystemC implementation is required.
> >
> > 3. Replacing the gem5 simulation kernel by SystemC.
> > This is the most radical approach but also gives most flexibility. It
> > replaces the entire gem5 simulation kernel by SystemC. In this approach,
> > gem5 could be seen as a system modeling framework and as an abstraction
> > layer on top of SystemC. This would give maximum flexibility as
> > arbitrary SystemC and gem5 models can be combined and even the SystemC
> > kernel can be exchanged arbitrarily. However, it is not clear (at least
> > to me) how exactly gem5 and SystemC modules could be connected and
> > interact with each other. I think for this approach to work, aspects of
> > approach 1 or/and 2 are still required.
> >
> > So as I see it: 3 covers more use cases than 2 but both are in a way
> > superior to the existing approach (1). However, in order to implement 3
> > a lot of changes to the code base are required. Implementing these
> > changes will take some time, so there will probably be two versions of
> > gem5: a legacy one and the SystemC one. This again produces more work in
> > maintaining the code base. Now I wonder: who is willing to do all this
> > work?
> >
> > While I favour approach 3 for its benefits and the points Matthias made,
> > I still like Gabe's idea very much. It minimizes the changes required to
> > the existing code base while providing many benefits to a broader
> > community. As Gabe mentioned before, his approach neither breaks with
> > the existing bridges implemented by me and Matthias, nor does it prevent
> > implementation of approach 3 in the future. To sum it up: there are no
> > objections from my side.
> >
> > Unfortunately, I am not very active in hardware modeling anymore, but I
> > am very interested in this development and I hope to find the time to
> > have a look on the patches soon.
> >
> > Best,
> >
> > Christian
> >
> > Matthias Jung  writes:
> >
> >> Hi Gabe,
> >>
> >> I totally agree with you. SytemC is a standard and the code maintained
> >> by accellera is just an „example“ of how SystemC could be implemented.
> >>
> >> However, that is part of my argument. If I want to use e.g. another
> >> fancy SystemC kernel (e.g. https://dl.acm.org/citation.cfm?id=2987374)
> >> or a commercial one like the one in the Synopsys toolchains, I cannot
> >> use gem5 (beside the coupling that is already there, which has also
> >> several drawbacks). So I like more the separation of simulation models
> >> and the kernel.
> >>
> >> But I also understand it from your side. In Google you don’t have this
> >> specific need and you want to find quickly a solution with less effort.
> >> Anyway we should discuss if a full switch to SystemC as a kernel might
> >> be a reasonable long term goal. I think many people would benefit from
> >> that.
> >>
> >> I’m also keen to know Christian’s, Andreas’ and Jason’s opinions.
> >>
> >> It’s a pitty that gem5 and SystemC started back at the same time
> >> and evolved separately...
> >>
> >> Best,
> >> Matthias
> >>
> >>> Am 09.06.2018 um 02:34 

Re: [gem5-dev] systemc reviews

2018-06-11 Thread Matthias Jung
Hi Christian,

I think you summarised the 3 approaches very well. I mean, we have
approach 1 already. It makes sense if Gabe drives approach 2 because
it has many advantages compared to approach 1. I think we could see
approach 3 as a longterm goal and we should go for approach 2 for now.

Thanks for all the opinions so far,
Best,
Matthias

> Am 11.06.2018 um 18:02 schrieb Christian Menard 
> :
> 
> Hi,
> 
> I am following the discussion for a while now and finally found the time
> to look at Gabe's proposal.
> 
> As I see it, there are three approaches for combining gem5 and SystemC
> as outlined below. (Sorry for repeating stuff that was mentioned before,
> I just find it helpful to summarize some points)
> 
> 1. Bridging gem5 ans Systemc.
> This is the approach I and Matthias implemented and presented last
> year. It provides bridges between the gem5 and SystemC communication
> interfaces, as well as a wrapper SystemC module that hosts a complete
> gem5 simulation on top of the SystemC kernel. While this approach
> certainly has limitations, it allows to combine gem5 and SystemC models.
> 
> 2. Implementing the SystemC standard using gem5
> This is the approach proposed by Gabe which, as I understand it,
> provides a wrapper around gem5 implementing the SystemC standard. With
> this approach, gem5 becomes a fully fledged SystemC kernel which
> arbitrary standard compliant SystemC models can run on. Compared to
> approach 1, this allows for more interaction between both domains, as
> everything can be compiled in a single pass and there is not just one
> single point of interaction. However, this approach prevents certain use
> cases, e.g. where SystemC models are closed source or where a specific
> SystemC implementation is required.
> 
> 3. Replacing the gem5 simulation kernel by SystemC.
> This is the most radical approach but also gives most flexibility. It
> replaces the entire gem5 simulation kernel by SystemC. In this approach,
> gem5 could be seen as a system modeling framework and as an abstraction
> layer on top of SystemC. This would give maximum flexibility as
> arbitrary SystemC and gem5 models can be combined and even the SystemC
> kernel can be exchanged arbitrarily. However, it is not clear (at least
> to me) how exactly gem5 and SystemC modules could be connected and
> interact with each other. I think for this approach to work, aspects of
> approach 1 or/and 2 are still required.
> 
> So as I see it: 3 covers more use cases than 2 but both are in a way
> superior to the existing approach (1). However, in order to implement 3
> a lot of changes to the code base are required. Implementing these
> changes will take some time, so there will probably be two versions of
> gem5: a legacy one and the SystemC one. This again produces more work in
> maintaining the code base. Now I wonder: who is willing to do all this
> work?
> 
> While I favour approach 3 for its benefits and the points Matthias made,
> I still like Gabe's idea very much. It minimizes the changes required to
> the existing code base while providing many benefits to a broader
> community. As Gabe mentioned before, his approach neither breaks with
> the existing bridges implemented by me and Matthias, nor does it prevent
> implementation of approach 3 in the future. To sum it up: there are no
> objections from my side.
> 
> Unfortunately, I am not very active in hardware modeling anymore, but I
> am very interested in this development and I hope to find the time to
> have a look on the patches soon.
> 
> Best,
> 
> Christian
> 
> Matthias Jung  writes:
> 
>> Hi Gabe,
>> 
>> I totally agree with you. SytemC is a standard and the code maintained
>> by accellera is just an „example“ of how SystemC could be implemented.
>> 
>> However, that is part of my argument. If I want to use e.g. another
>> fancy SystemC kernel (e.g. https://dl.acm.org/citation.cfm?id=2987374)
>> or a commercial one like the one in the Synopsys toolchains, I cannot
>> use gem5 (beside the coupling that is already there, which has also
>> several drawbacks). So I like more the separation of simulation models
>> and the kernel. 
>> 
>> But I also understand it from your side. In Google you don’t have this
>> specific need and you want to find quickly a solution with less effort.
>> Anyway we should discuss if a full switch to SystemC as a kernel might
>> be a reasonable long term goal. I think many people would benefit from
>> that.
>> 
>> I’m also keen to know Christian’s, Andreas’ and Jason’s opinions.
>> 
>> It’s a pitty that gem5 and SystemC started back at the same time
>> and evolved separately...
>> 
>> Best,
>> Matthias
>> 
>>> Am 09.06.2018 um 02:34 schrieb Gabe Black :
>>> 
>>> Also, I should point out that the systemc standard defines a set of
>>> mechanisms and an interface, not an implementation. The Accellera version
>>> of systemc is *not* the standard, it's just an implementation (a very
>>> common and important one) of that standard. It's 

[gem5-dev] Change in gem5/gem5[master]: arch-riscv: Add support for fault handling

2018-06-11 Thread Alec Roelke (Gerrit)
Alec Roelke has uploaded a new patch set (#5) to the change originally  
created by Alec Roelke. ( https://gem5-review.googlesource.com/9161 )


Change subject: arch-riscv: Add support for fault handling
..

arch-riscv: Add support for fault handling

This patch adds support for handling RISC-V faults, including tracking
current and previous execution privilege, correctly switching to
the privilege mode specified by CSRs, and setting/storing the PC.  It
also includes changes introduced by patch #9821, which disables
interrupts during handling of a fault.

Change-Id: Ie9c0f29719620c20783540d3bdb2db44f6114fc9
---
M src/arch/riscv/faults.cc
M src/arch/riscv/faults.hh
2 files changed, 147 insertions(+), 74 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/9161
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: Ie9c0f29719620c20783540d3bdb2db44f6114fc9
Gerrit-Change-Number: 9161
Gerrit-PatchSet: 5
Gerrit-Owner: Alec Roelke 
Gerrit-Reviewer: Alec Roelke 
Gerrit-Reviewer: Alec Roelke 
Gerrit-Reviewer: Robert Scheffel 
Gerrit-Reviewer: Tuan Ta 
Gerrit-CC: Christian Menard 
Gerrit-CC: Gabe Black 
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]: cpu-minor: Remove redundant thread startup call

2018-06-11 Thread Andreas Sandberg (Gerrit)

Hello Giacomo Travaglini,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/11037

to review the following change.


Change subject: cpu-minor: Remove redundant thread startup call
..

cpu-minor: Remove redundant thread startup call

Don't call startup() twice on each of the threads.

Change-Id: Ibe3d1f25c4fdff291ee310abb9bcad3b184bab20
Signed-off-by: Andreas Sandberg 
Reviewed-by: Giacomo Travaglini 
---
M src/cpu/minor/cpu.cc
1 file changed, 0 insertions(+), 3 deletions(-)



diff --git a/src/cpu/minor/cpu.cc b/src/cpu/minor/cpu.cc
index 68c0767..63efde2 100644
--- a/src/cpu/minor/cpu.cc
+++ b/src/cpu/minor/cpu.cc
@@ -183,9 +183,6 @@

 BaseCPU::startup();

-for (auto i = threads.begin(); i != threads.end(); i ++)
-(*i)->startup();
-
 for (ThreadID tid = 0; tid < numThreads; tid++) {
 threads[tid]->startup();
 pipeline->wakeupFetch(tid);

--
To view, visit https://gem5-review.googlesource.com/11037
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: Ibe3d1f25c4fdff291ee310abb9bcad3b184bab20
Gerrit-Change-Number: 11037
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas Sandberg 
Gerrit-Reviewer: Giacomo Travaglini 
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]: dev-arm: Add a Mali compliant display processor model

2018-06-11 Thread Andreas Sandberg (Gerrit)
Andreas Sandberg has uploaded a new patch set (#2). (  
https://gem5-review.googlesource.com/10808 )


Change subject: dev-arm: Add a Mali compliant display processor model
..

dev-arm: Add a Mali compliant display processor model

This change adds a ARM Mali Display Processor model that is compatible
with the DP650 register interface.

Change-Id: I2fe596dc517028ed45bd572332174e5d99bd9956
Reviewed-by: Andreas Sandberg 
Signed-off-by: Andreas Sandberg 
---
M src/dev/arm/RealView.py
M src/dev/arm/SConscript
A src/dev/arm/dpu.cc
A src/dev/arm/dpu.hh
A src/dev/arm/dpu_regs.hh
A src/dev/arm/dpu_utils.hh
6 files changed, 4,318 insertions(+), 3 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/10808
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: I2fe596dc517028ed45bd572332174e5d99bd9956
Gerrit-Change-Number: 10808
Gerrit-PatchSet: 2
Gerrit-Owner: Andreas Sandberg 
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]: system-arm: Add a device tree for the VExpress_GEM5_V1_DPU

2018-06-11 Thread Andreas Sandberg (Gerrit)

Hello Ciro Santilli,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/11036

to review the following change.


Change subject: system-arm: Add a device tree for the VExpress_GEM5_V1_DPU
..

system-arm: Add a device tree for the VExpress_GEM5_V1_DPU

The new platform needs a new device tree. Like the HDLCD-based
platform, the DPU is disabled by default since it requires display
timings to be specified separately.

Change-Id: I4cb357ab6e08d129b3e0d998ffc7e5d1415e94e4
Signed-off-by: Andreas Sandberg 
Reviewed-by: Ciro Santilli 
---
M system/arm/dt/Makefile
A system/arm/dt/platforms/vexpress_gem5_v1_dpu.dtsi
2 files changed, 63 insertions(+), 1 deletion(-)



diff --git a/system/arm/dt/Makefile b/system/arm/dt/Makefile
index a162b9f..7371e49 100644
--- a/system/arm/dt/Makefile
+++ b/system/arm/dt/Makefile
@@ -39,7 +39,12 @@
armv8_gem5_v1_4cpu.dtb armv8_gem5_v1_8cpu.dtb \
armv8_gem5_v1_16cpu.dtb \
armv8_gem5_v1_big_little_2_2.dtb \
-   armv8_gem5_v1_big_little_2_4.dtb
+   armv8_gem5_v1_big_little_2_4.dtb \
+   \
+   armv7_gem5_v1_dpu_1cpu.dtb armv7_gem5_v1_dpu_2cpu.dtb \
+   armv7_gem5_v1_dpu_4cpu.dtb armv7_gem5_v1_dpu_8cpu.dtb \
+   armv8_gem5_v1_dpu_1cpu.dtb armv8_gem5_v1_dpu_2cpu.dtb \
+   armv8_gem5_v1_dpu_4cpu.dtb armv8_gem5_v1_dpu_8cpu.dtb

 GEN_DTS=mkdir -p .gen; \
$(CPP) -x assembler-with-cpp \
@@ -51,6 +56,13 @@
 all: $(TARGETS)

 platforms/vexpress_gem5_v1.dtsi: platforms/vexpress_gem5_v1_base.dtsi
+platforms/vexpress_gem5_v1_dpu.dtsi: platforms/vexpress_gem5_v1_base.dtsi
+
+.gen/armv7_gem5_v1_dpu_%cpu.dts: armv7.dts  
platforms/vexpress_gem5_v1_dpu.dtsi

+   $(call GEN_DTS,vexpress_gem5_v1_dpu.dtsi,$*)
+
+.gen/armv8_gem5_v1_dpu_%cpu.dts: armv8.dts  
platforms/vexpress_gem5_v1_dpu.dtsi

+   $(call GEN_DTS,vexpress_gem5_v1_dpu.dtsi,$*)

 .gen/armv7_gem5_v1_%cpu.dts: armv7.dts platforms/vexpress_gem5_v1.dtsi
$(call GEN_DTS,vexpress_gem5_v1.dtsi,$*)
diff --git a/system/arm/dt/platforms/vexpress_gem5_v1_dpu.dtsi  
b/system/arm/dt/platforms/vexpress_gem5_v1_dpu.dtsi

new file mode 100644
index 000..6f48ca8
--- /dev/null
+++ b/system/arm/dt/platforms/vexpress_gem5_v1_dpu.dtsi
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2015-2016, 2018 ARM Limited
+ * All rights reserved
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met: redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer;
+ * redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution;
+ * neither the name of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Authors: Andreas Sandberg
+ */
+
+#include "vexpress_gem5_v1_base.dtsi"
+
+/ {
+   /* The display processor needs custom configuration to setup its
+ * output ports. Disable it by default in the platform until the
+ * DT bindings have stabilize.
+*/
+   dp0: malidp@2b00 {
+   compatible = "arm,mali-dp650";
+
+   reg = <0 0x2b00 0 0x2>;
+   interrupts = <0 63 4>, <0 64 4>;
+   interrupt-names = "DE", "SE";
+   clocks = <_pxl>, <_pxl>, <_sys>, <_sys>;
+   clock-names = "pxlclk", "mclk", "aclk", "pclk";
+   arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
+
+   status = "disabled";
+   };
+};

--
To view, visit https://gem5-review.googlesource.com/11036
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: I4cb357ab6e08d129b3e0d998ffc7e5d1415e94e4
Gerrit-Change-Number: 11036
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas 

[gem5-dev] Change in gem5/gem5[master]: system-arm: Split the VExpress_GEM5_V1 base dts

2018-06-11 Thread Andreas Sandberg (Gerrit)

Hello Ciro Santilli,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/11035

to review the following change.


Change subject: system-arm: Split the VExpress_GEM5_V1 base dts
..

system-arm: Split the VExpress_GEM5_V1 base dts

With the introduction of the new DPU model, we need different
variations of the VExpress_GEM5_V1 platform. This splits the platform
dtsi file into a separate file for the base platform and the
HDLCD-based platform. This matches the hierarchy in RealView.py.

Change-Id: Id02380122655b5d3aa3548a703fdef178bba17d9
Signed-off-by: Andreas Sandberg 
Reviewed-by: Ciro Santilli 
---
M system/arm/dt/Makefile
M system/arm/dt/armv7.dts
M system/arm/dt/armv8.dts
M system/arm/dt/armv8_big_little.dts
M system/arm/dt/platforms/vexpress_gem5_v1.dtsi
A system/arm/dt/platforms/vexpress_gem5_v1_base.dtsi
6 files changed, 208 insertions(+), 173 deletions(-)



diff --git a/system/arm/dt/Makefile b/system/arm/dt/Makefile
index 62cf65f..a162b9f 100644
--- a/system/arm/dt/Makefile
+++ b/system/arm/dt/Makefile
@@ -50,6 +50,8 @@

 all: $(TARGETS)

+platforms/vexpress_gem5_v1.dtsi: platforms/vexpress_gem5_v1_base.dtsi
+
 .gen/armv7_gem5_v1_%cpu.dts: armv7.dts platforms/vexpress_gem5_v1.dtsi
$(call GEN_DTS,vexpress_gem5_v1.dtsi,$*)

diff --git a/system/arm/dt/armv7.dts b/system/arm/dt/armv7.dts
index aea4844..c9c2523 100644
--- a/system/arm/dt/armv7.dts
+++ b/system/arm/dt/armv7.dts
@@ -108,8 +108,8 @@
virt-encoder {
compatible = "drm,virtual-encoder";
port {
-   hdlcd0_virt_input: endpoint@0 {
-   remote-endpoint = <_output>;
+   dp0_virt_input: endpoint@0 {
+   remote-endpoint = <_output>;
};
};

@@ -132,12 +132,12 @@
};
 };

- {
+ {
status = "ok";

port {
-   hdlcd0_output: endpoint@0 {
-   remote-endpoint = <_virt_input>;
+   dp0_output: endpoint@0 {
+   remote-endpoint = <_virt_input>;
};
};
 };
diff --git a/system/arm/dt/armv8.dts b/system/arm/dt/armv8.dts
index 9e07dec..20d58a8 100644
--- a/system/arm/dt/armv8.dts
+++ b/system/arm/dt/armv8.dts
@@ -112,8 +112,8 @@
virt-encoder {
compatible = "drm,virtual-encoder";
port {
-   hdlcd0_virt_input: endpoint@0 {
-   remote-endpoint = <_output>;
+   dp0_virt_input: endpoint@0 {
+   remote-endpoint = <_output>;
};
};

@@ -136,12 +136,12 @@
};
 };

- {
+ {
status = "ok";

port {
-   hdlcd0_output: endpoint@0 {
-   remote-endpoint = <_virt_input>;
+   dp0_output: endpoint@0 {
+   remote-endpoint = <_virt_input>;
};
};
 };
diff --git a/system/arm/dt/armv8_big_little.dts  
b/system/arm/dt/armv8_big_little.dts

index 70049bb..83d2db7 100644
--- a/system/arm/dt/armv8_big_little.dts
+++ b/system/arm/dt/armv8_big_little.dts
@@ -110,8 +110,8 @@
virt-encoder {
compatible = "drm,virtual-encoder";
port {
-   hdlcd0_virt_input: endpoint@0 {
-   remote-endpoint = <_output>;
+   dp0_virt_input: endpoint@0 {
+   remote-endpoint = <_output>;
};
};

@@ -134,12 +134,12 @@
};
 };

- {
+ {
status = "ok";

port {
-   hdlcd0_output: endpoint@0 {
-   remote-endpoint = <_virt_input>;
+   dp0_output: endpoint@0 {
+   remote-endpoint = <_virt_input>;
};
};
 };
diff --git a/system/arm/dt/platforms/vexpress_gem5_v1.dtsi  
b/system/arm/dt/platforms/vexpress_gem5_v1.dtsi

index 442ce79..60f68f7 100644
--- a/system/arm/dt/platforms/vexpress_gem5_v1.dtsi
+++ b/system/arm/dt/platforms/vexpress_gem5_v1.dtsi
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2017 ARM Limited
+ * Copyright (c) 2015-2018 ARM Limited
  * All rights reserved
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,62 +28,14 @@
  * Authors: Andreas Sandberg
  */

+#include "vexpress_gem5_v1_base.dtsi"
+
 / {
-   arm,hbi = <0x0>;
-   arm,vexpress,site = <0xf>;
-   interrupt-parent = <>;
-   #address-cells = <2>;
-   #size-cells = <2>;
-
-   gic: interrupt-controller@2c001000 {
-   compatible = "gem5,gic", "arm,gic-400";
-   #interrupt-cells = <3>;
-   #address-cells = <0>;
-   interrupt-controller;
-   reg = <0 0x2c001000 0 0x1000>,
- <0 

[gem5-dev] Change in gem5/gem5[master]: misc: Substitute pointer to Request with aliased RequestPtr

2018-06-11 Thread Giacomo Travaglini (Gerrit)
Giacomo Travaglini has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/10995 )


Change subject: misc: Substitute pointer to Request with aliased RequestPtr
..

misc: Substitute pointer to Request with aliased RequestPtr

Every usage of Request* in the code has been replaced with the
RequestPtr alias.  This is a preparing patch for when RequestPtr will be
the typdefed to a smart pointer to Request rather then a raw pointer to
Request.

Change-Id: I73cbaf2d96ea9313a590cdc731a25662950cd51a
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Nikos Nikoleris 
Reviewed-on: https://gem5-review.googlesource.com/10995
Reviewed-by: Anthony Gutierrez 
Reviewed-by: Daniel Carvalho 
Maintainer: Anthony Gutierrez 
---
M src/arch/alpha/locked_mem.hh
M src/arch/arm/locked_mem.hh
M src/arch/generic/locked_mem.hh
M src/arch/hsail/insts/mem.hh
M src/arch/mips/locked_mem.hh
M src/arch/riscv/locked_mem.hh
M src/cpu/base_dyn_inst.hh
M src/cpu/checker/cpu.cc
M src/cpu/checker/cpu.hh
M src/cpu/minor/lsq.cc
M src/cpu/minor/lsq.hh
M src/cpu/o3/lsq_unit.hh
M src/cpu/o3/lsq_unit_impl.hh
M src/cpu/simple/atomic.cc
M src/cpu/simple/base.cc
M src/cpu/simple/base.hh
M src/cpu/simple/timing.cc
M src/cpu/testers/directedtest/InvalidateGenerator.cc
M src/cpu/testers/directedtest/SeriesRequestGenerator.cc
M src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
M src/cpu/testers/memtest/memtest.cc
M src/cpu/testers/rubytest/Check.cc
M src/cpu/testers/traffic_gen/base_gen.cc
M src/gpu-compute/compute_unit.cc
M src/gpu-compute/fetch_unit.cc
M src/gpu-compute/gpu_dyn_inst.hh
M src/gpu-compute/shader.cc
M src/mem/abstract_mem.cc
M src/mem/abstract_mem.hh
M src/mem/cache/base.cc
M src/mem/cache/cache.cc
M src/mem/cache/prefetch/queued.cc
32 files changed, 68 insertions(+), 66 deletions(-)

Approvals:
  Anthony Gutierrez: Looks good to me, approved; Looks good to me, approved
  Daniel Carvalho: Looks good to me, approved



diff --git a/src/arch/alpha/locked_mem.hh b/src/arch/alpha/locked_mem.hh
index 36a6a03..a71a24c 100644
--- a/src/arch/alpha/locked_mem.hh
+++ b/src/arch/alpha/locked_mem.hh
@@ -85,7 +85,7 @@

 template 
 inline void
-handleLockedRead(XC *xc, Request *req)
+handleLockedRead(XC *xc, RequestPtr req)
 {
 xc->setMiscReg(MISCREG_LOCKADDR, req->getPaddr() & ~0xf);
 xc->setMiscReg(MISCREG_LOCKFLAG, true);
@@ -99,7 +99,7 @@

 template 
 inline bool
-handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
+handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
 {
 if (req->isUncacheable()) {
 // Funky Turbolaser mailbox access...don't update
diff --git a/src/arch/arm/locked_mem.hh b/src/arch/arm/locked_mem.hh
index 2fcbc4a..d339785 100644
--- a/src/arch/arm/locked_mem.hh
+++ b/src/arch/arm/locked_mem.hh
@@ -91,7 +91,7 @@

 template 
 inline void
-handleLockedRead(XC *xc, Request *req)
+handleLockedRead(XC *xc, RequestPtr req)
 {
 xc->setMiscReg(MISCREG_LOCKADDR, req->getPaddr());
 xc->setMiscReg(MISCREG_LOCKFLAG, true);
@@ -111,7 +111,7 @@

 template 
 inline bool
-handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
+handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
 {
 if (req->isSwap())
 return true;
diff --git a/src/arch/generic/locked_mem.hh b/src/arch/generic/locked_mem.hh
index 68a4ff5..f653799 100644
--- a/src/arch/generic/locked_mem.hh
+++ b/src/arch/generic/locked_mem.hh
@@ -63,7 +63,7 @@

 template 
 inline void
-handleLockedRead(XC *xc, Request *req)
+handleLockedRead(XC *xc, RequestPtr req)
 {
 }

@@ -76,7 +76,7 @@

 template 
 inline bool
-handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
+handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
 {
 return true;
 }
diff --git a/src/arch/hsail/insts/mem.hh b/src/arch/hsail/insts/mem.hh
index 36a6cbc..68a61fe 100644
--- a/src/arch/hsail/insts/mem.hh
+++ b/src/arch/hsail/insts/mem.hh
@@ -461,9 +461,10 @@
 *d = gpuDynInst->wavefront()->ldsChunk->
 read(vaddr);
 } else {
-Request *req = new Request(0, vaddr,  
sizeof(c0), 0,
-   
gpuDynInst->computeUnit()->masterId(),

-  0, gpuDynInst->wfDynId);
+RequestPtr req = new Request(0,
+vaddr, sizeof(c0), 0,
+gpuDynInst->computeUnit()->masterId(),
+0, gpuDynInst->wfDynId);

 gpuDynInst->setRequestFlags(req);
 PacketPtr pkt = new Packet(req,  
MemCmd::ReadReq);

@@ -588,7 +589,7 @@
 gpuDynInst->statusBitVector = VectorMask(1);
 gpuDynInst->useContinuation = false;
 // create request
-

Re: [gem5-dev] systemc reviews

2018-06-11 Thread Christian Menard
Hi,

I am following the discussion for a while now and finally found the time
to look at Gabe's proposal.

As I see it, there are three approaches for combining gem5 and SystemC
as outlined below. (Sorry for repeating stuff that was mentioned before,
I just find it helpful to summarize some points)

1. Bridging gem5 ans Systemc.
This is the approach I and Matthias implemented and presented last
year. It provides bridges between the gem5 and SystemC communication
interfaces, as well as a wrapper SystemC module that hosts a complete
gem5 simulation on top of the SystemC kernel. While this approach
certainly has limitations, it allows to combine gem5 and SystemC models.

2. Implementing the SystemC standard using gem5
This is the approach proposed by Gabe which, as I understand it,
provides a wrapper around gem5 implementing the SystemC standard. With
this approach, gem5 becomes a fully fledged SystemC kernel which
arbitrary standard compliant SystemC models can run on. Compared to
approach 1, this allows for more interaction between both domains, as
everything can be compiled in a single pass and there is not just one
single point of interaction. However, this approach prevents certain use
cases, e.g. where SystemC models are closed source or where a specific
SystemC implementation is required.

3. Replacing the gem5 simulation kernel by SystemC.
This is the most radical approach but also gives most flexibility. It
replaces the entire gem5 simulation kernel by SystemC. In this approach,
gem5 could be seen as a system modeling framework and as an abstraction
layer on top of SystemC. This would give maximum flexibility as
arbitrary SystemC and gem5 models can be combined and even the SystemC
kernel can be exchanged arbitrarily. However, it is not clear (at least
to me) how exactly gem5 and SystemC modules could be connected and
interact with each other. I think for this approach to work, aspects of
approach 1 or/and 2 are still required.

So as I see it: 3 covers more use cases than 2 but both are in a way
superior to the existing approach (1). However, in order to implement 3
a lot of changes to the code base are required. Implementing these
changes will take some time, so there will probably be two versions of
gem5: a legacy one and the SystemC one. This again produces more work in
maintaining the code base. Now I wonder: who is willing to do all this
work?

While I favour approach 3 for its benefits and the points Matthias made,
I still like Gabe's idea very much. It minimizes the changes required to
the existing code base while providing many benefits to a broader
community. As Gabe mentioned before, his approach neither breaks with
the existing bridges implemented by me and Matthias, nor does it prevent
implementation of approach 3 in the future. To sum it up: there are no
objections from my side.

Unfortunately, I am not very active in hardware modeling anymore, but I
am very interested in this development and I hope to find the time to
have a look on the patches soon.

Best,

Christian

Matthias Jung  writes:

> Hi Gabe,
>
> I totally agree with you. SytemC is a standard and the code maintained
> by accellera is just an „example“ of how SystemC could be implemented.
>
> However, that is part of my argument. If I want to use e.g. another
> fancy SystemC kernel (e.g. https://dl.acm.org/citation.cfm?id=2987374)
> or a commercial one like the one in the Synopsys toolchains, I cannot
> use gem5 (beside the coupling that is already there, which has also
> several drawbacks). So I like more the separation of simulation models
> and the kernel. 
>
> But I also understand it from your side. In Google you don’t have this
> specific need and you want to find quickly a solution with less effort.
> Anyway we should discuss if a full switch to SystemC as a kernel might
> be a reasonable long term goal. I think many people would benefit from
> that.
>
> I’m also keen to know Christian’s, Andreas’ and Jason’s opinions.
>
> It’s a pitty that gem5 and SystemC started back at the same time
> and evolved separately...
>
> Best,
> Matthias
>
>> Am 09.06.2018 um 02:34 schrieb Gabe Black :
>> 
>> Also, I should point out that the systemc standard defines a set of
>> mechanisms and an interface, not an implementation. The Accellera version
>> of systemc is *not* the standard, it's just an implementation (a very
>> common and important one) of that standard. It's dangerous to conflate
>> those two ideas, and it leads to a lot of problems for everybody.
>> 
>> Gabe
>> 
>> On Fri, Jun 8, 2018 at 12:50 PM Gabe Black  wrote:
>> 
>>> Giacomo, if you're proposing linking in the systemc library and then
>>> adding wrappers to somehow plug that into gem5's underlying mechanisms, I'm
>>> not sure that's technically feasible since the existing implementation
>>> isn't intended to be built on top of something else. Also a lot of the
>>> mechanisms are built into base classes, and so if you change what data
>>> members are in the base 

[gem5-dev] Change in gem5/gem5[master]: misc: Using smart pointers for memory Requests

2018-06-11 Thread Giacomo Travaglini (Gerrit)
Hello Anthony Gutierrez, Daniel Carvalho, Jason Lowe-Power, Andreas  
Sandberg,


I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/10996

to look at the new patch set (#3).

Change subject: misc: Using smart pointers for memory Requests
..

misc: Using smart pointers for memory Requests

This patch is changing the underlying type for RequestPtr from Request*
to shared_ptr. Having memory requests being managed by smart
pointers will simplify the code; it will also prevent memory leakage and
dangling pointers.

Change-Id: I7749af38a11ac8eb4d53d8df1252951e0890fde3
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Andreas Sandberg 
---
M ext/sst/ExtMaster.cc
M ext/sst/ExtSlave.cc
M src/arch/alpha/locked_mem.hh
M src/arch/alpha/tlb.cc
M src/arch/alpha/tlb.hh
M src/arch/arm/isa.cc
M src/arch/arm/locked_mem.hh
M src/arch/arm/stage2_lookup.cc
M src/arch/arm/stage2_lookup.hh
M src/arch/arm/stage2_mmu.cc
M src/arch/arm/stage2_mmu.hh
M src/arch/arm/table_walker.cc
M src/arch/arm/table_walker.hh
M src/arch/arm/tlb.cc
M src/arch/arm/tlb.hh
M src/arch/arm/tracers/tarmac_parser.cc
M src/arch/arm/tracers/tarmac_parser.hh
M src/arch/arm/vtophys.cc
M src/arch/generic/locked_mem.hh
M src/arch/generic/tlb.cc
M src/arch/generic/tlb.hh
M src/arch/hsail/insts/mem.hh
M src/arch/mips/locked_mem.hh
M src/arch/mips/tlb.cc
M src/arch/mips/tlb.hh
M src/arch/power/tlb.cc
M src/arch/power/tlb.hh
M src/arch/riscv/locked_mem.hh
M src/arch/riscv/tlb.cc
M src/arch/riscv/tlb.hh
M src/arch/sparc/tlb.cc
M src/arch/sparc/tlb.hh
M src/arch/x86/intmessage.hh
M src/arch/x86/pagetable_walker.cc
M src/arch/x86/pagetable_walker.hh
M src/arch/x86/tlb.cc
M src/arch/x86/tlb.hh
M src/cpu/base.cc
M src/cpu/base_dyn_inst.hh
M src/cpu/base_dyn_inst_impl.hh
M src/cpu/checker/cpu.cc
M src/cpu/checker/cpu.hh
M src/cpu/checker/cpu_impl.hh
M src/cpu/kvm/base.cc
M src/cpu/kvm/x86_cpu.cc
M src/cpu/minor/fetch1.cc
M src/cpu/minor/fetch1.hh
M src/cpu/minor/lsq.cc
M src/cpu/minor/lsq.hh
M src/cpu/o3/cpu.hh
M src/cpu/o3/fetch.hh
M src/cpu/o3/fetch_impl.hh
M src/cpu/o3/lsq.hh
M src/cpu/o3/lsq_impl.hh
M src/cpu/o3/lsq_unit.hh
M src/cpu/o3/lsq_unit_impl.hh
M src/cpu/simple/atomic.cc
M src/cpu/simple/atomic.hh
M src/cpu/simple/base.cc
M src/cpu/simple/base.hh
M src/cpu/simple/timing.cc
M src/cpu/simple/timing.hh
M src/cpu/testers/directedtest/InvalidateGenerator.cc
M src/cpu/testers/directedtest/RubyDirectedTester.cc
M src/cpu/testers/directedtest/SeriesRequestGenerator.cc
M src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
M src/cpu/testers/memtest/memtest.cc
M src/cpu/testers/rubytest/Check.cc
M src/cpu/testers/rubytest/RubyTester.cc
M src/cpu/testers/traffic_gen/base_gen.cc
M src/cpu/testers/traffic_gen/traffic_gen.cc
M src/cpu/trace/trace_cpu.cc
M src/cpu/translation.hh
M src/dev/dma_device.cc
M src/dev/x86/i82094aa.cc
M src/gpu-compute/compute_unit.cc
M src/gpu-compute/fetch_unit.cc
M src/gpu-compute/gpu_tlb.cc
M src/gpu-compute/gpu_tlb.hh
M src/gpu-compute/shader.cc
M src/gpu-compute/shader.hh
M src/learning_gem5/part2/simple_cache.cc
M src/mem/abstract_mem.cc
M src/mem/abstract_mem.hh
M src/mem/cache/base.cc
M src/mem/cache/blk.hh
M src/mem/cache/cache.cc
M src/mem/cache/mshr.cc
M src/mem/cache/noncoherent_cache.cc
M src/mem/cache/prefetch/queued.cc
M src/mem/packet.hh
M src/mem/page_table.cc
M src/mem/page_table.hh
M src/mem/port.cc
M src/mem/port_proxy.cc
M src/mem/request.hh
M src/mem/ruby/slicc_interface/AbstractController.cc
M src/mem/ruby/system/CacheRecorder.cc
M src/mem/ruby/system/GPUCoalescer.cc
M src/mem/ruby/system/GPUCoalescer.hh
M src/mem/ruby/system/RubyPort.cc
M src/mem/ruby/system/Sequencer.cc
M util/tlm/src/sc_master_port.cc
103 files changed, 609 insertions(+), 651 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/10996
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: I7749af38a11ac8eb4d53d8df1252951e0890fde3
Gerrit-Change-Number: 10996
Gerrit-PatchSet: 3
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Anthony Gutierrez 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Giacomo Travaglini 
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]: mem-cache: Promote targets that don't require writable

2018-06-11 Thread Nikos Nikoleris (Gerrit)

Hello Daniel Carvalho, Jason Lowe-Power,

I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/11017

to look at the new patch set (#2).

Change subject: mem-cache: Promote targets that don't require writable
..

mem-cache: Promote targets that don't require writable

Until now, all deferred targets of an MSHR would be promoted together
as soon as the targets were serviced. Due to the way we handle cache
clean operations we might need to promote only deferred targets that
don't require writable, leaving some targets as deferred. This change
adds support for this selective promotion.

Change-Id: I502e523dc9adbaf394955cbacea8286ab6a9b6bc
---
M src/mem/cache/mshr.cc
M src/mem/cache/mshr.hh
2 files changed, 70 insertions(+), 16 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/11017
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: I502e523dc9adbaf394955cbacea8286ab6a9b6bc
Gerrit-Change-Number: 11017
Gerrit-PatchSet: 2
Gerrit-Owner: Nikos Nikoleris 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Nikos Nikoleris 
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]: misc: Using smart pointers for memory Requests

2018-06-11 Thread Giacomo Travaglini (Gerrit)
Hello Anthony Gutierrez, Daniel Carvalho, Jason Lowe-Power, Andreas  
Sandberg,


I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/10996

to look at the new patch set (#2).

Change subject: misc: Using smart pointers for memory Requests
..

misc: Using smart pointers for memory Requests

This patch is changing the underlying type for RequestPtr from Request*
to shared_ptr. Having memory requests being managed by smart
pointers will simplify the code; it will also prevent memory leakage and
dangling pointers.

Change-Id: I7749af38a11ac8eb4d53d8df1252951e0890fde3
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Andreas Sandberg 
---
M ext/sst/ExtMaster.cc
M ext/sst/ExtSlave.cc
M src/arch/alpha/locked_mem.hh
M src/arch/alpha/tlb.cc
M src/arch/alpha/tlb.hh
M src/arch/arm/isa.cc
M src/arch/arm/locked_mem.hh
M src/arch/arm/stage2_lookup.cc
M src/arch/arm/stage2_lookup.hh
M src/arch/arm/stage2_mmu.cc
M src/arch/arm/stage2_mmu.hh
M src/arch/arm/table_walker.cc
M src/arch/arm/table_walker.hh
M src/arch/arm/tlb.cc
M src/arch/arm/tlb.hh
M src/arch/arm/tracers/tarmac_parser.cc
M src/arch/arm/tracers/tarmac_parser.hh
M src/arch/arm/vtophys.cc
M src/arch/generic/locked_mem.hh
M src/arch/generic/tlb.cc
M src/arch/generic/tlb.hh
M src/arch/hsail/insts/mem.hh
M src/arch/mips/locked_mem.hh
M src/arch/mips/tlb.cc
M src/arch/mips/tlb.hh
M src/arch/power/tlb.cc
M src/arch/power/tlb.hh
M src/arch/riscv/locked_mem.hh
M src/arch/riscv/tlb.cc
M src/arch/riscv/tlb.hh
M src/arch/sparc/tlb.cc
M src/arch/sparc/tlb.hh
M src/arch/x86/intmessage.hh
M src/arch/x86/pagetable_walker.cc
M src/arch/x86/pagetable_walker.hh
M src/arch/x86/tlb.cc
M src/arch/x86/tlb.hh
M src/cpu/base.cc
M src/cpu/base_dyn_inst.hh
M src/cpu/base_dyn_inst_impl.hh
M src/cpu/checker/cpu.cc
M src/cpu/checker/cpu.hh
M src/cpu/checker/cpu_impl.hh
M src/cpu/kvm/base.cc
M src/cpu/kvm/x86_cpu.cc
M src/cpu/minor/fetch1.cc
M src/cpu/minor/fetch1.hh
M src/cpu/minor/lsq.cc
M src/cpu/minor/lsq.hh
M src/cpu/o3/fetch.hh
M src/cpu/o3/fetch_impl.hh
M src/cpu/o3/lsq.hh
M src/cpu/o3/lsq_impl.hh
M src/cpu/o3/lsq_unit.hh
M src/cpu/o3/lsq_unit_impl.hh
M src/cpu/simple/atomic.cc
M src/cpu/simple/atomic.hh
M src/cpu/simple/base.cc
M src/cpu/simple/base.hh
M src/cpu/simple/timing.cc
M src/cpu/simple/timing.hh
M src/cpu/testers/directedtest/InvalidateGenerator.cc
M src/cpu/testers/directedtest/RubyDirectedTester.cc
M src/cpu/testers/directedtest/SeriesRequestGenerator.cc
M src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
M src/cpu/testers/memtest/memtest.cc
M src/cpu/testers/rubytest/Check.cc
M src/cpu/testers/rubytest/RubyTester.cc
M src/cpu/testers/traffic_gen/base_gen.cc
M src/cpu/testers/traffic_gen/traffic_gen.cc
M src/cpu/trace/trace_cpu.cc
M src/cpu/translation.hh
M src/dev/dma_device.cc
M src/dev/x86/i82094aa.cc
M src/gpu-compute/compute_unit.cc
M src/gpu-compute/fetch_unit.cc
M src/gpu-compute/gpu_tlb.cc
M src/gpu-compute/gpu_tlb.hh
M src/gpu-compute/shader.cc
M src/gpu-compute/shader.hh
M src/learning_gem5/part2/simple_cache.cc
M src/mem/abstract_mem.cc
M src/mem/abstract_mem.hh
M src/mem/cache/base.cc
M src/mem/cache/blk.hh
M src/mem/cache/cache.cc
M src/mem/cache/mshr.cc
M src/mem/cache/noncoherent_cache.cc
M src/mem/cache/prefetch/queued.cc
M src/mem/packet.hh
M src/mem/page_table.cc
M src/mem/page_table.hh
M src/mem/port.cc
M src/mem/port_proxy.cc
M src/mem/request.hh
M src/mem/ruby/slicc_interface/AbstractController.cc
M src/mem/ruby/system/CacheRecorder.cc
M src/mem/ruby/system/GPUCoalescer.cc
M src/mem/ruby/system/GPUCoalescer.hh
M src/mem/ruby/system/RubyPort.cc
M src/mem/ruby/system/Sequencer.cc
M util/tlm/src/sc_master_port.cc
102 files changed, 555 insertions(+), 636 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/10996
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: I7749af38a11ac8eb4d53d8df1252951e0890fde3
Gerrit-Change-Number: 10996
Gerrit-PatchSet: 2
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Anthony Gutierrez 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Giacomo Travaglini 
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] Cron /z/m5/regression/do-regression quick

2018-06-11 Thread Cron Daemon
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/minor-timing: 
FAILED!
* build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/o3-timing: 
FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/simple-atomic: 
FAILED!
*** diff[simout]: SKIPPED* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/simple-timing: 
FAILED!
*** stat_diff: FAILURE: Statistics mismatchStatistics mismatch* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64c/simple-timing-ruby:
 FAILED!
*** diff[simerr]: SKIPPED* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/o3-timing: FAILED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/minor-timing: CHANGED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing: 
CHANGED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing: CHANGED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby: 
CHANGED!*** diff[simerr]: SKIPPED
* build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing-mt: 
CHANGED!
* 
build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-simple:
 CHANGED!
* 
build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-two-level:
 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/00.hello/mips/linux/o3-timing: CHANGED!
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing: 
CHANGED!Maximum error magnitude: +18.899759%
* 
build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-simple:
 CHANGED!
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby: 
CHANGED!
* 
build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-two-level:
 CHANGED!
* build/NULL/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby: 
CHANGED!
* build/NULL/tests/opt/quick/se/80.dram-closepage/null/none/dram-lowp: 
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/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing: CHANGED!
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby: 
CHANGED!*** stat_diff: FAILURE: Statistics mismatch
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing: 
CHANGED!Statistics mismatch
* 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!
Statistics mismatch* 
build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-two-level:
 CHANGED!
* 
build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-simple:
 CHANGED!
* 
build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp:
 CHANGED!--- quick/se/40.m5threads-test-atomic/sparc/linux/o3-timing-mp ---
* 
build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/o3-timing-mp:
 CHANGED!
* 
build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-timing-mp:
 CHANGED!
* build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-timing: 
CHANGED!
* build/SPARC/tests/opt/quick/se/70.twolf/sparc/linux/simple-timing: 
CHANGED!
* build/X86/tests/opt/quick/se/00.hello/x86/linux/o3-timing: CHANGED!*** 
stat_diff: FAILURE: Statistics mismatch
* build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-atomic: CHANGED!
* build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing-ruby: 
CHANGED!
* build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing: CHANGED!
* 
build/X86/tests/opt/quick/se/03.learning-gem5/x86/linux/learning-gem5-p1-simple:
 CHANGED!
* 
build/X86/tests/opt/quick/se/03.learning-gem5/x86/linux/learning-gem5-p1-two-level:
 CHANGED!*** stat_diff: FAILURE: Statistics mismatch
* build/X86/tests/opt/quick/se/10.mcf/x86/linux/simple-atomic: CHANGED!
*** diff[smred.pl2]: SKIPPED* 
build/X86/tests/opt/quick/se/70.twolf/x86/linux/simple-atomic: CHANGED!
* build/X86/tests/opt/quick/se/70.twolf/x86/linux/simple-timing: