[PATCH] x86_64: Fix zero mcfg entry workaround on x86-64
authorAndi Kleen <ak@suse.de>
Fri, 3 Feb 2006 20:51:29 +0000 (21:51 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 5 Feb 2006 00:43:14 +0000 (16:43 -0800)
I broke this earlier when moving the patch from i386 to x86-64.
Need to return the virtual address here, not the physical address.
This fixes some boot time crashes on x86-64.

Cc: gregkh@suse.de
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/pci/mmconfig.c

index 00d4ddb..b4a3fe4 100644 (file)
@@ -46,7 +46,7 @@ static char __iomem *get_virt(unsigned int seg, unsigned bus)
        if (pci_mmcfg_config_num == 1 &&
                cfg->pci_segment_group_number == 0 &&
                (cfg->start_bus_number | cfg->end_bus_number) == 0)
-               return cfg->base_address;
+               return pci_mmcfg_virt[0].virt;
 
        /* Fall back to type 0 */
        return 0;