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
	
	 whitequark
						whitequark