From 42e114ddefe2fbf56e7da3daccf2cfbe128242a6 Mon Sep 17 00:00:00 2001 From: Nikos Nikoleris Date: Tue, 4 Apr 2017 19:19:02 +0100 Subject: [PATCH] ruby, arm: Forward invalidations to the local exclusive monitor ARM systems require local exclusive monitors for the implementation of synchronization primitives between processors. A ruby memory system needs to forward invalidations to the local exclusive monitors to to correctly determine their state. Change-Id: I7bc4d0f2a5be0f4e36a25c87aa4a81a3f086fb3c Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/2904 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- configs/ruby/Ruby.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py index 71f6eef7c..04eda5a39 100644 --- a/configs/ruby/Ruby.py +++ b/configs/ruby/Ruby.py @@ -231,6 +231,8 @@ def send_evicts(options): # currently, 2 scenarios warrant forwarding evictions to the CPU: # 1. The O3 model must keep the LSQ coherent with the caches # 2. The x86 mwait instruction is built on top of coherence invalidations - if options.cpu_type == "DerivO3CPU" or buildEnv['TARGET_ISA'] == 'x86': + # 3. The local exclusive monitor in ARM systems + if options.cpu_type == "DerivO3CPU" or \ + buildEnv['TARGET_ISA'] in ('x86', 'arm'): return True return False -- 2.30.2