From ae8734da053466e18c0f7fff13522ffca3aa96dd Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Thu, 1 Jun 2017 23:25:26 -0700 Subject: [PATCH] diplomacy: report cacheability in ResourceAddress --- src/main/scala/diplomacy/JSON.scala | 4 ++-- src/main/scala/diplomacy/Resources.scala | 2 +- src/main/scala/uncore/tilelink2/Parameters.scala | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/scala/diplomacy/JSON.scala b/src/main/scala/diplomacy/JSON.scala index ff6b28e3..e9632878 100644 --- a/src/main/scala/diplomacy/JSON.scala +++ b/src/main/scala/diplomacy/JSON.scala @@ -26,9 +26,9 @@ object JSON } private def helper(res: ResourceValue)(implicit path: Map[String, String]): Seq[String] = res match { - case ResourceAddress(address, r, w, x) => + case ResourceAddress(address, r, w, x, c) => AddressRange.fromSets(address).map { case AddressRange(base, size) => - s"""{"base":${base},"size":${size},"r":${r},"w":${w},"x":${x}}"""} + s"""{"base":${base},"size":${size},"r":${r},"w":${w},"x":${x},"c":${c}}"""} case ResourceMapping(address, offset) => AddressRange.fromSets(address).map { case AddressRange(base, size) => s"""{"base":${base},"size":${size},"offset":${offset}}"""} diff --git a/src/main/scala/diplomacy/Resources.scala b/src/main/scala/diplomacy/Resources.scala index cfcaa23b..aaaa3723 100644 --- a/src/main/scala/diplomacy/Resources.scala +++ b/src/main/scala/diplomacy/Resources.scala @@ -7,7 +7,7 @@ import config._ import scala.collection.immutable.{ListMap,SortedMap} sealed trait ResourceValue -final case class ResourceAddress(address: Seq[AddressSet], r: Boolean, w: Boolean, x: Boolean) extends ResourceValue +final case class ResourceAddress(address: Seq[AddressSet], r: Boolean, w: Boolean, x: Boolean, c: Boolean) extends ResourceValue final case class ResourceMapping(address: Seq[AddressSet], offset: BigInt) extends ResourceValue final case class ResourceInt(value: BigInt) extends ResourceValue final case class ResourceString(value: String) extends ResourceValue diff --git a/src/main/scala/uncore/tilelink2/Parameters.scala b/src/main/scala/uncore/tilelink2/Parameters.scala index f10f098e..e85d782b 100644 --- a/src/main/scala/uncore/tilelink2/Parameters.scala +++ b/src/main/scala/uncore/tilelink2/Parameters.scala @@ -60,7 +60,8 @@ case class TLManagerParameters( ResourceAddress(address, r = supportsAcquireB || supportsGet, w = supportsAcquireT || supportsPutFull, - x = executable) + x = executable, + c = supportsAcquireB) } }