diff options
author | David Hashe <david.hashe@amd.com> | 2015-07-20 09:15:18 -0500 |
---|---|---|
committer | David Hashe <david.hashe@amd.com> | 2015-07-20 09:15:18 -0500 |
commit | f5f04c312096e56f09ea27e84d3d2d2a97be97f9 (patch) | |
tree | 088cade08ea0761bb357ecd6ef7cebe2e01b2d98 | |
parent | 4935f0d5ff5bf5cae97021387362ab9c567a9262 (diff) | |
download | gem5-f5f04c312096e56f09ea27e84d3d2d2a97be97f9.tar.xz |
mem: add request types for acquire and release
Add support for acquire and release requests. These synchronization operations
are commonly supported by several modern instruction sets.
-rw-r--r-- | src/mem/request.hh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mem/request.hh b/src/mem/request.hh index 287a823ad..ef58686d6 100644 --- a/src/mem/request.hh +++ b/src/mem/request.hh @@ -155,6 +155,10 @@ class Request PF_EXCLUSIVE = 0x02000000, /** The request should be marked as LRU. */ EVICT_NEXT = 0x04000000, + /** The request should be marked with ACQUIRE. */ + ACQUIRE = 0x00020000, + /** The request should be marked with RELEASE. */ + RELEASE = 0x00040000, /** * The request should be handled by the generic IPR code (only @@ -696,6 +700,8 @@ class Request bool isMmappedIpr() const { return _flags.isSet(MMAPPED_IPR); } bool isSecure() const { return _flags.isSet(SECURE); } bool isPTWalk() const { return _flags.isSet(PT_WALK); } + bool isAcquire() const { return _flags.isSet(ACQUIRE); } + bool isRelease() const { return _flags.isSet(RELEASE); } }; #endif // __MEM_REQUEST_HH__ |