Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | /* * * 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) 2000 Silicon Graphics, Inc. * Copyright (C) 2000 by Jack Steiner (steiner@sgi.com) */ /* $Id$ * * ARCS hardware/memory inventory/configuration and system ID definitions. */ #ifndef _ASM_SN_ARC_HINV_H #define _ASM_SN_ARC_HINV_H #include <asm/sn/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, TernaryCache, 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 == _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_SN_ARC_HINV_H */ |