From: Gabe Black Date: Sun, 19 Apr 2009 11:55:58 +0000 (-0700) Subject: X86: Implement the stul microop. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d90456a4868baa931ca089a471c2b9230830d848;p=gem5.git X86: Implement the stul microop. This microop does a store and unlocks the requested address. The RISC86 microop ISA doesn't seem to have an equivalent to this, so I'm guessing that the store following an ldstl is automatically unlocking. We don't do it this way for performance reasons since the behavior is the same. --- diff --git a/src/arch/x86/isa/microops/ldstop.isa b/src/arch/x86/isa/microops/ldstop.isa index 5df423ea9..f16a3b488 100644 --- a/src/arch/x86/isa/microops/ldstop.isa +++ b/src/arch/x86/isa/microops/ldstop.isa @@ -478,6 +478,8 @@ let {{ microopClasses[name] = StoreOp defineMicroStoreOp('St', 'Mem = pick(Data, 2, dataSize);') + defineMicroStoreOp('Stul', 'Mem = pick(Data, 2, dataSize);', + mem_flags="Request::LOCKED") defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;') defineMicroStoreOp('Stupd', 'Mem = pick(Data, 2, dataSize);', 'Base = merge(Base, EA - SegBase, addressSize);',