Chris January has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/31076 )

Change subject: fastmodel: Fix hierachical Iris component names.
......................................................................

fastmodel: Fix hierachical Iris component names.

Recent releases of Fast Models structure Iris resources in a hierarchy.
Use the parent resource ID if set to construct the hierachical name of
components when constructing the resource map.

Change-Id: Iafafa26d5aff560c3b2e93894f81f770c0e98079
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31076
Reviewed-by: Gabe Black <[email protected]>
Maintainer: Gabe Black <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/arch/arm/fastmodel/iris/thread_context.cc
1 file changed, 27 insertions(+), 2 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/arm/fastmodel/iris/thread_context.cc b/src/arch/arm/fastmodel/iris/thread_context.cc
index a2cf2bf..070a386 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.cc
+++ b/src/arch/arm/fastmodel/iris/thread_context.cc
@@ -1,4 +1,16 @@
 /*
+ * Copyright (c) 2020 ARM Limited
+ * All rights reserved
+ *
+ * The license below extends only to copyright in the software and shall
+ * not be construed as granting a license to any other intellectual
+ * property including but not limited to intellectual property relating
+ * to a hardware implementation of the functionality of the software
+ * licensed hereunder.  You may use the software subject to the license
+ * terms below provided that you ensure that this notice is replicated
+ * unmodified and in its entirety in all distributions of the software,
+ * modified or unmodified, in source code or in binary form.
+ *
  * Copyright 2019 Google, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -204,9 +216,22 @@
     std::vector<iris::ResourceInfo> resources;
     call().resource_getList(_instId, resources);

+    std::map<iris::ResourceId, const iris::ResourceInfo *>
+        idToResource;
+    for (const auto &resource: resources) {
+        idToResource[resource.rscId] = &resource;
+    }
     ResourceMap resourceMap;
-    for (auto &resource: resources)
-        resourceMap[resource.name] = resource;
+    for (const auto &resource: resources) {
+        std::string name = resource.name;
+        iris::ResourceId parentId = resource.parentRscId;
+        while (parentId != iris::IRIS_UINT64_MAX) {
+            const auto *parent = idToResource[parentId];
+            name = parent->name + "." + name;
+            parentId = parent->parentRscId;
+        }
+        resourceMap[name] = resource;
+    }

     initFromIrisInstance(resourceMap);


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31076
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Iafafa26d5aff560c3b2e93894f81f770c0e98079
Gerrit-Change-Number: 31076
Gerrit-PatchSet: 5
Gerrit-Owner: Chris January <[email protected]>
Gerrit-Reviewer: Chris January <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to