Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secondary harts should be usable after boot #183

Closed
jhauser-us opened this issue Jul 30, 2024 · 4 comments
Closed

Secondary harts should be usable after boot #183

jhauser-us opened this issue Jul 30, 2024 · 4 comments
Assignees

Comments

@jhauser-us
Copy link

UEFI_050 says that, after the EFI_EVENT_GROUP_READY_TO_BOOT event, all secondary harts should remain "offline from that point on". It's a little hard to believe that an OS/hypervisor is advised not to make use of any secondary harts after the system boots, so perhaps this requirement needs re-wording.

@andreiw
Copy link
Collaborator

andreiw commented Aug 6, 2024

This is in regards to -firmware manipulation-. Once EFI_EVENT_GROUP_READY_TO_BOOT fires, the firmware should not be, on its own accord, making any use of the secondaries. A boot loader or application program can of course do whatever it needs to do, and the OS of course can fire these up. But the state of the secondaries when the OS loader runs is quiesced, which in the context of more advanced chips may well mean "powered off and not running any code".

@andreiw
Copy link
Collaborator

andreiw commented Aug 13, 2024

Please close if no further action is desired.

@jhauser-us
Copy link
Author

@andreiw: Firmware authors are not the only audience for the BRS spec. Another audience is OS authors whose software is a client of the SMBIOS, ACPI, SBI, and UEFI. They need to know what the BRS spec does and doesn't promise for them.

If we take the second part of UEFI_050 literally, then it does say that an OS can't touch "all secondary harts ... from that point on". Because if an OS were to use them, they wouldn't be "offline" any more, violating what the rule plainly says. All I'm asking is that the wording be adjusted to convey better what you wrote above.

@ved-rivos
Copy link
Collaborator

It may want be reworded as follows:
All hart manipulation internal to a firmware implementation SHOULD be done before completion of the EFI_EVENT_GROUP_READY_TO_BOOT event. Firmware MUST place all secondary harts in an offline state before completion of the EFI_EVENT_GROUP_READY_TO_BOOT event.

The note under the requirement could state something to the effect that "The OS loader and/or the OS may resume the secondary harts, if required, as part of their boot and join sequence."

This avoids the connotation that they remain offline forever from that point onward.

vlsunil added a commit to vlsunil/riscv-brs that referenced this issue Oct 28, 2024
Fix for the ARC feedback regarding secondary cores.

Fixes: riscv-non-isa#183
Closes: riscv-non-isa#183
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
@andreiw andreiw closed this as completed in b9383ae Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants