mem.isa (12236:126ac9da6050) | mem.isa (12385:288c62455dde) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 MIPS Technologies, Inc. 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 --- 129 unchanged lines hidden (view full) --- 138 class %(class_name)s : public %(base_class)s 139 { 140 public: 141 142 /// Constructor. 143 %(class_name)s(ExtMachInst machInst); 144 145 Fault execute(ExecContext *, Trace::InstRecord *) const; | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 MIPS Technologies, Inc. 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 --- 129 unchanged lines hidden (view full) --- 138 class %(class_name)s : public %(base_class)s 139 { 140 public: 141 142 /// Constructor. 143 %(class_name)s(ExtMachInst machInst); 144 145 Fault execute(ExecContext *, Trace::InstRecord *) const; |
146 Fault eaComp(ExecContext *, Trace::InstRecord *) const; | |
147 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; 148 Fault completeAcc(Packet *, ExecContext *, Trace::InstRecord *) const; 149 }; 150}}; 151 152 153def template LoadStoreConstructor {{ 154 %(class_name)s::%(class_name)s(ExtMachInst machInst) 155 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) 156 { 157 %(constructor)s; 158 } 159}}; 160 | 146 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; 147 Fault completeAcc(Packet *, ExecContext *, Trace::InstRecord *) const; 148 }; 149}}; 150 151 152def template LoadStoreConstructor {{ 153 %(class_name)s::%(class_name)s(ExtMachInst machInst) 154 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) 155 { 156 %(constructor)s; 157 } 158}}; 159 |
161 162def template EACompExecute {{ 163 Fault 164 %(class_name)s::eaComp(ExecContext *xc, Trace::InstRecord *traceData) const 165 { 166 Addr EA; 167 Fault fault = NoFault; 168 169 if (this->isFloating()) { 170 %(fp_enable_check)s; 171 172 if(fault != NoFault) 173 return fault; 174 } 175 176 %(op_decl)s; 177 %(op_rd)s; 178 %(ea_code)s; 179 180 // NOTE: Trace Data is written using execute or completeAcc templates 181 if (fault == NoFault) { 182 xc->setEA(EA); 183 } 184 185 return fault; 186 } 187}}; 188 | |
189def template LoadExecute {{ 190 Fault %(class_name)s::execute(ExecContext *xc, 191 Trace::InstRecord *traceData) const 192 { 193 Addr EA; 194 Fault fault = NoFault; 195 196 if (this->isFloating()) { --- 387 unchanged lines hidden --- | 160def template LoadExecute {{ 161 Fault %(class_name)s::execute(ExecContext *xc, 162 Trace::InstRecord *traceData) const 163 { 164 Addr EA; 165 Fault fault = NoFault; 166 167 if (this->isFloating()) { --- 387 unchanged lines hidden --- |