Subversion Repositories HelenOS-historic

Rev

Rev 1702 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1702 Rev 1780
Line 54... Line 54...
54
    CmResourceTypeProductName,
54
    CmResourceTypeProductName,
55
    CmResourceTypeSerialNumber
55
    CmResourceTypeSerialNumber
56
}cm_resource_type;
56
}cm_resource_type;
57
 
57
 
58
typedef struct {
58
typedef struct {
59
    __u8 type;
59
    uint8_t type;
60
    __u8 sharedisposition;
60
    uint8_t sharedisposition;
61
    __u16 flags;
61
    uint16_t flags;
62
    union {
62
    union {
63
        struct {
63
        struct {
64
            long long start; /* 64-bit phys address */
64
            long long start; /* 64-bit phys address */
65
            unsigned long length;
65
            unsigned long length;
66
        }port;
66
        }port;
Line 75... Line 75...
75
        }memory;
75
        }memory;
76
    }u;
76
    }u;
77
}__attribute__ ((packed)) cm_resource_descriptor;
77
}__attribute__ ((packed)) cm_resource_descriptor;
78
 
78
 
79
typedef struct {
79
typedef struct {
80
    __u16 version;
80
    uint16_t version;
81
    __u16 revision;
81
    uint16_t revision;
82
    unsigned long count;
82
    unsigned long count;
83
    cm_resource_descriptor descr[1];
83
    cm_resource_descriptor descr[1];
84
}__attribute__ ((packed)) cm_resource_list;
84
}__attribute__ ((packed)) cm_resource_list;
85
 
85
 
86
typedef enum {
86
typedef enum {
Line 151... Line 151...
151
 
151
 
152
typedef struct  {
152
typedef struct  {
153
    arc_component_class class;
153
    arc_component_class class;
154
    arc_component_type type;
154
    arc_component_type type;
155
    arc_component_flags flags;
155
    arc_component_flags flags;
156
    __u16 revision;
156
    uint16_t revision;
157
    __u16 version;
157
    uint16_t version;
158
    __u32 key;
158
    uint32_t key;
159
    __u32 affinitymask;
159
    uint32_t affinitymask;
160
    __u32 configdatasize;
160
    uint32_t configdatasize;
161
    __u32 identifier_len;
161
    uint32_t identifier_len;
162
    char *identifier;
162
    char *identifier;
163
} __attribute__ ((packed)) arc_component;
163
} __attribute__ ((packed)) arc_component;
164
 
164
 
165
typedef struct {
165
typedef struct {
166
    __u16 year;
166
    uint16_t year;
167
    __u16 month;
167
    uint16_t month;
168
    __u16 day;
168
    uint16_t day;
169
    __u16 hour;
169
    uint16_t hour;
170
    __u16 minutes;
170
    uint16_t minutes;
171
    __u16 seconds;
171
    uint16_t seconds;
172
    __u16 mseconds;
172
    uint16_t mseconds;
173
} __attribute__ ((packed)) arc_timeinfo;
173
} __attribute__ ((packed)) arc_timeinfo;
174
 
174
 
175
/* This is the SGI block structure, WinNT has it different */
175
/* This is the SGI block structure, WinNT has it different */
176
typedef enum {
176
typedef enum {
177
    ExceptionBlock,
177
    ExceptionBlock,
Line 184... Line 184...
184
    FirmwarePermanent
184
    FirmwarePermanent
185
}arc_memorytype_t;
185
}arc_memorytype_t;
186
 
186
 
187
typedef struct  {
187
typedef struct  {
188
    arc_memorytype_t type;
188
    arc_memorytype_t type;
189
    __u32 basepage;  /* *4096 = baseaddr */
189
    uint32_t basepage;  /* *4096 = baseaddr */
190
    __u32 basecount;
190
    uint32_t basecount;
191
}arc_memdescriptor_t;
191
}arc_memdescriptor_t;
192
 
192
 
193
typedef struct {
193
typedef struct {
194
    char vendorid[8];
194
    char vendorid[8];
195
    char prodid[8];
195
    char prodid[8];
196
}arc_sysid_t;
196
}arc_sysid_t;
197
 
197
 
198
typedef struct {
198
typedef struct {
199
    long (*load)(void); /* ... */
199
    long (*load)(void); /* ... */
200
    long (*invoke)(__u32 eaddr,__u32 saddr,__u32 argc,char **argv,
200
    long (*invoke)(uint32_t eaddr,uint32_t saddr,uint32_t argc,char **argv,
201
               char **envp);
201
               char **envp);
202
    long (*execute)(char *path,__u32 argc,char **argv,char **envp);
202
    long (*execute)(char *path,uint32_t argc,char **argv,char **envp);
203
    void (*halt)(void);
203
    void (*halt)(void);
204
    void (*powerdown)(void);
204
    void (*powerdown)(void);
205
    void (*restart)(void);
205
    void (*restart)(void);
206
    void (*reboot)(void);
206
    void (*reboot)(void);
207
    void (*enterinteractivemode)(void);
207
    void (*enterinteractivemode)(void);
Line 219... Line 219...
219
    arc_sysid_t (*getsystemid)(void);
219
    arc_sysid_t (*getsystemid)(void);
220
    arc_memdescriptor_t * (*getmemorydescriptor)(arc_memdescriptor_t *cur);
220
    arc_memdescriptor_t * (*getmemorydescriptor)(arc_memdescriptor_t *cur);
221
/* 20 */
221
/* 20 */
222
    long (*reserved2)(void);
222
    long (*reserved2)(void);
223
    arc_timeinfo * (*gettime)(void);
223
    arc_timeinfo * (*gettime)(void);
224
    __u32 (*getrelativetime)(void);
224
    uint32_t (*getrelativetime)(void);
225
    long (*getdirectoryentry)();
225
    long (*getdirectoryentry)();
226
    long (*open)(void); /* ... */
226
    long (*open)(void); /* ... */
227
    long (*close)(__u32 fileid);
227
    long (*close)(uint32_t fileid);
228
    long (*read)(__u32 fileid,void *buf,__u32 n,__u32 *cnt);
228
    long (*read)(uint32_t fileid,void *buf,uint32_t n,uint32_t *cnt);
229
    long (*getreadstatus)(__u32 fileid);
229
    long (*getreadstatus)(uint32_t fileid);
230
    long (*write)(__u32 fileid, void *buf,__u32 n,__u32 *cnt);
230
    long (*write)(uint32_t fileid, void *buf,uint32_t n,uint32_t *cnt);
231
    long (*seek)(void); /* ... */
231
    long (*seek)(void); /* ... */
232
/* 30 */
232
/* 30 */
233
    long (*mount)(void); /* ... */
233
    long (*mount)(void); /* ... */
234
    char * (*getenvironmentvariable)(char *name);
234
    char * (*getenvironmentvariable)(char *name);
235
    char * (*setenvironmentvariable)(char *name, char *value);
235
    char * (*setenvironmentvariable)(char *name, char *value);
236
    long (*getfileinformation)(void); /* ... */
236
    long (*getfileinformation)(void); /* ... */
237
    long (*setfileinformation)(__u32 fileid,__u32 attflags,__u32 attmask);
237
    long (*setfileinformation)(uint32_t fileid,uint32_t attflags,uint32_t attmask);
238
    void (*flushallcaches)(void);
238
    void (*flushallcaches)(void);
239
    long (*testunicodecharacter)(void); /* ... */
239
    long (*testunicodecharacter)(void); /* ... */
240
    long (*getdisplaystatus)(void); /* ... */
240
    long (*getdisplaystatus)(void); /* ... */
241
} arc_func_vector_t;
241
} arc_func_vector_t;
242
 
242
 
243
typedef struct {
243
typedef struct {
244
    __u32 signature;
244
    uint32_t signature;
245
    __u32 length;
245
    uint32_t length;
246
    __u16 version;
246
    uint16_t version;
247
    __u16 revision;
247
    uint16_t revision;
248
    void *restartblock;
248
    void *restartblock;
249
    void *debugblock;
249
    void *debugblock;
250
    void *gevector;
250
    void *gevector;
251
    void *utlbmissvector;
251
    void *utlbmissvector;
252
    __u32 firmwarevectorlen;
252
    uint32_t firmwarevectorlen;
253
    arc_func_vector_t *firmwarevector;
253
    arc_func_vector_t *firmwarevector;
254
    __u32 privvectorlen;
254
    uint32_t privvectorlen;
255
    void *privvector;
255
    void *privvector;
256
    __u32 adaptercount;
256
    uint32_t adaptercount;
257
}__attribute__ ((packed)) arc_sbp;
257
}__attribute__ ((packed)) arc_sbp;
258
 
258
 
259
extern int arc_init(void);
259
extern int arc_init(void);
260
extern int arc_enabled(void);
260
extern int arc_enabled(void);
261
void arc_frame_init(void);
261
void arc_frame_init(void);