I need to clear up my understanding of resource allocation. Here's my understanding of it:
1. Start at the root with 2 resources (1 for memory, 1 for IO) 2. For each child of each link: A. Add resources B. Get common constraints C. Descend links D. Propagate back to root
When you're done you should have the Root device with the superset of all devices' resources.
My question is if resources ever split. In other words, lets imagine a device which implements several IO ports in the 0x3fX range and larger regions that must be mapped above 0x1000. Since the limit for the smaller regions is 0x7ff and the alignment for the larger regions is 0x1000, they both can't coexist.
What happens?
Thanks, Myles