Re: PowerPC Linux and PCI

Paul Mackerras (paulus@samba.org)
Sat, 20 Apr 2002 19:10:55 +1000 (EST)


David S. Miller writes:

> From: James L Peterson <peterson@austin.ibm.com>
> Date: Fri, 19 Apr 2002 16:37:03 -0500
>
> if (pci_read_config_dword(temp, PCI_VENDOR_ID, &l))
> return NULL;
> ....
> memcpy(dev, temp, sizeof(*dev));
> dev->vendor = l & 0xffff;
> dev->device = (l >> 16) & 0xffff;
>
> It seems to me this is incorrect for a big-endian machine
> (like PowerPC). If we read the two 16-bit parts out of the
> first 32-bit part, we will end up with:
>
> pci_read_config_dword should do the byte swapping on &l for
> the caller, fix your pci_{read,write}_config_*() arch implementation.

It does, that's why it all works. :) James Peterson seems to have
missed this fact, hence his confusion.

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/