From 6b41bea7447316cb45dc2063f512dd046e22c598 Mon Sep 17 00:00:00 2001 From: Nikos Nikoleris Date: Wed, 12 Jul 2017 13:49:24 +0100 Subject: arch-arm: Signal an event when executing store exclusives When a store exclusive is executed, whether it is successful or not, the exclusives monitor is cleared and therefore we need to signal an event for the PE. Change-Id: I383c88c769c0ac5f5d36c4b5d39c9681134d3a20 Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/4480 Maintainer: Andreas Sandberg --- src/arch/arm/isa/insts/str.isa | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/arch/arm/isa/insts/str.isa') diff --git a/src/arch/arm/isa/insts/str.isa b/src/arch/arm/isa/insts/str.isa index 3f595692a..1c697d3ff 100644 --- a/src/arch/arm/isa/insts/str.isa +++ b/src/arch/arm/isa/insts/str.isa @@ -1,6 +1,6 @@ // -*- mode:c++ -*- -// Copyright (c) 2010-2011 ARM Limited +// Copyright (c) 2010-2011,2017 ARM Limited // All rights reserved // // The license below extends only to copyright in the software and shall @@ -228,7 +228,8 @@ let {{ def __init__(self, *args, **kargs): super(StoreImmEx, self).__init__(*args, **kargs) - self.codeBlobs["postacc_code"] = "Result = !writeResult;" + self.codeBlobs["postacc_code"] = \ + "Result = !writeResult; SevMailbox = 1; LLSCLock = 0;" class StoreImm(StoreImmInst, StoreSingle): decConstBase = 'LoadStoreImm' @@ -307,7 +308,8 @@ let {{ def __init__(self, *args, **kargs): super(StoreDoubleImmEx, self).__init__(*args, **kargs) - self.codeBlobs["postacc_code"] = "Result = !writeResult;" + self.codeBlobs["postacc_code"] = \ + "Result = !writeResult; SevMailbox = 1; LLSCLock = 0;" class StoreDoubleImm(StoreImmInst, StoreDouble): decConstBase = 'LoadStoreDImm' -- cgit v1.2.3