OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-mips64/] [arc/] [hinv.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
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 */
10
typedef 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
 
27
typedef 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
 
84
typedef 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
 
98
union 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
 
121
typedef 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 */
135
struct cfgdata {
136
        char *name;                     /* full name */
137
        int minlen;                     /* minimum length to match */
138
        CONFIGTYPE type;                /* type of token */
139
};
140
 
141
/* System ID */
142
typedef struct systemid {
143
        CHAR VendorId[8];
144
        CHAR ProductId[8];
145
} SYSTEMID;
146
 
147
/* memory query functions */
148
typedef 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
 
168
typedef struct memorydescriptor {
169
        MEMORYTYPE      Type;
170
        LONG            BasePage;
171
        LONG            PageCount;
172
} MEMORYDESCRIPTOR;
173
 
174
#endif /* _ASM_ARC_HINV_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.