Kernel 4.7: PAGE_GUARDED and _PAGE_NO_CACHE

Christian Zigotzky chzigotzky at xenosoft.de
Thu Jun 9 01:47:23 AEST 2016


Hi Aneesh,

We use it only in the file "pci-common.c".

Part of the Nemo patch with ISA_IO_BASE:

diff -rupN linux-4.7/arch/powerpc/kernel/pci-common.c 
linux-4.7-nemo/arch/powerpc/kernel/pci-common.c
--- linux-4.7/arch/powerpc/kernel/pci-common.c    2016-05-20 
10:23:06.588299920 +0200
+++ linux-4.7-nemo/arch/powerpc/kernel/pci-common.c    2016-05-20 
10:21:28.652296699 +0200
@@ -723,6 +723,19 @@ void pci_process_bridge_OF_ranges(struct
                  isa_io_base =
                      (unsigned long)hose->io_base_virt;
  #endif /* CONFIG_PPC32 */
+
+
+#ifdef CONFIG_PPC_PASEMI_SB600
+                       /* Workaround for lack of device tree. New for 
kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead 
of size Ch. Zigotzky */
+                       if (primary) {
+                               __ioremap_at(range.cpu_addr, (void 
*)ISA_IO_BASE,
+                               range.size, 
pgprot_val(pgprot_noncached(__pgprot(0))));
+                       hose->io_base_virt = (void *)_IO_BASE;
+               /* _IO_BASE needs unsigned long long for the kernel 3.17 
Ch. Zigotzky */
+                       printk("Initialised io_base_virt 0x%lx _IO_BASE 
0x%llx\n", (unsigned long)hose->io_base_virt, (unsigned long long)_IO_BASE);
+                    }
+#endif
+

Cheers,

Christian

On 08 June 2016 at 5:11 PM, Aneesh Kumar K.V wrote:
>
> Can you check the value of ISA_IO_BASE where you are
> using it. If you are calling it early, you will find wrong value in
> that. With the latest kernel it is a variable and is initialized in
> hash__early_init_mmu();
>
> -aneesh
>
>



More information about the Linuxppc-dev mailing list