if (%(predicate_test)s)
{
if (fault == NoFault) {
- fault = xc->readMem(EA, dataPtr, %(size)d, memAccessFlags);
+ const auto size = %(size)d;
+ fault = readMemAtomic(xc, EA, dataPtr,
+ size, memAccessFlags,
+ std::vector<bool>(size, true));
%(memacc_code)s;
}
}
if (fault == NoFault) {
- fault = xc->writeMem(dataPtr, %(size)d, EA,
- memAccessFlags, NULL);
+ const auto size = %(size)d;
+ fault = writeMemAtomic(xc, dataPtr, EA, size,
+ memAccessFlags, NULL,
+ std::vector<bool>(size, true));
}
if (fault == NoFault) {
}
if (fault == NoFault) {
- fault = xc->writeMem(memUnion.bytes, %(size)d, EA,
- memAccessFlags, NULL);
+ const auto size = %(size)d;
+ fault = writeMemTiming(xc, memUnion.bytes, EA,
+ size, memAccessFlags, nullptr,
+ std::vector<bool>(size, true));
}
} else {
xc->setPredicate(false);
if (%(predicate_test)s)
{
if (fault == NoFault) {
- fault = xc->initiateMemRead(EA, %(size)d, memAccessFlags);
+ const auto size = %(size)d;
+ fault = initiateMemRead(xc, EA, size, memAccessFlags,
+ std::vector<bool>(size, true));
}
} else {
xc->setPredicate(false);
}
if (fault == NoFault) {
- fault = xc->writeMem(NULL, op_size, EA, memAccessFlags, NULL);
+ fault = writeMemAtomic(xc, NULL, EA,
+ op_size, memAccessFlags, NULL,
+ std::vector<bool>(op_size, true));
}
if (fault == NoFault) {
}
if (fault == NoFault) {
- fault = xc->writeMem(NULL, op_size, EA, memAccessFlags, NULL);
+ fault = writeMemTiming(xc, NULL, EA, op_size,
+ memAccessFlags, NULL,
+ std::vector<bool>(op_size, true));
}
return fault;
if (fault == NoFault) {
Addr op_size = xc->tcBase()->getSystemPtr()->cacheLineSize();
EA &= ~(op_size - 1);
- fault = xc->writeMem(NULL, op_size, EA, memAccessFlags, NULL);
+ fault = writeMemAtomic(xc, NULL, EA, op_size,
+ memAccessFlags, NULL, std::vector<bool>(op_size, true));
}
} else {
xc->setPredicate(false);
if (fault == NoFault) {
Addr op_size = xc->tcBase()->getSystemPtr()->cacheLineSize();
EA &= ~(op_size - 1);
- fault = xc->writeMem(NULL, op_size, EA, memAccessFlags, NULL);
+ fault = writeMemTiming(xc, NULL, EA, op_size,
+ memAccessFlags, NULL, std::vector<bool>(op_size, true));
}
} else {
xc->setPredicate(false);
uint8_t *dataPtr = memUnion.bytes;
if (fault == NoFault) {
- fault = xc->readMem(EA, dataPtr, accSize, memAccessFlags);
+ fault = readMemAtomic(xc, EA, dataPtr,
+ accSize, memAccessFlags,
+ std::vector<bool>(accSize, true));
%(memacc_code)s;
}
%(ea_code)s;
if (fault == NoFault) {
- fault = xc->initiateMemRead(EA, accSize, memAccessFlags);
+ fault = initiateMemRead(xc, EA, accSize,
+ memAccessFlags,
+ std::vector<bool>(accSize, true));
}
return fault;
}
if (fault == NoFault) {
- fault = xc->writeMem(dataPtr, accSize, EA, memAccessFlags,
- NULL);
+ fault = writeMemAtomic(xc, dataPtr, EA, accSize,
+ memAccessFlags, nullptr,
+ std::vector<bool>(accSize, true));
}
if (fault == NoFault) {
}
if (fault == NoFault) {
- fault = xc->writeMem(memUnion.bytes, accSize, EA, memAccessFlags,
- NULL);
+ fault = writeMemTiming(xc, memUnion.bytes, EA,
+ accSize, memAccessFlags, NULL,
+ std::vector<bool>(accSize, true));
}
return fault;
%(rden_code)s;
- fault = xc->readMem(EA, memData.raw_ptr<uint8_t>(), memAccessSize,
- this->memAccessFlags, rdEn);
+ fault = readMemAtomic(xc, EA, memData.raw_ptr<uint8_t>(),
+ memAccessSize, this->memAccessFlags, rdEn);
%(fault_code)s;
%(rden_code)s;
- fault = xc->initiateMemRead(EA, memAccessSize, this->memAccessFlags,
- rdEn);
+ fault = initiateMemRead(xc, EA, memAccessSize,
+ this->memAccessFlags, rdEn);
%(fault_code)s;
}
if (fault == NoFault) {
- fault = xc->writeMem(memData.raw_ptr<uint8_t>(), memAccessSize, EA,
- this->memAccessFlags, NULL, wrEn);
+ fault = writeMemAtomic(xc, memData.raw_ptr<uint8_t>(),
+ EA, memAccessSize, this->memAccessFlags, NULL, wrEn);
}
if (fault == NoFault) {
}
if (fault == NoFault) {
- fault = xc->writeMem(memData.raw_ptr<uint8_t>(), memAccessSize, EA,
- this->memAccessFlags, NULL, wrEn);
+ fault = writeMemTiming(xc, memData.raw_ptr<uint8_t>(),
+ EA, memAccessSize, this->memAccessFlags, NULL, wrEn);
}
return fault;
auto memDataView = memData.as<Element>();
if (fault == NoFault) {
- fault = xc->readMem(EA, memData.raw_ptr<uint8_t>(), memAccessSize,
- this->memAccessFlags);
+ fault = readMemAtomic(xc, EA, memData.raw_ptr<uint8_t>(),
+ memAccessSize, this->memAccessFlags,
+ std::vector<bool>(memAccessSize, true));
%(memacc_code)s;
}
%(ea_code)s;
if (fault == NoFault) {
- fault = xc->initiateMemRead(EA, memAccessSize,
- this->memAccessFlags);
+ fault = initiateMemRead(xc, EA,
+ memAccessSize, this->memAccessFlags,
+ std::vector<bool>(memAccessSize, true));
}
return fault;
}
if (fault == NoFault) {
- fault = xc->writeMem(memData.raw_ptr<uint8_t>(), memAccessSize, EA,
- this->memAccessFlags, NULL, wrEn);
+ fault = writeMemAtomic(xc, memData.raw_ptr<uint8_t>(),
+ EA, memAccessSize, this->memAccessFlags, NULL, wrEn);
}
if (fault == NoFault) {
}
if (fault == NoFault) {
- fault = xc->writeMem(memData.raw_ptr<uint8_t>(), memAccessSize, EA,
- this->memAccessFlags, NULL, wrEn);
+ fault = writeMemTiming(xc, memData.raw_ptr<uint8_t>(),
+ EA, memAccessSize, this->memAccessFlags, NULL, wrEn);
}
return fault;