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:
parent
27a32f0218
commit
7257c20a6a
|
@ -111,7 +111,7 @@ class Platform(ResourceManager, metaclass=ABCMeta):
|
||||||
self._prepared = True
|
self._prepared = True
|
||||||
|
|
||||||
fragment = Fragment.get(elaboratable, self)
|
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):
|
def add_pin_fragment(pin, pin_fragment):
|
||||||
pin_fragment = Fragment.get(pin_fragment, self)
|
pin_fragment = Fragment.get(pin_fragment, self)
|
||||||
|
|
|
@ -355,7 +355,7 @@ class Fragment:
|
||||||
|
|
||||||
subfrag._propagate_domains_down()
|
subfrag._propagate_domains_down()
|
||||||
|
|
||||||
def create_missing_domains(self, missing_domain):
|
def create_missing_domains(self, missing_domain, *, platform=None):
|
||||||
from .xfrm import DomainCollector
|
from .xfrm import DomainCollector
|
||||||
|
|
||||||
collector = DomainCollector()
|
collector = DomainCollector()
|
||||||
|
@ -374,7 +374,7 @@ class Fragment:
|
||||||
# and there was no chance to add any logic driving it.
|
# and there was no chance to add any logic driving it.
|
||||||
new_domains.append(value)
|
new_domains.append(value)
|
||||||
else:
|
else:
|
||||||
new_fragment = Fragment.get(value, platform=None)
|
new_fragment = Fragment.get(value, platform=platform)
|
||||||
if domain_name not in new_fragment.domains:
|
if domain_name not in new_fragment.domains:
|
||||||
defined = new_fragment.domains.keys()
|
defined = new_fragment.domains.keys()
|
||||||
raise DomainError(
|
raise DomainError(
|
||||||
|
|
Loading…
Reference in a new issue