annotate libdha/libdha.h @ 4149:9dde9f96f860

runtime cpudetect suppport
author alex
date Mon, 14 Jan 2002 16:15:59 +0000
parents 0d9de811e312
children 4cfb6b9a6da3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
1 /*
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
2 libgha.h - Library for direct hardware access
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
3 Copyrights:
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
4 1996/10/27 - Robin Cutshaw (robin@xfree86.org)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
5 XFree86 3.3.3 implementation
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
6 1999 - Øyvind Aabling.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
7 Modified for GATOS/win/gfxdump.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
8 2002 - library implementation by Nick Kurshev
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
9
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
10 supported O/S's: SVR4, UnixWare, SCO, Solaris,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
11 FreeBSD, NetBSD, 386BSD, BSDI BSD/386,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
12 Linux, Mach/386, ISC
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
13 DOS (WATCOM 9.5 compiler), Win9x (with mapdev.vxd)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
14 Licence: GPL
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
15 */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
16 #ifndef LIBDHA_H
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
17 #define LIBDHA_H
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
18
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
19 #ifdef __cplusplus
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
20 extern "C" {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
21 #endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
22
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
23 #define MAX_DEV_PER_VENDOR_CFG1 64
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
24 #define MAX_PCI_DEVICES_PER_BUS 32
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
25 #define MAX_PCI_DEVICES 64
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
26 #define PCI_MULTIFUNC_DEV 0x80
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
27
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
28 typedef struct pciinfo_s
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
29 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
30 int bus,card,func ; /* PCI/AGP bus:card:func */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
31 unsigned short vendor,device ; /* Card vendor+device ID */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
32 unsigned base0,base1,base2,baserom ; /* Memory and I/O base addresses */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
33 }pciinfo_t;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
34
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
35 /* Fill array pci_list which must have size MAX_PCI_DEVICES
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
36 and return 0 if sucessful */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
37 extern int pci_scan(pciinfo_t *pci_list,unsigned *num_card);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
38
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
39
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
40
3995
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
41 extern unsigned char INPORT8(unsigned idx);
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
42 extern unsigned short INPORT16(unsigned idx);
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
43 extern unsigned INPORT32(unsigned idx);
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
44 #define INPORT(idx) INPORT32(idx)
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
45 extern void OUTPORT8(unsigned idx,unsigned char val);
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
46 extern void OUTPORT16(unsigned idx,unsigned short val);
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
47 extern void OUTPORT32(unsigned idx,unsigned val);
0d9de811e312 minor interface changing
nick
parents: 3973
diff changeset
48 #define OUTPORT(idx,val) OUTPORT32(idx,val)
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
49
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
50 extern void * map_phys_mem(unsigned base, unsigned size);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
51 extern void unmap_phys_mem(void *ptr, unsigned size);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
52
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
53 #ifdef __cplusplus
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
54 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
55 #endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
56
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
57 #endif