Rev 277 | Rev 294 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 277 | Rev 279 | ||
---|---|---|---|
Line 142... | Line 142... | ||
142 | if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS*sizeof(struct descriptor)))) |
142 | if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS*sizeof(struct descriptor)))) |
143 | panic("couldn't allocate memory for GDT\n"); |
143 | panic("couldn't allocate memory for GDT\n"); |
144 | 144 | ||
145 | memcpy(gdt_new, gdt, GDT_ITEMS*sizeof(struct descriptor)); |
145 | memcpy(gdt_new, gdt, GDT_ITEMS*sizeof(struct descriptor)); |
146 | memsetb((__address)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0); |
146 | memsetb((__address)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0); |
147 | ap_bootstrap_gdtr.base = KA2PA((__address) gdt_new); |
147 | real_bootstrap_gdtr.base = KA2PA((__address) gdt_new); |
148 | gdtr.base = (__address) gdt_new; |
148 | gdtr.base = (__address) gdt_new; |
149 | 149 | ||
150 | if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) { |
150 | if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) { |
151 | /* |
151 | /* |
152 | * There may be just one AP being initialized at |
152 | * There may be just one AP being initialized at |