📄 invent.h
字号:
/* $Id$ * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. */#ifndef _ASM_IA64_SN_INVENT_H#define _ASM_IA64_SN_INVENT_H#include <linux/types.h>#include <asm/sn/sgi.h>/* * sys/sn/invent.h -- Kernel Hardware Inventory * * As the system boots, a list of recognized devices is assembled. * This list can then be accessed through syssgi() by user-level programs * so that they can learn about available peripherals and the system's * hardware configuration. * * The data is organized into a linked list of structures that are composed * of an inventory item class and a class-specific type. Each instance may * also specify a 32-bit "state" which might be size, readiness, or * anything else that's relevant. * */#define major_t int#define minor_t int#define app32_ptr_t unsigned long#define graph_vertex_place_t long#define GRAPH_VERTEX_NONE ((vertex_hdl_t)-1)#define GRAPH_EDGE_PLACE_NONE ((graph_edge_place_t)0)#define GRAPH_INFO_PLACE_NONE ((graph_info_place_t)0)#define GRAPH_VERTEX_PLACE_NONE ((graph_vertex_place_t)0)typedef struct inventory_s { struct inventory_s *inv_next; /* next inventory record in list */ int inv_class; /* class of object */ int inv_type; /* class sub-type of object */ major_t inv_controller; /* object major identifier */ minor_t inv_unit; /* object minor identifier */ int inv_state; /* information specific to object or class */} inventory_t;typedef struct cpu_inv_s { int cpuflavor; /* differentiate processor */ int cpufq; /* cpu frequency */ int sdsize; /* secondary data cache size */ int sdfreq; /* speed of the secondary cache */} cpu_inv_t;typedef struct diag_inv_s{ char name[80]; int diagval; int physid; int virtid;} diag_inv_t;typedef struct router_inv_s{ char portmap[80]; /* String indicating which ports int/ext */ char type[40]; /* String name: e.g. "star", "meta", etc. */ int freq; /* From hub */ int rev; /* From hub */} router_inv_t;/* * NOTE: This file is a central registry for inventory IDs for each * class of inventory object. It is important to keep the central copy * of this file up-to-date with the work going on in various engineering * projects. When making changes to this file in an engineering project * tree, please make those changes separately from any others and then * merge the changes to this file into the main line trees in order to * prevent other engineering projects from conflicting with your ID * allocations. *//* Inventory Classes *//* when adding a new class, add also to classes[] in hinv.c */#define INV_PROCESSOR 1#define INV_DISK 2#define INV_MEMORY 3#define INV_SERIAL 4#define INV_PARALLEL 5#define INV_TAPE 6#define INV_GRAPHICS 7#define INV_NETWORK 8#define INV_SCSI 9 /* SCSI devices other than disk and tape */#define INV_AUDIO 10#define INV_IOBD 11#define INV_VIDEO 12#define INV_BUS 13#define INV_MISC 14 /* miscellaneous: a catchall *//*** add post-5.2 classes here for backward compatibility ***/#define INV_COMPRESSION 15#define INV_VSCSI 16 /* SCSI devices on jag other than disk and tape */#define INV_DISPLAY 17#define INV_UNC_SCSILUN 18 /* Unconnected SCSI lun */#define INV_PCI 19 /* PCI Bus */#define INV_PCI_NO_DRV 20 /* PCI Bus without any driver */#define INV_PROM 21 /* Different proms in the system */#define INV_IEEE1394 22 /* IEEE1394 devices */#define INV_RPS 23 /* redundant power source */#define INV_TPU 24 /* Tensor Processing Unit */#define INV_FCNODE 25 /* Helper class for SCSI classes, not in classes[] */#define INV_USB 26 /* Universal Serial Bus */#define INV_1394NODE 27 /* helper class for 1394/SPB2 classes, not in classes[] *//* types for class processor */#define INV_CPUBOARD 1#define INV_CPUCHIP 2#define INV_FPUCHIP 3#define INV_CCSYNC 4 /* CC Rev 2+ sync join counter *//* states for cpu and fpu chips are revision numbers *//* cpuboard states */#define INV_IP20BOARD 10#define INV_IP19BOARD 11#define INV_IP22BOARD 12#define INV_IP21BOARD 13#define INV_IP26BOARD 14#define INV_IP25BOARD 15#define INV_IP30BOARD 16#define INV_IP28BOARD 17#define INV_IP32BOARD 18#define INV_IP27BOARD 19#define INV_IPMHSIMBOARD 20#define INV_IP33BOARD 21#define INV_IP35BOARD 22/* types for class INV_IOBD */#define INV_EVIO 2 /* EVEREST I/O board */#define INV_O200IO 3 /* Origin 200 base I/O *//* IO board types for origin2000 for class INV_IOBD*/#define INV_O2000BASEIO 0x21 #define INV_O2000MSCSI 0x22 #define INV_O2000MENET 0x23#define INV_O2000HIPPI 0x24#define INV_O2000GFX 0x25 #define INV_O2000HAROLD 0x26#define INV_O2000VME 0x27#define INV_O2000MIO 0x28#define INV_O2000FC 0x29#define INV_O2000LINC 0x2a#define INV_PCIADAP 4/* states for class INV_IOBD type INV_EVERESTIO -- value of eb_type field */#define INV_IO4_REV1 0x21 /* types for class disk *//* NB: types MUST be unique within a class. Please check this if adding new types. */#define INV_SCSICONTROL 1#define INV_SCSIDRIVE 2#define INV_SCSIFLOPPY 5 /* also cdroms, optical disks, etc. */#define INV_JAGUAR 16 /* Interphase Jaguar */#define INV_VSCSIDRIVE 17 /* Disk connected to Jaguar */#define INV_GIO_SCSICONTROL 18 /* optional GIO SCSI controller */#define INV_SCSIRAID 19 /* SCSI attached RAID */#define INV_XLVGEN 20 /* Generic XLV disk device */#define INV_PCCARD 21 /* PC-card (PCMCIA) devices */#define INV_PCI_SCSICONTROL 22 /* optional PCI SCSI controller *//* states for INV_SCSICONTROL disk type; indicate which chip rev; * for 93A and B, unit field has microcode rev. */#define INV_WD93 0 /* WD 33C93 */#define INV_WD93A 1 /* WD 33C93A */#define INV_WD93B 2 /* WD 33C93B */#define INV_WD95A 3 /* WD 33C95A */#define INV_SCIP95 4 /* SCIP with a WD 33C95A */#define INV_ADP7880 5 /* Adaptec 7880 (single channel) */#define INV_QL_REV1 6 /* qlogic 1040 */#define INV_QL_REV2 7 /* qlogic 1040A */#define INV_QL_REV2_4 8 /* qlogic 1040A rev 4 */#define INV_QL_REV3 9 /* qlogic 1040B */#define INV_FCADP 10 /* Adaptec Emerald Fibrechannel */#define INV_QL_REV4 11 /* qlogic 1040B rev 2 */#define INV_QL 12 /* Unknown QL version */ #define INV_QL_1240 13 /* qlogic 1240 */#define INV_QL_1080 14 /* qlogic 1080 */#define INV_QL_1280 15 /* qlogic 1280 */#define INV_QL_10160 16 /* qlogic 10160 */#define INV_QL_12160 17 /* qlogic 12160 */#define INV_QL_2100 18 /* qLogic 2100 Fibrechannel */#define INV_QL_2200 19 /* qLogic 2200 Fibrechannel */#define INV_PR_HIO_D 20 /* Prisa HIO Dual channel */#define INV_PR_PCI64_D 21 /* Prisa PCI-64 Dual channel */#define INV_QL_2200A 22 /* qLogic 2200A Fibrechannel */#define INV_SBP2 23 /* SBP2 protocol over OHCI on 1394 */#define INV_QL_2300 24 /* qLogic 2300 Fibrechannel *//* states for INV_SCSIDRIVE type of class disk */#define INV_RAID5_LUN 0x100#define INV_PRIMARY 0x200 /* primary path */#define INV_ALTERNATE 0x400 /* alternate path */#define INV_FAILED 0x800 /* path has failed */#define INV_XVMVOL 0x1000 /* disk is managed by XVM *//* states for INV_SCSIFLOPPY type of class disk */#define INV_TEAC_FLOPPY 1 /* TEAC 3 1/2 inch floppy drive */#define INV_INSITE_FLOPPY 2 /* INSITE, IOMEGA Io20S, SyQuest floppy drives *//* END OF CLASS DISK TYPES *//* types for class memory *//* NB. the states for class memory are sizes in bytes */#define INV_MAIN 1#define INV_DCACHE 3#define INV_ICACHE 4#define INV_WBUFFER 5#define INV_SDCACHE 6#define INV_SICACHE 7#define INV_SIDCACHE 8#define INV_MAIN_MB 9#define INV_HUBSPC 10 /* HUBSPC */#define INV_TIDCACHE 11/* types for class serial */#define INV_CDSIO 1 /* Central Data serial board */#define INV_T3270 2 /* T3270 emulation */#define INV_GSE 3 /* SpectraGraphics Gerbil coax cable */#define INV_SI 4 /* SNA SDLC controller */#define INV_M333X25 6 /* X.25 controller */#define INV_CDSIO_E 7 /* Central Data serial board on E space */#define INV_ONBOARD 8 /* Serial ports per CPU board */#define INV_EPC_SERIAL 9 /* EVEREST I/O EPC serial port */#define INV_ICA 10 /* IRIS (IBM) Channel Adapter card */#define INV_VSC 11 /* SBE VME Synch Comm board */#define INV_ISC 12 /* SBE ISA Synch Comm board */#define INV_GSC 13 /* SGI GIO Synch Comm board */#define INV_ASO_SERIAL 14 /* serial portion of SGI ASO board */#define INV_PSC 15 /* SBE PCI Synch Comm board */#define INV_IOC3_DMA 16 /* DMA mode IOC3 serial */#define INV_IOC3_PIO 17 /* PIO mode IOC3 serial */#define INV_INVISIBLE 18 /* invisible inventory entry for kernel use */#define INV_ISA_DMA 19 /* DMA mode ISA serial -- O2 *//* types for class parallel */#define INV_GPIB 2 /* National Instrument GPIB board */#define INV_GPIB_E 3 /* National Instrument GPIB board on E space*/#define INV_EPC_PLP 4 /* EVEREST I/O EPC Parallel Port */#define INV_ONBOARD_PLP 5 /* Integral parallel port, state = 0 -> output only state = 1 -> bi-directional */#define INV_EPP_ECP_PLP 6 /* Integral EPP/ECP parallel port */#define INV_EPP_PFD 7 /* External EPP parallel peripheral *//* types for class tape */#define INV_SCSIQIC 1 /* Any SCSI tape, not just QIC{24,150}... */#define INV_VSCSITAPE 4 /* SCSI tape connected to Jaguar *//* sub types for type INV_SCSIQIC and INV_VSCSITAPE (in state) */#define TPUNKNOWN 0 /* type not known */#define TPQIC24 1 /* QIC24 1/4" cartridge */#define TPDAT 2 /* 4mm Digital Audio Tape cartridge */#define TPQIC150 3 /* QIC150 1/4" cartridge */#define TP9TRACK 4 /* 9 track reel */#define TP8MM_8200 5 /* 8 mm video tape cartridge */#define TP8MM_8500 6 /* 8 mm video tape cartridge */#define TPQIC1000 7 /* QIC1000 1/4" cartridge */#define TPQIC1350 8 /* QIC1350 1/4" cartridge */#define TP3480 9 /* 3480 compatible cartridge */#define TPDLT 10 /* DEC Digital Linear Tape cartridge */#define TPD2 11 /* D2 tape cartridge */#define TPDLTSTACKER 12 /* DEC Digital Linear Tape stacker */#define TPNTP 13 /* IBM Magstar 3590 Tape Device cartridge */#define TPNTPSTACKER 14 /* IBM Magstar 3590 Tape Device stacker */#define TPSTK9490 15 /* StorageTeK 9490 */#define TPSTKSD3 16 /* StorageTeK SD3 */#define TPGY10 17 /* Sony GY-10 */#define TP8MM_8900 18 /* 8 mm (AME) tape cartridge */#define TPMGSTRMP 19 /* IBM Magster MP 3570 cartridge */#define TPMGSTRMPSTCKR 20 /* IBM Magstar MP stacker */#define TPSTK4791 21 /* StorageTek 4791 */#define TPSTK4781 22 /* StorageTek 4781 */#define TPFUJDIANA1 23 /* Fujitsu Diana-1 (M1016/M1017) */#define TPFUJDIANA2 24 /* Fujitsu Diana-2 (M2483) */#define TPFUJDIANA3 25 /* Fujitsu Diana-3 (M2488) */#define TP8MM_AIT 26 /* Sony AIT format tape */#define TPTD3600 27 /* Philips TD3600 */#define TPTD3600STCKR 28 /* Philips TD3600 stacker */#define TPNCTP 29 /* Philips NCTP */#define TPGY2120 30 /* Sony GY-2120 (replaces GY-10) */#define TPOVL490E 31 /* Overland Data L490E (3490E compatible) */#define TPSTK9840 32 /* StorageTeK 9840 (aka Eagle) *//* Diagnostics inventory */#define INV_CPUDIAGVAL 70/* * GFX invent is a subset of gfxinfo *//* types for class graphics */#define INV_GR1BOARD 1 /* GR1 (Eclipse) graphics */#define INV_GR1BP 2 /* OBSOLETE - use INV_GR1BIT24 instead */#define INV_GR1ZBUFFER 3 /* OBSOLETE - use INV_GR1ZBUF24 instead */#define INV_GRODEV 4 /* Clover1 graphics */#define INV_GMDEV 5 /* GT graphics */#define INV_CG2 6 /* CG2 composite video/genlock board */#define INV_VMUXBOARD 7 /* VMUX video mux board */#define INV_VGX 8 /* VGX (PowerVision) graphics */#define INV_VGXT 9 /* VGXT (PowerVision) graphics with IMP5s. */#define INV_LIGHT 10 /* LIGHT graphics */#define INV_GR2 11 /* EXPRESS graphics */#define INV_RE 12 /* RealityEngine graphics */#define INV_VTX 13 /* RealityEngine graphics - VTX variant */#define INV_NEWPORT 14 /* Newport graphics */#define INV_MGRAS 15 /* Mardigras graphics */#define INV_IR 16 /* InfiniteReality graphics */#define INV_CRIME 17 /* Moosehead on board CRIME graphics */#define INV_IR2 18 /* InfiniteReality2 graphics */#define INV_IR2LITE 19 /* Reality graphics */#define INV_IR2E 20 /* InfiniteReality2e graphics */#define INV_ODSY 21 /* Odyssey graphics */#define INV_IR3 22 /* InfiniteReality3 graphics *//* states for graphics class GR1 */#define INV_GR1REMASK 0x7 /* RE version */#define INV_GR1REUNK 0x0 /* RE version unknown */#define INV_GR1RE1 0x1 /* RE1 */#define INV_GR1RE2 0x2 /* RE2 */#define INV_GR1BUSMASK 0x38 /* GR1 bus architecture */#define INV_GR1PB 0x00 /* Eclipse private bus */#define INV_GR1PBVME 0x08 /* VGR2 board VME and private bus interfaces */#define INV_GR1TURBO 0x40 /* has turbo option */#define INV_GR1BIT24 0x80 /* has bitplane option */#define INV_GR1ZBUF24 0x100 /* has z-buffer option */#define INV_GR1SMALLMON 0x200 /* using 14" monitor */#define INV_GR1SMALLMAP 0x400 /* has 256 entry color map */#define INV_GR1AUX4 0x800 /* has AUX/WID plane option *//* states for graphics class GR2 */ /* bitmasks */#define INV_GR2_Z 0x1 /* has z-buffer option */#define INV_GR2_24 0x2 /* has bitplane option */#define INV_GR2_4GE 0x4 /* has 4 GEs */#define INV_GR2_1GE 0x8 /* has 1 GEs */#define INV_GR2_2GE 0x10 /* has 2 GEs */#define INV_GR2_8GE 0x20 /* has 8 GEs */#define INV_GR2_GR3 0x40 /* board GR3 */#define INV_GR2_GU1 0x80 /* board GU1 */#define INV_GR2_INDY 0x100 /* board GR3 on Indy*/#define INV_GR2_GR5 0x200 /* board GR3 with 4 GEs, hinv prints GR5-XZ */ /* supported configurations */#define INV_GR2_XS 0x0 /* GR2-XS */#define INV_GR2_XSZ 0x1 /* GR2-XS with z-buffer */#define INV_GR2_XS24 0x2 /* GR2-XS24 */#define INV_GR2_XS24Z 0x3 /* GR2-XS24 with z-buffer */#define INV_GR2_XSM 0x4 /* GR2-XSM */#define INV_GR2_ELAN 0x7 /* GR2-Elan */#define INV_GR2_XZ 0x13 /* GR2-XZ */#define INV_GR3_XSM 0x44 /* GR3-XSM */#define INV_GR3_ELAN 0x47 /* GR3-Elan */#define INV_GU1_EXTREME 0xa3 /* GU1-Extreme */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -