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