cpu 113 console.c cprintf("cpu%d: panic: ", cpu->id); cpu 25 main.c cprintf("\ncpu%d: starting xv6\n\n", cpu->id); cpu 58 main.c cprintf("cpu%d: starting\n", cpu->id); cpu 60 main.c xchg(&cpu->started, 1); // tell startothers() we're up cpu 72 main.c struct cpu *c; cpu 14 mp.c struct cpu cpus[NCPU]; cpu 15 mp.c static struct cpu *bcpu; cpu 286 proc.c swtch(&cpu->scheduler, proc->context); cpu 307 proc.c if(cpu->ncli != 1) cpu 313 proc.c intena = cpu->intena; cpu 314 proc.c swtch(&proc->context, cpu->scheduler); cpu 315 proc.c cpu->intena = intena; cpu 15 proc.h struct cpu *cpu; cpu 19 proc.h extern struct cpu cpus[NCPU]; cpu 30 proc.h extern struct cpu *cpu asm("%gs:0"); // &cpus[cpunum()] cpu 17 spinlock.c lk->cpu = 0; cpu 38 spinlock.c lk->cpu = cpu; cpu 50 spinlock.c lk->cpu = 0; cpu 88 spinlock.c return lock->locked && lock->cpu == cpu; cpu 103 spinlock.c if(cpu->ncli++ == 0) cpu 104 spinlock.c cpu->intena = eflags & FL_IF; cpu 112 spinlock.c if(--cpu->ncli < 0) cpu 114 spinlock.c if(cpu->ncli == 0 && cpu->intena) cpu 7 spinlock.h struct cpu *cpu; // The cpu holding the lock. cpu 51 trap.c if(cpu->id == 0){ cpu 77 trap.c cpu->id, tf->cs, tf->eip); cpu 86 trap.c tf->trapno, cpu->id, tf->eip, rcr2()); cpu 92 trap.c proc->pid, proc->name, tf->trapno, tf->err, cpu->id, tf->eip, cpu 19 vm.c struct cpu *c; cpu 32 vm.c c->gdt[SEG_KCPU] = SEG(STA_W, &c->cpu, 8, 0); cpu 38 vm.c cpu = c; cpu 168 vm.c cpu->gdt[SEG_TSS] = SEG16(STS_T32A, &cpu->ts, sizeof(cpu->ts)-1, 0); cpu 169 vm.c cpu->gdt[SEG_TSS].s = 0; cpu 170 vm.c cpu->ts.ss0 = SEG_KDATA << 3; cpu 171 vm.c cpu->ts.esp0 = (uint)proc->kstack + KSTACKSIZE;