Rev 16 | Rev 22 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16 | Rev 21 | ||
---|---|---|---|
Line 65... | Line 65... | ||
65 | 65 | ||
66 | struct tss *tss_p = NULL; |
66 | struct tss *tss_p = NULL; |
67 | 67 | ||
68 | /* gdtr changes everytime new CPU is initialized */ |
68 | /* gdtr changes everytime new CPU is initialized */ |
69 | struct ptr_16_32 gdtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(gdt), .base = (__address) gdt }; |
69 | struct ptr_16_32 gdtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(gdt), .base = (__address) gdt }; |
70 | struct ptr_16_32 idtr = { .limit = sizeof(idt), .base = (__address) idt }; |
70 | struct ptr_16_32 idtr __attribute__ ((section ("K_DATA_START")))= { .limit = sizeof(idt), .base = (__address) idt }; |
71 | 71 | ||
72 | void gdt_setbase(struct descriptor *d, __address base) |
72 | void gdt_setbase(struct descriptor *d, __address base) |
73 | { |
73 | { |
74 | d->base_0_15 = base & 0xffff; |
74 | d->base_0_15 = base & 0xffff; |
75 | d->base_16_23 = (base >> 16) & 0xff; |
75 | d->base_16_23 = (base >> 16) & 0xff; |