zap_low_mappings(cpu); 
void __cpuinit cpu_init (void){	int cpu = stack_smp_processor_id();	struct tss_struct *t = &per_cpu(init_tss, cpu);	unsigned long v; 	char *estacks = NULL; 	struct task_struct *me;	int i;	/* CPU 0 is initialised in head64.c */	if (cpu != 0) {		pda_init(cpu);	} else 		estacks = boot_exception_stacks; 	me = current;	if (cpu_test_and_set(cpu, cpu_initialized))		panic("CPU#%d already initialized!\n", cpu);	printk("Initializing CPU#%d\n", cpu);	clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE);	/*	 * Initialize the per-CPU GDT with the boot GDT,	 * and set up the GDT descriptor:	 */	if (cpu) {		memcpy(cpu_gdt_table[cpu], cpu_gdt_table[0], GDT_SIZE);	}		cpu_gdt_descr[cpu].size = GDT_SIZE;	cpu_gdt_descr[cpu].address = (unsigned long)cpu_gdt_table[cpu];	asm volatile("lgdt %0" :: "m" (cpu_gdt_descr[cpu]));	asm volatile("lidt %0" :: "m" (idt_descr));	memcpy(me->thread.tls_array, cpu_gdt_table[cpu], GDT_ENTRY_TLS_ENTRIES * 8);	/*	 * Delete NT	 */	asm volatile("pushfq ; popq %%rax ; btr $14,%%rax ; pushq %%rax ; popfq" ::: "eax");	syscall_init();	wrmsrl(MSR_FS_BASE, 0);	wrmsrl(MSR_KERNEL_GS_BASE, 0);	barrier(); 	check_efer();	/*	 * set up and load the per-CPU TSS	 */	for (v = 0; v < N_EXCEPTION_STACKS; v++) {		if (cpu) {			estacks = (char *)__get_free_pages(GFP_ATOMIC, 						   EXCEPTION_STACK_ORDER);			if (!estacks)				panic("Cannot allocate exception stack %ld %d\n",				      v, cpu); 		}		estacks += EXCEPTION_STKSZ;		t->ist[v] = (unsigned long)estacks;	}	t->io_bitmap_base = offsetof(struct tss_struct, io_bitmap);	/*	 * <= is required because the CPU will access up to	 * 8 bits beyond the end of the IO permission bitmap.	 */	for (i = 0; i <= IO_BITMAP_LONGS; i++)		t->io_bitmap[i] = ~0UL;	atomic_inc(&init_mm.mm_count);	me->active_mm = &init_mm;	if (me->mm)		BUG();	enter_lazy_tlb(&init_mm, me);	set_tss_desc(cpu, t);	load_TR_desc();	load_LDT(&init_mm.context);	/*	 * Clear all 6 debug registers:	 */	set_debug(0UL, 0);	set_debug(0UL, 1);	set_debug(0UL, 2);	set_debug(0UL, 3);	set_debug(0UL, 6);	set_debug(0UL, 7);	fpu_init(); }
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f6c2e3330d3fdd5474bc3756da46fca889a30e33/setup64.c/buggy/arch/x86_64/kernel/setup64.c