[PATCH] arm64: kernel: acpi: fix ioremap in ACPI parking protocol cpu_postboot

Catalin Marinas catalin.marinas at arm.com
Fri Feb 26 07:43:19 PST 2016


On Fri, Feb 26, 2016 at 11:50:12AM +0000, Lorenzo Pieralisi wrote:
> When secondary cpus are booted through the ACPI parking protocol, the
> booted cpu should check that FW has correctly cleared its mailbox entry
> point value to make sure the boot process was correctly executed.
> The entry point check is carried in the cpu_ops->cpu_postboot method, that
> is executed by secondary cpus when entering the kernel with irqs disabled.
> 
> The ACPI parking protocol cpu_ops maps/unmaps the mailboxes on the
> primary CPU to trigger secondary boot in the cpu_ops->cpu_boot method
> and on secondary processors to carry out FW checks on the booted CPU
> to verify the boot protocol was successfully executed in the
> cpu_ops->cpu_postboot method.
> 
> Therefore, the cpu_ops->cpu_postboot method is forced to ioremap/unmap the
> mailboxes, which is wrong in that ioremap cannot be safely be carried out
> with irqs disabled.
> 
> To fix this issue, this patch reshuffles the code so that the mailboxes
> are still mapped after the boot processor executes the cpu_ops->cpu_boot
> method for a given cpu, and the VA at which a mailbox is mapped for a given
> cpu is stashed in the per-cpu data struct so that secondary cpus can
> retrieve them in the cpu_ops->cpu_postboot and complete the required
> FW checks.
> 
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> Reported-by: Itaru Kitayama <itaru.kitayama at riken.jp>
> Tested-by: Loc Ho <lho at apm.com>
> Tested-by: Itaru Kitayama <itaru.kitayama at riken.jp>
> Cc: Will Deacon <will.deacon at arm.com>
> Cc: Hanjun Guo <hanjun.guo at linaro.org>
> Cc: Loc Ho <lho at apm.com>
> Cc: Itaru Kitayama <itaru.kitayama at riken.jp>
> Cc: Sudeep Holla <sudeep.holla at arm.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Mark Salter <msalter at redhat.com>
> Cc: Al Stone <ahs3 at redhat.com>

Applied. Thanks.

-- 
Catalin



More information about the linux-arm-kernel mailing list