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 <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2906 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
TARGET_ISA = 'arm'
|
TARGET_ISA = 'arm'
|
||||||
CPU_MODELS = 'AtomicSimpleCPU,TimingSimpleCPU,O3CPU,MinorCPU'
|
CPU_MODELS = 'AtomicSimpleCPU,TimingSimpleCPU,O3CPU,MinorCPU'
|
||||||
PROTOCOL = 'MI_example'
|
PROTOCOL = 'MOESI_CMP_directory'
|
||||||
|
|||||||
19
tests/testing/tests.py
Normal file → Executable file
19
tests/testing/tests.py
Normal file → Executable file
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python2
|
||||||
#
|
#
|
||||||
# Copyright (c) 2016 ARM Limited
|
# Copyright (c) 2016-2017 ARM Limited
|
||||||
# All rights reserved
|
# All rights reserved
|
||||||
#
|
#
|
||||||
# The license below extends only to copyright in the software and shall
|
# The license below extends only to copyright in the software and shall
|
||||||
@@ -161,6 +161,16 @@ generic_configs = (
|
|||||||
'learning-gem5-p1-two-level',
|
'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_categories = ("quick", "long")
|
||||||
all_modes = ("fs", "se")
|
all_modes = ("fs", "se")
|
||||||
|
|
||||||
@@ -337,8 +347,11 @@ def get_tests(isa,
|
|||||||
else:
|
else:
|
||||||
configs += generic_configs
|
configs += generic_configs
|
||||||
|
|
||||||
if ruby_protocol == 'MI_example':
|
if ruby_protocol == get_default_protocol(isa):
|
||||||
configs += [ "%s-ruby" % (c, ) for c in configs ]
|
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:
|
elif ruby_protocol is not None:
|
||||||
# Override generic ISA configs when using Ruby (excluding
|
# Override generic ISA configs when using Ruby (excluding
|
||||||
# MI_example which is included in all ISAs by default). This
|
# MI_example which is included in all ISAs by default). This
|
||||||
|
|||||||
Reference in New Issue
Block a user