Subversion Repositories HelenOS-historic

Rev

Rev 341 | Rev 345 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 341 Rev 344
Line 24... Line 24...
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
 
28
 
29
#ifndef __mips32_ARC_H_
29
#ifndef __mips_ARC_H_
30
#define __mips32_ARC_H_
30
#define __mips_ARC_H_
31
 
31
 
32
#include <arch/types.h>
32
#include <arch/types.h>
33
 
33
 
34
#define ARC_BASE_ADDR 0x1000;
34
#define ARC_BASE_ADDR 0x1000;
35
#define ARC_MAGIC 0x53435241
35
#define ARC_MAGIC 0x53435241
36
 
36
 
-
 
37
typedef enum {
-
 
38
    SystemClass = 0,
-
 
39
    ProcessorClass,
-
 
40
    CacheClass,
-
 
41
    AdapterClass,
-
 
42
    ControllerClass,
-
 
43
    PeripheralClass,
-
 
44
    MemoryClass
-
 
45
} arc_component_class;
-
 
46
 
-
 
47
typedef enum {
-
 
48
    ARC_type = 0,
-
 
49
    CPU_type,
-
 
50
    FPU_type,
-
 
51
    PrimaryICache,
-
 
52
    PrimaryDCache,
-
 
53
    SecondaryICache,
-
 
54
    SecondaryDCache,
-
 
55
    SecondaryCache,
-
 
56
    Memory, /* Not in NT PROM */
-
 
57
    EISAAdapter,
-
 
58
    TCAdapter,
-
 
59
    SCSIAdapter,
-
 
60
    DTIAdapter,
-
 
61
    MultiFunctionAdapter,
-
 
62
    DiskController,
-
 
63
    TapeController,
-
 
64
    CDROMController,
-
 
65
    WORMController,
-
 
66
    SerialController,
-
 
67
    NetworkController,
-
 
68
    DisplayController,
-
 
69
    ParallelController,
-
 
70
    PointerController,
-
 
71
    KeyboardController,
-
 
72
    AudioController,
-
 
73
    OtherController,
-
 
74
    DiskPeripheral,
-
 
75
    FloppyDiskPeripheral,
-
 
76
    TapePeripheral,
-
 
77
    ModemPeripheral,
-
 
78
    MonitorPeripheral,
-
 
79
    PrinterPeripheral,
-
 
80
    PointerPeripheral,
-
 
81
    KeyboardPeripheral,
-
 
82
    TerminalPeripheral,
-
 
83
    LinePeripheral,
-
 
84
    NetworkPeripheral,
-
 
85
    OtherPeripheral,
-
 
86
    XTalkAdapter,
-
 
87
    PCIAdapter,
-
 
88
    GIOAdapter,
-
 
89
    TPUAdapter,
-
 
90
    Anonymous
-
 
91
}arc_component_type;
-
 
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
}arc_component_flags;
-
 
102
 
37
typedef struct  {
103
typedef struct  {
-
 
104
    arc_component_class class;
38
} arc_component;
105
    arc_component_type type;
-
 
106
    arc_component_flags flags;
-
 
107
    __u16 revision;
-
 
108
    __u16 version;
-
 
109
    __u32 key;
-
 
110
    __u32 affinitymask;
-
 
111
    __u32 configdatasize;
-
 
112
    __u32 identifier_len;
-
 
113
    char *identifier;
-
 
114
} __attribute__ ((packed)) arc_component;
39
 
115
 
40
typedef struct {
116
typedef struct {
41
    __u16 year;
117
    __u16 year;
42
    __u16 month;
118
    __u16 month;
43
    __u16 day;
119
    __u16 day;
44
    __u16 hour;
120
    __u16 hour;
45
    __u16 minutes;
121
    __u16 minutes;
46
    __u16 seconds;
122
    __u16 seconds;
47
    __u16 mseconds;
123
    __u16 mseconds;
48
} arc_timeinfo ;
124
} __attribute__ ((packed)) arc_timeinfo;
49
 
125
 
50
/* This is the SGI block structure, WinNT has it different */
126
/* This is the SGI block structure, WinNT has it different */
51
typedef enum {
127
typedef enum {
52
    ExceptionBlock,
128
    ExceptionBlock,
53
    SystemParameterBlock,
129
    SystemParameterBlock,
Line 133... Line 209...
133
 
209
 
134
extern int init_arc(void);
210
extern int init_arc(void);
135
extern void arc_print_memory_map(void);
211
extern void arc_print_memory_map(void);
136
extern int arc_enabled(void);
212
extern int arc_enabled(void);
137
extern void arc_putchar(char ch);
213
extern void arc_putchar(char ch);
-
 
214
extern void arc_print_devices(void);
138
 
215
 
139
#endif
216
#endif