mu_basecore icon indicating copy to clipboard operation
mu_basecore copied to clipboard

MdePkg/Include/AArch64/ProcessorBind.h: Add Deprecated option to allow opt-out of 64k runtime granularity.

Open apop5 opened this issue 1 year ago • 1 comments

Description

Some AARCH64 platforms are incompatible with 64k runtime granularity. This PR adds a build option that is consumed to enable a deprecated option to set the runtime page allocation granularity to 4k. This option should not be used except for old platforms that cannot be updated to comply with 64k runtime granularity. Using this option breaks compatibility with the UEFI spec.

For each item, place an "x" in between [ and ] if true. Example: [x]. (you can also check items in the GitHub UI)

  • [x] Impacts functionality?
    • Functionality - Does the change ultimately impact how firmware functions?
    • Examples: Add a new library, publish a new PPI, update an algorithm, ...
  • [ ] Impacts security?
    • Security - Does the change have a direct security impact on an application, flow, or firmware?
    • Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ...
  • [ ] Breaking change?
    • Breaking change - Will anyone consuming this change experience a break in build or boot behavior?
    • Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ...
  • [ ] Includes tests?
    • Tests - Does the change include any explicit test code?
    • Examples: Unit tests, integration tests, robot tests, ...
  • [ ] Includes documentation?
    • Documentation - Does the change contain explicit documentation additions outside direct code modifications (and comments)?
    • Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ...

How This Was Tested

Tested with setting flag and unsetting.

Integration Instructions

Do not use this option without an old platform that cannot support 64k. For those platforms, set the following in the platform DSC:

MSFT:*_*_*_CC_FLAGS = /D __DEPRECATED_AARCH64_4K_RUNTIME_GRANULARITY
GCC:*_*_*_CC_FLAGS = -D __DEPRECATED_AARCH64_4K_RUNTIME_GRANULARITY

apop5 avatar Jun 27 '24 23:06 apop5

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (release/202405@b92fe92). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202405     #996   +/-   ##
=================================================
  Coverage                  ?    0.29%           
=================================================
  Files                     ?      793           
  Lines                     ?   289547           
  Branches                  ?     2080           
=================================================
  Hits                      ?      842           
  Misses                    ?   288689           
  Partials                  ?       16           
Flag Coverage Δ
MdeModulePkg 0.20% <ø> (?)
NetworkPkg 0.55% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar Jun 28 '24 02:06 codecov-commenter