Changeset c0b45fa in mainline for arch/ia32/src/smp/smp.c
- Timestamp:
- 2005-09-05T12:15:04Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2c55af3
- Parents:
- ff4c4f5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/smp/smp.c
rff4c4f5 rc0b45fa 144 144 memcpy(gdt_new, gdt, GDT_ITEMS*sizeof(struct descriptor)); 145 145 memsetb((__address)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0); 146 real_bootstrap_gdtr.base = KA2PA((__address) gdt_new);146 ((struct ptr_16_32 *) PA2KA((__address) &real_bootstrap_gdtr))->base = KA2PA((__address) gdt_new); 147 147 gdtr.base = (__address) gdt_new; 148 148 149 149 if (l_apic_send_init_ipi(ops->cpu_apic_id(i))) { 150 150 /* 151 151 * There may be just one AP being initialized at 152 152 * the time. After it comes completely up, it is 153 153 * supposed to wake us up. 154 154 */ 155 155 if (waitq_sleep_timeout(&ap_completion_wq, 1000000, SYNCH_BLOCKING) == ESYNCH_TIMEOUT) 156 156 printf("%s: waiting for cpu%d (APIC ID = %d) timed out\n", __FUNCTION__, config.cpu_active > i ? config.cpu_active : i, ops->cpu_apic_id(i)); 157 } 158 else { 157 } else 159 158 printf("INIT IPI for l_apic%d failed\n", ops->cpu_apic_id(i)); 160 }161 159 } 162 160
Note:
See TracChangeset
for help on using the changeset viewer.