On 18/05/2018 12:13, Andre Przywara wrote:
Hi,
On 18/05/18 12:04, Grant Likely wrote:
I'm adding some EBBR text around the CPU state at boot and I've lost track of what is being done for multicore bringup. What is the current state-of-the-art for multicore boot protocol when PSCI isn't available?
It is my understanding that for arm64 PSCI is the only accepted SMP bringup method. Now the first ARM64 hardware platform didn't have EL3, but wanted to have KVM running, so there was this decision to allow this *one* alternative method to enable this platform. If I understand Will and Catalin correctly, there is a strong push for *no* other methods being added to the kernel.
So for ARM64 the answer should be: PSCI or spin table. Full stop.
AFAIU, MP Boot (ACPI Parking Protocol?) and Spin table are two separate methods. Correct? So that would be three methods we've got in-kernel at the moment.
For ARM it's quite a different story, though. "New" platforms tend to implement PSCI, but there are quite some platforms out there with their own methods. Not sure we care about them?
If EL3 is present, I think PSCI is the only interface EBBR should allow. Proprietary methods are the antithesis of what EBBR is intended to do.
Actually, what is the purpose of the EBBR elaborating on SMP bringup in the first place?
Primary reason is because EBBR specifies PSCI when EL3 exists. I don't want EBBR to go into details, but rather to point at the relevant specs. The question is what to do when EL3 isn't present.
"We don't care about those" is an acceptable answer.
I'm also think it is appropriate to compare the scope of EBBR with SBBR. ie. An SBBR compliant platform should be by definition EBBR compliant (SBBR is more restrictive), but the converse is not true. However, to claim that requires allowing for Microsoft's MP Boot Protocol specified in SBBR; or explicitly carving out platforms that don't implement PSCI as being incompatible with EBBR.
g.
Cheers, Andre.
SBBR allows for the MP Boot Protocol; with the intend of phasing it out:
https://acpica.org/sites/acpica/files/MP%20Startup%20for%20ARM%20platforms.d...
The kernel documents the spin table method:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree...
What are the cool kids currently doing here?
g. _______________________________________________ Arm.ebbr-discuss mailing list Arm.ebbr-discuss@arm.com
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.