Skip to content

Releases: OpenDevicePartnership/patina-mtrr

v1.1.4

07 Nov 22:49

Choose a tag to compare

What's Changed

  • Chore: Update crate versions to 1.1.4 @[patina-automation[bot]](https://github.com/apps/patina-automation) (#61)
    Change Details
      An automatically created pull request to update the version of the repo due to a release.

  • Add Cache Type Pretty Print @os-d (#59)
    Change Details
      ## Description

    Consumers of patina_mtrr may want a pretty print for the cache type instead of having to implement their own. This adds a simple pretty print.

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

    How This Was Tested

    Tested integrating into Patina to use.

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v1.1.3...v1.1.4

v1.1.3

04 Nov 20:59
679c720

Choose a tag to compare

What's Changed

  • Chore: Update crate versions to 1.1.3 @[patina-automation[bot]](https://github.com/apps/patina-automation) (#52)
    Change Details
      An automatically created pull request to update the version of the repo due to a release.

  • Update patina-devops to v0.2.2 for release process bugfix @Javagedes (#51)
    Change Details
      ## Description

    Includes two bugfixes for the release process as documented in the release:

    ref: https://github.com/OpenDevicePartnership/patina-devops/releases/tag/v0.2.2

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v1.1.2...v1.1.3

v1.1.2

04 Nov 20:23
e8cf69a

Choose a tag to compare

What's Changed

  • Chore: Update crate versions to 1.1.2 @[patina-automation[bot]](https://github.com/apps/patina-automation) (#50)
    Change Details
      An automatically created pull request to update the version of the repo due to a release.

  • Update to patina-devops v0.2.1 @Javagedes (#49)
    Change Details
      ## Description

    Updates to patina-devops v0.2.1 to fix a bug in the crate update workflow where we would hit an error if the crate did not contain Cargo.toml files outside of the root.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Update to patina-devops v0.20 @Javagedes (#48)
    Change Details
      ## Description

    Updates the repository to patina-devops v0.2.0 which changes the release process as described in the release notes of patina-devops:

    ref: https://github.com/OpenDevicePartnership/patina-devops/releases/tag/v0.2.0

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

    How This Was Tested

    N/A

    Integration Instructions

    The new release process is to manually trigger the Create Crate Version Update PR action. Once the created PR is reviewed, approved, and merged, the release on github and crates.io will happen automatically.

      </blockquote>
      <hr>
    </details>
    
  • Update to patina-devops 0.1.1 @Javagedes (#47)
    Change Details
      ## Description

    Updates patina-devops to v0.1.1 which should result in a shorter PR Gate runtime.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Makefile.toml: Clean up coverage commands @Javagedes (#46)
    Change Details
      ## Description

    This commit cleans up the coverage commands by replacing the test command logic with the coverage-collect logic and having all coverage report generation rely on the test command instead. This allows us to remove test from the all command, which was previsouly building and running host based unit tests twice.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Ignore patina automation bot PRs in release notes @os-d (#45)
    Change Details
      ## Description

    Do not show changes from patina-automation[bot].

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

    How This Was Tested

    N/A.

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    
  • Update patina-devops to v0.0.4 @Javagedes (#44)
    Change Details
      ## Description - [ ] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation?

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Code Coverage: Only post status to pull requests @cfernald (#43)
    Change Details
      ## Description

    This uses only_pulls which "Only post a status to pull requests, defaults to false. If true no status will be posted for commits not on a pull request."

    see: https://docs.codecov.com/docs/commit-status#only_pulls

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • switch to nightly toolchain @Javagedes (#42)
    Change Details
      ## Description

    This commit switches the compiler to a nightly version dated one day past the 1.90 release date, rather then using the 1.90 release directly with RUSTC_BOOTSTRAP=1.

    This change also removes all usage / reference of RUSTC_BOOTSTRAP=1 and resolves any new clippy / fmt errors.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Add codecov configuration @Javagedes (#41)
    Change Details
      ## Description

    This commit configures codecov with the following:

    • Delay codecov from sending status until all checks are finished

    • Rounds coverage percentage up or down to the nearest 2 decimal palces.

    • Updates the range so that less than 80% is red, 80-89% is yellow, and 90%+ is green

    • Sets the target coverage for the project and PR patch to 80% rather than keeping it approximitely what was before the commit.

    • Hardcodes the comment layout, though these are the default settings.

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    Ran the settings through the codecov validator.

    Integration Instructions

    N/A




  • Switch to patina-devops @makubacki (#40)
    Change Details
      ## Description

    Call reusable workflows current in patina-devops to reduce CI related overhead in this repo.

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

    How This Was Tested

    • PR CI workflows

    Integration Instructions

    • N/A


  • CIWorkflow.yml: multiple bugfixes / cleanup @Javagedes (#39)
    Change Details
      ## Description

    This PR does the following:

    1. Adds alpha to the cargo release dry run step so that we always bump the version. This is necessary as cargo release attempts to do a dry run with the current release in the Cargo.toml, which conflicts because it already exists.

    2. Removes the usage and requirements of the crates.io token. This had multiple issues: (1) Someone with a branch on this repository edit the CI workflow and use the crates.io token however they wanted. (2) It caused CI to fail on branches from forks, as we marked the secret as required and, and secrets are not shared to forks.

    3. Removes the editing of some of the rust config files with the metadata we needed to be able to download crates from azure crates for running CI.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v1.1.1...v1.1.2

v1.1.1

12 Oct 00:39
56bbf5d

Choose a tag to compare

What's Changed

  • Update publishing token @makubacki (#38)
    Change Details
      ## Description

    Updates the token to use an org secret token instead of a local repo secret.

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

    How This Was Tested

    • Will be tested in CI

    Integration Instructions

    • N/A


  • Cargo.toml: Update version to 1.1.0 @makubacki (#37)
    Change Details
      ## Description

    Update the crate version for an upcoming release.

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

    How This Was Tested

    • N/A

    Integration Instructions

    • N/A


Full Changelog: v1.1.0...v1.1.1

v1.1.0

11 Oct 20:32
a5da9fe

Choose a tag to compare

What's Changed

  • Upload Code Coverage and add badging @Javagedes (#35)
    Change Details
      ## Description

    This pull request adds badging to the readme and begins uploading code coverage to codecov.io

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A




  • cspell: Update asm!(...); regex to support newlines @Javagedes (#34)
    Change Details
      ## Description

    The existing regex only matches if the entire asm!(...); macro is on the same line. The updated macro can now handle multi-line asm macros such as:

    asm!(
       "...",
       "...",
    );
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    ran cargo make cspell on code with a multi-line asm! macro and commands that would normally trigger a spell check did not.

    Integration Instructions

    N/A




  • Set rust analyze test env to use bootstrap @cfernald (#32)
    Change Details
      ## Description

    This is required to use rust analyzer uses the proper compiler for the tests run through the UI.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A




  • [REBASE\&FF] Update to rust version 1.89 @Javagedes (#29)
    Change Details
      ## Description

    Updates the rust version from 1.85 to 1.89, applying any necessary changes. These changes are ultimetly only formatting changes and should not affect functionality.

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

    How This Was Tested

    CI

    Integration Instructions

    N/A




  • [REBASE \& FF] Move Code Coverage to cargo-llvm-cov @os-d (#28)
    Change Details
      ## Description

    Cargo.toml: Reduce Optimizations in Test Profile

    This commit adds some recommended settings to disable compiler optimizations when running tests. This is a needed step to increase accuracy of code coverage.

    Move to cargo-llvm-cov for Code Coverage

    Per RFC 0013, move to cargo-llvm-cov for code coverage. This drops cargo-tarpaulin from docs, required installation, and cargo make coverage. From a developer perspective, the only thing needed is to install cargo-llvm-cov; coverage is still run using cargo make coverage.

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

    How This Was Tested

    Running cargo make coverage

    Integration Instructions

    This is not a breaking change for integration, however it does require developers to install cargo-llvm-cov in order to run coverage:

    cargo install cargo-llvm-cov --version "0.6.18"




  • Coverage: Generate xml file for local tooling @Javagedes (#27)
    Change Details
      ## Description

    Local tooling such as coverage gutters can read xml files and directly highlight coverage in your vscode files. Automatically generating this file helps automate using this tool with no extra bootstrapping.

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

    How This Was Tested

    CI

    Integration Instructions

    N/A




  • Miscellaneous Build Updates [Rebase \& FF] @makubacki (#26)
    Change Details
      ## Description

    rustfmt.toml: Remove edition

    We are not making use of this right now and it is out of date. Use
    the edition specified in Cargo.toml.


    .vscode/settings.json: Add file

    Run cargo make check with JSON message output as the rust-analyzer
    check command.

    Prevent lock contention when running cargo commands while
    rust-analyzer is also running and reduce the need for rebuilds by
    setting rust-analyzer to use a dedicated target directory
    (target/rust-analyzer).


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

    How This Was Tested

    • cargo make all
    • Check ./target/rust-analyzer is used

    Integration Instructions

    • N/A


  • Makefile.toml: Add check\_tests subtask to check @os-d (#25)
    Change Details
      ## Description

    This allows cargo make check to include test code. Since cargo make check is already run as the Rust Analyzer check command (as defined in .vscode/settings.json), this also allows the errors reported by Rust Analyzer in the Problems pane of VS Code to include test code errors when saving files.

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

    How This Was Tested

    Copied from Patina.

    Integration Instructions

    N/A.




  • [REBASE \& FF] CI Updates @os-d (#24)
    Change Details
      ## Description

    This PR contains two commits that brings patina-paging CI in line with patina.

    Makefile: Move cargo doc --open to cargo make doc-open

    This allows cargo make all to use cargo make doc which doesn't run a web browser when running the command.

    cspell: Remove Overly Permissive Dictionaries and Fix Spellings

    This aligns with Patina's cspell choices and fixes misspellings.

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

    How This Was Tested

    cargo make all works.

    Integration Instructions

    N/A.




📖 Documentation Updates

  • Fix broken README link @Javagedes (#36)
    Change Details
      ## Description
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    N/A

    Integration Instructions

    N/A




  • Refactor unit tests to eliminate randomness and other improvements [Rebase \& FF] @makubacki (#33)
    Change Details
      ## Description

    Fixes #31

    Eliminates random number generation from the unit tests. The randomly
    generated values previously resulted in non-deterministic results
    causing patina-mtrr unit tests to fail about half the time they were
    executed.

    • At a high-level,the tests module hierarchy is cleaned up to be:
      • config - Test configuration and constants
      • fixtures - Reusable test fixtures and builders
      • mock_hal - Mock hardware abstraction layer
      • mtrr_tests - Main functionality tests
      • support - Test utilities ...
Read more

v1.0.0

02 Jul 21:57

Choose a tag to compare

What's Changed

  • [REBASE\&FF] Rust version and edition updates @Javagedes (#22)
    Change Details
      ## Description

    Updates the rust version to 1.85 and edition to 2024

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

    How This Was Tested

    CI Passes

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

⚠️ Breaking Changes

  • Rename patina-mtrr crate to patina\_mtrr @vineelko (#21)
    Change Details
      ## Description

    Rename patina-mtrr crate to patina_mtrr to stay consistent with the RFC and rest of the patina crates.

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

    How This Was Tested

    cargo make all

    Integration Instructions

    Need to update in patina repo to refer to patina_mtrr instead of patina-mtrr in Cargo.toml files. Code remains the same.




Full Changelog: v0.1.2...v1.0.0

v0.1.2

14 May 23:29
2e3f6c5

Choose a tag to compare

What's Changed

Registry Change

This version will be published to the patina-fw registry feed:

https://dev.azure.com/patina-fw/artifacts/_artifacts/feed/temporary

Since this repo is planned to start publishing to crates.io soon, the registry and token infrastructure in the repo are not updated for patina-fw and it will be published there manually.


  • Cargo.toml: Update to v0.1.2 @makubacki (#20)
    Change Details
      ## Description

    The version is updated to publish a new version to the patina-fw repo.

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

    How This Was Tested

    • N/A - Will be used to publish manually

    Integration Instructions

    Since this repo is planned to start publishing to crates.io soon, the registry and token infrastructure in the repo are not updated for patina-fw and it will be published there manually.




  • Prep patina-mtrr repo to go public @vineelko (#19)
    Change Details
      ## Description Prep patina-mtrr repo to go public
    • Remove references to internal registry
    • Do not depend on other repos for pipeline workflow files
    • Normalize files to LF line endings
    • Update unicode-ident library license exception (v1.0.13 still uses Unicode-DFS-2016)
    • Include .editorconfig to enforce LF line endings(to be resilient from editor settings)
    • cargo make all works
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    Fixes: OpenDevicePartnership/patina#412

    How This Was Tested

    Unit tested

    Integration Instructions

    NA




Full Changelog: v0.1.1...v0.1.2

v0.1.1

05 May 23:17
ab5369b

Choose a tag to compare

What's Changed

  • .github/ISSUE\_TEMPLATE/rfc.yml: Remove file @makubacki (#17)
    Change Details
      ## Description

    We've decided to use pull requests instead of directly submitting a GitHub issue for RFCs so remove the file in this repo.

    The RFC template can be found in the docs area of uefi-dxe-core.

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

    How This Was Tested

    • N/A - GitHub issue form removal

    Integration Instructions

    • N/A


  • Add repo contribution and compliance files @makubacki (#15)
    Change Details
      ## Description

    Closes #74 (uefi-dxe-core)

    Adds the following files to define code of conduct, the contribution process, and security vulnerability process within ODP.

    CONTRIBUTING.md is slightly modified for UEFI contributors.

    Relicensing code under "MIT" is a todo but expected to occur, so that license is left in the file.

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

    How This Was Tested

    • cargo make all

    Integration Instructions

    • N/A


  • Rename markdownlint file @makubacki (#14)
    Change Details
      ## Description

    Update the file name to match the expected default name by the DavidAnson.vscode-markdownlint VS Code plugin so the rules are applied automatically.

    Rules can be enabled, disabled, and customized by creating a
    JSON file named .markdownlint.jsonc/.markdownlint.json or a YAML
    file named .markdownlint.yaml/.markdownlint.yml or a JavaScript
    file named .markdownlint.cjs in any directory of a project.

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

    How This Was Tested

    • Use markdownlint plugin locally without further configuration.

    Integration Instructions

    Rename markdownlint.yml to .markdownlint.yml.




  • [REBASE\&FF] Update project configurations @Javagedes (#13)
    Change Details
      ## Description

    Applies the two project configuration changes:

    Consider rust MSV for the crate when doing dependency resolution.
    Tell Cargo Make not to auto install cargo tools.

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

    How This Was Tested

    <Describe the test(s) that were run to verify the changes.>

    Integration Instructions

    <Describe how these changes should be integrated. Use N/A if nothing is required.>

      </blockquote>
      <hr>
    </details>
    
  • Add cargo deny @makubacki (#12)
    Change Details
      ## Description

    Adds an initial config file and the tool to the [tools] section of rust-toolchain.toml so it is installed with the rust tool cache action in the CI workflow. Adds relevant exceptions with notes.

    Adds the cargo make deny task to the makefile to run the command in this repo.

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

    How This Was Tested

    • cargo make deny

    Integration Instructions

    • N/A


  • Makefile.toml: Add all, check, clippy, cspell, and fmt @makubacki (#11)
    Change Details
      ## Description

    Adds additional commands present in other repos for consistency and convenience.

    Adds the all command so a set of checks can be performed prior to PR like in other repos.

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

    How This Was Tested

    • cargo make all
    • cargo make check
    • cargo make clippy
    • cargo make cspell
    • `cargo make fmt

    Integration Instructions

    • N/A


  • Various dependency and toolchain updates [Rebase \& FF] @makubacki (#10)
    Change Details
      ## Description

    Update version to v1.1

    Version update in preparation to publish a new patch version crate
    release.


    rust-toolchain.toml: Update from Rust 1.80 to Rust 1.84

    Update to newer release using the same version as other ODP repos.


    Cargo.toml Update bitfield-struct from from v0.9 to v0.10

    Right now, different versions are being duplicated in places like
    dxe_core:

    ├ bitfield-struct v0.8.0
    └── mtrr v0.1.0
    └── uefi_cpu v10.0.0
    ├── dxe_core v9.0.0
    └── uefi_debugger v10.0.0
    └── dxe_core v9.0.0 ()
    ├ bitfield-struct v0.9.5
    ├── paging v2.0.0
    │ ├── dxe_core v9.0.0
    │ ├── uefi_cpu v10.0.0
    │ │ ├── dxe_core v9.0.0 (
    )
    │ │ └── uefi_debugger v10.0.0
    │ │ └── dxe_core v9.0.0 ()
    │ └── uefi_debugger v10.0.0 (
    )
    └── uefi_debugger v10.0.0 (*)

    v0.10 is available now, so get everything on that.


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

    How This Was Tested

    • cargo make all and CI

    Integration Instructions

    • N/A


  • rust-toolchain.toml: Add additional required components @Javagedes (#9)
    Change Details
      ## Description

    These additional requirements must be specified so that the command rustup toolchain install installs all necessary components, just in case the user (or CI runner) does not have them installed.

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

    How This Was Tested

    OpenDevicePartnership/patina#287

    Integration Instructions

    N/A




  • Cargo.toml: Allow bitfield-struct v0 compatibility @makubacki (#8)
    Change Details
      Allow compatibility across a broader version range to improve compatibility with downstream users of this library.

    Before:

    bitfield-struct v0.8.0 (proc-macro)
    └── mtrr v0.1.0
        └── uefi_cpu v9.1.1
            ├── dxe_core v8.1.0
            │   └── intel_dxe_core v3.2.0
            ├── intel_dxe_core v3.2.0
            └── uefi_debugger v9.1.1
                └── dxe_core v8.1.0 (*)
    
    bitfield-struct v0.9.5 (proc-macro)
    ├── intel_dxe_core v3.2.0
    ├── paging v1.0.2
    │   ├── dxe_core v8.1.0 (*)
    │   ├── uefi_cpu v9.1.1 (*)
    │   └── uefi_debugger v9.1.1 (*)
    └── uefi_debugger v9.1.1 (*)
    
      </blockquote>
      <hr>
    </details>
    
  • MTRR: Add github workflow support @vineelko (#7)
    Change Details
     

  • Change GitHub org name from pop-project to OpenDevicePartnership @makubacki (#6)
    Change Details
      The org name has switched to OpenDevicePartnership so all references to the previous org name are updated.
    • Verified new URLs.
    • Note: "pop-project" will redirect to "OpenDevicePartnership" so the old URLs will still work for now.

📖 Documentation Updates

  • Add RFC template @makubacki (#16)
    Change Details
      ## Description

    Add a template for new design & feature proposals.

    Instructions for usage are in introduction.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes ...
Read more

v0.1.0

15 Jan 18:26
15bec8d

Choose a tag to compare

Note: First release published to a feed.

What's Changed

New Contributors

Full Changelog: https://github.com/pop-project/mtrr/commits/v0.1.0