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 --- |