sgigio.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * sgigio.h: Definitions for GIO bus found on SGI IP22 (and others by linux
  7.  *           unsupported) machines.
  8.  *
  9.  * Copyright (C) 2002 Ladislav Michl
  10.  */
  11. #ifndef _ASM_SGI_SGIGIO_H
  12. #define _ASM_SGI_SGIGIO_H
  13. /*
  14.  * There is 10MB of GIO address space for GIO64 slot devices
  15.  * slot#   slot type address range            size
  16.  * -----   --------- ----------------------- -----
  17.  *   0     GFX       0x1f000000 - 0x1f3fffff   4MB
  18.  *   1     EXP0      0x1f400000 - 0x1f5fffff   2MB
  19.  *   2     EXP1      0x1f600000 - 0x1f9fffff   4MB
  20.  *
  21.  * There are un-slotted devices, HPC, I/O and misc devices, which are grouped
  22.  * into the HPC address space.
  23.  *   -     MISC      0x1fb00000 - 0x1fbfffff   1MB
  24.  *
  25.  * Following space is reserved and unused
  26.  *   -     RESERVED  0x18000000 - 0x1effffff 112MB
  27.  *
  28.  * The GIO specification tends to use slot numbers while the MC specification
  29.  * tends to use slot types.
  30.  *
  31.  * slot0  - the "graphics" (GFX) slot but there is no requirement that
  32.  *          a graphics dev may only use this slot
  33.  * slot1  - this is the "expansion"-slot 0 (EXP0), do not confuse with
  34.  *          slot 0 (GFX).
  35.  * slot2  - this is the "expansion"-slot 1 (EXP1), do not confuse with
  36.  *          slot 1 (EXP0).
  37.  */
  38. #define GIO_SLOT_GFX 0
  39. #define GIO_SLOT_GIO1 1
  40. #define GIO_SLOT_GIO2 2
  41. #define GIO_NUM_SLOTS 3
  42. #define GIO_ANY_ID 0xff
  43. #define GIO_VALID_ID_ONLY 0x01
  44. #define GIO_IFACE_64 0x02
  45. #define GIO_HAS_ROM 0x04
  46. struct gio_dev {
  47. unsigned char device;
  48. unsigned char revision;
  49. unsigned short vendor;
  50. unsigned char flags;
  51. unsigned char slot_number;
  52. unsigned long base_addr;
  53. unsigned int map_size;
  54. char *name;
  55. char slot_name[5];
  56. };
  57. extern struct gio_dev* gio_find_device(unsigned char device, const struct gio_dev *from);
  58. extern void sgigio_init(void);
  59. #endif /* _ASM_SGI_SGIGIO_H */