1// -*- mode:c++ -*- 2 3// Copyright (c) 2011-2014 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 33 unchanged lines hidden (view full) --- 42 if (baseIsSP && bits(XBase, 3, 0) && 43 SPAlignmentCheckEnabled(xc->tcBase())) { 44 return std::make_shared<SPAlignmentFault>(); 45 } 46 ''' 47}}; 48 49def template Load64Execute {{ |
50 Fault %(class_name)s::execute(ExecContext *xc, |
51 Trace::InstRecord *traceData) const 52 { 53 Addr EA; 54 Fault fault = NoFault; 55 56 %(op_decl)s; 57 %(op_rd)s; 58 %(ea_code)s; --- 7 unchanged lines hidden (view full) --- 66 %(op_wb)s; 67 } 68 69 return fault; 70 } 71}}; 72 73def template Store64Execute {{ |
74 Fault %(class_name)s::execute(ExecContext *xc, |
75 Trace::InstRecord *traceData) const 76 { 77 Addr EA; 78 Fault fault = NoFault; 79 80 %(op_decl)s; 81 %(op_rd)s; 82 %(ea_code)s; --- 11 unchanged lines hidden (view full) --- 94 %(op_wb)s; 95 } 96 97 return fault; 98 } 99}}; 100 101def template Store64InitiateAcc {{ |
102 Fault %(class_name)s::initiateAcc(ExecContext *xc, |
103 Trace::InstRecord *traceData) const 104 { 105 Addr EA; 106 Fault fault = NoFault; 107 108 %(op_decl)s; 109 %(op_rd)s; 110 %(ea_code)s; --- 7 unchanged lines hidden (view full) --- 118 NULL); 119 } 120 121 return fault; 122 } 123}}; 124 125def template StoreEx64Execute {{ |
126 Fault %(class_name)s::execute(ExecContext *xc, |
127 Trace::InstRecord *traceData) const 128 { 129 Addr EA; 130 Fault fault = NoFault; 131 132 %(op_decl)s; 133 %(op_rd)s; 134 %(ea_code)s; --- 16 unchanged lines hidden (view full) --- 151 %(op_wb)s; 152 } 153 154 return fault; 155 } 156}}; 157 158def template StoreEx64InitiateAcc {{ |
159 Fault %(class_name)s::initiateAcc(ExecContext *xc, |
160 Trace::InstRecord *traceData) const 161 { 162 Addr EA; 163 Fault fault = NoFault; 164 165 %(op_decl)s; 166 %(op_rd)s; 167 %(ea_code)s; --- 7 unchanged lines hidden (view full) --- 175 NULL); 176 } 177 178 return fault; 179 } 180}}; 181 182def template Load64InitiateAcc {{ |
183 Fault %(class_name)s::initiateAcc(ExecContext *xc, |
184 Trace::InstRecord *traceData) const 185 { 186 Addr EA; 187 Fault fault = NoFault; 188 189 %(op_src_decl)s; 190 %(op_rd)s; 191 %(ea_code)s; 192 193 if (fault == NoFault) { 194 fault = initiateMemRead(xc, traceData, EA, Mem, memAccessFlags); 195 } 196 197 return fault; 198 } 199}}; 200 201def template Load64CompleteAcc {{ |
202 Fault %(class_name)s::completeAcc(PacketPtr pkt, ExecContext *xc, |
203 Trace::InstRecord *traceData) const 204 { 205 Fault fault = NoFault; 206 207 %(op_decl)s; 208 %(op_rd)s; 209 210 // ARM instructions will not have a pkt if the predicate is false --- 7 unchanged lines hidden (view full) --- 218 %(op_wb)s; 219 } 220 221 return fault; 222 } 223}}; 224 225def template Store64CompleteAcc {{ |
226 Fault %(class_name)s::completeAcc(PacketPtr pkt, ExecContext *xc, |
227 Trace::InstRecord *traceData) const 228 { 229 return NoFault; 230 } 231}}; 232 233def template StoreEx64CompleteAcc {{ |
234 Fault %(class_name)s::completeAcc(PacketPtr pkt, ExecContext *xc, |
235 Trace::InstRecord *traceData) const 236 { 237 Fault fault = NoFault; 238 239 %(op_decl)s; 240 %(op_rd)s; 241 242 uint64_t writeResult = pkt->req->getExtraData(); --- 32 unchanged lines hidden (view full) --- 275 (IntRegIndex)_base, _dest, _imm) 276 { 277 %(constructor)s; 278 assert(!%(use_uops)d); 279 } 280}}; 281 282def template DCStore64Execute {{ |
283 Fault %(class_name)s::execute(ExecContext *xc, |
284 Trace::InstRecord *traceData) const 285 { 286 Addr EA; 287 Fault fault = NoFault; 288 289 %(op_decl)s; 290 %(op_rd)s; 291 %(ea_code)s; --- 11 unchanged lines hidden (view full) --- 303 %(op_wb)s; 304 } 305 306 return fault; 307 } 308}}; 309 310def template DCStore64InitiateAcc {{ |
311 Fault %(class_name)s::initiateAcc(ExecContext *xc, |
312 Trace::InstRecord *traceData) const 313 { 314 Addr EA; 315 Fault fault = NoFault; 316 317 %(op_decl)s; 318 %(op_rd)s; 319 %(ea_code)s; --- 367 unchanged lines hidden --- |