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).

Dave.
_______________________________________________
xorg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to