Code: Select all
+
+
+#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, _PAGE_NO_CACHE|_PAGE_GUARDED);
+ 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
+
I deleted
_PAGE_GUARDED from the patch and I compiled the old
alpha3 again. It boots. That means, the kernel doesn't need
_PAGE_GUARDED.
New alpha3 code:
Code: Select all
#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, _PAGE_NO_CACHE);
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
I deleted
_PAGE_GUARDED in the alpha4 with the powerpc-4.7-1 commit as well but it doesn't boot. That means something is wrong with
_PAGE_NO_CACHE. In the new source code it still exists but it's not the same. Our focus is therefore on
_PAGE_NO_CACHE.