Skip to content

Conversation

@kouchekiniad
Copy link
Contributor

Description

This change adds the publishing and policy-setting of an AdvLoggerLocator variable to match the Tianocore-based implementation of the core component of the Advanced Logger found in Mu's AdvLoggerPkg. To facilitate setting the policies of the AdvLoggerLocatorVariable, this change also implements a partial interface for the Mu Variable Policy Protocol.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

Booted to Windows on physical platform, confirming that the AdvLoggerLocator variable has been successfully published and write-protected in Windows.

Integration Instructions

N/A

@github-actions github-actions bot added the impact:testing Affects testing label Jul 19, 2025
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch from beffa91 to 1c56a74 Compare July 19, 2025 02:54
@kouchekiniad kouchekiniad linked an issue Jul 19, 2025 that may be closed by this pull request
@kouchekiniad kouchekiniad marked this pull request as ready for review July 19, 2025 02:55
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch from 03db923 to ea6c090 Compare July 19, 2025 03:01
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch 2 times, most recently from a265dfb to 25a740b Compare July 19, 2025 03:08
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch from 25a740b to 29ac6ab Compare July 19, 2025 03:12
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'd rather avoid too much Mu-specific content leaking throughout patina repo, especially branded as Mu (and in the SDK). Advanced logger is a Mu invention. As a component, it gets isolated within its component boundaries. This is replicating interfaces though that are controlled by Project Mu and expected to match the Mu author's definition. Therefore, I'd prefer it to go somewhere like mu_rust_helpers. Then, only the patina_adv_logger needs to take a dependency on that (it already does) and it's clear that this component depends on something from Project Mu.

(I know patina_sdk already has a mu_rust_helpers dependency. I'd like to minimize and eliminate that in the future).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That'd requiring adding patina_sdk as a dependency of mu_rust_helpers which is a dependency of patina_sdk. Should I be worried about the circular dependency?

Copy link
Collaborator

@makubacki makubacki Jul 21, 2025

Choose a reason for hiding this comment

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

Are the two dependencies EfiError and ProtocolInterface? If so, are those things you can just hookup in the component after using the main content from the Mu repo?

Copy link
Contributor Author

@kouchekiniad kouchekiniad Aug 1, 2025

Choose a reason for hiding this comment

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

@makubacki Would you have an objection to adding only the aspects of variable policy found in Tianocore EDK2's VariablePolicyLib to patina_sdk/as a component service?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@makubacki The associated issue is low priority, but would you mind taking a look at this PR again?

@kouchekiniad kouchekiniad changed the title Add AdvLoggerLocator and Partial Mu Variable Policy Interface Add AdvLoggerLocator and Variable Policy Interface Aug 1, 2025
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch from 4223421 to 4f83cae Compare August 1, 2025 01:30
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch from 4f83cae to 3b31d93 Compare August 1, 2025 01:32
@kouchekiniad kouchekiniad force-pushed the personal/kouchekiniad/adv-logger-locator branch from 39c9e81 to 34c17ff Compare August 1, 2025 23:00
@makubacki
Copy link
Collaborator

@kouchekiniad to create an issue with changes needed to help facilitate this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact:testing Affects testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Publish AdvLoggerLocator Variable

4 participants