Rev 232 | Rev 267 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 232 | Rev 244 | ||
---|---|---|---|
Line 35... | Line 35... | ||
35 | #include <arch/context.h> |
35 | #include <arch/context.h> |
36 | #include <panic.h> |
36 | #include <panic.h> |
37 | #include <arch/mm/page.h> |
37 | #include <arch/mm/page.h> |
38 | #include <mm/heap.h> |
38 | #include <mm/heap.h> |
39 | #include <memstr.h> |
39 | #include <memstr.h> |
- | 40 | #include <arch/boot/boot.h> |
|
40 | 41 | ||
41 | /* |
42 | /* |
42 | * Early ia32 configuration functions and data structures. |
43 | * Early ia32 configuration functions and data structures. |
43 | */ |
44 | */ |
44 | 45 | ||
Line 67... | Line 68... | ||
67 | static struct tss tss; |
68 | static struct tss tss; |
68 | 69 | ||
69 | struct tss *tss_p = NULL; |
70 | struct tss *tss_p = NULL; |
70 | 71 | ||
71 | /* gdtr is changed by kmp before next CPU is initialized */ |
72 | /* gdtr is changed by kmp before next CPU is initialized */ |
72 | struct ptr_16_32 gdtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(gdt), .base = KA2PA((__address) gdt) }; |
73 | struct ptr_16_32 gdtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(gdt), .base = KA2PA((__address) gdt - BOOT_OFFSET) }; |
73 | struct ptr_16_32 idtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(idt), .base = KA2PA((__address) idt) }; |
74 | struct ptr_16_32 idtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(idt), .base = KA2PA((__address) idt) }; |
74 | 75 | ||
75 | void gdt_setbase(struct descriptor *d, __address base) |
76 | void gdt_setbase(struct descriptor *d, __address base) |
76 | { |
77 | { |
77 | d->base_0_15 = base & 0xffff; |
78 | d->base_0_15 = base & 0xffff; |