set_debugreg(current->thread.debugreg[6], 6); set_debugreg(current->thread.debugreg[7], 7); 
set_debugreg(next->debugreg[6], 6); set_debugreg(next->debugreg[7], 7); 
struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct task_struct *next_p){	struct thread_struct *prev = &prev_p->thread,				 *next = &next_p->thread;	int cpu = smp_processor_id();	struct tss_struct *tss = &per_cpu(init_tss, cpu);	/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */	__unlazy_fpu(prev_p);	/*	 * Reload esp0, LDT and the page table pointer:	 */	load_esp0(tss, next);	/*	 * Load the per-thread Thread-Local Storage descriptor.	 */	load_TLS(next, cpu);	/*	 * Save away %fs and %gs. No need to save %es and %ds, as	 * those are always kernel segments while inside the kernel.	 */	asm volatile("mov %%fs,%0":"=m" (prev->fs));	asm volatile("mov %%gs,%0":"=m" (prev->gs));	/*	 * Restore %fs and %gs if needed.	 */	if (unlikely(prev->fs | prev->gs | next->fs | next->gs)) {		loadsegment(fs, next->fs);		loadsegment(gs, next->gs);	}	/*	 * Now maybe reload the debug registers	 */	if (unlikely(next->debugreg[7])) {		set_debugreg(current->thread.debugreg[0], 0);		set_debugreg(current->thread.debugreg[1], 1);		set_debugreg(current->thread.debugreg[2], 2);		set_debugreg(current->thread.debugreg[3], 3);		/* no 4 and 5 */		set_debugreg(current->thread.debugreg[6], 6);		set_debugreg(current->thread.debugreg[7], 7);	}	if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr))		handle_io_bitmap(next, tss);	disable_tsc(prev_p, next_p);	return prev_p;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b339a18b81a1f6ca1455559594f5df872b9e59f4/process.c/clean/arch/i386/kernel/process.c