build.plat: elaborate result of create_missing_domain() against platform.

Before this commit, the result was elaborated without platform, which
caused generic implementation of e.g. ResetSynchronizer to be used.
This commit is contained in:
whitequark 2019-10-09 21:16:14 +00:00
parent 27a32f0218
commit 7257c20a6a
2 changed files with 3 additions and 3 deletions

View file

@ -111,7 +111,7 @@ class Platform(ResourceManager, metaclass=ABCMeta):
self._prepared = True
fragment = Fragment.get(elaboratable, self)
fragment.create_missing_domains(self.create_missing_domain)
fragment.create_missing_domains(self.create_missing_domain, platform=self)
def add_pin_fragment(pin, pin_fragment):
pin_fragment = Fragment.get(pin_fragment, self)

View file

@ -355,7 +355,7 @@ class Fragment:
subfrag._propagate_domains_down()
def create_missing_domains(self, missing_domain):
def create_missing_domains(self, missing_domain, *, platform=None):
from .xfrm import DomainCollector
collector = DomainCollector()
@ -374,7 +374,7 @@ class Fragment:
# and there was no chance to add any logic driving it.
new_domains.append(value)
else:
new_fragment = Fragment.get(value, platform=None)
new_fragment = Fragment.get(value, platform=platform)
if domain_name not in new_fragment.domains:
defined = new_fragment.domains.keys()
raise DomainError(