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

Subversion Repositories or1k

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

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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