Skip to content

Conversation

@sarah-walker-arm
Copy link
Contributor

Implement ArmVExpressPlatformConfigDxe driver, to allow VExpress platform configuration via UEFI menus. Currently CPU enable/disable is supported. ACPI tables are updated to reflect the chosen configuration.

Copy link
Contributor

@samimujawar samimujawar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sarah-walker-arm Thank you for enabling this feature.

After trying the patch I think two changes are needed before merge:

  • The Boot CPU should never be de-selectable.
  • The UI should inform users that a system reset is required for the new settings to take effect, and optionally facilitate the reset on approval from the user.

Other comments are minor.

&mPrivateData->ConfigAccess,
NULL
);
ASSERT_EFI_ERROR (Status);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to handle the error rather than just asserting as the ASSERTs would vanish in release builds.

Same at other places in this patch.

@sarah-walker-arm sarah-walker-arm force-pushed the 4042_vexpress_platformconfig branch from 6a3c816 to 87e639b Compare August 27, 2025 09:20
@sarah-walker-arm sarah-walker-arm force-pushed the 4042_vexpress_platformconfig branch from 87e639b to cd64894 Compare August 27, 2025 12:50
//
Status = gBS->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid, NULL, (VOID **)&HiiConfigRouting);
if (EFI_ERROR (Status)) {
return Status;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should mPrivateData be freed when errorcase?

//
ConfigRequestHdr = HiiConstructConfigHdr (&gArmVExpressPlatformConfigGuid, VariableName, DriverHandle);
if (ConfigRequestHdr == NULL) {
ASSERT (ConfigRequestHdr != NULL);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this assert required?

ActionFlag = HiiSetToDefaults (ConfigRequestHdr, EFI_HII_DEFAULT_CLASS_STANDARD);
if (!ActionFlag) {
ArmVExpressPlatformConfigUnload (ImageHandle);
return EFI_INVALID_PARAMETER;
Copy link
Contributor

@LeviYeoReum LeviYeoReum Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ConfigRequestHdr should be freed with FreePool() at error case since it isn't freed in
ArmVExpressPlatformConfigUnload() or Am I missing something?

@samimujawar
Copy link
Contributor

@sarah-walker-arm looks like there are merge conflicts when rebasing with latest edk2-platforms codebase. Can you resolve the conflicts and push the changes, please?
Also it would be great if you can address the comments from @LeviYeoReum.

Implement ArmVExpressPlatformConfigDxe driver, to allow VExpress platform
configuration via UEFI menus. Currently CPU enable/disable is supported.
ACPI tables are updated to reflect the chosen configuration.

Signed-off-by: Sarah Walker <[email protected]>
@sarah-walker-arm sarah-walker-arm force-pushed the 4042_vexpress_platformconfig branch from cd64894 to ec8dba5 Compare October 14, 2025 10:15
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