Rev 2701 | Rev 3209 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2701 | Rev 3104 | ||
---|---|---|---|
Line 158... | Line 158... | ||
158 | sizeof(struct descriptor), FRAME_ATOMIC); |
158 | sizeof(struct descriptor), FRAME_ATOMIC); |
159 | if (!gdt_new) |
159 | if (!gdt_new) |
160 | panic("couldn't allocate memory for GDT\n"); |
160 | panic("couldn't allocate memory for GDT\n"); |
161 | 161 | ||
162 | memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor)); |
162 | memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor)); |
163 | memsetb((uintptr_t)(&gdt_new[TSS_DES]), |
- | |
164 | sizeof(struct descriptor), 0); |
163 | memsetb(&gdt_new[TSS_DES], sizeof(struct descriptor), 0); |
165 | protected_ap_gdtr.limit = GDT_ITEMS * sizeof(struct descriptor); |
164 | protected_ap_gdtr.limit = GDT_ITEMS * sizeof(struct descriptor); |
166 | protected_ap_gdtr.base = KA2PA((uintptr_t) gdt_new); |
165 | protected_ap_gdtr.base = KA2PA((uintptr_t) gdt_new); |
167 | gdtr.base = (uintptr_t) gdt_new; |
166 | gdtr.base = (uintptr_t) gdt_new; |
168 | 167 | ||
169 | if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) { |
168 | if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) { |