 1da177e4c3
			
		
	
	
	1da177e4c3
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			174 lines
		
	
	
	
		
			3.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
	
		
			3.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * ARCS hardware/memory inventory/configuration and system ID definitions.
 | |
|  */
 | |
| #ifndef _ASM_ARC_HINV_H
 | |
| #define _ASM_ARC_HINV_H
 | |
| 
 | |
| #include <asm/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 == _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 */
 |