Changes in kernel/arch/ia32/src/smp/smp.c [49e6c6b4:b2fa1204] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/smp/smp.c
r49e6c6b4 rb2fa1204 52 52 #include <mm/slab.h> 53 53 #include <mm/as.h> 54 #include < print.h>54 #include <log.h> 55 55 #include <memstr.h> 56 56 #include <arch/drivers/i8259.h> 57 #include <cpu.h>58 57 59 58 #ifdef CONFIG_SMP … … 81 80 } 82 81 83 static void cpu_arch_id_init(void)84 {85 ASSERT(ops != NULL);86 ASSERT(cpus != NULL);87 88 for (unsigned int i = 0; i < config.cpu_count; ++i) {89 cpus[i].arch.id = ops->cpu_apic_id(i);90 }91 }92 93 82 /* 94 83 * Kernel thread for bringing up application processors. It becomes clear … … 103 92 104 93 ASSERT(ops != NULL); 105 106 /*107 * SMP initialized, cpus array allocated. Assign each CPU its108 * physical APIC ID.109 */110 cpu_arch_id_init();111 94 112 95 /* … … 146 129 147 130 if (ops->cpu_apic_id(i) == bsp_l_apic) { 148 printf("kmp: bad processor entry #%u, will not send IPI"149 " to myself\n", i);131 log(LF_ARCH, LVL_ERROR, "kmp: bad processor entry #%u, " 132 "will not send IPI to myself", i); 150 133 continue; 151 134 } … … 179 162 if (waitq_sleep_timeout(&ap_completion_wq, 1000000, 180 163 SYNCH_FLAGS_NONE) == ESYNCH_TIMEOUT) { 181 printf("%s: waiting for cpu%u (APIC ID = %d)"182 " timed out\n", __FUNCTION__, i,183 ops->cpu_apic_id(i));164 log(LF_ARCH, LVL_NOTE, "%s: waiting for cpu%u " 165 "(APIC ID = %d) timed out", __FUNCTION__, 166 i, ops->cpu_apic_id(i)); 184 167 } 185 168 } else 186 printf("INIT IPI for l_apic%d failed\n",169 log(LF_ARCH, LVL_ERROR, "INIT IPI for l_apic%d failed", 187 170 ops->cpu_apic_id(i)); 188 171 }
Note:
See TracChangeset
for help on using the changeset viewer.