Hello All,

    commit d6a9996e84ac4beb7713e9485f4563e100a9b03e
    powerpc/mm: vmalloc abstraction in preparation for radix

    This commit introduced variables for some linux kernel addresses that had
before
    been constants, unfortunately this stopped PaSemi PA6T systems(*) from
booting as
    they call ioremap to map SoC registers before the mmu is initialised. The
attached
    patch adds a hard-coded init of pci_io_base to the pas_init_early()
function which
    which allows the kernel to boot normally.

    The value will be harmlessly set again once pci starts up.

    (*) At the moment this has only been tested on an AmigaOneX1000, but I
expect PaSemi
    reference systems to have been affected in the same way.

Kind regards
Darren
diff --git a/arch/powerpc/platforms/pasemi/setup.c 
b/arch/powerpc/platforms/pasemi/setup.c
index d71b2c7..6b8d2ab 100644
--- a/arch/powerpc/platforms/pasemi/setup.c
+++ b/arch/powerpc/platforms/pasemi/setup.c
@@ -61,6 +61,7 @@ static struct mce_regs mce_regs[MAX_MCE_REGS];
 static int num_mce_regs;
 static int nmi_virq = NO_IRQ;
 
+extern unsigned long pci_io_base;
 
 static void pas_restart(char *cmd)
 {
@@ -341,6 +342,10 @@ out:
 
 static void __init pas_init_early(void)
 {
+       /* Initialise the IO pointer so we don't crash on boot */
+
+       pci_io_base = (H_KERN_VIRT_START + (H_KERN_VIRT_SIZE >> 1));
+
        iommu_init_early_pasemi();
 }
 

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to