pixman/fb operations on VRAM on certain architectures.
airlied at gmail.com
Thu Dec 4 19:47:58 PST 2008
On Fri, Dec 5, 2008 at 1:01 PM, Dave Airlie <airlied at gmail.com> wrote:
> Okay so certain architectures (IA64) and certain hw implementations of
> those arches can't handle using the optimised libc memcpy/memset
> routines on MMIO memory. (i.e. memory on the PCI bus, i.e. VRAM).
> Results can vary from hangs/resets/mces/corrupt answers/cats living
> with dogs. The kernel works around this by implementing specific mem
> operations for those memory types.
> Now I'm looked at trying to fix this upstream by avoiding
> memcpy/memset operations in sw renderer on those arches, and replacing
> them with slightly dumb
> memset/memcpy ops (32-bit loops, then 8-byte finishing), similiar to
> what the kernel does.
> However I've just realised pixman is the place I need to do this, and
> pixman doesn't really have any major per-arch code in it yet (maybe I
> need to fix it in glibc, and convert everyone to call
> memcpy_io/memset_io from there or some such craziness).
> Suggestions/ideas? (running away might be be an option but it'll come back).
I decided it was probably a kernel/glibc issue (maybe) so I've pushed
it there to see what comes back.
More information about the xorg