Skip to content

Conversation

@joschock
Copy link
Contributor

@joschock joschock commented Dec 8, 2025

Description

Remove MEMORY_ATTRIBUTES_TABLE global static - the pointer in question is stored in the global configuration table. Instead of keeping a duplicate copy, use the entry in the global table.

  • adjust core_install_configuration_table return value to include the old pointer if the table is removed or modified.
  • add get_configuration_table API to return a pointer from the configuration table for the given vendor guid.
  • rework MAT logic to use the config table exclusively.
  • Replace POST_RTB atomic bool with Once and add a TestOnce capability for test support to allow resetting the Once for testing purposes.
  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

Passes unit tests; booted on AARCH64 HW, checked MAT table as dumped in UEFI logs.

Integration Instructions

N/A

@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

❌ Patch coverage is 87.35632% with 11 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
..._core/src/config_tables/memory_attributes_table.rs 73.33% 8 Missing ⚠️
patina_dxe_core/src/config_tables.rs 96.43% 2 Missing ⚠️
patina_dxe_core/src/allocator.rs 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@joschock joschock force-pushed the mat_atomics_removal branch from f522cc4 to 5ccc2e9 Compare December 11, 2025 05:48
@joschock joschock force-pushed the mat_atomics_removal branch from 5ccc2e9 to 33b7b19 Compare December 11, 2025 18:56
@joschock joschock enabled auto-merge (squash) December 11, 2025 18:56
@joschock joschock merged commit 5c12af4 into OpenDevicePartnership:main Dec 11, 2025
8 checks 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