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

Ampere: Add Platform Boot Manager, IPMI Boot Option, and Porting Guide #227

Merged
merged 10 commits into from
Oct 28, 2024

Conversation

nhivp
Copy link
Member

@nhivp nhivp commented Oct 23, 2024

This introduces

  • PlatformBootManagerDxe driver, which implements the EDKII_PLATFORM_BOOT_MANAGER_PROTOCOL to enhance the presentation of boot options for the platform.
  • IpmiBootDxe which enables users to override the UEFI boot option via IPMI bootdev commands.
  • PlatformPortingGuide.md document which provides detailed guidelines for Ampere Altra EDK2 porting process.

Also, fixes for clang compiler.

nhivp added 10 commits October 25, 2024 15:23
This sets NETWORK_TLS_ENABLE to TRUE to enable HTTPS boot.

Signed-off-by: Nhi Pham <[email protected]>
This sets SECURE_BOOT_ENABLE to TRUE in the DSC file to enable the UEFI
secure boot configuration support by default.

Signed-off-by: Nhi Pham <[email protected]>
This fixes the error 'uninitialized variable' catched by clang
compilation.

Signed-off-by: Nhi Pham <[email protected]>
This introduces a PlatformBootManagerDxe driver, which implements the
EDKII_PLATFORM_BOOT_MANAGER_PROTOCOL to enhance the presentation of boot
options for the platform.

The primary movitation behind this change is to provide a user-friendly
boot experience by customizing the list of boot options generated by
EDK2 boot manager. In addition, the driver filters out non-OS entries.
This reduces unnecessary boot options, ensuring the boot menu is cleaner
and less confusing.

Signed-off-by: Nhi Pham <[email protected]>
This introduces a GUID for Ampere defined variables.

Signed-off-by: Nhi Pham <[email protected]>
This introduces a GUID for the Ampere defined AfterConsole event, which
serves as a notification that AfterConsole is ready before ReadyToBoot.
This event is used to handle the IPMI boot order change request from
BMC.

Signed-off-by: Nhi Pham <[email protected]>
This clones the ArmPkg's PlatformBootManagerLib to modify for platform
specific boot handler. The initial application is to create the Ampere
defined AfterConsole event for integrating the IPMI boot order change
handler.

NOTE: There is no Ampere's modification in this patch.

Signed-off-by: Nhi Pham <[email protected]>
This adds event creation for the AfterConsole event at the end of
PlatformBootManagerAfterConsole function. At this point, all boot
options are expected to be available for subsequent customization.

Signed-off-by: Nhi Pham <[email protected]>
This introduces IpmiBootDxe which enables users to override the UEFI
boot option via IPMI bootdev commands.

As an example, it can be used to force the boot to the BIOS setup menu
as the following commands:
  * ipmitool chassis bootdev
  * ipmitool chassis bootparam get 5 # to confirm the setting

Signed-off-by: Nhi Pham <[email protected]>
This introduces PlatformPortingGuide.md document which provides detailed
guidelines for Ampere Altra EDK2 porting process.

Signed-off-by: Nhi Pham <[email protected]>
@nhivp nhivp force-pushed the ampere-altra-upstream-4 branch from 3b7fb14 to 470deb0 Compare October 28, 2024 02:28
@nhivp nhivp merged commit 67e5007 into tianocore:master Oct 28, 2024
1 check passed
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

Successfully merging this pull request may close these issues.

3 participants