[U-Boot] [PATCH] pci: Treat all PCI bus addresses as 64-bit

Kumar Gala galak at kernel.crashing.org
Tue Oct 21 17:00:37 CEST 2008


On Oct 21, 2008, at 9:46 AM, Wolfgang Denk wrote:

> Dear Kumar Gala,
>
> In message <1224598531-2698-1-git-send-email- 
> galak at kernel.crashing.org> you wrote:
>> PCI bus is inherently 64-bit.  We should treat all PCI related bus
>> addresses as 64-bit quanities.  This allows us to have the ability
>> to support devices or memory on the PCI bus above the 32-bit  
>> boundary.
>
> I don't think this is a good idea. There are pure 32 bit systems  out
> there which will never use more than 32 bit for the PCI resources, so
> why load them with the additional memory size and execution time?
>
> Should we not enable this only for such systems that actually need it?

We could, however it seems the impact is pretty small on those systems  
with pure 32-bit PCI.  I think the different in testing etc may not be  
worth it:

    text	   data	    bss	    dec	    hex	filename
  350588	  44964	  41909	 437461	  6acd5	u-boot (32-bit pci structs)
  351100	  44964	  42349	 438413	  6b08d	u-boot (64-bit pci structs)
----------------------------------------------
     512       0     440     952     3b8

If this is desired to be configurable should I introduce a pci_addr_t/ 
pci_size_t?  Coupling to phys_addr_t/phys_size_t doesn't make sense to  
me because its perfectly reasonable to have a 64-bit PCI device work  
in a 32-bit system.

- k


More information about the U-Boot mailing list