Unified PCI API

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Sun Feb 20 12:28:46 UTC 2005


Chris Caudle wrote:
> On Saturday 19 February 2005 06:49 pm, Joel Sherrill <joel at OARcorp.com> wrote:
> 
>>For those who care, the x86 PCI API uses a "signature u32" to identify
>>devices while the PowerPC/cpukit API uses a "bus, device" combination to
>>identify devices.
> 
> 
> Assuming the u32 is because of Intel PCI BIOS convention, it is actually a 
> multi-field number that is the concatenation of bus, device, function.
> My opinion is that bus, device, function is more clear because it maps 
> directly to how the bus access is defined.
> It sounds like the PowerPC API made an expediency in only using bus, device 
> but for completeness the API should use bus, device, function so that 
> multi-function devices can be handled correctly.
> 

I'm sorry. It does include function.  For example:

int
pci_read_config_byte(
   unsigned char bus,
   unsigned char slot,
   unsigned char function,
   unsigned char where,
   unsigned char * val)

I suppose the next step after making it one API is to switch to C99 
types like uint8_t.



-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the users mailing list