• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/x86/xen/

Lines Matching defs:cpu

23 #include <asm/cpu.h>
61 int cpu = smp_processor_id();
70 cpu = smp_processor_id();
71 smp_store_cpu_info(cpu);
72 cpu_data(cpu).x86_max_cores = 1;
73 set_cpu_sibling_map(cpu);
77 set_cpu_online(cpu, true);
93 static int xen_smp_intr_init(unsigned int cpu)
98 resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu);
100 cpu,
107 per_cpu(xen_resched_irq, cpu) = rc;
109 callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu);
111 cpu,
118 per_cpu(xen_callfunc_irq, cpu) = rc;
120 debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
121 rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt,
126 per_cpu(xen_debug_irq, cpu) = rc;
128 callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu);
130 cpu,
137 per_cpu(xen_callfuncsingle_irq, cpu) = rc;
142 if (per_cpu(xen_resched_irq, cpu) >= 0)
143 unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu), NULL);
144 if (per_cpu(xen_callfunc_irq, cpu) >= 0)
145 unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu), NULL);
146 if (per_cpu(xen_debug_irq, cpu) >= 0)
147 unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL);
148 if (per_cpu(xen_callfuncsingle_irq, cpu) >= 0)
149 unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu),
173 /* We've switched to the "real" per-cpu gdt, so make sure the
182 unsigned cpu;
200 for (cpu = nr_cpu_ids - 1; !cpu_possible(cpu); cpu--)
202 set_cpu_possible(cpu, false);
205 for_each_possible_cpu (cpu) {
208 if (cpu == 0)
211 idle = fork_idle(cpu);
213 panic("failed fork for CPU %d", cpu);
215 set_cpu_present(cpu, true);
220 cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
226 if (cpumask_test_and_set_cpu(cpu, xen_cpu_initialized_map))
233 gdt = get_cpu_gdt_table(cpu);
243 ctxt->gs_base_kernel = per_cpu_offset(cpu);
276 per_cpu(xen_cr3, cpu) = __pa(swapper_pg_dir);
279 if (HYPERVISOR_vcpu_op(VCPUOP_initialise, cpu, ctxt))
286 static int __cpuinit xen_cpu_up(unsigned int cpu)
288 struct task_struct *idle = idle_task(cpu);
291 per_cpu(current_task, cpu) = idle;
293 irq_ctx_init(cpu);
296 per_cpu(kernel_stack, cpu) =
300 xen_setup_runstate_info(cpu);
301 xen_setup_timer(cpu);
302 xen_init_lock_cpu(cpu);
304 per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
307 per_cpu(xen_vcpu, cpu)->evtchn_upcall_mask = 1;
309 rc = cpu_initialize_context(cpu, idle);
316 rc = xen_smp_intr_init(cpu);
320 rc = HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL);
323 while(per_cpu(cpu_state, cpu) != CPU_ONLINE) {
338 unsigned int cpu = smp_processor_id();
339 if (cpu == 0)
348 static void xen_cpu_die(unsigned int cpu)
350 while (HYPERVISOR_vcpu_op(VCPUOP_is_up, cpu, NULL)) {
354 unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu), NULL);
355 unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu), NULL);
356 unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL);
357 unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu), NULL);
358 xen_uninit_lock_cpu(cpu);
359 xen_teardown_timer(cpu);
378 static void xen_cpu_die(unsigned int cpu)
391 int cpu = smp_processor_id();
397 set_cpu_online(cpu, false);
399 HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL);
408 static void xen_smp_send_reschedule(int cpu)
410 xen_send_IPI_one(cpu, XEN_RESCHEDULE_VECTOR);
416 unsigned cpu;
418 for_each_cpu_and(cpu, mask, cpu_online_mask)
419 xen_send_IPI_one(cpu, vector);
424 int cpu;
429 for_each_cpu(cpu, mask) {
430 if (xen_vcpu_stolen(cpu)) {
437 static void xen_smp_send_call_function_single_ipi(int cpu)
439 xen_send_IPI_mask(cpumask_of(cpu),