Linux Audio

Check our new training course

Loading...
v3.1
  1/*
  2 * ARCS hardware/memory inventory/configuration and system ID definitions.
  3 */
  4#ifndef _ASM_ARC_HINV_H
  5#define _ASM_ARC_HINV_H
  6
  7#include <asm/sgidefs.h>
  8#include <asm/fw/arc/types.h>
  9
 10/* configuration query defines */
 11typedef enum configclass {
 12	SystemClass,
 13	ProcessorClass,
 14	CacheClass,
 15#ifndef	_NT_PROM
 16	MemoryClass,
 17	AdapterClass,
 18	ControllerClass,
 19	PeripheralClass
 20#else	/* _NT_PROM */
 21	AdapterClass,
 22	ControllerClass,
 23	PeripheralClass,
 24	MemoryClass
 25#endif	/* _NT_PROM */
 26} CONFIGCLASS;
 27
 28typedef enum configtype {
 29	ARC,
 30	CPU,
 31	FPU,
 32	PrimaryICache,
 33	PrimaryDCache,
 34	SecondaryICache,
 35	SecondaryDCache,
 36	SecondaryCache,
 37#ifndef	_NT_PROM
 38	Memory,
 39#endif
 40	EISAAdapter,
 41	TCAdapter,
 42	SCSIAdapter,
 43	DTIAdapter,
 44	MultiFunctionAdapter,
 45	DiskController,
 46	TapeController,
 47	CDROMController,
 48	WORMController,
 49	SerialController,
 50	NetworkController,
 51	DisplayController,
 52	ParallelController,
 53	PointerController,
 54	KeyboardController,
 55	AudioController,
 56	OtherController,
 57	DiskPeripheral,
 58	FloppyDiskPeripheral,
 59	TapePeripheral,
 60	ModemPeripheral,
 61	MonitorPeripheral,
 62	PrinterPeripheral,
 63	PointerPeripheral,
 64	KeyboardPeripheral,
 65	TerminalPeripheral,
 66	LinePeripheral,
 67	NetworkPeripheral,
 68#ifdef	_NT_PROM
 69	Memory,
 70#endif
 71	OtherPeripheral,
 72
 73	/* new stuff for IP30 */
 74	/* added without moving anything */
 75	/* except ANONYMOUS. */
 76
 77	XTalkAdapter,
 78	PCIAdapter,
 79	GIOAdapter,
 80	TPUAdapter,
 81
 82	Anonymous
 83} CONFIGTYPE;
 84
 85typedef enum {
 86	Failed = 1,
 87	ReadOnly = 2,
 88	Removable = 4,
 89	ConsoleIn = 8,
 90	ConsoleOut = 16,
 91	Input = 32,
 92	Output = 64
 93} IDENTIFIERFLAG;
 94
 95#ifndef NULL			/* for GetChild(NULL); */
 96#define	NULL	0
 97#endif
 98
 99union key_u {
100	struct {
101#ifdef	_MIPSEB
102		unsigned char  c_bsize;		/* block size in lines */
103		unsigned char  c_lsize;		/* line size in bytes/tag */
104		unsigned short c_size;		/* cache size in 4K pages */
105#else	/* _MIPSEL */
106		unsigned short c_size;		/* cache size in 4K pages */
107		unsigned char  c_lsize;		/* line size in bytes/tag */
108		unsigned char  c_bsize;		/* block size in lines */
109#endif	/* _MIPSEL */
110	} cache;
111	ULONG FullKey;
112};
113
114#if _MIPS_SIM == _MIPS_SIM_ABI64
115#define SGI_ARCS_VERS	64			/* sgi 64-bit version */
116#define SGI_ARCS_REV	0			/* rev .00 */
117#else
118#define SGI_ARCS_VERS	1			/* first version */
119#define SGI_ARCS_REV	10			/* rev .10, 3/04/92 */
120#endif
121
122typedef struct component {
123	CONFIGCLASS	Class;
124	CONFIGTYPE	Type;
125	IDENTIFIERFLAG	Flags;
126	USHORT		Version;
127	USHORT		Revision;
128	ULONG 		Key;
129	ULONG		AffinityMask;
130	ULONG		ConfigurationDataSize;
131	ULONG		IdentifierLength;
132	char		*Identifier;
133} COMPONENT;
134
135/* internal structure that holds pathname parsing data */
136struct cfgdata {
137	char *name;			/* full name */
138	int minlen;			/* minimum length to match */
139	CONFIGTYPE type;		/* type of token */
140};
141
142/* System ID */
143typedef struct systemid {
144	CHAR VendorId[8];
145	CHAR ProductId[8];
146} SYSTEMID;
147
148/* memory query functions */
149typedef enum memorytype {
150	ExceptionBlock,
151	SPBPage,			/* ARCS == SystemParameterBlock */
152#ifndef	_NT_PROM
153	FreeContiguous,
154	FreeMemory,
155	BadMemory,
156	LoadedProgram,
157	FirmwareTemporary,
158	FirmwarePermanent
159#else	/* _NT_PROM */
160	FreeMemory,
161	BadMemory,
162	LoadedProgram,
163	FirmwareTemporary,
164	FirmwarePermanent,
165	FreeContiguous
166#endif	/* _NT_PROM */
167} MEMORYTYPE;
168
169typedef struct memorydescriptor {
170	MEMORYTYPE	Type;
171	LONG		BasePage;
172	LONG		PageCount;
173} MEMORYDESCRIPTOR;
174
175#endif /* _ASM_ARC_HINV_H */
v3.15
  1/*
  2 * ARCS hardware/memory inventory/configuration and system ID definitions.
  3 */
  4#ifndef _ASM_ARC_HINV_H
  5#define _ASM_ARC_HINV_H
  6
  7#include <asm/sgidefs.h>
  8#include <asm/fw/arc/types.h>
  9
 10/* configuration query defines */
 11typedef enum configclass {
 12	SystemClass,
 13	ProcessorClass,
 14	CacheClass,
 15#ifndef _NT_PROM
 16	MemoryClass,
 17	AdapterClass,
 18	ControllerClass,
 19	PeripheralClass
 20#else	/* _NT_PROM */
 21	AdapterClass,
 22	ControllerClass,
 23	PeripheralClass,
 24	MemoryClass
 25#endif	/* _NT_PROM */
 26} CONFIGCLASS;
 27
 28typedef enum configtype {
 29	ARC,
 30	CPU,
 31	FPU,
 32	PrimaryICache,
 33	PrimaryDCache,
 34	SecondaryICache,
 35	SecondaryDCache,
 36	SecondaryCache,
 37#ifndef _NT_PROM
 38	Memory,
 39#endif
 40	EISAAdapter,
 41	TCAdapter,
 42	SCSIAdapter,
 43	DTIAdapter,
 44	MultiFunctionAdapter,
 45	DiskController,
 46	TapeController,
 47	CDROMController,
 48	WORMController,
 49	SerialController,
 50	NetworkController,
 51	DisplayController,
 52	ParallelController,
 53	PointerController,
 54	KeyboardController,
 55	AudioController,
 56	OtherController,
 57	DiskPeripheral,
 58	FloppyDiskPeripheral,
 59	TapePeripheral,
 60	ModemPeripheral,
 61	MonitorPeripheral,
 62	PrinterPeripheral,
 63	PointerPeripheral,
 64	KeyboardPeripheral,
 65	TerminalPeripheral,
 66	LinePeripheral,
 67	NetworkPeripheral,
 68#ifdef	_NT_PROM
 69	Memory,
 70#endif
 71	OtherPeripheral,
 72
 73	/* new stuff for IP30 */
 74	/* added without moving anything */
 75	/* except ANONYMOUS. */
 76
 77	XTalkAdapter,
 78	PCIAdapter,
 79	GIOAdapter,
 80	TPUAdapter,
 81
 82	Anonymous
 83} CONFIGTYPE;
 84
 85typedef enum {
 86	Failed = 1,
 87	ReadOnly = 2,
 88	Removable = 4,
 89	ConsoleIn = 8,
 90	ConsoleOut = 16,
 91	Input = 32,
 92	Output = 64
 93} IDENTIFIERFLAG;
 94
 95#ifndef NULL			/* for GetChild(NULL); */
 96#define NULL	0
 97#endif
 98
 99union key_u {
100	struct {
101#ifdef	_MIPSEB
102		unsigned char  c_bsize;		/* block size in lines */
103		unsigned char  c_lsize;		/* line size in bytes/tag */
104		unsigned short c_size;		/* cache size in 4K pages */
105#else	/* _MIPSEL */
106		unsigned short c_size;		/* cache size in 4K pages */
107		unsigned char  c_lsize;		/* line size in bytes/tag */
108		unsigned char  c_bsize;		/* block size in lines */
109#endif	/* _MIPSEL */
110	} cache;
111	ULONG FullKey;
112};
113
114#if _MIPS_SIM == _MIPS_SIM_ABI64
115#define SGI_ARCS_VERS	64			/* sgi 64-bit version */
116#define SGI_ARCS_REV	0			/* rev .00 */
117#else
118#define SGI_ARCS_VERS	1			/* first version */
119#define SGI_ARCS_REV	10			/* rev .10, 3/04/92 */
120#endif
121
122typedef struct component {
123	CONFIGCLASS	Class;
124	CONFIGTYPE	Type;
125	IDENTIFIERFLAG	Flags;
126	USHORT		Version;
127	USHORT		Revision;
128	ULONG		Key;
129	ULONG		AffinityMask;
130	ULONG		ConfigurationDataSize;
131	ULONG		IdentifierLength;
132	char		*Identifier;
133} COMPONENT;
134
135/* internal structure that holds pathname parsing data */
136struct cfgdata {
137	char *name;			/* full name */
138	int minlen;			/* minimum length to match */
139	CONFIGTYPE type;		/* type of token */
140};
141
142/* System ID */
143typedef struct systemid {
144	CHAR VendorId[8];
145	CHAR ProductId[8];
146} SYSTEMID;
147
148/* memory query functions */
149typedef enum memorytype {
150	ExceptionBlock,
151	SPBPage,			/* ARCS == SystemParameterBlock */
152#ifndef _NT_PROM
153	FreeContiguous,
154	FreeMemory,
155	BadMemory,
156	LoadedProgram,
157	FirmwareTemporary,
158	FirmwarePermanent
159#else	/* _NT_PROM */
160	FreeMemory,
161	BadMemory,
162	LoadedProgram,
163	FirmwareTemporary,
164	FirmwarePermanent,
165	FreeContiguous
166#endif	/* _NT_PROM */
167} MEMORYTYPE;
168
169typedef struct memorydescriptor {
170	MEMORYTYPE	Type;
171	LONG		BasePage;
172	LONG		PageCount;
173} MEMORYDESCRIPTOR;
174
175#endif /* _ASM_ARC_HINV_H */