On Mon, 2004-03-01 at 14:06, Eric W. Biederman wrote:
There are many was to assign resources on a bus. After some experiences with tight memory situations I implemented a near optimal solution. The solution is optimal if all of your resources are a power of 2 in size.
Basically the code is a loop. For each iteration the code finds the largest unassigned resource. Then the resource constraints of that resource are considered and padding between the previous resources and the current resources are inserted if necessary. Then we get into the next iteration.
I still don't understand this. Do you mean that now the resource allocation is not sequential (in the order of devices been enumerated) and not continuous (there are gaps in allocated address) ?
Ollie
The reason this is optimal if all of your resources are a power of two in size is because if your previous resource is a larger or equal power of two no padding will be needed for the current resource.