From mboxrd@z Thu Jan 1 00:00:00 1970 From: santosh.shilimkar@oracle.com (santosh shilimkar) Date: Tue, 30 Jun 2015 07:50:45 -0700 Subject: [PATCH] ARM: psci: boot_secondary: replace __pa with virt_to_idmap In-Reply-To: <1435661062-4127-1-git-send-email-grygorii.strashko@ti.com> References: <1435661062-4127-1-git-send-email-grygorii.strashko@ti.com> Message-ID: <5592ACC5.4010500@oracle.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 6/30/2015 3:44 AM, Grygorii Strashko wrote: > On some PAE systems (e.g. TI Keystone), memory is above the 32-bit > addressable limit, and the interconnect provides an aliased view of > parts of physical memory in the 32-bit addressable space. This alias > is strictly for boot time usage, and is not otherwise usable because > of coherency limitations. > > On such systems, the idmap mechanism has to be used to pass correct > boot address of secondary CPU to FW. > virt_to_idmap() will fall-back to existing virt_to_phys() macro if > such conversation is not required. > > Cc: Mark Rutland > Cc: Nicolas Pitre > Cc: Santosh Shilimkar > Cc: Vitaly Andrianov > Signed-off-by: Grygorii Strashko > --- Acked-by: Santosh Shilimkar > arch/arm/kernel/psci_smp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/kernel/psci_smp.c b/arch/arm/kernel/psci_smp.c > index 28a1db4..244aadd 100644 > --- a/arch/arm/kernel/psci_smp.c > +++ b/arch/arm/kernel/psci_smp.c > @@ -51,7 +51,7 @@ static int psci_boot_secondary(unsigned int cpu, struct task_struct *idle) > { > if (psci_ops.cpu_on) > return psci_ops.cpu_on(cpu_logical_map(cpu), > - __pa(secondary_startup)); > + virt_to_idmap(&secondary_startup)); > return -ENODEV; > } > >