mu_basecore/MdePkg
Oliver Smith-Denny 400c75bc7d
Add a Deprecated Build Option To Allow Incompatible AARCH64 Platforms To Opt Out of 64k Runtime Granularity (#798)
## 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:

```c
MSFT:*_*_*_CC_FLAGS = /D __DEPRECATED_AARCH64_4K_RUNTIME_GRANULARITY
GCC:*_*_*_CC_FLAGS = -D __DEPRECATED_AARCH64_4K_RUNTIME_GRANULARITY
```
2024-04-09 15:24:12 -07:00
..
Include Add a Deprecated Build Option To Allow Incompatible AARCH64 Platforms To Opt Out of 64k Runtime Granularity (#798) 2024-04-09 15:24:12 -07:00
Library Add NO_STACK_COOKIE to Module Entry Points (#793) 2024-04-08 14:22:29 -07:00
Test Fix Incorrect Mock RNG Prototypes (#672) 2024-01-11 13:59:10 -08:00
MdeLibs.dsc.inc Add Stack Cookie Support for IA32, ARM, and AARCH64 2024-02-28 09:46:12 -08:00
MdePkg.ci.yaml Transition Stack Cookie Libraries 2023-11-21 13:42:11 -08:00
MdePkg.dec Update StackCheckFailureLib to StackCheckFailureHookLib, Add Failure Address as Argument 2024-02-28 09:46:12 -08:00
MdePkg.dsc Update StackCheckFailureLib to StackCheckFailureHookLib, Add Failure Address as Argument 2024-02-28 09:46:12 -08:00
MdePkg.uni MdePkg: Add PcdSpeculationBarrierType 2019-04-30 16:39:09 -07:00
MdePkgExtra.uni MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00