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

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

136
137//This template provides the execute functions for a load
138def template LoadExecute {{
139 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
140 Trace::InstRecord *traceData) const
141 {
142 Fault fault = NoFault;
143 Addr EA;
144 %(fp_enable_check)s;
145 %(op_decl)s;
146 %(op_rd)s;
147 %(ea_code)s;
148 DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
149 %(fault_check)s;
150 if(fault == NoFault)
151 {
152 fault = xc->read(EA, (uint%(mem_acc_size)s_t&)Mem, %(asi_val)s);

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

166}};
167
168def template LoadInitiateAcc {{
169 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s * xc,
170 Trace::InstRecord * traceData) const
171 {
172 Fault fault = NoFault;
173 Addr EA;
174 %(fp_enable_check)s;
175 %(op_decl)s;
176 %(op_rd)s;
177 %(ea_code)s;
178 DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
179 %(fault_check)s;
180 if(fault == NoFault)
181 {
182 fault = xc->read(EA, (uint%(mem_acc_size)s_t&)Mem, %(asi_val)s);

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

207 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
208 Trace::InstRecord *traceData) const
209 {
210 Fault fault = NoFault;
211 //This is to support the conditional store in cas instructions.
212 //It should be optomized out in all the others
213 bool storeCond = true;
214 Addr EA;
215 %(fp_enable_check)s;
216 %(op_decl)s;
217 %(op_rd)s;
218 %(ea_code)s;
219 DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
220 %(fault_check)s;
221 if(fault == NoFault)
222 {
223 %(code)s;

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

239
240def template StoreInitiateAcc {{
241 Fault %(class_name)s::initiateAcc(%(CPU_exec_context)s * xc,
242 Trace::InstRecord * traceData) const
243 {
244 Fault fault = NoFault;
245 bool storeCond = true;
246 Addr EA;
247 %(fp_enable_check)s;
248 %(op_decl)s;
249 %(op_rd)s;
250 %(ea_code)s;
251 DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
252 %(fault_check)s;
253 if(fault == NoFault)
254 {
255 %(code)s;

--- 96 unchanged lines hidden ---