| Viewing file:  hinv.h (3.25 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/** ARCS hardware/memory inventory/configuration and system ID definitions.
 */
 #ifndef _ASM_ARC_HINV_H
 #define _ASM_ARC_HINV_H
 
 #include <asm/sgidefs.h>
 #include <asm/fw/arc/types.h>
 
 /* configuration query defines */
 typedef enum configclass {
 SystemClass,
 ProcessorClass,
 CacheClass,
 #ifndef _NT_PROM
 MemoryClass,
 AdapterClass,
 ControllerClass,
 PeripheralClass
 #else    /* _NT_PROM */
 AdapterClass,
 ControllerClass,
 PeripheralClass,
 MemoryClass
 #endif    /* _NT_PROM */
 } CONFIGCLASS;
 
 typedef enum configtype {
 ARC,
 CPU,
 FPU,
 PrimaryICache,
 PrimaryDCache,
 SecondaryICache,
 SecondaryDCache,
 SecondaryCache,
 #ifndef _NT_PROM
 Memory,
 #endif
 EISAAdapter,
 TCAdapter,
 SCSIAdapter,
 DTIAdapter,
 MultiFunctionAdapter,
 DiskController,
 TapeController,
 CDROMController,
 WORMController,
 SerialController,
 NetworkController,
 DisplayController,
 ParallelController,
 PointerController,
 KeyboardController,
 AudioController,
 OtherController,
 DiskPeripheral,
 FloppyDiskPeripheral,
 TapePeripheral,
 ModemPeripheral,
 MonitorPeripheral,
 PrinterPeripheral,
 PointerPeripheral,
 KeyboardPeripheral,
 TerminalPeripheral,
 LinePeripheral,
 NetworkPeripheral,
 #ifdef    _NT_PROM
 Memory,
 #endif
 OtherPeripheral,
 
 /* new stuff for IP30 */
 /* added without moving anything */
 /* except ANONYMOUS. */
 
 XTalkAdapter,
 PCIAdapter,
 GIOAdapter,
 TPUAdapter,
 
 Anonymous
 } CONFIGTYPE;
 
 typedef enum {
 Failed = 1,
 ReadOnly = 2,
 Removable = 4,
 ConsoleIn = 8,
 ConsoleOut = 16,
 Input = 32,
 Output = 64
 } IDENTIFIERFLAG;
 
 #ifndef NULL            /* for GetChild(NULL); */
 #define NULL    0
 #endif
 
 union key_u {
 struct {
 #ifdef    _MIPSEB
 unsigned char  c_bsize;        /* block size in lines */
 unsigned char  c_lsize;        /* line size in bytes/tag */
 unsigned short c_size;        /* cache size in 4K pages */
 #else    /* _MIPSEL */
 unsigned short c_size;        /* cache size in 4K pages */
 unsigned char  c_lsize;        /* line size in bytes/tag */
 unsigned char  c_bsize;        /* block size in lines */
 #endif    /* _MIPSEL */
 } cache;
 ULONG FullKey;
 };
 
 #if _MIPS_SIM == _MIPS_SIM_ABI64
 #define SGI_ARCS_VERS    64            /* sgi 64-bit version */
 #define SGI_ARCS_REV    0            /* rev .00 */
 #else
 #define SGI_ARCS_VERS    1            /* first version */
 #define SGI_ARCS_REV    10            /* rev .10, 3/04/92 */
 #endif
 
 typedef struct component {
 CONFIGCLASS    Class;
 CONFIGTYPE    Type;
 IDENTIFIERFLAG    Flags;
 USHORT        Version;
 USHORT        Revision;
 ULONG        Key;
 ULONG        AffinityMask;
 ULONG        ConfigurationDataSize;
 ULONG        IdentifierLength;
 char        *Identifier;
 } COMPONENT;
 
 /* internal structure that holds pathname parsing data */
 struct cfgdata {
 char *name;            /* full name */
 int minlen;            /* minimum length to match */
 CONFIGTYPE type;        /* type of token */
 };
 
 /* System ID */
 typedef struct systemid {
 CHAR VendorId[8];
 CHAR ProductId[8];
 } SYSTEMID;
 
 /* memory query functions */
 typedef enum memorytype {
 ExceptionBlock,
 SPBPage,            /* ARCS == SystemParameterBlock */
 #ifndef _NT_PROM
 FreeContiguous,
 FreeMemory,
 BadMemory,
 LoadedProgram,
 FirmwareTemporary,
 FirmwarePermanent
 #else    /* _NT_PROM */
 FreeMemory,
 BadMemory,
 LoadedProgram,
 FirmwareTemporary,
 FirmwarePermanent,
 FreeContiguous
 #endif    /* _NT_PROM */
 } MEMORYTYPE;
 
 typedef struct memorydescriptor {
 MEMORYTYPE    Type;
 LONG        BasePage;
 LONG        PageCount;
 } MEMORYDESCRIPTOR;
 
 #endif /* _ASM_ARC_HINV_H */
 
 |