From: Nikos Nikoleris Date: Thu, 26 May 2016 08:49:52 +0000 (+0100) Subject: mem: Add a WriteClean command to the packet class X-Git-Tag: v19.0.0.0~2475 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d8afb8679301392561f4255edb9789d22aec5a2e;p=gem5.git mem: Add a WriteClean command to the packet class A WriteClean packet allows a cache to write a block to a memory below without evicting its copy. A typical usecase for a WriteClean packet is a cache clean operation. Change-Id: If356cb067da5ddf3210c135f41ef0891fb811568 Reviewed-by: Andreas Sandberg Reviewed-by: Curtis Dunham Reviewed-by: Anouk Van Laer Reviewed-on: https://gem5-review.googlesource.com/5044 Maintainer: Nikos Nikoleris Reviewed-by: Jason Lowe-Power --- diff --git a/src/mem/packet.cc b/src/mem/packet.cc index e05783ca9..75dfb28cb 100644 --- a/src/mem/packet.cc +++ b/src/mem/packet.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2016 ARM Limited + * Copyright (c) 2011-2017 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -95,6 +95,9 @@ MemCmd::commandInfo[] = * dirty. */ { SET5(IsWrite, IsRequest, IsEviction, HasData, FromCache), InvalidCmd, "WritebackClean" }, + /* WriteClean - This allows a cache to write a dirty block to a memory + below without evicting its copy. */ + { SET4(IsWrite, IsRequest, HasData, FromCache), InvalidCmd, "WriteClean" }, /* CleanEvict */ { SET3(IsRequest, IsEviction, FromCache), InvalidCmd, "CleanEvict" }, /* SoftPFReq */ diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 0920f223b..330e2ae5e 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2016 ARM Limited + * Copyright (c) 2012-2017 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -88,6 +88,7 @@ class MemCmd WriteResp, WritebackDirty, WritebackClean, + WriteClean, // writes dirty data below without evicting CleanEvict, SoftPFReq, HardPFReq,