Commit Graph

88 Commits

Author SHA1 Message Date
Adam Jackson
47b00fa4bf xfree86: Use same inb/outb asm code for i386 amd64 and ia64
This matches the GCCUSESGAS path from the old monolith build (where that
macro was actually set), and fixes the build on modern OSX.

Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2015-10-26 11:24:22 -04:00
Matt Turner
49fe4ee7b7 compiler.h: Remove dead STANDALONE_MMIO
The only drivers I can find that used this are the r128 and radeon DRI
drivers. r128 is dead and the radeon driver wasn't including Xorg's
compiler.h and still worked.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2015-09-23 12:18:50 -04:00
Peter Hutterer
732fd7e571 Drop trailing whitespaces
sed -i "s/[ ]\+$//g" **/*.(c|h)

happy reviewing...
git diff -w is an empty diff.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-11-12 10:25:00 +10:00
Adam Jackson
6ddd164508 xfree86: Unify the ppc/sparc mmio-swap-or-not conditionals
Map SPARC_MMIO_IS_BE and PPC_MMIO_IS_BE to MMIO_IS_BE and use the same
macros for both since they're identical.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:19:10 -07:00
Adam Jackson
8ffd1c066a xfree86: Clean up some silly __sparc macro usage
The top of this file already defines __sparc__ if __sparc is defined.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:19:07 -07:00
Adam Jackson
1c1711b57f xfree86: Pull generic barrier() definition up to top level
And remove the redundant redecl from the nds32 section.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:19:05 -07:00
Adam Jackson
c73929bbfc xfree86: Remove MMIO_ONB* and friends
Non-barrier-emitting MMIO writes.  They appear to be utterly unused,
burn it all down.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:19:01 -07:00
Adam Jackson
9b33e31d41 xfree86: Clean up powerpc barrier decls
I think the externs are there for the non-gcc case?  And maybe there was
some assembly code to implement that once?  Whatever, at this point on
ppc the compiler is either gcc or willing to pretend.  The macros below
the decls take care of the actual eieio so the externs can just go.

Also remove a comment that maybe made sense once upon a time.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:58 -07:00
Adam Jackson
b5141a1fab xfree86: Simplify a bunch of OS and arch conditionals
All of this is inside #ifdef __GNUC__, between that and configure.ac we
can assume there's a unixy thing under us.  Given that there's no real
reason to limit the arch paths to particular OSes, so let's not.

The final #elif here, combined with the ones before it, effectively said
"if not (alpha amd64 sparc* mips* ppc* arm* nds32 m68k sh hppa s390 m32r)",
and as the comment above it hints, it's meant to cover i386 (and happens to
also cover itanic).  Flip the conditional around to be sensible.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:55 -07:00
Adam Jackson
6d3ba80f19 xfree86: Remove pre-2.6 Linux ppc support
2.6.0 was December 2003, you've had plenty of time to get your head in
the game.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:52 -07:00
Adam Jackson
e242e82eba xfree86: Remove a useless !__SUNPRO_C guard
You can't tell from context here, but this is all inside #ifdef
__GNUC__, so this conditional can't do squat.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:35 -07:00
Adam Jackson
93745a6c1a xfree86: Undef GCCUSESGAS
Can't be needed, we've never defined it in modular xserver.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:33 -07:00
Adam Jackson
b1d9bc8d1d xfree86: Remove an unlikely bit of #pragma
__USLC__ appears to mean the SCO OpenServer compiler, which configure.ac
doesn't think is an OS the xfree86 ddx supports.  The conditionals
surrounding these pragmas effectively mean "if not gcc and not Sun C",
and probably arbitrary pragmas aren't supported by arbitrary compilers.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:31 -07:00
Adam Jackson
f7f9ccef1d xfree86: Undef __HIGHC__
MetaWare High C++ compiler?  xfree86 cvs history shows this being added
in a commit whose text is, classically, "updates".  metaware.com
redirects to a 404 on synopsys.com, which to me indicates it's not super
important to them, and their order form won't even tell you how much the
thing costs.  At any rate if this is worth worrying about it's worth
letting autoconf worry about for us.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:29 -07:00
Adam Jackson
80446086b9 xfree86: Undef FAKEIT
I guess this is meant to stub out all I/O port calls?  Whatever, it's
not been defined by the buildsystem at least as far back as monolith
6.8.2.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:26 -07:00
Adam Jackson
8002b1a8cb xfree86: Remove a few random ppc decls
Whatever these are, they're not something grep can find, they must not
be used.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:24 -07:00
Adam Jackson
5f5af5d669 xfree86: Remove remaining unused unaligned accessors
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:21 -07:00
Adam Jackson
d28b788e11 xfree86: Move generic unaligned helpers into int10 code
This is the only place they're actually used (well, aside from some XAA
code in the s3 driver, but one s3 and 2 XAA).

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:19 -07:00
Adam Jackson
956a8d5c92 xfree86: Remove unused unaligned int64 helpers
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:16 -07:00
Adam Jackson
da2b267186 xfree86: Unspecialize gcc variants of unaligned memory access
Yes yes, very clever, memmove works fine on gcc too, let's just do the
portable thing since none of this is performance code.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:13 -07:00
Adam Jackson
e03c902e03 xfree86: Undefine NO_INLINE
Nothing in the server defines this, nor do any drivers.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:11 -07:00
Adam Jackson
f63b8e44ab xfree86: Remove MMIO_MOVE32
Only used by mach64's XAA code, which isn't built if XAA isn't
available, and it isn't.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:08 -07:00
Adam Jackson
1100935650 xfree86: Remove nds32_flush_icache
I guess this might have been needed for elfloader, except we didn't
support nds32 back then, so I assume this was cargo-culted from
ppc_flush_icache, which is also dead now.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-07-28 12:18:06 -07:00
Max Filippov
dc8d068847 xtensa: add support for xtensa architecture
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-06-02 13:05:40 -07:00
Alexey Brodkin
c08d2b8ccb ARC: Add support for ARC architecture
Xorg server could be built for and run on Synopsys DesignWare ARC cores.
These changes are required for successful building and execution of the server.

Both little-endian and big-endian flavors of ARC cores are supported.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Egbert Eich <eich@freedesktop.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-05-22 16:15:21 -07:00
YunQiang Su
19e5a13970 Fix hw/xfree86/common/compiler.h for mips64
Mark mips64 as 64bit
Use long as PORT_SIZE

Signed-off-by: YunQiang Su <wzssyqa@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-04-21 22:02:32 -07:00
Andreas Schwab
ab4b1fb38a ARM64: Add support for aarch64
Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-06 16:41:49 -08:00
Alan Coopersmith
1be317c4e5 Provide prototypes for Mmio functions for Solaris Studio on SPARC
Actual inline implementations are provided via external *.il files
generated from *.S files in hw/xfree86/os-support/solaris

Fixes missing prototype warnings that xorg-macros has recently elevated
to build-breaking errors.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Henry Zhao <henry.zhao@oracle.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2012-06-05 16:28:54 -07:00
Keith Packard
9838b7032e Introduce a consistent coding style
This is strictly the application of the script 'x-indent-all.sh'
from util/modular. Compared to the patch that Daniel posted in
January, I've added a few indent flags:

	-bap
	-psl
	-T PrivatePtr
	-T pmWait
	-T _XFUNCPROTOBEGIN
	-T _XFUNCPROTOEND
	-T _X_EXPORT

The typedefs were needed to make the output of sdksyms.sh match the
previous output, otherwise, the code is formatted badly enough that
sdksyms.sh generates incorrect output.

The generated code was compared with the previous version and found to
be essentially identical -- "assert" line numbers and BUILD_TIME were
the only differences found.

The comparison was done with this script:

dir1=$1
dir2=$2

for dir in $dir1 $dir2; do
	(cd $dir && find . -name '*.o' | while read file; do
		dir=`dirname $file`
		base=`basename $file .o`
		dump=$dir/$base.dump
		objdump -d $file > $dump
	done)
done

find $dir1 -name '*.dump' | while read dump; do
	otherdump=`echo $dump | sed "s;$dir1;$dir2;"`
	diff -u $dump $otherdump
done

Signed-off-by: Keith Packard <keithp@keithp.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2012-03-21 13:54:42 -07:00
Cyril Brulebois
644efb43e0 linux/ia64: Fix regression after domain I/O support code removal.
Side effect of aa0bfb0f133481c57762012e8e30c05ffa151423:
|   CCLD   Xorg
| sdksyms.o:(.data.rel+0x27d8): undefined reference to `outl'
| collect2: ld returned 1 exit status

Since the linux/ia64 domain I/O support code got removed in that
commit, there's no reason to keep on declaring those functions
(inb, inl, inw, outb, outl, outw).

Bugzilla: https://bugs.freedesktop.org/43985

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
2011-12-31 02:34:55 +01:00
Adam Jackson
f28e48834e Remove SCO support
This has never been buildable in any modular server release.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-12-20 12:11:11 -05:00
Macpaul Lin
58bd317e29 xfree86: nds32: add nds32 support for compiler related mmio codes
Add nds32 support for compiler related mmio codes.
It includes byte-swap or non-swap operations.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-09-23 15:36:40 -07:00
Macpaul Lin
28e6de66b4 xfree86: nds32: add nds32 support for compiler specific codes
Add nds32 definitions and related assembly codes to compiler header files.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-09-23 15:36:31 -07:00
Alan Coopersmith
48749cc21b Add platform compatibility defines for Sun Studio compilers
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-12-18 10:31:53 -08:00
Matt Turner
fb95090730 Use glibc's in/out routines
Let's let glibc do the right thing for dense/sparse selection.

The _alpha_iobase code has been unused since the switch to libpciaccess. It
really should have been killed by fba700f1f6.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Tested-by: Michael Cree <mcree@orcon.net.nz>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-16 20:17:29 -08:00
Peter Hutterer
aa07957373 Revert "alpha: kill xf86SlowBCopyToBus and xf86SlowBCopyFromBus"
The vesa driver still uses slowbcopy_frombus and slowbcopy_tobus.

This reverts commit 5ef53a94ce.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-10-06 20:40:20 -04:00
Alan Coopersmith
8fb3fa28a5 compiler.h: include <string.h> before using memmove()
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-09-11 11:21:26 -07:00
Matt Turner
5ef53a94ce alpha: kill xf86SlowBCopyToBus and xf86SlowBCopyFromBus
xf86SlowBCopyToBus and xf86SlowBCopyFromBus cause segfaults on my
system.

Also remove associated slowbcopy_tobus/slowbcopy_frombus macros.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 20:25:15 -04:00
Matt Turner
b65146fc84 Remove unused ia64_flush_cache function
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 16:11:10 -04:00
Matt Turner
f201705e29 Simplify unaligned access code
All architectures should be able to use the same unaligned access code,
regardless of whether they need special unaligned access instructions.
Let's let gcc do the heavy lifting.

In the case that we're not using a gcc-compatible compiler, use memmove.

The xserver already requires pixman, so include pixman.h for its uint*_t
types.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 16:09:33 -04:00
Matt Turner
3718beb69c Clean up unaligned access functions on alpha
Checks for __GNUC__ are superfluous since the only other compiler for
the platform is Compaq C, and it doesn't support GCC style inline
assembly.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 16:08:52 -04:00
Matt Turner
e1fdd76713 Move unaligned access functions to common section
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 16:08:20 -04:00
Matt Turner
628b863bcc Remove unused arm_flush_cache function
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:53:41 -04:00
Matt Turner
a544139196 Remove unused ppc_flush_icache function
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:53:19 -04:00
Matt Turner
52aa049521 Replace 8 nops with proper sync instruction on mips
Cc: Ralf Baechle <ralf@linux-mips.org>
Acked-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:52:39 -04:00
Matt Turner
563fa1c5d7 Use sfence and mfence instructions on amd64
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:52:10 -04:00
Matt Turner
430c4af0d6 Add x86 barrier macros
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:51:41 -04:00
Matt Turner
0d87f77a3f define barrier macros as nops if not otherwise defined
Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:51:05 -04:00
Matt Turner
1b43ee13b3 Move memory barrier macros into common section
alphabetize by architecture also.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2009-08-31 15:53:58 -04:00
Benjamin Close
14581afb47 xfree86: correctly define barriers for FreeBSD amd64
Previously when compiling on freebsd amd64 we'd end up at xi86
block (line 1315) which would define mem_barrier and write_mem_barrier
to be NOP's. Instead they should be valid, as per the linux amd64 setup.

This stops the hangs experienced by many when using the nv driver
which would hang due to out of order dma requests as noticed in
http://bugs.freedesktop.org/show_bug.cgi?id=3168

Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
2009-06-17 15:58:03 +09:30