From d2554ff0304af0d4b365894026b702b5714385d6 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sun, 19 Apr 2009 04:55:43 -0700 Subject: X86: Implement the ldstl microop. This microop does a load, checks that a store would succeed, and locks the requested address. --- src/arch/x86/isa/microops/ldstop.isa | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/arch/x86/isa/microops/ldstop.isa b/src/arch/x86/isa/microops/ldstop.isa index 24ddd0b43..5df423ea9 100644 --- a/src/arch/x86/isa/microops/ldstop.isa +++ b/src/arch/x86/isa/microops/ldstop.isa @@ -440,6 +440,8 @@ let {{ defineMicroLoadOp('Ld', 'Data = merge(Data, Mem, dataSize);') defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);', 'X86ISA::StoreCheck') + defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);', + 'X86ISA::StoreCheck | Request::LOCKED') defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;') def defineMicroStoreOp(mnemonic, code, \ -- cgit v1.2.3