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
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev