{"id":15012073,"url":"https://github.com/microsoft/mu_tiano_platforms","last_synced_at":"2025-04-04T22:03:57.872Z","repository":{"id":37878143,"uuid":"297794423","full_name":"microsoft/mu_tiano_platforms","owner":"microsoft","description":"Project Mu Virtual Platform Firmware","archived":false,"fork":false,"pushed_at":"2025-03-30T09:00:59.000Z","size":14575,"stargazers_count":66,"open_issues_count":12,"forks_count":54,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-30T21:38:41.222Z","etag":null,"topics":["firmware","ovmf","projectmu","qemu","uefi","uefi-development"],"latest_commit_sha":null,"homepage":"https://microsoft.github.io/mu/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"Readme.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-22T23:11:29.000Z","updated_at":"2025-03-28T14:47:44.000Z","dependencies_parsed_at":"2023-10-11T06:05:59.073Z","dependency_job_id":"f1789413-d6d1-4177-bba8-ef2b675049f3","html_url":"https://github.com/microsoft/mu_tiano_platforms","commit_stats":{"total_commits":2770,"total_committers":161,"mean_commits":"17.204968944099377","dds":0.7187725631768953,"last_synced_commit":"b5000539d55b6de3e5ec71f538e086f9b9608360"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmu_tiano_platforms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmu_tiano_platforms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmu_tiano_platforms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmu_tiano_platforms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/mu_tiano_platforms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256105,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firmware","ovmf","projectmu","qemu","uefi","uefi-development"],"created_at":"2024-09-24T19:42:04.124Z","updated_at":"2025-04-04T22:03:57.852Z","avatar_url":"https://github.com/microsoft.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"============================\r\nMu Tiano Platform Repository\r\n============================\r\n\r\n|Latest Mu Tiano Platform Release Version (latest SemVer)| |Commits Since Last Release|\r\n\r\n=========================== =================== ==================\r\nHost and Toolchain          Build Status        Test Status\r\n=========================== =================== ==================\r\n`Windows Visual Studio`_    |WindowsCiBuild|    |WindowsCiTest|\r\n`Ubuntu GCC5`_              |UbuntuCiBuild|     |UbuntuCiTest|\r\n=========================== =================== ==================\r\n\r\n============================= =================\r\nPlatform and Toolchain        Status\r\n============================= =================\r\n`Q35 Visual Studio`_          |Q35VsBuild|\r\n`Q35 GCC5`_                   |Q35GccBuild|\r\n`SBSA GCC5`_                  |SBSAGccBuild|\r\n============================= =================\r\n\r\n.. |Latest Mu Tiano Platform Release Version (latest SemVer)| image:: https://img.shields.io/github/v/release/microsoft/mu_tiano_platforms?label=Latest%20Release\r\n   :target: https://github.com/microsoft/mu_tiano_platforms/releases/latest\r\n\r\n.. |Commits Since Last Release| image:: https://img.shields.io/github/commits-since/microsoft/mu_tiano_platforms/latest/main?include_prereleases\r\n   :target: https://github.com/microsoft/mu_tiano_platforms/releases\r\n\r\n----\r\n\r\nQuick Links\r\n===========\r\n\r\n- `Build Instructions \u003chttps://github.com/microsoft/mu_tiano_platforms/blob/main/Platforms/Docs/Common/building.md\u003e`_\r\n- `Contribution Instructions \u003chttps://github.com/microsoft/mu_tiano_platforms/blob/main/CONTRIBUTING.md\u003e`_\r\n- `Questions and Other Discussion \u003chttps://github.com/microsoft/mu_tiano_platforms/discussions\u003e`_\r\n- `Releases \u003chttps://github.com/microsoft/mu_tiano_platforms/releases\u003e`_\r\n- `Submit and View Bugs, Doc Requests, Feature Requests \u003chttps://github.com/microsoft/mu_tiano_platforms/issues\u003e`_\r\n- `Security Issue Reporting Procedure \u003chttps://github.com/microsoft/mu_tiano_platforms/security/policy\u003e`_\r\n\r\nAbout This Repo\r\n===============\r\n\r\nMu Tiano Platform is a public repository of `Project Mu`_ based firmware that targets the open-source `QEMU`_\r\nprocessor emulator.\r\n\r\nThis repository provides readily available, free, and feature rich platforms that serve as an example for feature\r\nenablement and validation, demonstrating how a single firmware codebase can be shared across multiple products and\r\narchitectures, promoting serviceable, maintainable, up-to-date and secure firmware.\r\n\r\nA goal of this repository is to reduce the overhead of testing and evaluating common functionality before deployment\r\nto physical hardware.\r\n\r\nCurrent Platforms Supported\r\n---------------------------\r\n\r\n- `QemuQ35Pkg`_\r\n\r\n  - `QemuQ35Pkg Detailed Info`_\r\n\r\n  - Intel Q35 chipset with ICH9 south bridge\r\n\r\n- `QemuSbsaPkg`_\r\n\r\n  - `QemuSbsaPkg Detailed Info`_\r\n\r\n  - ARM Server Base System Architecture\r\n\r\n.. _`Project Mu`: https://microsoft.github.io/mu\r\n.. _`QEMU`: https://www.qemu.org/\r\n.. _`QemuQ35Pkg`: https://github.com/microsoft/mu_tiano_platforms/tree/main/Platforms/QemuQ35Pkg\r\n.. _`QemuQ35Pkg Detailed Info`: https://github.com/microsoft/mu_tiano_platforms/blob/main/Platforms/Docs/Q35/QemuQ35_ReadMe.md\r\n.. _`QemuSbsaPkg`: https://github.com/microsoft/mu_tiano_platforms/tree/main/Platforms/QemuSbsaPkg\r\n.. _`QemuSbsaPkg Detailed Info`: https://github.com/microsoft/mu_tiano_platforms/blob/main/Platforms/Docs/SBSA/QemuSbsa_ReadMe.md\r\n\r\nGetting Started\r\n===============\r\n\r\nIndividual platforms are maintained in the `Platforms` directory. Each platform directory has a readme file and a\r\n`Docs` folders with more detailed platform-specific information.\r\n\r\nBuild Instructions\r\n------------------\r\n\r\n1. If you are new to the \"stuart\" build system in general refer to the following for a general overview\r\n   `How to Build in edk2 with Stuart`_.\r\n\r\n2. For instructions specific to this repo refer to `building QemuQ35Pkg`_.\r\n\r\nYou can then apply that knowledge to build the platform you're interested in with the `PlatformBuild.py` files located\r\nin the platform directory.\r\n\r\n.. _`Building QemuQ35Pkg`: https://github.com/microsoft/mu_tiano_platforms/blob/main/Platforms/Docs/Common/building.md\r\n.. _`How to Build in edk2 with Stuart`: https://github.com/tianocore/tianocore.github.io/wiki/How-to-Build-With-Stuart\r\n\r\nReleases\r\n--------\r\n\r\nIt is recommended to consume binaries built from the code in this repo (outside of development purposes) through a\r\nrelease.\r\n\r\nReleases are tagged in the repository and are available for download from the `Releases`_ page. Each release contains\r\nrelease notes describing the changes since the last release that highlight important changes such as breaking changes.\r\n\r\nA semantic versioning process (version is `\u003cmajor.minor.patch\u003e`) is followed with the following rules:\r\n\r\n- Major Version\r\n\r\n  - A major version change indicates a breaking change. This means that the release is not backward\r\n    compatible with the previous release. This is typically a change to the API or ABI of a component.\r\n\r\n- Minor Version\r\n\r\n  - A minor version change indicates a new feature or enhancement. This means that the release is backward\r\n    compatible with the previous release but includes new functionality or a major rework of existing functionality.\r\n\r\n- Patch Version\r\n\r\n  - A patch version change indicates a bug fix or any other change. This means that the release is backward compatible\r\n    with the previous release and contains no new functionality.\r\n\r\nEvery release includes `DEBUG` and `RELEASE` binaries for all supported platforms. `DEBUG` is recommended to debug\r\na release and `RELEASE` used for non-debug scenarios. If you file a bug and a \"debug log\" is requested, that needs to\r\nbe produced from the `DEBUG` build of the release.\r\n\r\nEvery release is published as both a `NuGet`_ package and a zip file. Both formats contain the exact same content and\r\nboth can be manually downloaded or used in an automated build environment.\r\n\r\nNuGet packages are published in the `Mu Tiano Platforms GitHub NuGet Feed`_ and zip files are attached as \"assets\" to\r\nthe release on GitHub.\r\n\r\n- Zip File Usage Example: Scroll to the bottom of the `v1.0.0`_ release page and you will see an \"Assets\"\r\n  section that contains the zip files for that release. You can manually download the appropriate zip file there.\r\n\r\n- NuGet Package Usage Example: A tool like `dependabot`_ can easily hook into the NuGet feed to automatically download\r\n  releases into a project based on the semantic versioning rules described above.\r\n\r\nOutside of topics that should be filed as an issue, please feel free to ask questions about the project in general or\r\na particular release in the `Discussions`_ area.\r\n\r\n.. _`v1.0.0`: https://github.com/microsoft/mu_tiano_platforms/releases/tag/v1.0.0\r\n.. _`dependabot`: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates\r\n.. _`Discussions`: https://github.com/microsoft/mu_tiano_platforms/discussions/categories/general\r\n.. _`Mu Tiano Platforms GitHub NuGet Feed`: https://github.com/orgs/microsoft/packages?repo_name=mu_tiano_platforms\r\n.. _`NuGet`: https://learn.microsoft.com/nuget/what-is-nuget\r\n\r\nFeature Branches\r\n----------------\r\n\r\n1. Create a branch for involved feature development on your fork of the repository.\r\n\r\n2. When the feature is ready, submit a pull request.\r\n\r\nYou can choose to squash all commits into one feature commit into `mu_tiano_platforms/main` or prepare\r\na series of commits exactly as you would like them to appear and the pull request will be rebased on top of the\r\n`mu_tiano_platforms/main` branch.\r\n\r\nA template for `Branch_ReadMe.md` can be found in `docs/BranchReadMe_template.md`\r\n\r\nFeatures must be \"on by default\" in all applicable platforms to avoid build switch complexity that leads to stale\r\nfeature coverage.\r\n\r\nRepository Origin\r\n=================\r\n\r\n`QemuQ35Pkg` in this repository was originally derived from `OvmfPkg` in TianoCore. The package is considered\r\nstable so regular syncing is not performed with the upstream package. Select changes are cherry-picked based on\r\nfunctional or security importance. Additional cherry picks are welcome if they are necessary for you to be productive\r\nwith the platform  in this repository.\r\n\r\n⚠️ Security Warning\r\n===================\r\n\r\nThis repository and all code within it is not part of an officially supported customer facing product and therefore\r\nlong term servicing is not supported. All code in this repository is provided as-is and is not intended to be used\r\nin a production system and may not be suitable in a production system.\r\n\r\nCode of Conduct\r\n===============\r\n\r\nThis project has adopted the Microsoft Open Source Code of Conduct https://opensource.microsoft.com/codeofconduct/\r\n\r\nFor more information see the Code of Conduct FAQ https://opensource.microsoft.com/codeofconduct/faq/\r\nor contact `opencode@microsoft.com \u003cmailto:opencode@microsoft.com\u003e`_. with any additional questions or comments.\r\n\r\nCopyright \u0026 License\r\n===================\r\n\r\n| Copyright (C) Microsoft Corporation\r\n| SPDX-License-Identifier: BSD-2-Clause-Patent\r\n\r\nUpstream License (TianoCore)\r\n============================\r\n\r\nCopyright (c) 2022, TianoCore and contributors.  All rights reserved.\r\n\r\nSPDX-License-Identifier: BSD-2-Clause-Patent\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are met:\r\n\r\n1. Redistributions of source code must retain the above copyright notice,\r\n   this list of conditions and the following disclaimer.\r\n\r\n2. Redistributions in binary form must reproduce the above copyright notice,\r\n   this list of conditions and the following disclaimer in the documentation\r\n   and/or other materials provided with the distribution.\r\n\r\nSubject to the terms and conditions of this license, each copyright holder\r\nand contributor hereby grants to those receiving rights under this license\r\na perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r\n(except for failure to satisfy the conditions of this license) patent\r\nlicense to make, have made, use, offer to sell, sell, import, and otherwise\r\ntransfer this software, where such license applies only to those patent\r\nclaims, already acquired or hereafter acquired, licensable by such copyright\r\nholder or contributor that are necessarily infringed by:\r\n\r\n(a) their Contribution(s) (the licensed copyrights of copyright holders and\r\n    non-copyrightable additions of contributors, in source or binary form)\r\n    alone; or\r\n\r\n(b) combination of their Contribution(s) with the work of authorship to\r\n    which such Contribution(s) was added by such copyright holder or\r\n    contributor, if, at the time the Contribution is added, such addition\r\n    causes such combination to be necessarily infringed. The patent license\r\n    shall not apply to any other combinations which include the\r\n    Contribution.\r\n\r\nExcept as expressly stated above, no rights or licenses from any copyright\r\nholder or contributor is granted under this license, whether expressly, by\r\nimplication, estoppel or otherwise.\r\n\r\nDISCLAIMER\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE\r\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r\nPOSSIBILITY OF SUCH DAMAGE.\r\n\r\n.. ===================================================================\r\n.. This is a bunch of directives to make the README file more readable\r\n.. ===================================================================\r\n\r\n.. _`Windows Visual Studio`: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=58\u0026\u0026branchName=main\r\n.. |WindowsCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Tiano%20Platforms/Mu%20Tiano%20Platforms%20CI%20VS?branchName=main\r\n.. |WindowsCiTest|  image:: https://img.shields.io/azure-devops/tests/projectmu/mu/58.svg\r\n\r\n.. _`Ubuntu GCC5`: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=57\u0026branchName=main\r\n.. |UbuntuCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Tiano%20Platforms/Mu%20Tiano%20Platforms%20CI%20Ubuntu%20GCC5?branchName=main\r\n.. |UbuntuCiTest|  image:: https://img.shields.io/azure-devops/tests/projectmu/mu/57.svg\r\n\r\n.. _`Q35 Visual Studio`: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=59\u0026\u0026branchName=main\r\n.. |Q35VsBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Tiano%20Platforms/Mu%20Tiano%20Platforms%20Q35%20Plat%20CI%20VS?branchName=main\r\n.. _`Q35 GCC5`:   https://dev.azure.com/projectmu/mu/_build/latest?definitionId=60\u0026\u0026branchName=main\r\n.. |Q35GccBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Tiano%20Platforms/Mu%20Tiano%20Platforms%20Q35%20Plat%20CI%20GCC5?branchName=main\r\n\r\n.. _`SBSA GCC5`:   https://dev.azure.com/projectmu/mu/_build/latest?definitionId=138\u0026\u0026branchName=main\r\n.. |SBSAGccBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Tiano%20Platforms/Mu%20Tiano%20Platforms%20SBSA%20Plat%20CI%20GCC5?branchName=main\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fmu_tiano_platforms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fmu_tiano_platforms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fmu_tiano_platforms/lists"}