aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc64/kernel/pci.c')
-rw-r--r--arch/ppc64/kernel/pci.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/ppc64/kernel/pci.c b/arch/ppc64/kernel/pci.c
index fdd8f7869a68..be3cc387c1ec 100644
--- a/arch/ppc64/kernel/pci.c
+++ b/arch/ppc64/kernel/pci.c
@@ -547,8 +547,9 @@ static void __devinit pci_process_ISA_OF_ranges(struct device_node *isa_node,
547 if (range == NULL || (rlen < sizeof(struct isa_range))) { 547 if (range == NULL || (rlen < sizeof(struct isa_range))) {
548 printk(KERN_ERR "no ISA ranges or unexpected isa range size," 548 printk(KERN_ERR "no ISA ranges or unexpected isa range size,"
549 "mapping 64k\n"); 549 "mapping 64k\n");
550 __ioremap_explicit(phb_io_base_phys, (unsigned long)phb_io_base_virt, 550 __ioremap_explicit(phb_io_base_phys,
551 0x10000, _PAGE_NO_CACHE); 551 (unsigned long)phb_io_base_virt,
552 0x10000, _PAGE_NO_CACHE | _PAGE_GUARDED);
552 return; 553 return;
553 } 554 }
554 555
@@ -576,7 +577,7 @@ static void __devinit pci_process_ISA_OF_ranges(struct device_node *isa_node,
576 577
577 __ioremap_explicit(phb_io_base_phys, 578 __ioremap_explicit(phb_io_base_phys,
578 (unsigned long) phb_io_base_virt, 579 (unsigned long) phb_io_base_virt,
579 size, _PAGE_NO_CACHE); 580 size, _PAGE_NO_CACHE | _PAGE_GUARDED);
580 } 581 }
581} 582}
582 583
@@ -692,7 +693,7 @@ void __devinit pci_setup_phb_io_dynamic(struct pci_controller *hose,
692 struct resource *res; 693 struct resource *res;
693 694
694 hose->io_base_virt = __ioremap(hose->io_base_phys, size, 695 hose->io_base_virt = __ioremap(hose->io_base_phys, size,
695 _PAGE_NO_CACHE); 696 _PAGE_NO_CACHE | _PAGE_GUARDED);
696 DBG("phb%d io_base_phys 0x%lx io_base_virt 0x%lx\n", 697 DBG("phb%d io_base_phys 0x%lx io_base_virt 0x%lx\n",
697 hose->global_number, hose->io_base_phys, 698 hose->global_number, hose->io_base_phys,
698 (unsigned long) hose->io_base_virt); 699 (unsigned long) hose->io_base_virt);
@@ -780,7 +781,8 @@ int remap_bus_range(struct pci_bus *bus)
780 if (get_bus_io_range(bus, &start_phys, &start_virt, &size)) 781 if (get_bus_io_range(bus, &start_phys, &start_virt, &size))
781 return 1; 782 return 1;
782 printk("mapping IO %lx -> %lx, size: %lx\n", start_phys, start_virt, size); 783 printk("mapping IO %lx -> %lx, size: %lx\n", start_phys, start_virt, size);
783 if (__ioremap_explicit(start_phys, start_virt, size, _PAGE_NO_CACHE)) 784 if (__ioremap_explicit(start_phys, start_virt, size,
785 _PAGE_NO_CACHE | _PAGE_GUARDED))
784 return 1; 786 return 1;
785 787
786 return 0; 788 return 0;