annotate libdha/sysdep/pci_svr4.c @ 15813:0f5d6aad2554

Fixes GCC4 fix by using "g" instead of "mp" as some compilers misscompile that code othewisei (leading to segfaults).
author gpoirier
date Fri, 24 Jun 2005 12:17:30 +0000
parents a7fece7c628e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
1 /*
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
2 This file is based on:
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
3 $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
4 Modified for readability by Nick Kurshev
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
5 */
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
6 #include <sys/types.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
7 #include <sys/proc.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
8 #include <sys/tss.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
9 #if defined(NCR)
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
10 #define __STDC
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
11 #include <sys/sysi86.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
12 #undef __STDC
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
13 #else
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
14 #include <sys/sysi86.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
15 #endif
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
16
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
17 #if defined(sun)
4178
a7fece7c628e Grab PS_IOPL define from <sys/psw.h> on solaris x86
jkeil
parents: 4174
diff changeset
18 # ifndef __EXTENSIONS__
a7fece7c628e Grab PS_IOPL define from <sys/psw.h> on solaris x86
jkeil
parents: 4174
diff changeset
19 # define __EXTENSIONS__
a7fece7c628e Grab PS_IOPL define from <sys/psw.h> on solaris x86
jkeil
parents: 4174
diff changeset
20 # endif
a7fece7c628e Grab PS_IOPL define from <sys/psw.h> on solaris x86
jkeil
parents: 4174
diff changeset
21 # include <sys/psw.h>
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
22 #endif
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
23
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
24 static __inline__ int enable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
25 {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
26 #if defined(SI86IOPL)
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
27 sysi86(SI86IOPL, 3);
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
28 #else
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
29 sysi86(SI86V86, V86SC_IOPL, PS_IOPL);
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
30 #endif
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
31 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
32 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
33
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
34 static __inline__ int disable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
35 {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
36 #if defined(SI86IOPL)
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
37 sysi86(SI86IOPL, 0);
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
38 #else
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
39 sysi86(SI86V86, V86SC_IOPL, 0);
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
40 #endif
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
41 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
42 }