pci_mmcfg_virt = ioremap_nocache(pci_mmcfg_config[0].base_address, MMCONFIG_APER_SIZE); if (!pci_mmcfg_virt) { printk("PCI: Cannot map mmconfig aperture\n"); 
pci_mmcfg_virt = kmalloc(sizeof(*pci_mmcfg_virt) * pci_mmcfg_config_num, GFP_KERNEL); if (pci_mmcfg_virt == NULL) { printk("PCI: Can not allocate memory for mmconfig structures\n"); 
static int __init pci_mmcfg_init(void){	if ((pci_probe & PCI_PROBE_MMCONF) == 0)		return 0;	acpi_table_parse(ACPI_MCFG, acpi_parse_mcfg);	if ((pci_mmcfg_config_num == 0) ||	    (pci_mmcfg_config == NULL) ||	    (pci_mmcfg_config[0].base_address == 0))		return 0;	/* Kludge for now. Don't use mmconfig on AMD systems because	   those have some busses where mmconfig doesn't work,	   and we don't parse ACPI MCFG well enough to handle that. 	   Remove when proper handling is added. */	if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)		return 0; 	/* RED-PEN i386 doesn't do _nocache right now */	pci_mmcfg_virt = ioremap_nocache(pci_mmcfg_config[0].base_address, MMCONFIG_APER_SIZE);	if (!pci_mmcfg_virt) { 		printk("PCI: Cannot map mmconfig aperture\n");		return 0;	}		printk(KERN_INFO "PCI: Using MMCONFIG at %x\n", pci_mmcfg_config[0].base_address);	raw_pci_ops = &pci_mmcfg;	pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1cde8a16815bd85c8137d1ea556398983c597c11/mmconfig.c/clean/arch/x86_64/pci/mmconfig.c