From 6511ab4654f91252de568857fbe15d2c8bce00d4 Mon Sep 17 00:00:00 2001 From: David Hashe Date: Mon, 20 Jul 2015 09:15:18 -0500 Subject: 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. --- src/mem/packet.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/mem/packet.cc') 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 */ -- cgit v1.2.3