mem.isa (8406:87c3641f5bed) | mem.isa (8442:b1f3dfae06f1) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 The Regents of The University of Michigan 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 --- 183 unchanged lines hidden (view full) --- 192 Fault fault = NoFault; 193 194 %(fp_enable_check)s; 195 %(op_decl)s; 196 %(op_rd)s; 197 %(ea_code)s; 198 199 if (fault == NoFault) { | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 The Regents of The University of Michigan 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 --- 183 unchanged lines hidden (view full) --- 192 Fault fault = NoFault; 193 194 %(fp_enable_check)s; 195 %(op_decl)s; 196 %(op_rd)s; 197 %(ea_code)s; 198 199 if (fault == NoFault) { |
200 fault = xc->read(EA, (uint%(mem_acc_size)d_t&)Mem, memAccessFlags); | 200 fault = readMemAtomic(xc, traceData, EA, Mem, memAccessFlags); |
201 %(memacc_code)s; 202 } 203 204 if (fault == NoFault) { 205 %(op_wb)s; 206 } 207 208 return fault; --- 9 unchanged lines hidden (view full) --- 218 Fault fault = NoFault; 219 220 %(fp_enable_check)s; 221 %(op_src_decl)s; 222 %(op_rd)s; 223 %(ea_code)s; 224 225 if (fault == NoFault) { | 201 %(memacc_code)s; 202 } 203 204 if (fault == NoFault) { 205 %(op_wb)s; 206 } 207 208 return fault; --- 9 unchanged lines hidden (view full) --- 218 Fault fault = NoFault; 219 220 %(fp_enable_check)s; 221 %(op_src_decl)s; 222 %(op_rd)s; 223 %(ea_code)s; 224 225 if (fault == NoFault) { |
226 fault = xc->read(EA, (uint%(mem_acc_size)d_t &)Mem, memAccessFlags); | 226 fault = readMemTiming(xc, traceData, EA, Mem, memAccessFlags); |
227 } 228 229 return fault; 230 } 231}}; 232 233 234def template LoadCompleteAcc {{ 235 Fault %(class_name)s::completeAcc(PacketPtr pkt, 236 %(CPU_exec_context)s *xc, 237 Trace::InstRecord *traceData) const 238 { 239 Fault fault = NoFault; 240 241 %(fp_enable_check)s; 242 %(op_decl)s; 243 | 227 } 228 229 return fault; 230 } 231}}; 232 233 234def template LoadCompleteAcc {{ 235 Fault %(class_name)s::completeAcc(PacketPtr pkt, 236 %(CPU_exec_context)s *xc, 237 Trace::InstRecord *traceData) const 238 { 239 Fault fault = NoFault; 240 241 %(fp_enable_check)s; 242 %(op_decl)s; 243 |
244 Mem = pkt->get<typeof(Mem)>(); | 244 getMem(pkt, Mem, traceData); |
245 246 if (fault == NoFault) { 247 %(memacc_code)s; 248 } 249 250 if (fault == NoFault) { 251 %(op_wb)s; 252 } --- 15 unchanged lines hidden (view full) --- 268 %(op_rd)s; 269 %(ea_code)s; 270 271 if (fault == NoFault) { 272 %(memacc_code)s; 273 } 274 275 if (fault == NoFault) { | 245 246 if (fault == NoFault) { 247 %(memacc_code)s; 248 } 249 250 if (fault == NoFault) { 251 %(op_wb)s; 252 } --- 15 unchanged lines hidden (view full) --- 268 %(op_rd)s; 269 %(ea_code)s; 270 271 if (fault == NoFault) { 272 %(memacc_code)s; 273 } 274 275 if (fault == NoFault) { |
276 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, 277 memAccessFlags, NULL); | 276 fault = writeMemAtomic(xc, traceData, Mem, EA, 277 memAccessFlags, NULL); |
278 } 279 280 if (fault == NoFault) { 281 %(postacc_code)s; 282 } 283 284 if (fault == NoFault) { 285 %(op_wb)s; --- 16 unchanged lines hidden (view full) --- 302 %(op_rd)s; 303 %(ea_code)s; 304 305 if (fault == NoFault) { 306 %(memacc_code)s; 307 } 308 309 if (fault == NoFault) { | 278 } 279 280 if (fault == NoFault) { 281 %(postacc_code)s; 282 } 283 284 if (fault == NoFault) { 285 %(op_wb)s; --- 16 unchanged lines hidden (view full) --- 302 %(op_rd)s; 303 %(ea_code)s; 304 305 if (fault == NoFault) { 306 %(memacc_code)s; 307 } 308 309 if (fault == NoFault) { |
310 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, 311 memAccessFlags, &write_result); | 310 fault = writeMemAtomic(xc, traceData, Mem, EA, 311 memAccessFlags, &write_result); |
312 } 313 314 if (fault == NoFault) { 315 %(postacc_code)s; 316 } 317 318 if (fault == NoFault) { 319 %(op_wb)s; --- 15 unchanged lines hidden (view full) --- 335 %(op_rd)s; 336 %(ea_code)s; 337 338 if (fault == NoFault) { 339 %(memacc_code)s; 340 } 341 342 if (fault == NoFault) { | 312 } 313 314 if (fault == NoFault) { 315 %(postacc_code)s; 316 } 317 318 if (fault == NoFault) { 319 %(op_wb)s; --- 15 unchanged lines hidden (view full) --- 335 %(op_rd)s; 336 %(ea_code)s; 337 338 if (fault == NoFault) { 339 %(memacc_code)s; 340 } 341 342 if (fault == NoFault) { |
343 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, 344 memAccessFlags, NULL); | 343 fault = writeMemTiming(xc, traceData, Mem, EA, 344 memAccessFlags, NULL); |
345 } 346 347 return fault; 348 } 349}}; 350 351 352def template StoreCompleteAcc {{ --- 221 unchanged lines hidden --- | 345 } 346 347 return fault; 348 } 349}}; 350 351 352def template StoreCompleteAcc {{ --- 221 unchanged lines hidden --- |