Re: [PATCH v6 33/37] arm: mach-bcm283x: Add ARMV8_MULTIENTRY support

Simon Glass
2024-10-02T22:56:37Z

On Wed, 2 Oct 2024 at 03:57, Patrick Rudolph
<patrick.rudolph@9elements.com> wrote:
>
> When ACPI is enabled over FDT the APs cannot be brought out of reset
> by the OS using the "FDT spin-table" mechanism, as no FDT is provided
> to the OS. The APs must be released out of reset in u-boot and then
> brought up in an ACPI compliant fashion.
>
> When ARMV8_MULTIENTRY is specified, the APs are released from reset
> and will enter U-Boot after it has been relocated as well.
>
> By default ARMV8_MULTIENTRY is not selected, keeping existing behaviour.
>
> TEST: All APs enter U-Boot when run on qemu-system-aarch64 and on
> real hardware.
>
> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
> Cc: Matthias Brugger <mbrugger@suse.com>
> Cc: Peter Robinson <pbrobinson@gmail.com>
> Cc: Tom Rini <trini@konsulko.com>
> ---
> Changelog v2:
> - Drop CPU code from board
> - Add CPU driver to release APs from reset
> Changelog v4:
> - Use the generic armv8 CPU driver
> - Probe all CPUs
> - Release secondary CPUs in the probe function
> - Use of_to_plat() to parse DT
> - Drop udelay()
> - Select the GICv2 driver
> Changelog v5:
> - Cosmetic fixes
> - Drop arch_early_init_r()
> Changelog v6:
> - Update header order
> - Drop ifdef
> ---
> arch/arm/Kconfig | 1 +
> arch/arm/mach-bcm283x/Kconfig | 5 +-
> drivers/cpu/Makefile | 2 +-
> drivers/cpu/bcm283x_cpu.c | 214 ++++++++++++++++++++++++++++++++++
> 4 files changed, 220 insertions(+), 2 deletions(-)
> create mode 100644 drivers/cpu/bcm283x_cpu.c