configs: Produce list of workload types in workloads.py

Change-Id: I3f585e006704e671775af8d66d241e555d34cb08
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27970
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2020-04-21 17:27:06 +01:00
parent 6d90ccd7d6
commit 43d6bbc38c

View File

@@ -37,10 +37,12 @@
from __future__ import print_function
from __future__ import absolute_import
import inspect
import m5
from m5.objects import *
from m5.options import *
from common.ObjectList import ObjectList
from common.SysPaths import binary, disk
class ArmBaremetal(ArmFsWorkload):
@@ -83,3 +85,12 @@ class ArmTrustedFirmware(ArmFsWorkload):
# Arm Trusted Firmware will provide a PSCI implementation
system._have_psci = True
class _WorkloadList(ObjectList):
def _add_objects(self):
"""Add all sub-classes of the base class in the object hierarchy."""
modname = sys.modules[__name__]
for name, cls in inspect.getmembers(modname, self._is_obj_class):
self._sub_classes[name] = cls
workload_list = _WorkloadList(getattr(m5.objects, 'ArmFsWorkload', None))