1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 The Regents of The University of Michigan 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 116 unchanged lines hidden (view full) --- 125 class %(class_name)s : public %(base_class)s 126 { 127 public: 128 129 /// Constructor. 130 %(class_name)s(ExtMachInst machInst); 131 132 Fault execute(ExecContext *, Trace::InstRecord *) const; |
133 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; 134 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const; 135 }; 136}}; 137 138def template LoadStoreConstructor {{ 139 %(class_name)s::%(class_name)s(ExtMachInst machInst) 140 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) 141 { 142 %(constructor)s; 143 } 144}}; 145 |
146 |
147def template LoadExecute {{ 148 Fault %(class_name)s::execute(ExecContext *xc, 149 Trace::InstRecord *traceData) const 150 { 151 Addr EA; 152 Fault fault = NoFault; 153 154 %(fp_enable_check)s; --- 285 unchanged lines hidden (view full) --- 440 initiateAccTemplate = eval(exec_template_base + 'InitiateAcc') 441 completeAccTemplate = eval(exec_template_base + 'CompleteAcc') 442 443 # (header_output, decoder_output, decode_block, exec_output) 444 return (LoadStoreDeclare.subst(iop), 445 LoadStoreConstructor.subst(iop), 446 decode_template.subst(iop), 447 fullExecTemplate.subst(iop) |
448 + initiateAccTemplate.subst(iop) 449 + completeAccTemplate.subst(iop)) 450}}; 451 452def format LoadOrNop(memacc_code, ea_code = {{ EA = Rb + disp; }}, 453 mem_flags = [], inst_flags = []) {{ 454 (header_output, decoder_output, decode_block, exec_output) = \ 455 LoadStoreBase(name, Name, ea_code, memacc_code, mem_flags, inst_flags, --- 60 unchanged lines hidden --- |