From 8919c4bfa523820012a105e4ef33c575321ef030 Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Mon, 5 Oct 2009 22:33:29 +0300 Subject: [PATCH] CML2 suppress bug caused number of containers to be misconfigured. Now worked around. CML2 seems to forget supressing derived symbols that are derived from suppressed symbols. (Expected behaviour) This caused the configuration parser to recognize the illegally visible symbols to be from those containers. Now worked around by adding the extra check for CONFIG_CONTAINERS have been parsed. A real solution requires fixing CML2 symbol visibility function. --- config/configuration.py | 9 +++++++++ scripts/kernel/generate_kernel_cinfo.py | 2 ++ 2 files changed, 11 insertions(+) diff --git a/config/configuration.py b/config/configuration.py index ae35eb0..8e37198 100644 --- a/config/configuration.py +++ b/config/configuration.py @@ -43,6 +43,7 @@ class configuration: self.platform = None self.all = [] self.containers = [] + self.ncontainers = 0 # Get all name value symbols def get_all(self, name, val): @@ -157,6 +158,14 @@ class configuration: if id == cont.id: return + # If symbol to describe number of containers + # Has already been visited, use that number + # as an extra checking. + if self.ncontainers > 0: + # Sometimes unwanted symbols slip through + if id >= int(self.ncontainers): + return + container = Container(id) self.containers.append(container) diff --git a/scripts/kernel/generate_kernel_cinfo.py b/scripts/kernel/generate_kernel_cinfo.py index 8cbc11f..9d852b3 100755 --- a/scripts/kernel/generate_kernel_cinfo.py +++ b/scripts/kernel/generate_kernel_cinfo.py @@ -196,6 +196,8 @@ def generate_kernel_cinfo(config, cinfo_path): containers.sort() print "Generating kernel cinfo..." + #config.config_print() + pager_ifdefs = generate_pager_memory_ifdefs(containers) with open(cinfo_path, 'w+') as cinfo_file: