[gem5-dev] [S] Change in gem5/gem5[develop]: base: Use include for GCC v7

2023-04-14 Thread Melissa Jost (Gerrit) via gem5-dev
Melissa Jost has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/69840?usp=email )



Change subject: base: Use  include for GCC v7
..

base: Use  include for GCC v7

This change adds include guards to the inclusion of the
filesystem module to ensure GCC 7 can work properly,
addressing an issue in the compiler tests.

Change-Id: I642f79bd801baf4766572368b9339e34be46d1c3
---
M src/mem/shared_memory_server.cc
1 file changed, 12 insertions(+), 1 deletion(-)



diff --git a/src/mem/shared_memory_server.cc  
b/src/mem/shared_memory_server.cc

index 3e49164..f99655c 100644
--- a/src/mem/shared_memory_server.cc
+++ b/src/mem/shared_memory_server.cc
@@ -39,7 +39,18 @@
 #include 
 #include 
 #include 
-#include 
+#if (defined(__GNUC__) && (__GNUC__ >= 8)) || defined(__clang__)
+#include 
+#else
+// This is only reachable if we're using GCC 7 (note: gem5 does not  
support

+// GCC versions older than GCC 7 as they do not support the C++17
+// standard).
+// If we're using GCC 7, we need to use .
+#include 
+namespace std {
+namespace filesystem = experimental::filesystem;
+}
+#endif

 #include "base/logging.hh"
 #include "base/output.hh"

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I642f79bd801baf4766572368b9339e34be46d1c3
Gerrit-Change-Number: 69840
Gerrit-PatchSet: 1
Gerrit-Owner: Melissa Jost 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] Jenkins build is back to normal : nightly #575

2023-04-14 Thread jenkins-no-reply--- via gem5-dev
See 
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] [XS] Change in gem5/gem5[develop]: stdlib: Add a function returning non-current switchable cores

2023-04-14 Thread Hoa Nguyen (Gerrit) via gem5-dev
Hoa Nguyen has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/69838?usp=email )



Change subject: stdlib: Add a function returning non-current switchable  
cores

..

stdlib: Add a function returning non-current switchable cores

Change-Id: I8c670ae4a8dcd5b4de504c182c477e998c82c75c
Signed-off-by: Hoa Nguyen 
---
M src/python/gem5/components/processors/switchable_processor.py
1 file changed, 6 insertions(+), 0 deletions(-)



diff --git a/src/python/gem5/components/processors/switchable_processor.py  
b/src/python/gem5/components/processors/switchable_processor.py

index 036e391..bd04a73 100644
--- a/src/python/gem5/components/processors/switchable_processor.py
+++ b/src/python/gem5/components/processors/switchable_processor.py
@@ -117,6 +117,12 @@
 def get_cores(self) -> List[AbstractCore]:
 return self._current_cores

+def get_switch_to_cores(self) -> List[AbstractCore]:
+for name, core_list in self._switchable_cores.items():
+for core in core_list:
+if not core in self._current_cores:
+yield core
+
 def _all_cores(self):
 for core_list in self._switchable_cores.values():
 for core in core_list:

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I8c670ae4a8dcd5b4de504c182c477e998c82c75c
Gerrit-Change-Number: 69838
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] [S] Change in gem5/gem5[develop]: stdlib: Add is_switchable() abstract method to AbstractProcessor

2023-04-14 Thread Hoa Nguyen (Gerrit) via gem5-dev
Hoa Nguyen has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/69837?usp=email )



Change subject: stdlib: Add is_switchable() abstract method to  
AbstractProcessor

..

stdlib: Add is_switchable() abstract method to AbstractProcessor

Allows other components to know where the processor is a switchable one.

Change-Id: I2174f2493dc1514a3370b99e2fbb8711ad5a9edd
Signed-off-by: Hoa Nguyen 
---
M src/python/gem5/components/processors/abstract_processor.py
M src/python/gem5/components/processors/base_cpu_processor.py
M src/python/gem5/components/processors/switchable_processor.py
3 files changed, 12 insertions(+), 0 deletions(-)



diff --git a/src/python/gem5/components/processors/abstract_processor.py  
b/src/python/gem5/components/processors/abstract_processor.py

index a0f8b5c..f62f454 100644
--- a/src/python/gem5/components/processors/abstract_processor.py
+++ b/src/python/gem5/components/processors/abstract_processor.py
@@ -72,6 +72,10 @@
 return self._isa

 @abstractmethod
+def is_switchable(self) -> bool:
+raise NotImplementedError
+
+@abstractmethod
 def incorporate_processor(self, board: AbstractBoard) -> None:
 raise NotImplementedError

diff --git a/src/python/gem5/components/processors/base_cpu_processor.py  
b/src/python/gem5/components/processors/base_cpu_processor.py

index 9a75615..8b169b7 100644
--- a/src/python/gem5/components/processors/base_cpu_processor.py
+++ b/src/python/gem5/components/processors/base_cpu_processor.py
@@ -70,6 +70,10 @@
 self.kvm_vm = KvmVM()

 @overrides(AbstractProcessor)
+def is_switchable(self) -> bool:
+return False
+
+@overrides(AbstractProcessor)
 def incorporate_processor(self, board: AbstractBoard) -> None:

 if any(core.is_kvm_core() for core in self.get_cores()):
diff --git a/src/python/gem5/components/processors/switchable_processor.py  
b/src/python/gem5/components/processors/switchable_processor.py

index 20754fb..036e391 100644
--- a/src/python/gem5/components/processors/switchable_processor.py
+++ b/src/python/gem5/components/processors/switchable_processor.py
@@ -84,6 +84,10 @@
 self.kvm_vm = KvmVM()

 @overrides(AbstractProcessor)
+def is_switchable(self):
+return True
+
+@overrides(AbstractProcessor)
 def incorporate_processor(self, board: AbstractBoard) -> None:

 # This is a bit of a hack. The `m5.switchCpus` function, used in  
the


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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I2174f2493dc1514a3370b99e2fbb8711ad5a9edd
Gerrit-Change-Number: 69837
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] [XS] Change in gem5/gem5[develop]: stdlib: Assign the workload to the non-starting cores

2023-04-14 Thread Hoa Nguyen (Gerrit) via gem5-dev
Hoa Nguyen has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/69839?usp=email )



Change subject: stdlib: Assign the workload to the non-starting cores
..

stdlib: Assign the workload to the non-starting cores

This causes problems at instantiation time where gem5 couldn't find
the workload for the non-starting cores.

Change-Id: Ibd4f8985100a0ceb3339135a6a454f37403f587c
Signed-off-by: Hoa Nguyen 
---
M src/python/gem5/components/boards/se_binary_workload.py
1 file changed, 3 insertions(+), 0 deletions(-)



diff --git a/src/python/gem5/components/boards/se_binary_workload.py  
b/src/python/gem5/components/boards/se_binary_workload.py

index 98fe840..a88e25c 100644
--- a/src/python/gem5/components/boards/se_binary_workload.py
+++ b/src/python/gem5/components/boards/se_binary_workload.py
@@ -114,6 +114,9 @@

 for core in self.get_processor().get_cores():
 core.set_workload(process)
+if self.get_processor().is_switchable():
+for core in self.get_processor().get_switch_to_cores():
+core.set_workload(process)

 # Set whether to exit on work items for the se_workload
 self.exit_on_work_items = exit_on_work_items

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ibd4f8985100a0ceb3339135a6a454f37403f587c
Gerrit-Change-Number: 69839
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] Build failed in Jenkins: compiler-checks #575

2023-04-14 Thread jenkins-no-reply--- via gem5-dev
See 


Changes:

[richard.cooper] python: Fix broken call to m5.fatal in _check_tracing()

[Bobby R. Bruce] scons: Fix "no-duplicate-sources" to include .hh when not set

[richard.cooper] cpu: Add CpuCluster method to allow querying the number of 
CPUs.

[richard.cooper] configs: Update Arm starter_se.py for new CpuCluster 
abstraction

[richard.cooper] arch-arm: Fix formatting of v8 Tarmac Register records

[richard.cooper] arch-arm: Add more detailed debug messages to GICv2.

[richard.cooper] dev-arm: Fix writes to Arm GICv2 GICD_IGROUPRn

[richard.cooper] arch-arm: Add an option to use 64-bit PMU counters

[richard.cooper] configs: Add Tarmac tracing option to the simple Arm configs

[richard.cooper] configs: Make the configuration of the gicv4 parameter robust

[richard.cooper] configs: Add the O3 CPU as an option to baremetal.py

[richard.cooper] configs: Update Arm simple configs to enable --interactive 
option

[richard.cooper] configs: Add --exit-on-uart-eot flag to Arm baremetal.py config


--
[...truncated 1.03 KB...]
 > git checkout -f 9ec1b939808a8538d9ae581c709b6ea4c3fc7b5d # timeout=10
Commit message: "configs: Add --exit-on-uart-eot flag to Arm baremetal.py 
config"
 > git rev-list --no-walk 6c4f405669cf1f8289d7f86284ba66e8371de68d # timeout=10
[Checks API] No suitable checks publisher found.
[compiler-checks] $ /bin/sh -xe /tmp/jenkins4347915204784985585.sh
+ ./tests/compiler-tests.sh -j 16
Starting build tests with 'gcc-version-12'...
'gcc-version-12' was found in the comprehensive tests. All ISAs will be built.
  * Building target 'NULL_MOESI_hammer.opt' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MOESI_hammer.fast' with 'gcc-version-12'...
Done.
  * Building target 'POWER.opt' with 'gcc-version-12'...
Done.
  * Building target 'POWER.fast' with 'gcc-version-12'...
Done.
  * Building target 'ALL.opt' with 'gcc-version-12'...
Done.
  * Building target 'ALL.fast' with 'gcc-version-12'...
Done.
  * Building target 'SPARC.opt' with 'gcc-version-12'...
Done.
  * Building target 'SPARC.fast' with 'gcc-version-12'...
Done.
  * Building target 'MIPS.opt' with 'gcc-version-12'...
Done.
  * Building target 'MIPS.fast' with 'gcc-version-12'...
Done.
  * Building target 'ARM_MOESI_hammer.opt' with 'gcc-version-12'...
Done.
  * Building target 'ARM_MOESI_hammer.fast' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MOESI_CMP_directory.opt' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MOESI_CMP_directory.fast' with 'gcc-version-12'...
Done.
  * Building target 'NULL.opt' with 'gcc-version-12'...
Done.
  * Building target 'NULL.fast' with 'gcc-version-12'...
Done.
  * Building target 'RISCV.opt' with 'gcc-version-12'...
Done.
  * Building target 'RISCV.fast' with 'gcc-version-12'...
Done.
  * Building target 'X86_MI_example.opt' with 'gcc-version-12'...
Done.
  * Building target 'X86_MI_example.fast' with 'gcc-version-12'...
Done.
  * Building target 'ARM.opt' with 'gcc-version-12'...
Done.
  * Building target 'ARM.fast' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MOESI_CMP_token.opt' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MOESI_CMP_token.fast' with 'gcc-version-12'...
Done.
  * Building target 'ARM_MESI_Three_Level.opt' with 'gcc-version-12'...
Done.
  * Building target 'ARM_MESI_Three_Level.fast' with 'gcc-version-12'...
Done.
  * Building target 'ARM_MESI_Three_Level_HTM.opt' with 'gcc-version-12'...
Done.
  * Building target 'ARM_MESI_Three_Level_HTM.fast' with 'gcc-version-12'...
Done.
  * Building target 'Garnet_standalone.opt' with 'gcc-version-12'...
Done.
  * Building target 'Garnet_standalone.fast' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MESI_Two_Level.opt' with 'gcc-version-12'...
Done.
  * Building target 'NULL_MESI_Two_Level.fast' with 'gcc-version-12'...
Done.
  * Building target 'X86_MOESI_AMD_Base.opt' with 'gcc-version-12'...
Done.
  * Building target 'X86_MOESI_AMD_Base.fast' with 'gcc-version-12'...
Done.
  * Building target 'X86.opt' with 'gcc-version-12'...
Done.
  * Building target 'X86.fast' with 'gcc-version-12'...
Done.
  * Building target 'GCN3_X86.opt' with 'gcc-version-12'...
Done.
  * Building target 'GCN3_X86.fast' with 'gcc-version-12'...
Done.
Starting build tests with 'gcc-version-11'...
  * Building target 'ALL.opt' with 'gcc-version-11'...
Done.
  * Building target 'ALL.fast' with 'gcc-version-11'...
Done.
Starting build tests with 'gcc-version-10'...
  * Building target 'ALL.opt' with 'gcc-version-10'...
Done.
  * Building target 'ALL.fast' with 'gcc-version-10'...
Done.
Starting build tests with 'gcc-version-9'...
  * Building target 'ARM.opt' with 'gcc-version-9'...
Done.
  * Building target