summaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2003-12-01 22:40:26 +0000
committerBrian Paul <[email protected]>2003-12-01 22:40:26 +0000
commit9a90cd40c6e510484e018afd087a4c239b616ee0 (patch)
treed21d03c67264a1b457141beadd8f419ca521d848 /src/mesa/glapi
parent06cfb4456455afad149955dbaa853b9f4f18a066 (diff)
fix __sparc_v9__ test to exclude linux (bug 852204)
Diffstat (limited to 'src/mesa/glapi')
-rw-r--r--src/mesa/glapi/glapi.c10
-rw-r--r--src/mesa/glapi/glsparcasm.py8
2 files changed, 8 insertions, 10 deletions
diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c
index cfa2f8f628e..62574a8b1d1 100644
--- a/src/mesa/glapi/glapi.c
+++ b/src/mesa/glapi/glapi.c
@@ -559,7 +559,7 @@ generate_entrypoint(GLuint functionOffset)
return code;
#elif defined(USE_SPARC_ASM)
-#ifdef __sparc_v9__
+#if defined(__sparc_v9__) && !defined(__linux__)
static const unsigned int insn_template[] = {
0x05000000, /* sethi %uhi(_glapi_Dispatch), %g2 */
0x03000000, /* sethi %hi(_glapi_Dispatch), %g1 */
@@ -587,7 +587,7 @@ generate_entrypoint(GLuint functionOffset)
if (code) {
memcpy(code, insn_template, sizeof(insn_template));
-#ifdef __sparc_v9__
+#if defined(__sparc_v9__) && !defined(__linux__)
code[0] |= (glapi_addr >> (32 + 10));
code[1] |= ((glapi_addr & 0xffffffff) >> 10);
__glapi_sparc_icache_flush(&code[0]);
@@ -629,17 +629,17 @@ fill_in_entrypoint_offset(void *entrypoint, GLuint offset)
/* XXX this hasn't been tested! */
unsigned int *code = (unsigned int *) entrypoint;
-#ifdef __sparc_v9__
+#if defined(__sparc_v9__) && !defined(__linux__)
code[6] = 0x05000000; /* sethi %hi(8 * glapioffset), %g2 */
code[7] = 0x8410a000; /* or %g2, %lo(8 * glapioffset), %g2 */
code[6] |= ((offset * 8) >> 10);
code[7] |= ((offset * 8) & ((1 << 10) - 1));
__glapi_sparc_icache_flush(&code[6]);
-#else /* __sparc_v9__ */
+#else /* __sparc_v9__ && !linux */
code[2] = 0xc6006000; /* ld [%g1 + %lo(4*glapioffset)], %g3 */
code[2] |= (offset * 4);
__glapi_sparc_icache_flush(&code[2]);
-#endif /* __sparc_v9__ */
+#endif /* __sparc_v9__ && !linux */
#endif /* USE_*_ASM */
}
diff --git a/src/mesa/glapi/glsparcasm.py b/src/mesa/glapi/glsparcasm.py
index 7f624023c02..35d90f13330 100644
--- a/src/mesa/glapi/glsparcasm.py
+++ b/src/mesa/glapi/glsparcasm.py
@@ -1,11 +1,9 @@
#!/usr/bin/env python
-# $Id: glsparcasm.py,v 1.7 2002/01/03 16:33:59 brianp Exp $
-
# Mesa 3-D graphics library
-# Version: 4.1
+# Version: 5.1
#
-# Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
+# Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
@@ -111,7 +109,7 @@ def EmitFunction(name, returnType, argTypeList, argNameList, alias, offset):
print '.globl gl%s' % (name)
print '.type gl%s,#function' % (name)
print 'gl%s:' % (name)
- print '#ifdef __sparc_v9__'
+ print '#if defined(__sparc_v9__) && !defined(__linux__)'
print '\tsethi\t%hi(0x00000000), %g2'
print '\tsethi\t%hi(0x00000000), %g1'
print '\tor\t%g2, %lo(0x00000000), %g2'