if (!smp_read_mpc((void *)(unsigned long)mpf->mpf_physptr)) { 
if (!smp_read_mpc(phys_to_virt(mpf->mpf_physptr))) { 
void __init get_smp_config (void){	struct intel_mp_floating *mpf = mpf_found;	/* 	 * ACPI supports both logical (e.g. Hyper-Threading) and physical  	 * processors, where MPS only supports physical. 	 */ 	if (acpi_lapic && acpi_ioapic) { 		printk(KERN_INFO "Using ACPI (MADT) for SMP configuration information\n"); 		return;	} 	else if (acpi_lapic) 		printk(KERN_INFO "Using ACPI for processor (LAPIC) configuration information\n");	printk("Intel MultiProcessor Specification v1.%d\n", mpf->mpf_specification);	if (mpf->mpf_feature2 & (1<<7)) {		printk(KERN_INFO "    IMCR and PIC compatibility mode.\n");		pic_mode = 1;	} else {		printk(KERN_INFO "    Virtual Wire compatibility mode.\n");		pic_mode = 0;	}	/*	 * Now see if we need to read further.	 */	if (mpf->mpf_feature1 != 0) {		printk(KERN_INFO "Default MP configuration #%d\n", mpf->mpf_feature1);		construct_default_ISA_mptable(mpf->mpf_feature1);	} else if (mpf->mpf_physptr) {		/*		 * Read the physical hardware table.  Anything here will		 * override the defaults.		 */		if (!smp_read_mpc((void *)(unsigned long)mpf->mpf_physptr)) {			smp_found_config = 0;			printk(KERN_ERR "BIOS bug, MP table errors detected!...\n");			printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n");			return;		}		/*		 * If there are no explicit MP IRQ entries, then we are		 * broken.  We set up most of the low 16 IO-APIC pins to		 * ISA defaults and hope it will work.		 */		if (!mp_irq_entries) {			struct mpc_config_bus bus;			printk(KERN_ERR "BIOS bug, no explicit IRQ entries, using default mptable. (tell your hw vendor)\n");			bus.mpc_type = MP_BUS;			bus.mpc_busid = 0;			memcpy(bus.mpc_bustype, "ISA   ", 6);			MP_bus_info(&bus);			construct_default_ioirq_mptable(0);		}	} else		BUG();	printk(KERN_INFO "Processors: %d\n", num_processors);	/*	 * Only use the first configuration found.	 */}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f6c2e3330d3fdd5474bc3756da46fca889a30e33/mpparse.c/clean/arch/x86_64/kernel/mpparse.c