From: Nikos Nikoleris Date: Fri, 17 Mar 2017 15:11:14 +0000 (+0000) Subject: scons: Make MOESI_CMP_directory the default ARM ruby protocol X-Git-Tag: v19.0.0.0~2751 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e2bc2142d4ce6c7cd655939f7430956837343aed;p=gem5.git scons: Make MOESI_CMP_directory the default ARM ruby protocol Previously ARM binaries were by default compiled with the MI_example protocol. The MI_example protocol cannot properly support load/store exclusive instructions and therefore it cannot be used to simulate multicore ARM systems. This change changes to MOESI_CMP_directory as the default ruby protocol for ARM systems. Change-Id: I942d950ba466aea9a75f3d8764f9f3eddd0c3baa Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/2906 Maintainer: Andreas Sandberg Reviewed-by: Jason Lowe-Power --- diff --git a/build_opts/ARM b/build_opts/ARM index b175fd0ad..c47307816 100644 --- a/build_opts/ARM +++ b/build_opts/ARM @@ -1,3 +1,3 @@ TARGET_ISA = 'arm' CPU_MODELS = 'AtomicSimpleCPU,TimingSimpleCPU,O3CPU,MinorCPU' -PROTOCOL = 'MI_example' +PROTOCOL = 'MOESI_CMP_directory' diff --git a/tests/testing/tests.py b/tests/testing/tests.py old mode 100644 new mode 100755 index c9a2a06b2..a83f5988b --- a/tests/testing/tests.py +++ b/tests/testing/tests.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2 # -# Copyright (c) 2016 ARM Limited +# Copyright (c) 2016-2017 ARM Limited # All rights reserved # # The license below extends only to copyright in the software and shall @@ -161,6 +161,16 @@ generic_configs = ( 'learning-gem5-p1-two-level', ) +default_ruby_protocol = { + "arm" : "MOESI_CMP_directory", +} + +def get_default_protocol(arch): + try: + return default_ruby_protocol[arch] + except KeyError: + return 'MI-example' + all_categories = ("quick", "long") all_modes = ("fs", "se") @@ -337,8 +347,11 @@ def get_tests(isa, else: configs += generic_configs - if ruby_protocol == 'MI_example': - configs += [ "%s-ruby" % (c, ) for c in configs ] + if ruby_protocol == get_default_protocol(isa): + if ruby_protocol == 'MI_example': + configs += [ "%s-ruby" % (c, ) for c in configs ] + else: + configs += [ "%s-ruby-%s" % (c, ruby_protocol) for c in configs ] elif ruby_protocol is not None: # Override generic ISA configs when using Ruby (excluding # MI_example which is included in all ISAs by default). This