diff mbox series

[v2,05/22] verification/dot2k: Make a separate dot2k_templates/Kconfig_container

Message ID 45b0fd8fc129cab7bac784fc1eeab9826ee7e241.1744355018.git.namcao@linutronix.de (mailing list archive)
State Superseded
Headers show
Series RV: Linear temporal logic monitors for RT application | expand

Commit Message

Nam Cao April 11, 2025, 7:37 a.m. UTC
A generated container's Kconfig has an incorrect line:

    select DA_MON_EVENTS_IMPLICIT

This is due to container generation uses the same template Kconfig file as
deterministic automaton monitor.

Therefore, make a separate Kconfig template for container which has only
the necessaries for container.

Signed-off-by: Nam Cao <namcao@linutronix.de>
---
Alternatively, we could also modify the Python scripts. I tried both and
this solution seems cleaner.
---
 tools/verification/dot2/dot2/dot2k.py                     | 3 ++-
 tools/verification/dot2/dot2k_templates/Kconfig_container | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 tools/verification/dot2/dot2k_templates/Kconfig_container

Comments

Gabriele Monaco April 11, 2025, 8:54 a.m. UTC | #1
On Fri, 2025-04-11 at 09:37 +0200, Nam Cao wrote:
> A generated container's Kconfig has an incorrect line:
> 
>     select DA_MON_EVENTS_IMPLICIT
> 
> This is due to container generation uses the same template Kconfig
> file as
> deterministic automaton monitor.
> 
> Therefore, make a separate Kconfig template for container which has
> only
> the necessaries for container.
> 
> Signed-off-by: Nam Cao <namcao@linutronix.de>
> ---
> Alternatively, we could also modify the Python scripts. I tried both
> and
> this solution seems cleaner.
> ---
>  tools/verification/dot2/dot2/dot2k.py                     | 3 ++-
>  tools/verification/dot2/dot2k_templates/Kconfig_container | 5 +++++
>  2 files changed, 7 insertions(+), 1 deletion(-)
>  create mode 100644
> tools/verification/dot2/dot2k_templates/Kconfig_container
> 
> diff --git a/tools/verification/dot2/dot2/dot2k.py
> b/tools/verification/dot2/dot2/dot2k.py
> index 745d35a4a379..dd4b5528a4f2 100644
> --- a/tools/verification/dot2/dot2/dot2k.py
> +++ b/tools/verification/dot2/dot2/dot2k.py
> @@ -35,6 +35,7 @@ class dot2k(Dot2c):
>              self.states = []
>              self.main_c =
> self.__read_file(self.monitor_templates_dir + "main_container.c")
>              self.main_h =
> self.__read_file(self.monitor_templates_dir + "main_container.h")
> +            self.kconfig =
> self.__read_file(self.monitor_templates_dir + "Kconfig_container")
>          else:
>              super().__init__(file_path,
> extra_params.get("model_name"))
>  
> @@ -44,7 +45,7 @@ class dot2k(Dot2c):
>              self.monitor_type = MonitorType
>              self.main_c =
> self.__read_file(self.monitor_templates_dir + "main.c")
>              self.trace_h =
> self.__read_file(self.monitor_templates_dir + "trace.h")
> -        self.kconfig = self.__read_file(self.monitor_templates_dir +
> "Kconfig")
> +            self.kconfig =
> self.__read_file(self.monitor_templates_dir + "Kconfig")
>          self.enum_suffix = "_%s" % self.name
>          self.description = extra_params.get("description",
> self.name) or "auto-generated"
>          self.auto_patch = extra_params.get("auto_patch")
> diff --git
> a/tools/verification/dot2/dot2k_templates/Kconfig_container
> b/tools/verification/dot2/dot2k_templates/Kconfig_container
> new file mode 100644
> index 000000000000..a606111949c2
> --- /dev/null
> +++ b/tools/verification/dot2/dot2k_templates/Kconfig_container
> @@ -0,0 +1,5 @@
> +config RV_MON_%%MODEL_NAME_UP%%
> +	depends on RV
> +	bool "%%MODEL_NAME%% monitor"
> +	help
> +	  %%DESCRIPTION%%

Good catch

Reviewed-by: Gabriele Monaco <gmonaco@redhat.com>
diff mbox series

Patch

diff --git a/tools/verification/dot2/dot2/dot2k.py b/tools/verification/dot2/dot2/dot2k.py
index 745d35a4a379..dd4b5528a4f2 100644
--- a/tools/verification/dot2/dot2/dot2k.py
+++ b/tools/verification/dot2/dot2/dot2k.py
@@ -35,6 +35,7 @@  class dot2k(Dot2c):
             self.states = []
             self.main_c = self.__read_file(self.monitor_templates_dir + "main_container.c")
             self.main_h = self.__read_file(self.monitor_templates_dir + "main_container.h")
+            self.kconfig = self.__read_file(self.monitor_templates_dir + "Kconfig_container")
         else:
             super().__init__(file_path, extra_params.get("model_name"))
 
@@ -44,7 +45,7 @@  class dot2k(Dot2c):
             self.monitor_type = MonitorType
             self.main_c = self.__read_file(self.monitor_templates_dir + "main.c")
             self.trace_h = self.__read_file(self.monitor_templates_dir + "trace.h")
-        self.kconfig = self.__read_file(self.monitor_templates_dir + "Kconfig")
+            self.kconfig = self.__read_file(self.monitor_templates_dir + "Kconfig")
         self.enum_suffix = "_%s" % self.name
         self.description = extra_params.get("description", self.name) or "auto-generated"
         self.auto_patch = extra_params.get("auto_patch")
diff --git a/tools/verification/dot2/dot2k_templates/Kconfig_container b/tools/verification/dot2/dot2k_templates/Kconfig_container
new file mode 100644
index 000000000000..a606111949c2
--- /dev/null
+++ b/tools/verification/dot2/dot2k_templates/Kconfig_container
@@ -0,0 +1,5 @@ 
+config RV_MON_%%MODEL_NAME_UP%%
+	depends on RV
+	bool "%%MODEL_NAME%% monitor"
+	help
+	  %%DESCRIPTION%%