From 264a6392bee7fa8bf5f05b771825dcc6c1930d92 Mon Sep 17 00:00:00 2001 From: Timothy Hayes Date: Thu, 7 May 2020 11:07:05 +0100 Subject: [PATCH] mem-ruby: MOESI_CMP_directory sync fix The recent commit dd6cd33 modified the behaviour of the the Ruby sequencer to handle load linked requests as loads rather than stores. This caused the regression test realview-simple-timing-dual-ruby-ARM-x86_64-opt to become stuck when booting Linux. This patch fixes the issue by adding a missing forward_eviction_to_cpu action to the state transition(OM, Fwd_GETX, IM). Change-Id: I8f253c5709488b07ddc5143a15eda406e31f3cc6 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28787 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- src/mem/ruby/protocol/MOESI_CMP_directory-L1cache.sm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mem/ruby/protocol/MOESI_CMP_directory-L1cache.sm b/src/mem/ruby/protocol/MOESI_CMP_directory-L1cache.sm index b8d8ab4a0..5a31d281f 100644 --- a/src/mem/ruby/protocol/MOESI_CMP_directory-L1cache.sm +++ b/src/mem/ruby/protocol/MOESI_CMP_directory-L1cache.sm @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 ARM Limited + * Copyright (c) 2019-2020 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -1189,6 +1189,7 @@ machine(MachineType:L1Cache, "L1 cache protocol") // transition(OM, Fwd_GETX, OMF) { transition(OM, Fwd_GETX, IM) { ee_sendDataExclusive; + forward_eviction_to_cpu; l_popForwardQueue; } -- 2.30.2