x86: Force strict ordering for memory mapped m5ops
Normal MMAPPED_IPR requests are allowed to execute speculatively under the assumption that they have no side effects. The special case of m5ops that are treated like MMAPPED_IPR should not be allowed to execute speculatively, since they can have side-effects. Adding the STRICT_ORDER flag to these requests blocks execution until the associated instruction hits the ROB head.
This commit is contained in:
@@ -235,7 +235,8 @@ TLB::finalizePhysical(RequestPtr req, ThreadContext *tc, Mode mode) const
|
||||
|
||||
if (m5opRange.contains(paddr)) {
|
||||
if (m5opRange.contains(paddr)) {
|
||||
req->setFlags(Request::MMAPPED_IPR | Request::GENERIC_IPR);
|
||||
req->setFlags(Request::MMAPPED_IPR | Request::GENERIC_IPR |
|
||||
Request::STRICT_ORDER);
|
||||
req->setPaddr(GenericISA::iprAddressPseudoInst(
|
||||
(paddr >> 8) & 0xFF,
|
||||
paddr & 0xFF));
|
||||
|
||||
Reference in New Issue
Block a user