Subversion Repositories HelenOS

Rev

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

Rev 3071 Rev 3104
Line 144... Line 144...
144
         */
144
         */
145
        if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS * sizeof(struct descriptor), FRAME_ATOMIC)))
145
        if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS * sizeof(struct descriptor), FRAME_ATOMIC)))
146
            panic("couldn't allocate memory for GDT\n");
146
            panic("couldn't allocate memory for GDT\n");
147
 
147
 
148
        memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor));
148
        memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor));
149
        memsetb((uintptr_t)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0);
149
        memsetb(&gdt_new[TSS_DES], sizeof(struct descriptor), 0);
150
        gdtr.base = (uintptr_t) gdt_new;
150
        gdtr.base = (uintptr_t) gdt_new;
151
 
151
 
152
        if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) {
152
        if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) {
153
            /*
153
            /*
154
             * There may be just one AP being initialized at
154
             * There may be just one AP being initialized at