util.isa (12294:650a9d8b23cc) util.isa (12385:288c62455dde)
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 149 unchanged lines hidden (view full) ---

158def template StoreCompleteAcc {{
159 Fault %(class_name)s::completeAcc(PacketPtr, ExecContext * xc,
160 Trace::InstRecord * traceData) const
161 {
162 return NoFault;
163 }
164}};
165
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 149 unchanged lines hidden (view full) ---

158def template StoreCompleteAcc {{
159 Fault %(class_name)s::completeAcc(PacketPtr, ExecContext * xc,
160 Trace::InstRecord * traceData) const
161 {
162 return NoFault;
163 }
164}};
165
166def template EACompExecute {{
167 Fault
168 %(class_name)s::eaComp(ExecContext *xc,
169 Trace::InstRecord *traceData) const
170 {
171 Addr EA;
172 Fault fault = NoFault;
173 %(op_decl)s;
174 %(op_rd)s;
175 %(ea_code)s;
176 %(fault_check)s;
177
178 // NOTE: Trace Data is written using execute or completeAcc templates
179 if (fault == NoFault) {
180 %(EA_trunc)s
181 xc->setEA(EA);
182 }
183
184 return fault;
185 }
186}};
187
188// Here are some code snippets which check for various fault conditions
189let {{
190 LoadFuncs = [LoadExecute, LoadInitiateAcc, LoadCompleteAcc]
191 StoreFuncs = [StoreExecute, StoreInitiateAcc, StoreCompleteAcc]
192
193 # The LSB can be zero, since it's really the MSB in doubles and quads
194 # and we're dealing with doubles
195 BlockAlignmentFaultCheck = '''

--- 63 unchanged lines hidden ---
166// Here are some code snippets which check for various fault conditions
167let {{
168 LoadFuncs = [LoadExecute, LoadInitiateAcc, LoadCompleteAcc]
169 StoreFuncs = [StoreExecute, StoreInitiateAcc, StoreCompleteAcc]
170
171 # The LSB can be zero, since it's really the MSB in doubles and quads
172 # and we're dealing with doubles
173 BlockAlignmentFaultCheck = '''

--- 63 unchanged lines hidden ---