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.doc


The kernel documents the spin table method:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/Documentation/arm64/booting.txt


What are the cool kids currently doing here?

g.
_______________________________________________
Arm.ebbr-discuss mailing list
arm.ebbr-disc...@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.
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to