annotate vidix/sysdep/pci_svr4.c @ 23980:27bac14b4ce4

More simple and correct font reselection. Since ass_font_t contains a list of font faces, there is no need to select the face with maximum charset coverage each time. It is enough to select any face with the required glyph.
author eugeni
date Fri, 03 Aug 2007 13:43:11 +0000
parents a9e111b88c4a
children 9c4ad35fabc5
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 }