source: svn/newcon3bcm2_21bu/toolchain/mipsel-linux-uclibc/include/asm/arc/hinv.h @ 22

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