On Wed, Apr 25, 2012 at 06:25:07PM +1200, Alexey Korolev wrote: > On 25/04/12 13:48, Kevin O'Connor wrote: > > On Tue, Apr 24, 2012 at 06:25:39PM +1200, Alexey Korolev wrote: > >> + pci_region_map_entries(busses, &r64_mem); > >> + pci_region_map_entries(busses, &r64_pref); > >> + } > >> // Map regions on each device. > > This doesn't look right to me. This will map the devices on bus 0 to > > the proper >4g address, but devices on any subsequent bus will use > > busses[0].r[].base which will be reset to the <4gig address. Perhaps > > pull base out of pci_region and make pci_region_map_entries() > > recursive? > No recursion is need here! > We map all entries which are 64bit on root bus. > If entry is a bridge region - a corresponding bus address will be updated. > Region won't be reseted to <4gig address as address is derived from parent > region only.
Okay - I missed that. I think the patches look okay to be committed - any additional changes can be made on top. Gerd - do you have any comments? -Kevin