| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * ARCS hardware/memory inventory/configuration and system ID definitions. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef _ASM_ARC_HINV_H
 | 
					
						
							|  |  |  | #define _ASM_ARC_HINV_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-16 23:15:42 +09:00
										 |  |  | #include <asm/sgidefs.h>
 | 
					
						
							| 
									
										
										
										
											2007-09-05 08:59:34 +02:00
										 |  |  | #include <asm/fw/arc/types.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* configuration query defines */ | 
					
						
							|  |  |  | typedef enum configclass { | 
					
						
							|  |  |  | 	SystemClass, | 
					
						
							|  |  |  | 	ProcessorClass, | 
					
						
							|  |  |  | 	CacheClass, | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | #ifndef _NT_PROM
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	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, | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | #ifndef _NT_PROM
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	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); */
 | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | #define NULL	0
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #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; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-16 23:15:42 +09:00
										 |  |  | #if _MIPS_SIM == _MIPS_SIM_ABI64
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #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; | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | 	ULONG		Key; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	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 */ | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | #ifndef _NT_PROM
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	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 */
 |