diff -r a32137c88e47 -r 77127b594cb8 src/arch/arm/isa/templates/mem.isa --- a/src/arch/arm/isa/templates/mem.isa Wed Mar 30 16:51:02 2011 -0500 +++ b/src/arch/arm/isa/templates/mem.isa Wed Mar 30 16:51:03 2011 -0500 @@ -455,14 +455,19 @@ Addr EA; Fault fault = NoFault; - %(op_src_decl)s; + %(op_decl)s; + %(mem_decl)s; %(op_rd)s; %(ea_code)s; + MemUnion memUnion; + uint8_t *dataPtr = memUnion.bytes; + + if (%(predicate_test)s) { if (fault == NoFault) { - fault = xc->readBytes(EA, NULL, %(size)d, memAccessFlags); + fault = xc->readBytes(EA, dataPtr, %(size)d, memAccessFlags); } } else { xc->setPredicate(false);