From aade13769fc6c666bb855e0745e042c82f9941d6 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 2 Jul 2011 22:34:29 -0700 Subject: ISA: Use readBytes/writeBytes for all instruction level memory operations. --- src/arch/x86/isa/includes.isa | 1 + src/arch/x86/isa/microops/ldstop.isa | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/arch/x86/isa') diff --git a/src/arch/x86/isa/includes.isa b/src/arch/x86/isa/includes.isa index 8d4af6829..dc8abbc66 100644 --- a/src/arch/x86/isa/includes.isa +++ b/src/arch/x86/isa/includes.isa @@ -112,6 +112,7 @@ output exec {{ #include "arch/x86/regs/misc.hh" #include "arch/x86/cpuid.hh" #include "arch/x86/faults.hh" +#include "arch/x86/memhelpers.hh" #include "arch/x86/tlb.hh" #include "base/bigint.hh" #include "base/compiler.hh" diff --git a/src/arch/x86/isa/microops/ldstop.isa b/src/arch/x86/isa/microops/ldstop.isa index f7a38b486..c88161f34 100644 --- a/src/arch/x86/isa/microops/ldstop.isa +++ b/src/arch/x86/isa/microops/ldstop.isa @@ -98,7 +98,7 @@ def template MicroLoadExecute {{ %(ea_code)s; DPRINTF(X86, "%s : %s: The address is %#x\n", instMnem, mnemonic, EA); - fault = read(xc, EA, Mem, memFlags); + fault = readMemAtomic(xc, traceData, EA, Mem, dataSize, memFlags); if (fault == NoFault) { %(code)s; @@ -127,7 +127,7 @@ def template MicroLoadInitiateAcc {{ %(ea_code)s; DPRINTF(X86, "%s : %s: The address is %#x\n", instMnem, mnemonic, EA); - fault = read(xc, EA, Mem, memFlags); + fault = readMemTiming(xc, traceData, EA, Mem, dataSize, memFlags); return fault; } @@ -143,7 +143,7 @@ def template MicroLoadCompleteAcc {{ %(op_decl)s; %(op_rd)s; - Mem = get(pkt); + Mem = getMem(pkt, dataSize, traceData); %(code)s; @@ -174,7 +174,8 @@ def template MicroStoreExecute {{ if(fault == NoFault) { - fault = write(xc, Mem, EA, memFlags); + fault = writeMemAtomic(xc, traceData, Mem, dataSize, EA, + memFlags, NULL); if(fault == NoFault) { %(op_wb)s; @@ -201,7 +202,8 @@ def template MicroStoreInitiateAcc {{ if(fault == NoFault) { - fault = write(xc, Mem, EA, memFlags); + fault = writeMemTiming(xc, traceData, Mem, dataSize, EA, + memFlags, NULL); } return fault; } -- cgit v1.2.3