mem.isa (4673:833d4a116810) | mem.isa (4675:598d4c33c38d) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2006 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 --- 355 unchanged lines hidden (view full) --- 364 365def template StoreMemAccExecute {{ 366 Fault 367 %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc, 368 Trace::InstRecord *traceData) const 369 { 370 Addr EA; 371 Fault fault = NoFault; | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2006 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 --- 355 unchanged lines hidden (view full) --- 364 365def template StoreMemAccExecute {{ 366 Fault 367 %(class_name)s::MemAcc::execute(%(CPU_exec_context)s *xc, 368 Trace::InstRecord *traceData) const 369 { 370 Addr EA; 371 Fault fault = NoFault; |
372 uint64_t write_result = 0; | |
373 374 %(fp_enable_check)s; 375 %(op_decl)s; 376 %(op_rd)s; 377 378 EA = xc->getEA(); 379 380 if (fault == NoFault) { 381 %(memacc_code)s; 382 } 383 384 if (fault == NoFault) { 385 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, | 372 373 %(fp_enable_check)s; 374 %(op_decl)s; 375 %(op_rd)s; 376 377 EA = xc->getEA(); 378 379 if (fault == NoFault) { 380 %(memacc_code)s; 381 } 382 383 if (fault == NoFault) { 384 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, |
386 memAccessFlags, &write_result); | 385 memAccessFlags, NULL); |
387 // @NOTE: Need to Call Complete Access to Set Trace Data 388 //if (traceData) { traceData->setData(Mem); } 389 } 390 391 return fault; 392 } 393}}; 394 --- 34 unchanged lines hidden (view full) --- 429}}; 430 431def template StoreExecute {{ 432 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, 433 Trace::InstRecord *traceData) const 434 { 435 Addr EA; 436 Fault fault = NoFault; | 386 // @NOTE: Need to Call Complete Access to Set Trace Data 387 //if (traceData) { traceData->setData(Mem); } 388 } 389 390 return fault; 391 } 392}}; 393 --- 34 unchanged lines hidden (view full) --- 428}}; 429 430def template StoreExecute {{ 431 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, 432 Trace::InstRecord *traceData) const 433 { 434 Addr EA; 435 Fault fault = NoFault; |
437 uint64_t write_result = 0; | |
438 439 %(fp_enable_check)s; 440 %(op_decl)s; 441 %(op_rd)s; 442 %(ea_code)s; 443 444 if (fault == NoFault) { 445 %(memacc_code)s; 446 } 447 448 if (fault == NoFault) { 449 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, | 436 437 %(fp_enable_check)s; 438 %(op_decl)s; 439 %(op_rd)s; 440 %(ea_code)s; 441 442 if (fault == NoFault) { 443 %(memacc_code)s; 444 } 445 446 if (fault == NoFault) { 447 fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA, |
450 memAccessFlags, &write_result); | 448 memAccessFlags, NULL); |
451 if (traceData) { traceData->setData(Mem); } 452 } 453 454 if (fault == NoFault) { 455 %(postacc_code)s; 456 } 457 458 if (fault == NoFault) { --- 272 unchanged lines hidden --- | 449 if (traceData) { traceData->setData(Mem); } 450 } 451 452 if (fault == NoFault) { 453 %(postacc_code)s; 454 } 455 456 if (fault == NoFault) { --- 272 unchanged lines hidden --- |