mach_reboot_fixups(); /* for board specific fixups */ 
void machine_restart(char * __unused){#ifdef CONFIG_SMP	int cpuid;		cpuid = GET_APIC_ID(apic_read(APIC_ID));	if (reboot_smp) {		/* check to see if reboot_cpu is valid 		   if its not, default to the BSP */		if ((reboot_cpu == -1) ||  		      (reboot_cpu > (NR_CPUS -1))  || 		      !physid_isset(cpuid, phys_cpu_present_map))			reboot_cpu = boot_cpu_physical_apicid;		reboot_smp = 0;  /* use this as a flag to only go through this once*/		/* re-run this function on the other CPUs		   it will fall though this section since we have 		   cleared reboot_smp, and do the reboot if it is the		   correct CPU, otherwise it halts. */		if (reboot_cpu != cpuid)			smp_call_function((void *)machine_restart , NULL, 1, 0);	}	/* if reboot_cpu is still -1, then we want a tradional reboot, 	   and if we are not running on the reboot_cpu,, halt */	if ((reboot_cpu != -1) && (cpuid != reboot_cpu)) {		for (;;)		__asm__ __volatile__ ("hlt");	}	/*	 * Stop all CPUs and turn off local APICs and the IO-APIC, so	 * other OSs see a clean IRQ state.	 */	smp_send_stop();#endif /* CONFIG_SMP */	lapic_shutdown();#ifdef CONFIG_X86_IO_APIC	disable_IO_APIC();#endif	if (!reboot_thru_bios) {		if (efi_enabled) {			efi.reset_system(EFI_RESET_COLD, EFI_SUCCESS, 0, NULL);			__asm__ __volatile__("lidt %0": :"m" (no_idt));			__asm__ __volatile__("int3");		}		/* rebooting needs to touch the page at absolute addr 0 */		*((unsigned short *)__va(0x472)) = reboot_mode;		for (;;) {			mach_reboot();			/* That didn't work - force a triple fault.. */			__asm__ __volatile__("lidt %0": :"m" (no_idt));			__asm__ __volatile__("int3");		}	}	if (efi_enabled)		efi.reset_system(EFI_RESET_WARM, EFI_SUCCESS, 0, NULL);	machine_real_restart(jump_to_bios, sizeof(jump_to_bios));}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a2f7c354159b87dfbd9900f597d48d18755a9d16/reboot.c/buggy/arch/i386/kernel/reboot.c