aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorEric Kunze <eric.kunze@arm.com>2024-04-10 16:54:16 -0700
committerEric Kunze <eric.kunze@arm.com>2024-04-16 16:46:48 -0700
commit132acad52654a72d638faeaed8dc1488d5b1fe15 (patch)
treee413b8e4aaf45ecc02055526706e9fbcbab2194a /tools
parent0d7d001c73d5063a8d9b6dba388aded0973a3110 (diff)
downloadspecification-132acad52654a72d638faeaed8dc1488d5b1fe15.tar.gz
Add allowed profiles for each extension
Each extension can contain a list of profiles that it works with. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I7cf2ad0c57fc8a36500212b7d554a8153fc2efe5
Diffstat (limited to 'tools')
-rwxr-xr-xtools/genspec.py6
-rw-r--r--tools/tosa.py6
2 files changed, 8 insertions, 4 deletions
diff --git a/tools/genspec.py b/tools/genspec.py
index bae11cc..7710c07 100755
--- a/tools/genspec.py
+++ b/tools/genspec.py
@@ -137,10 +137,11 @@ class TOSASpecAsciidocGenerator:
# Generate profile table
with open(os.path.join(outdir, "profile_extensions.adoc"), "w") as f:
f.write("|===\n")
- f.write("|Name|Description|Specification Status\n\n")
+ f.write("|Name|Description|Allowed profiles|Specification Status\n\n")
for profile_extension in self.spec.profile_extensions:
f.write(
f"|{profile_extension.name}|{profile_extension.description}"
+ f"|{','.join(profile_extension.profiles)}"
f"|{profile_extension.status}\n"
)
f.write("|===\n")
@@ -199,7 +200,8 @@ class TOSASpecAsciidocGenerator:
for pext in self.spec.profile_extensions:
f.write(f"==== {pext.name} extension\n")
f.write(f"{pext.description}\n\n")
- f.write(f"Status: {pext.status}\n")
+ f.write(f"Status: {pext.status}\n\n")
+ f.write(f"Compatible profiles: {', '.join(pext.profiles)}\n\n")
f.write("|===\n")
f.write("|Operator|mode|note\n\n")
for op in sorted(all_operators, key=lambda o: o.name):
diff --git a/tools/tosa.py b/tools/tosa.py
index e70b297..016aba6 100644
--- a/tools/tosa.py
+++ b/tools/tosa.py
@@ -41,10 +41,11 @@ class TOSAProfile:
class TOSAProfileExtension:
- def __init__(self, name, description, status):
+ def __init__(self, name, description, status, profiles):
self.name = name
self.description = description
self.status = status
+ self.profiles = profiles
self.ops = []
@@ -155,7 +156,8 @@ class TOSASpec:
name = ext.get("name")
description = ext.get("description")
status = ext.get("status")
- return TOSAProfileExtension(name, description, status)
+ profiles = [x.text for x in ext]
+ return TOSAProfileExtension(name, description, status, profiles)
def __load_level(self, level):
name = level.get("name")