[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unified PCI API



Chris Caudle wrote:
On Saturday 19 February 2005 06:49 pm, Joel Sherrill <joel@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@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985