#ifdef __alpha__ (or #ifndef __ppc__ ??)
#define matrox_readl(x) readl(x)
#else
#define matrox_readl(x) (*(u_int32_t*)x)
#endif
(is there something like that in headers? I did not found any.)
(except that ia32 readl adds unnecessary (x | PAGE_OFFSET) from __io_virt
which is a) incorrect for PAGE_OFFSET != 0xC0000000 (for example for
0x70000000) and b) causes register reload in sequence of readl/writel,
so it is sloooow) (+33% memory accesses in critical code path (drawing
character body)).
And if asm-ppc swaps bytes on writew/l, what happens to data passed
to memcpy_toio? I hope that they are passed as-is, preferrably with
dword (or qword) data size...
And last question, is it possible (on some architectures (PPC)) that PCI
device is assigned by OpenFirmware to address 0?
Thanks and sorry for long letter, I'm a bit frustrated,
Petr Vandrovec
vandrove@vc.cvut.cz
P.S.: Please, cc-me (if possible), I read digest only.
P.P.S.: Excuse my english, I'm working on it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/