Subversion Repositories HelenOS

Rev

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

Rev 1816 Rev 1829
Line 90... Line 90...
90
    unsigned granularity : 1;
90
    unsigned granularity : 1;
91
    unsigned base_24_31: 8;
91
    unsigned base_24_31: 8;
92
} __attribute__ ((packed));
92
} __attribute__ ((packed));
93
typedef struct descriptor  descriptor_t;
93
typedef struct descriptor  descriptor_t;
94
 
94
 
95
struct idescriptor {
-
 
96
    unsigned offset_0_15: 16;
-
 
97
    unsigned selector: 16;
-
 
98
    unsigned unused: 8;
-
 
99
    unsigned access: 8;
-
 
100
    unsigned offset_16_31: 16;
-
 
101
} __attribute__ ((packed));
-
 
102
typedef struct idescriptor idescriptor_t;
-
 
103
 
-
 
104
struct tss {
95
struct tss {
105
    uint16_t link;
96
    uint16_t link;
106
    unsigned : 16;
97
    unsigned : 16;
107
    uint32_t esp0;
98
    uint32_t esp0;
108
    uint16_t ss0;
99
    uint16_t ss0;
Line 154... Line 145...
154
extern void pm_init(void);
145
extern void pm_init(void);
155
 
146
 
156
extern void gdt_setbase(descriptor_t *d, uintptr_t base);
147
extern void gdt_setbase(descriptor_t *d, uintptr_t base);
157
extern void gdt_setlimit(descriptor_t *d, uint32_t limit);
148
extern void gdt_setlimit(descriptor_t *d, uint32_t limit);
158
 
149
 
159
extern void idt_init(void);
150
extern void traps_init(void);
160
extern void idt_setoffset(idescriptor_t *d, uintptr_t offset);
-
 
161
 
151
 
162
extern void tss_initialize(tss_t *t);
152
extern void tss_initialize(tss_t *t);
163
extern void set_tls_desc(uintptr_t tls);
153
extern void set_tls_desc(uintptr_t tls);
164
 
154
 
165
#endif /* __ASM__ */
155
#endif /* __ASM__ */