352a353,387
>
> %(fp_enable_check)s;
> %(op_decl)s;
> %(op_rd)s;
> EA = xc->getEA();
>
> if (fault == NoFault) {
> %(memacc_code)s;
> }
>
> if (fault == NoFault) {
> fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA,
> memAccessFlags, NULL);
> if (traceData) { traceData->setData(Mem); }
> }
>
> if (fault == NoFault) {
> %(postacc_code)s;
> }
>
> if (fault == NoFault) {
> %(op_wb)s;
> }
>
> return fault;
> }
> }};
>
> def template StoreCondMemAccExecute {{
> Fault
> %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc,
> Trace::InstRecord *traceData) const
> {
> Addr EA;
> Fault fault = NoFault;
388a424,457
>
> %(fp_enable_check)s;
> %(op_decl)s;
> %(op_rd)s;
> %(ea_code)s;
>
> if (fault == NoFault) {
> %(memacc_code)s;
> }
>
> if (fault == NoFault) {
> fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA,
> memAccessFlags, NULL);
> if (traceData) { traceData->setData(Mem); }
> }
>
> if (fault == NoFault) {
> %(postacc_code)s;
> }
>
> if (fault == NoFault) {
> %(op_wb)s;
> }
>
> return fault;
> }
> }};
>
> def template StoreCondExecute {{
> Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
> Trace::InstRecord *traceData) const
> {
> Addr EA;
> Fault fault = NoFault;
617,620c686,687
< # define aliases... most StoreCond templates are the same as the
< # corresponding Store templates (only CompleteAcc is different).
< StoreCondMemAccExecute = StoreMemAccExecute
< StoreCondExecute = StoreExecute
---
> # The InitiateAcc template is the same for StoreCond templates as the
> # corresponding Store template..