PageRenderTime 30ms CodeModel.GetById 15ms app.highlight 11ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/mips/include/asm/fw/arc/hinv.h

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