diff options
author | Mark Kettenis <mark.kettenis@xs4all.nl> | 2009-06-04 11:24:15 -0600 |
---|---|---|
committer | Matthieu Herrb <matthieu.herrb@laas.fr> | 2009-06-04 11:37:19 -0600 |
commit | 1b36ca0c453191e4837cea25794731b166df19f7 (patch) | |
tree | 90d74031becc9f14170af2760ab0ed9094dfa585 | |
parent | 860e3c4bc40b6e130411b954f8945e8fbc42c9bb (diff) |
Fix for big-endian machines.
The problem is that the card provides a big-endian view on its
registers, which the driver uses on big-endian machines. However, the
driver uses MMIO_OUT32() and friends to access these registers. And
on sparc64, these macros do byte swapping themselves. The net result
of course is that no byte swapping gets done at all, and things fail
miserably.
The fix is to make the macros not do byte swapping, which can be done
by defining SPARC_MMIO_IS_BE. There is a similar define for powerpc
as well. I assume these defines were accidentally dropped in the
autoconfiscation of Xorg.
Other people came up with the same conclusion see:
http://www.mail-archive.com/opensolaris-discuss@opensolaris.org/msg20874.html
and
https://bugs.freedesktop.org/show_bug.cgi?id=10742
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
-rw-r--r-- | src/Makefile.am | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 79c9e54..1e4efa8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,7 +23,7 @@ # -avoid-version prevents gratuitous .0.0.0 version numbers on the end # _ladir passes a dummy rpath to libtool so the thing will actually link # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. -AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ +AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -DPPC_MMIO_IS_BE -DSPARC_MMIO_IS_BE glint_drv_la_LTLIBRARIES = glint_drv.la glint_drv_la_LDFLAGS = -module -avoid-version glint_drv_ladir = @moduledir@/drivers |