Bumps Common/MU from `2023020001.5.0` to `2023020001.5.1`
Introduces 10 new commits in
[Common/MU](https://github.com/microsoft/mu_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU_OEM_SAMPLE from `2023020000.0.5` to `2023020000.0.6`
Introduces 15 new commits in
[Common/MU_OEM_SAMPLE](https://github.com/microsoft/mu_oem_sample.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU_TIANO from `2023020000.0.4` to `2023020000.1.0`
Introduces 2 new commits in
[Common/MU_TIANO](https://github.com/microsoft/mu_tiano_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU from `2023020001.4.1` to `2023020001.5.0`
Introduces 2 new commits in
[Common/MU](https://github.com/microsoft/mu_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
## Description
Updates the repo for a change that merged UefiCpuLib with CpuLib.
UefiCpuLib will be removed entirely soon so all references are updated
to CpuLib.
Includes the following submodule updates:
- `MU_BASECORE` to `v2023020005.0.1`
- `Common/MU` to `v2023020001.4.1`
- `Common/MU_TIANO` to `v2023020001.4.1`
- `Features/MM_SUPV` to `v8.1.5`
---
- [ ] 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
- CI package build (via PR checks)
## Integration Instructions
N/A
---
Associated Changes in Submodules
- https://github.com/microsoft/mu_feature_mm_supv/pull/164
- https://github.com/microsoft/mu_plus/pull/304
- https://github.com/microsoft/mu_tiano_plus/pull/174
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
## Description
The most recent changes in mu_plus fix the paging audit test failures on
SBSA. This PR pulls in the latest mu_plus, updates the paging audit
calls to reflect the new command line interface, and removes the
PagingAuditTestApp test failure exemption on SBSA.
- [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, ...
- [x] 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 in the pipelines
## Integration Instructions
N/A
Closes#677
## Description
This feature enables experimentation with controlling the TPM
measurements made by firmware. It allows a developer to craft
a TPM event log and have the replayed during boot. It is disabled
by default.
General feature information is available in its readme:
https://github.com/microsoft/mu_plus/blob/HEAD/TpmTestingPkg/TpmReplayPei/Readme.md
It is currently only planned to be used QemuQ35Pkg. It could be
enabled in QemuSbsaPkg in the future if there is interest.
Details about the feature in the context of QEMU, are described in
`Platforms/Docs/Q35/Features/feature_tpm_replay.md` in this change.
- [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, ...
- [x] 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
- Input YAML to binary
- Input JSON to binary
- Input binary to YAML
- Replay events on QEMU Q35 to PCRs
- Verify event log in OS against the input file
## Integration Instructions
See `feature_tpm_replay.md`.
Enable the feature in `QemuQ35Pkg` in the DSC file:
```ini
DEFINE TPM_REPLAY_ENABLED = TRUE
```
Or, as a `stuart_build` argument:
```bash
> stuart_build -c Platforms/QemuQ35Pkg/PlatformBuild.py --flashrom TOOL_CHAIN_TAG=GCC5 BLD_*_TPM_ENABLE=TRUE \
BLD_*_TPM_ENABLE=TRUE TPM_DEV=/tmp/mytpm1/swtpm-sock
```
Then, follow instructions to create the TPM Replay
event log and load it.
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Bumps Common/MU from `2023020001.1.1` to `2023020001.1.2`
Introduces 3 new commits in
[Common/MU](https://github.com/microsoft/mu_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU from `2023020001.1.0` to `2023020001.1.1`
Introduces 7 new commits in
[Common/MU](https://github.com/microsoft/mu_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU_TIANO from `2023020000.0.2` to `2023020000.0.3`
Introduces 10 new commits in
[Common/MU_TIANO](https://github.com/microsoft/mu_tiano_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU from `2023020001.0.0` to `2023020001.0.1`
Introduces 5 new commits in
[Common/MU](https://github.com/microsoft/mu_plus.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU_OEM_SAMPLE from `2023020000.0.3` to `2023020000.0.4`
Introduces 7 new commits in
[Common/MU_OEM_SAMPLE](https://github.com/microsoft/mu_oem_sample.git).
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
Bumps Common/MU from `2023020000.1.0` to `2023020001.0.0`
Introduces 1 new commits in
[Common/MU](https://github.com/microsoft/mu_plus.git).
<details>
<summary>Commits</summary>
<ul>
<li><a
href="819d93ca1d">819d93</a>
AdvLoggerPkg: fix AdvLoggerSerialPortLib class (<a
href="https://github.com/microsoft/mu_plus/pull/268">#268</a>)</li>
</ul>
</details>
Signed-off-by: Project Mu Bot <mubot@microsoft.com>
# Preface
Please ensure you have read the [contribution
docs](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md) prior
to submitting the pull request. In particular,
[pull request
guidelines](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md#pull-request-best-practices).
## Description
Update OEM sample repo to **v2023020000.0.2** and mu_feature_config repo
to **v0.3.4** for mu_tiano_platforms.
The corresponding configuration module usage is also simplified to pair
with the submodule changes.
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, ...
- [x] 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 locally on Q35 and SBSA.
## Integration Instructions
Added a new configuration build variable for profile names on Q35
platform.
## Description
Updates mu_tiano_platforms to use the new release/202302 branches of MU.
Additionally, renamed VmgExitLib to CcExitLib along with it's associated
functions and changed reference openssl inf. Lastly, added the
VirtNorFlashStandaloneMm driver for QemuSbsa.
- Moved Feature/MM_SUPV from v7.3.2 to v8.1.0
- Moved Feature/DFCI from v3.0.0 to top of tree (no new release since
v3.0.0)
- Moved MU_BASECORE from v2022080002.0.2 to v2023020002.0.0
- [x] Impacts functionality?
- **Functionality** - Does the change ultimately impact how firmware
functions?
- Examples: Add a new library, publish a new PPI, update an algorithm,
...
- [x] 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, ...
- [x] Includes tests?
- **Tests** - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- [x] 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
Built and booted QemuQ35 without any problems.
## Integration Instructions
Just update to this branch or later.
Description
Update the MM_SUPV, MU_PLUS, and MU_BASECORE commit hashes.
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, ...
- [x] 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
Running on Q35 and in the Azure Pipeline
Integration Instructions
N/A
Bumps [Common/MU_OEM_SAMPLE](https://github.com/microsoft/mu_oem_sample)
from `518d96e` to `0fe2e42`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0fe2e4206b"><code>0fe2e42</code></a>
pip: bump regex from 2023.3.23 to 2023.5.5 (<a
href="https://redirect.github.com/microsoft/mu_oem_sample/issues/81">#81</a>)</li>
<li><a
href="c457d34ae9"><code>c457d34</code></a>
Repo File Sync: Update CodeQL workflow trigger (<a
href="https://redirect.github.com/microsoft/mu_oem_sample/issues/80">#80</a>)</li>
<li>See full diff in <a
href="518d96e7d6...0fe2e4206b">compare
view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Common/MU_TIANO](https://github.com/microsoft/mu_tiano_plus) from
`668d470` to `50fd5d8`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="50fd5d8f3a"><code>50fd5d8</code></a>
pip: bump regex from 2023.3.23 to 2023.5.5 (<a
href="https://redirect.github.com/microsoft/mu_tiano_plus/issues/130">#130</a>)</li>
<li><a
href="a08dace048"><code>a08dace</code></a>
Repo File Sync: Update CodeQL workflow trigger (<a
href="https://redirect.github.com/microsoft/mu_tiano_plus/issues/129">#129</a>)</li>
<li>See full diff in <a
href="668d470969...50fd5d8f3a">compare
view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Preface
Please ensure you have read the [contribution
docs](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md) prior
to submitting the pull request. In particular,
[pull request
guidelines](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md#pull-request-best-practices).
## Description
Add two dummy configuration profiles to QemuQ35Pkg as a proof of concept
of the configuration profile feature. These profiles are controlled by
`gOemPkgTokenSpaceGuid.PcdActiveProfileIndex`. Full details are in
mu_feature_config's [profiles
doc](https://github.com/microsoft/mu_feature_config/blob/main/SetupDataPkg/Docs/Profiles/Overview.md).
This defaults to using profile 1, which enables GFX and sets some dummy
values.
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 by booting QemuQ35Pkg to different profiles and dumping via
ConfApp to see the knobs change.
## Integration Instructions
N/A.
Updates MU_FEATURE_CONFIG and MU_FEATURE_MM_SUPV to be
submodules rather then git dependencies. Additionally moves
MU_FEATURE_DFCI into the features subfolder. Updates necessary
information in the PlatformBuild files of QemuQ35Pkg an
QemuSbsaPkg.
Additionally, since QemuSbsaPkg and QemuQ35 are begging to diverge in
necessary submodules, I've changed the functions that specify to stuart
what submodules to download. Instead of downloading all submodules
available, only the submodules necessary to the individual platform is
downloaded.
## Description
Brings in the latest Mu Tiano Plus CodeQL fixes.
- [ ] 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
Build and boot to EFI shell.
## Integration Instructions
N/A
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
## Description
Updates all Mu submodules to latest to pull in CodeQL fixes.
- [ ] Impacts functionality?
- **Functionality** - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [x] 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
Build and boot to EFI shell.
## Integration Instructions
N/A
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
# Preface
Please ensure you have read the [contribution
docs](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md) prior
to submitting the pull request. In particular,
[pull request
guidelines](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md#pull-request-best-practices).
## Description
mu_feature_config has moved to an XML based configuration system. This
PR integrates changes from that repo and mu_oem_sample to demonstrate
and run tests on an end to end XML based configuration system.
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, ...
- [x] 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 manually by changing config knobs in XML and seeing different
behavior, dumping config, applying config via SVD in ConfApp.
## Integration Instructions
N/A, this is the example integration for a platform.
---------
Co-authored-by: Kun Qin <kuqin@microsoft.com>
# Preface
Please ensure you have read the [contribution
docs](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md) prior
to submitting the pull request. In particular,
[pull request
guidelines](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md#pull-request-best-practices).
## Description
Migrate QemuQ35Pkg and QemuSbsaPkg to using the new DFCI Repo.
For each item, place an "x" in between `[` and `]` if true. Example:
`[x]`.
_(you can also check items in the GitHub UI)_
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
## How This Was Tested
Built and ran QemuQ35Pkg
## Integration Instructions
N/A
Signed-off-by: Michael Turner <miketur@microsoft.com>
This is a platform change to supply the unsigned xml list to DFCI.
By default, the system will populate the default dynamic PCD of file GUID during build time. During PEI phase, the `ConfDfciUnsignedListInit` will check the system operation state and potentially invalidate the PCD with a null value to prevent system accepting any incoming unsigned settings.
This change updated configuration repo that supports both YAML and XML data (profile), to work with the unsigned DFCI support.
It also paves way for support of multiple profile/data in the future.
Pull in the most recent mu_plus and mu_basecore commits. A major update to memory protection settings separates the DXE and MM environment settings so components only pull in the settings needed based on their module type.