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 | 6511ab4654f91252de568857fbe15d2c8bce00d4 (patch) | |
tree | 0b833327672937ac46387c3989b16633cb721f9d /src/mem/packet.cc | |
parent | 7e9562013b1592c5cc402c43ee1d21025f375a71 (diff) | |
download | gem5-6511ab4654f91252de568857fbe15d2c8bce00d4.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.
Diffstat (limited to 'src/mem/packet.cc')
-rw-r--r-- | src/mem/packet.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mem/packet.cc b/src/mem/packet.cc index 7fe152f7d..bda5ff24f 100644 --- a/src/mem/packet.cc +++ b/src/mem/packet.cc @@ -12,7 +12,7 @@ * modified or unmodified, in source code or in binary form. * * Copyright (c) 2006 The Regents of The University of Michigan - * Copyright (c) 2010 Advanced Micro Devices, Inc. + * Copyright (c) 2010,2015 Advanced Micro Devices, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -165,6 +165,14 @@ MemCmd::commandInfo[] = MessageResp, "MessageReq" }, /* IntResp -- for interrupts */ { SET2(IsWrite, IsResponse), InvalidCmd, "MessageResp" }, + /* ReleaseReq -- for release synchronization */ + { SET3(IsRelease, IsRequest, NeedsResponse), ReleaseResp, "ReleaseReq" }, + /* ReleaseResp -- for release synchronization */ + { SET2(IsRelease, IsResponse), InvalidCmd, "ReleaseResp" }, + /* AcquireReq -- for release synchronization */ + { SET3(IsAcquire, IsRequest, NeedsResponse), AcquireResp, "AcquireReq" }, + /* AcquireResp -- for release synchronization */ + { SET3(IsAcquire, IsResponse, NeedsResponse), InvalidCmd, "AcquireResp" }, /* InvalidDestError -- packet dest field invalid */ { SET2(IsResponse, IsError), InvalidCmd, "InvalidDestError" }, /* BadAddressError -- memory address invalid */ |