Subversion Repositories HelenOS

Rev

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

Rev 298 Rev 300
Line 141... Line 141...
141
        if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS*sizeof(struct descriptor))))
141
        if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS*sizeof(struct descriptor))))
142
            panic("couldn't allocate memory for GDT\n");
142
            panic("couldn't allocate memory for GDT\n");
143
 
143
 
144
        memcpy(gdt_new, gdt, GDT_ITEMS*sizeof(struct descriptor));
144
        memcpy(gdt_new, gdt, GDT_ITEMS*sizeof(struct descriptor));
145
        memsetb((__address)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0);
145
        memsetb((__address)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0);
146
        ((struct ptr_16_32 *) PA2KA((__address) &real_bootstrap_gdtr))->base = KA2PA((__address) gdt_new);
146
        real_bootstrap_gdtr.base = KA2PA((__address) gdt_new);
147
        gdtr.base = (__address) gdt_new;
147
        gdtr.base = (__address) gdt_new;
148
 
148
 
149
        if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) {
149
        if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) {
150
            /*
150
            /*
151
             * There may be just one AP being initialized at
151
             * There may be just one AP being initialized at