├── .azurepipelines ├── MuDevOpsWrapper.yml ├── Ubuntu-GCC5.yml └── Windows-VS.yml ├── .cargo └── config.toml ├── .config └── CredScanSuppressions.json ├── .devcontainer └── devcontainer.json ├── .git-blame-ignore-revs ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ ├── documentation_request.yml │ └── feature_request.yml ├── advanced-issue-labeler.yml ├── codecov.yml ├── dependabot.yml ├── pull_request_template.md ├── release-draft-config-n-1-dev.yml ├── release-draft-config-n-1.yml ├── release-draft-config-n-dev.yml ├── release-draft-config-n.yml └── workflows │ ├── auto-approve.yml │ ├── auto-merge.yml │ ├── backport-to-release-branch.yml │ ├── codeql.yml │ ├── issue-assignment.yml │ ├── label-issues.yml │ ├── label-issues │ ├── file-paths.yml │ └── regex-pull-requests.yml │ ├── label-sync.yml │ ├── pull-request-formatting-validator.yml │ ├── release-draft.yml │ ├── scheduled-maintenance.yml │ ├── stale.yml │ └── triage-issues.yml ├── .gitignore ├── .markdownlint.yaml ├── .markdownlintignore ├── .pytool └── CISettings.py ├── AdvLoggerPkg ├── AdvLoggerOsConnectorPrm │ ├── AdvLoggerOsConnectorPrm.c │ ├── AdvLoggerOsConnectorPrm.h │ ├── AdvLoggerOsConnectorPrm.inf │ ├── GoogleTest │ │ ├── AdvLoggerOsConnectorPrmGoogleTest.cpp │ │ └── AdvLoggerOsConnectorPrmGoogleTest.inf │ └── Library │ │ └── AdvLoggerOsConnectorPrmConfigLib │ │ ├── AdvLoggerOsConnectorPrmConfigLib.c │ │ ├── AdvLoggerOsConnectorPrmConfigLib.inf │ │ └── GoogleTest │ │ ├── AdvLoggerPrmConfigLibGoogleTest.cpp │ │ └── AdvLoggerPrmConfigLibGoogleTest.inf ├── AdvLoggerPkg.ci.yaml ├── AdvLoggerPkg.dec ├── AdvLoggerPkg.dsc ├── AdvLoggerPkgExtra.uni ├── AdvancedFileLogger │ ├── AdvancedFileLogger.c │ ├── AdvancedFileLogger.h │ ├── AdvancedFileLogger.inf │ ├── FileAccess.c │ └── ReadMe.md ├── AdvancedSerialLogger │ ├── Dxe │ │ ├── AdvancedSerialLoggerDxe.c │ │ ├── AdvancedSerialLoggerDxe.h │ │ ├── AdvancedSerialLoggerDxe.inf │ │ └── AdvancedSerialLoggerDxe.uni │ └── ReadMe.md ├── Application │ ├── AdvancedLogDumper │ │ ├── AdvancedLogDumper.inf │ │ ├── AdvancedLogDumperDynamicCommand.inf │ │ ├── LogDumper.c │ │ ├── LogDumper.h │ │ ├── LogDumper.uni │ │ ├── LogDumperCommon.c │ │ └── LogDumperDynamicCommand.c │ ├── DecodeUefiLog │ │ ├── DecodeUefiLog.py │ │ └── ReadMe.md │ └── Windows │ │ ├── AdvLoggerDumpWin.sln │ │ ├── AdvLoggerDumpWin │ │ ├── AdvLoggerDumpWin.vcxproj │ │ ├── PropertySheet.props │ │ ├── ReadMe.md │ │ ├── main.cpp │ │ ├── main.h │ │ └── packages.config │ │ └── PrmFuncSample │ │ ├── PrmFunc │ │ ├── prmfuncsample.c │ │ ├── prmfuncsample.h │ │ ├── prmfuncsample.inf │ │ ├── prmfuncsample.vcxproj │ │ └── prmfuncsample.vcxproj.Filters │ │ ├── README.md │ │ └── prmsample.sln ├── Crates │ └── RustAdvancedLoggerDxe │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs ├── Docs │ ├── ReadMe.md │ └── debug_log_level.png ├── Include │ ├── AdvancedLoggerInternal.h │ ├── AdvancedLoggerInternalProtocol.h │ ├── Guid │ │ ├── AdvancedFileLoggerPolicy.h │ │ └── AdvancedLoggerPreDxeLogs.h │ ├── Library │ │ ├── AdvancedLoggerAccessLib.h │ │ ├── AdvancedLoggerHdwPortLib.h │ │ └── AdvancedLoggerLib.h │ ├── Ppi │ │ └── AdvancedLogger.h │ └── Protocol │ │ └── AdvancedLogger.h ├── Library │ ├── AdvLoggerMmAccessLib │ │ ├── AdvLoggerMmAccessLib.c │ │ └── AdvLoggerMmAccessLib.inf │ ├── AdvLoggerSerialPortLib │ │ ├── AdvLoggerSerialPortLib.c │ │ └── AdvLoggerSerialPortLib.inf │ ├── AdvLoggerSmmAccessLib │ │ ├── AdvLoggerSmmAccessLib.c │ │ └── AdvLoggerSmmAccessLib.inf │ ├── AdvancedLoggerAccessLib │ │ ├── AdvancedLoggerAccessLib.c │ │ ├── AdvancedLoggerAccessLib.inf │ │ └── AdvancedLoggerAccessLib.uni │ ├── AdvancedLoggerHdwPortLib │ │ ├── AdvancedLoggerHdwPortLib.c │ │ ├── AdvancedLoggerHdwPortLib.inf │ │ └── AdvancedLoggerHdwPortLib.uni │ ├── AdvancedLoggerHdwPortLibNull │ │ ├── AdvancedLoggerHdwPortLibNull.c │ │ ├── AdvancedLoggerHdwPortLibNull.inf │ │ └── AdvancedLoggerHdwPortLibNull.uni │ ├── AdvancedLoggerLib │ │ ├── AdvancedLoggerCommon.c │ │ ├── AdvancedLoggerCommon.h │ │ ├── BaseArm │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ │ ├── Dxe │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ ├── AdvancedLoggerLib.uni │ │ │ └── GoogleTest │ │ │ │ ├── AdvancedLoggerDxeLibGoogleTest.cpp │ │ │ │ └── AdvancedLoggerDxeLibGoogleTest.inf │ │ ├── DxeCore │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ ├── AdvancedLoggerLib.uni │ │ │ └── GoogleTest │ │ │ │ ├── AdvancedLoggerDxeCoreGoogleTest.cpp │ │ │ │ └── AdvancedLoggerDxeCoreGoogleTest.inf │ │ ├── MmCore │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ ├── AdvancedLoggerLib.uni │ │ │ └── GoogleTest │ │ │ │ ├── AdvancedLoggerMmCoreGoogleTest.cpp │ │ │ │ └── AdvancedLoggerMmCoreGoogleTest.inf │ │ ├── MmCoreArm │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ │ ├── Pei │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ ├── AdvancedLoggerLib.uni │ │ │ └── GoogleTest │ │ │ │ ├── AdvancedLoggerPeiLibGoogleTest.cpp │ │ │ │ └── AdvancedLoggerPeiLibGoogleTest.inf │ │ ├── Pei64 │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ │ ├── PeiCore │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ ├── AdvancedLoggerLib.uni │ │ │ └── GoogleTest │ │ │ │ ├── AdvancedLoggerPeiCoreGoogleTest.cpp │ │ │ │ └── AdvancedLoggerPeiCoreGoogleTest.inf │ │ ├── Runtime │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ │ ├── Sec │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ │ ├── Smm │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ │ └── SmmCore │ │ │ ├── AdvancedLoggerLib.c │ │ │ ├── AdvancedLoggerLib.inf │ │ │ └── AdvancedLoggerLib.uni │ ├── AssertLib │ │ ├── AssertLib.c │ │ ├── AssertLib.inf │ │ └── AssertLib.uni │ ├── AssertTelemetryLib │ │ ├── AssertLib.c │ │ ├── AssertLib.inf │ │ └── AssertLib.uni │ ├── BaseDebugLibAdvancedLogger │ │ ├── BaseDebugLibAdvancedLogger.inf │ │ ├── BaseDebugLibAdvancedLogger.uni │ │ └── DebugLib.c │ ├── BasePanicLibAdvancedLogger │ │ ├── BasePanicLibAdvancedLogger.c │ │ └── BasePanicLibAdvancedLogger.inf │ ├── DebugAgent │ │ └── Sec │ │ │ ├── AdvancedLoggerSecDebugAgent.c │ │ │ ├── AdvancedLoggerSecDebugAgent.h │ │ │ ├── AdvancedLoggerSecDebugAgent.inf │ │ │ ├── AdvancedLoggerSecDebugAgent.uni │ │ │ ├── RamForSEC.c │ │ │ ├── X64 │ │ │ └── AsmRepLodsd.nasm │ │ │ └── ia32 │ │ │ └── AsmRepLodsd.nasm │ └── PeiDebugLibAdvancedLogger │ │ ├── DebugLib.c │ │ └── PeiDebugLibAdvancedLogger.inf ├── ReadMe.rst ├── Test │ ├── AdvLoggerHostTest.dsc │ └── Mock │ │ ├── Include │ │ └── GoogleTest │ │ │ ├── Library │ │ │ └── MockAdvancedLoggerHdwPortLib.h │ │ │ ├── Ppi │ │ │ └── MockAdvancedLogger.h │ │ │ └── Protocol │ │ │ └── MockAdvancedLogger.h │ │ └── Library │ │ └── GoogleTest │ │ └── MockAdvancedLoggerHdwPortLib │ │ ├── MockAdvancedLoggerHdwPortLib.cpp │ │ └── MockAdvancedLoggerHdwPortLib.inf └── UnitTests │ ├── AdvancedLoggerWrapper │ ├── AdvancedLoggerWrapperTestApp.c │ └── AdvancedLoggerWrapperTestApp.inf │ └── LineParser │ ├── LineParserTestApp.c │ ├── LineParserTestApp.inf │ └── readme.md ├── CONTRIBUTING.md ├── Cargo.toml ├── CodeQlFilters.yml ├── HidPkg ├── Crates │ ├── HidIo │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ └── HiiKeyboardLayout │ │ ├── Cargo.toml │ │ ├── resources │ │ └── test │ │ │ ├── KeyboardLayout.bin │ │ │ ├── KeyboardLayout.txt │ │ │ ├── KeyboardLayoutNs.bin │ │ │ └── KeyboardLayoutNs.txt │ │ └── src │ │ └── lib.rs ├── Docs │ ├── Readme.md │ └── hid_pkg_mu.png ├── HidKeyboardDxe │ ├── ComponentName.c │ ├── HidKbDxe.c │ ├── HidKbDxe.h │ ├── HidKbDxe.uni │ ├── HidKbDxeExtra.uni │ ├── HidKeyboard.c │ ├── HidKeyboard.h │ ├── HidKeyboardDxe.inf │ └── HidKeyboardDxe.md ├── HidMouseAbsolutePointerDxe │ ├── ComponentName.c │ ├── HidMouseAbsolutePointer.c │ ├── HidMouseAbsolutePointer.h │ ├── HidMouseAbsolutePointerDxe.inf │ ├── HidMouseAbsolutePointerDxe.md │ ├── HidMouseAbsolutePointerDxe.uni │ ├── HidMouseAbsolutePointerDxeExtra.uni │ └── UnitTest │ │ ├── HidMouse.c │ │ └── HidMouseAbsolutePointerHostTest.inf ├── HidPkg.ci.yaml ├── HidPkg.dec ├── HidPkg.dsc ├── Include │ ├── Guid │ │ └── HidKeyBoardLayout.h │ └── Protocol │ │ ├── HidIo.h │ │ ├── HidKeyboardProtocol.h │ │ └── HidPointerProtocol.h ├── ReadMe.rst ├── UefiHidDxe │ ├── Cargo.toml │ ├── UefiHidDxe.inf │ └── src │ │ ├── driver_binding.rs │ │ ├── hid.rs │ │ ├── key_queue.rs │ │ ├── keyboard.rs │ │ ├── main.rs │ │ └── pointer.rs ├── UefiHidDxeV2 │ ├── Cargo.toml │ ├── UefiHidDxeV2.inf │ └── src │ │ ├── boot_services.rs │ │ ├── driver_binding.rs │ │ ├── hid.rs │ │ ├── hid_io.rs │ │ ├── keyboard.rs │ │ ├── keyboard │ │ ├── key_queue.rs │ │ ├── simple_text_in.rs │ │ └── simple_text_in_ex.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── pointer.rs │ │ └── pointer │ │ └── absolute_pointer.rs ├── UnitTests │ └── HidPkgHostTest.dsc ├── UsbHidDxe │ ├── UsbHidDxe.c │ └── UsbHidDxe.inf ├── UsbKbHidDxe │ ├── ComponentName.c │ ├── UsbKbHidDxe.c │ ├── UsbKbHidDxe.h │ ├── UsbKbHidDxe.inf │ ├── UsbKbHidDxe.uni │ └── UsbKbHidDxeExtra.uni └── UsbMouseHidDxe │ ├── ComponentName.c │ ├── UsbMouseHid.c │ ├── UsbMouseHid.h │ ├── UsbMouseHidDxe.inf │ ├── UsbMouseHidDxe.uni │ └── UsbMouseHidDxeExtra.uni ├── LICENSE.txt ├── Makefile.toml ├── MfciPkg ├── Application │ └── MfciPolicy │ │ ├── MfciPolicy.py │ │ └── Readme.md ├── Docs │ ├── Mfci_Feature.md │ ├── Mfci_Integration_Guide.md │ └── Mfci_Structures.md ├── Include │ ├── Guid │ │ └── MfciPkgTokenSpace.h │ ├── Library │ │ ├── MfciDeviceIdSupportLib.h │ │ └── MfciRetrieveTargetPolicyLib.h │ ├── MfciPolicyType.h │ ├── MfciVariables.h │ ├── Ppi │ │ └── MfciPolicyPpi.h │ └── Protocol │ │ └── MfciProtocol.h ├── Library │ ├── MfciDeviceIdSupportLibNull │ │ ├── MfciDeviceIdSupportLibNull.c │ │ ├── MfciDeviceIdSupportLibNull.inf │ │ └── ReadMe.md │ ├── MfciDeviceIdSupportLibSmbios │ │ ├── MfciDeviceIdSupportLibSmbios.c │ │ ├── MfciDeviceIdSupportLibSmbios.inf │ │ └── ReadMe.md │ ├── MfciRetrievePolicyLibNull │ │ ├── MfciRetrievePolicyLibNull.c │ │ ├── MfciRetrievePolicyLibNull.inf │ │ └── ReadMe.md │ ├── MfciRetrievePolicyLibViaHob │ │ ├── MfciRetrievePolicyLibViaHob.c │ │ ├── MfciRetrievePolicyLibViaHob.inf │ │ └── ReadMe.md │ ├── MfciRetrievePolicyLibViaVariable │ │ ├── MfciRetrievePolicyLibViaVariable.c │ │ ├── MfciRetrievePolicyLibViaVariable.inf │ │ └── ReadMe.md │ └── MfciRetrieveTargetPolicyLibPcd │ │ ├── MfciRetrieveTargetPolicyLibPcd.c │ │ └── MfciRetrieveTargetPolicyLibPcd.inf ├── MfciDxe │ ├── MfciDxe.c │ ├── MfciDxe.h │ ├── MfciDxe.inf │ ├── MfciDxeRoT.c │ ├── MfciDxeRoT.inf │ ├── MfciPublicInterface.c │ ├── MfciTargeting.c │ ├── SecureBootClear.c │ ├── Test │ │ ├── MfciMultipleCertsHostTest.c │ │ ├── MfciMultipleCertsHostTest.inf │ │ ├── MfciPublicInterfaceHostTest.c │ │ ├── MfciPublicInterfaceHostTest.inf │ │ ├── MfciTargetingHostTest.c │ │ ├── MfciTargetingHostTest.inf │ │ ├── MfciVerifyPolicyAndChangeHostTest.c │ │ ├── MfciVerifyPolicyAndChangeHostTest.inf │ │ ├── MfciVerifyPolicyAndChangeRoTHostTest.c │ │ └── MfciVerifyPolicyAndChangeRoTHostTest.inf │ └── TpmClear.c ├── MfciPei │ ├── MfciPei.c │ └── MfciPei.inf ├── MfciPkg.ci.yaml ├── MfciPkg.dec ├── MfciPkg.dsc ├── MfciPkg.dsc.inc ├── Private │ ├── Certs │ │ ├── CA-test.dsc.inc │ │ ├── SharedMfciTrustAnchor.cer │ │ ├── SharedMfciTrustAnchor.dsc.inc │ │ ├── createReleaseXdrInclude.bat │ │ └── createXdrInclude.bat │ ├── Library │ │ ├── MfciPolicyParsingLib.h │ │ ├── MfciPolicyParsingLib │ │ │ ├── MfciPolicyParsingLib.c │ │ │ ├── MfciPolicyParsingLib.inf │ │ │ └── MfciPolicyParsingLibInternal.h │ │ ├── MfciPolicyParsingLibNull │ │ │ ├── MfciPolicyParsingLibNull.c │ │ │ └── MfciPolicyParsingLibNull.inf │ │ └── MfciRetrievePolicyLib.h │ ├── MfciPolicyFields.h │ └── Protocol │ │ └── MfciPolicyChangeNotify.h ├── ReadMe.rst └── UnitTests │ ├── Library │ ├── MockBaseCryptLib │ │ ├── MockBaseCryptLib.inf │ │ └── MockCryptPkcs7.c │ ├── MockMfciRetrieveTargetPolicyLib │ │ ├── MockMfciRetrieveTargetPolicyLib.c │ │ └── MockMfciRetrieveTargetPolicyLib.inf │ ├── MockResetUtilityLib │ │ ├── MockResetUtilityLib.c │ │ └── MockResetUtilityLib.inf │ └── MockUefiRuntimeServicesTableLib │ │ ├── MockUefiRuntimeServicesTableLib.c │ │ └── MockUefiRuntimeServicesTableLib.inf │ ├── MfciPkgHostTest.dsc │ └── MfciPolicyParsingUnitTest │ ├── MfciPolicyParsingUnitTestApp.c │ ├── MfciPolicyParsingUnitTestApp.inf │ ├── data │ ├── certs │ │ ├── Bin2Header.py │ │ ├── CA-NotTrusted.cer │ │ ├── CA-NotTrusted.pfx │ │ ├── CA-NotTrusted.pvk │ │ ├── CA-Root.cer.xdr.h │ │ ├── CA.cer │ │ ├── CA.cer.h │ │ ├── CA.cer.xdr.h │ │ ├── CA.pfx │ │ ├── CA.pvk │ │ ├── CA_NotTrusted.cer.h │ │ ├── ConvertBins2Headers.py │ │ ├── CreateCertificates.ps1 │ │ ├── Leaf-NoEku.cer │ │ ├── Leaf-NoEku.pfx │ │ ├── Leaf-NoEku.pvk │ │ ├── Leaf-test.cer │ │ ├── Leaf-test.pfx │ │ ├── Leaf-test.pvk │ │ ├── MakeChainingCerts.bat │ │ ├── Root.cer │ │ ├── Root.cer.h │ │ ├── Root.pfx │ │ └── Root.pvk │ └── packets │ │ ├── GenPacket.py │ │ ├── SignPacket.cmd │ │ ├── policy_NULL_in_OEM_string.bin.p7.h │ │ ├── policy_RuleCount0.bin.h │ │ ├── policy_RuleCountFFFF.bin.h │ │ ├── policy_badFormatVersion.bin.h │ │ ├── policy_badOptionFlags.bin.h │ │ ├── policy_badPolicyPublisher.bin.h │ │ ├── policy_badPolicyVersion.bin.h │ │ ├── policy_badReserved1Count.bin.h │ │ ├── policy_badReserved2Count.bin.h │ │ ├── policy_badRuleRootKey.bin.h │ │ ├── policy_badRuleSubKeyNameOffsetFFFFFFFF.bin.h │ │ ├── policy_badRuleValueNameOffsetFFFFFFFF.bin.h │ │ ├── policy_badRuleValueOffsetFFFFFFFF.bin.h │ │ ├── policy_badSubKeySizeFFFF.bin.h │ │ ├── policy_badValueNameSizeFFFF.bin.h │ │ ├── policy_badValueStringSizeFFFF.bin.h │ │ ├── policy_badValueType.bin.h │ │ ├── policy_good_manufacturing.bin.h │ │ ├── policy_good_manufacturing.bin.p7.h │ │ ├── policy_target_manufacturing.bin.h │ │ └── policy_target_manufacturing.bin.p7.h │ └── tools │ └── createSignedPolicy.py ├── MsApplicationPkg ├── Docs │ └── Readme.md ├── MsApplicationPkg.ci.yaml ├── MsApplicationPkg.dec ├── MsApplicationPkg.dsc ├── MsApplicationPkg.uni ├── MsApplicationPkgExtra.uni ├── ReadMe.rst └── SecureBootRecovery │ ├── Payload │ └── DBUpdate.bin │ ├── Readme.md │ ├── RecoveryPayload.h │ ├── SecureBootRecovery.c │ ├── SecureBootRecovery.inf │ └── helper.py ├── MsCorePkg ├── AcpiRGRT │ ├── AcpiRgrt.c │ ├── AcpiRgrt.inf │ ├── feature_acpi_rgrt.md │ └── spec_mu.png ├── CapsuleRuntimeDxe │ ├── CapsuleRuntimeDxe.c │ ├── CapsuleRuntimeDxe.inf │ └── ReadMe.md ├── CapsuleServicePei │ ├── CapsuleServicePei.c │ ├── CapsuleServicePei.inf │ └── ReadMe.md ├── CapsuleServiceProtocolDxe │ ├── CapsuleServiceProtocolDxe.c │ ├── CapsuleServiceProtocolDxe.inf │ ├── Images │ │ └── CapsuleFlowchart.png │ └── ReadMe.md ├── CheckHardwareConnected │ ├── CheckHardwareConnected.c │ ├── CheckHardwareConnected.h │ ├── CheckHardwareConnected.inf │ ├── CheckHardwareConnectedPci.c │ └── readme.md ├── Core │ └── GuidedSectionExtractPeim │ │ ├── GuidedSectionExtract.c │ │ ├── GuidedSectionExtract.h │ │ ├── GuidedSectionExtract.inf │ │ ├── GuidedSectionExtract.uni │ │ ├── GuidedSectionExtractExtra.uni │ │ └── ReadMe.md ├── Crates │ └── RustBootServicesAllocatorDxe │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs ├── DebugFileLoggerII │ ├── DebugFileLoggerCommon.c │ ├── DebugFileLoggerCommon.h │ ├── Dxe │ │ ├── DebugFileLogger.c │ │ ├── DebugFileLogger.h │ │ ├── DebugFileLogger.inf │ │ └── FileAccess.c │ ├── Pei │ │ ├── DebugFileLoggerPei.c │ │ ├── DebugFileLoggerPei.h │ │ └── DebugFileLoggerPei.inf │ └── README.md ├── Docs │ └── ReadMe.md ├── HelloWorldRustDxe │ ├── .gitignore │ ├── Cargo.toml │ ├── HelloWorldRustDxe.inf │ └── src │ │ └── main.rs ├── Include │ ├── AcpiRgrt.h │ ├── Guid │ │ └── MuVarPolicyFoundationDxe.h │ ├── Library │ │ ├── CapsulePersistenceLib.h │ │ ├── DeviceBootManagerLib.h │ │ ├── DeviceSpecificBusInfoLib.h │ │ ├── IsCapsuleSupportedLib.h │ │ ├── JsonLiteParser.h │ │ ├── MacAddressEmulationPlatformLib.h │ │ ├── MathLib.h │ │ ├── MuArmGicExLib.h │ │ ├── MuSecureBootKeySelectorLib.h │ │ ├── PasswordStoreLib.h │ │ ├── QueueLib.h │ │ ├── SecureBootKeyStoreLib.h │ │ ├── TpmSgNvIndexLib.h │ │ └── UpdateFacsHardwareSignatureLib.h │ ├── Ppi │ │ └── DebugPort.h │ └── Protocol │ │ ├── CapsuleService.h │ │ ├── MuPkcs5PasswordHash.h │ │ └── MuPkcs7.h ├── IncompatiblePciDevices │ ├── NoOptionRomsAllowed │ │ ├── NoOptionRomsAllowed.c │ │ ├── NoOptionRomsAllowed.inf │ │ └── ReadMe.md │ └── ReadMe.md ├── Library │ ├── BaseCapsulePersistenceLibNull │ │ ├── BaseCapsulePersistenceLibNull.c │ │ └── BaseCapsulePersistenceLibNull.inf │ ├── BaseIsCapsuleSupportedLibNull │ │ ├── BaseIsCapsuleSupportedLibNull.c │ │ └── BaseIsCapsuleSupportedLibNull.inf │ ├── BaseQueueLibNull │ │ ├── BaseQueueLibNull.c │ │ └── BaseQueueLibNull.inf │ ├── BaseSecureBootKeyStoreLib │ │ ├── BaseSecureBootKeyStoreLib.inf │ │ └── SecureBootKeyStoreLib.c │ ├── DebugPortPei │ │ ├── DebugPortPei.c │ │ ├── DebugPortPei.inf │ │ └── ReadMe.md │ ├── DebugPortProtocolInstallLib │ │ ├── DebugPortProtocolInstallLib.c │ │ ├── DebugPortProtocolInstallLib.inf │ │ └── ReadMe.md │ ├── DeviceBootManagerLibNull │ │ ├── DeviceBootManagerLibNull.c │ │ ├── DeviceBootManagerLibNull.inf │ │ └── ReadMe.md │ ├── DeviceSpecificBusInfoLibNull │ │ ├── DeviceSpecificBusInfoLibNull.c │ │ ├── DeviceSpecificBusInfoLibNull.inf │ │ └── ReadMe.md │ ├── DxeCapsulePersistenceLib │ │ ├── CapsulePersistence.c │ │ ├── CapsulePersistence.h │ │ ├── DxeCapsulePersistenceLib.c │ │ ├── DxeCapsulePersistenceLib.inf │ │ └── ReadMe.md │ ├── DxeDebugLibRouter │ │ ├── DebugOverview_mu.png │ │ ├── DxeDebugLibRouter.c │ │ ├── DxeDebugLibRouter.h │ │ ├── DxeDebugLibRouter.inf │ │ ├── Feature_DebugRouting_Readme.md │ │ ├── ReportStatusCode │ │ │ └── ReportStatusCodeDebugLib.c │ │ └── Serial │ │ │ └── SerialDebugLib.c │ ├── DxeIsCapsuleSupportedLib │ │ ├── CapsuleEsrtTableLayer.c │ │ ├── CapsuleEsrtTableLayer.h │ │ ├── CapsuleSupported.c │ │ ├── DxeIsCapsuleSupportedLib.inf │ │ └── ReadMe.md │ ├── DxeQueueUefiVariableLib │ │ ├── DxeQueueUefiVariableLib.c │ │ ├── DxeQueueUefiVariableLib.inf │ │ └── ReadMe.md │ ├── ExceptionPersistenceLibCmos │ │ ├── ExceptionPersistenceLibCmos.c │ │ ├── ExceptionPersistenceLibCmos.inf │ │ └── Readme.md │ ├── JsonLiteParser │ │ ├── JsonLiteParser.c │ │ ├── JsonLiteParser.inf │ │ └── ReadMe.md │ ├── MacAddressEmulationPlatformLibNull │ │ ├── MacAddressEmulationPlatformLibNull.c │ │ └── MacAddressEmulationPlatformLibNull.inf │ ├── MathLib │ │ ├── MathLib.c │ │ ├── MathLib.inf │ │ └── ReadMe.md │ ├── MemoryProtectionExceptionHandlerLib │ │ ├── MemoryProtectionExceptionHandlerLib.inf │ │ ├── MemoryProtectionExceptionHandlerLibAArch64.c │ │ ├── MemoryProtectionExceptionHandlerLibCommon.c │ │ ├── MemoryProtectionExceptionHandlerLibX64.c │ │ └── Readme.md │ ├── MemoryTypeInformationChangeLib │ │ ├── MemoryTypeInformationChangeLib.c │ │ ├── MemoryTypeInformationChangeLib.inf │ │ └── ReadMe.md │ ├── MuArmGicExLib │ │ ├── AArch64 │ │ │ ├── MuArmGicEx.S │ │ │ └── MuArmGicEx.masm │ │ ├── ArmGicArchLib.c │ │ ├── ArmGicLib.c │ │ ├── ArmGicNonSecLib.c │ │ ├── GicV2 │ │ │ ├── ArmGicV2Lib.c │ │ │ └── ArmGicV2NonSecLib.c │ │ ├── GicV3 │ │ │ ├── AArch64 │ │ │ │ ├── ArmGicV3.S │ │ │ │ └── ArmGicV3.masm │ │ │ └── Arm │ │ │ │ └── ArmGicV3.S │ │ ├── MuArmGicExLib.c │ │ └── MuArmGicExLib.inf │ ├── MuSecureBootKeySelectorLib │ │ ├── MuSecureBootKeySelectorLib.c │ │ ├── MuSecureBootKeySelectorLib.inf │ │ └── ReadMe.md │ ├── PasswordStoreLibNull │ │ ├── PasswordStoreLibNull.c │ │ ├── PasswordStoreLibNull.inf │ │ └── ReadMe.md │ ├── PeiDebugLib │ │ ├── DebugLib.c │ │ ├── PeiDebugLib.inf │ │ └── ReadMe.md │ ├── PlatformBootManagerLib │ │ ├── BdsPlatform.c │ │ ├── BdsPlatform.h │ │ ├── MemoryTest.c │ │ ├── MsPlatform.c │ │ ├── PlatformBootManagerLib.inf │ │ └── ReadMe.md │ ├── SecureBootKeyStoreLibNull │ │ ├── SecureBootKeyStoreLibNull.c │ │ └── SecureBootKeyStoreLibNull.inf │ └── TpmSgNvIndexLib │ │ ├── ReadMe.md │ │ ├── TpmSgNvIndexLib.c │ │ └── TpmSgNvIndexLib.inf ├── LoadOptionVariablePolicyDxe │ ├── LoadOptionVariablePolicyDxe.c │ └── LoadOptionVariablePolicyDxe.inf ├── MacAddressEmulationDxe │ ├── MacAddressEmulationDxe.c │ ├── MacAddressEmulationDxe.h │ ├── MacAddressEmulationDxe.inf │ ├── Readme.md │ └── Test │ │ ├── EntryPointTest.c │ │ ├── EntryPointTest.h │ │ ├── FindMatchingSnpTest.c │ │ ├── FindMatchingSnpTest.h │ │ ├── MacAddressEmulationDxeHostTest.inf │ │ ├── MacAddressEmulationDxeHostTestCommon.h │ │ ├── MacAddressEmulationDxeHostTestMain.c │ │ ├── SimpleNetworkProtocolNotifyTest.c │ │ ├── SimpleNetworkProtocolNotifyTest.h │ │ ├── SnpSupportsMacEmuCheckTest.c │ │ └── SnpSupportsMacEmuCheckTest.h ├── MsCorePkg.ci.yaml ├── MsCorePkg.dec ├── MsCorePkg.dsc ├── MsCorePkg.uni ├── MsCorePkgExtra.uni ├── MuCryptoDxe │ ├── MuCryptoDxe.c │ ├── MuCryptoDxe.h │ ├── MuCryptoDxe.inf │ ├── Pkcs5Support.c │ ├── Pkcs7Support.c │ └── Readme.md ├── MuVarPolicyFoundationDxe │ ├── Feature_MuVarPolicyFoundationDxe_Readme.md │ ├── MuVarPolicyFoundationDxe.c │ └── MuVarPolicyFoundationDxe.inf ├── ReadMe.rst ├── Test │ └── Mock │ │ ├── Include │ │ └── GoogleTest │ │ │ └── Library │ │ │ └── MockDeviceBootManagerLib.h │ │ └── Library │ │ └── GoogleTest │ │ └── MockDeviceBootManagerLib │ │ ├── MockDeviceBootManagerLib.cpp │ │ └── MockDeviceBootManagerLib.inf ├── UnitTests │ ├── JsonTest │ │ ├── JsonTestApp.c │ │ ├── JsonTestApp.inf │ │ └── readme.md │ ├── MathLibUnitTest │ │ ├── CreateTestData.py │ │ ├── MathLibUnitTestApp.c │ │ ├── MathLibUnitTestApp.h │ │ ├── MathLibUnitTestApp.inf │ │ ├── ReadMe.md │ │ └── TestData.h │ └── MsCorePkgHostTest.dsc └── Universal │ └── StatusCodeHandler │ ├── ReadMe.md │ └── Serial │ ├── Common │ ├── SerialStatusCodeHandler.c │ └── SerialStatusCodeHandler.h │ ├── Dxe │ ├── SerialStatusCodeHandlerDxe.inf │ └── StatusCodeHandlerDxe.c │ ├── Pei │ ├── SerialStatusCodeHandlerPei.inf │ └── StatusCodeHandlerPei.c │ └── Smm │ ├── SerialStatusCodeHandlerSmm.inf │ ├── SerialStatusCodeHandlerStandaloneMm.inf │ ├── StatusCodeHandlerMm.c │ ├── StatusCodeHandlerMm.h │ ├── StatusCodeHandlerStandalone.c │ └── StatusCodeHandlerTraditional.c ├── MsGraphicsPkg ├── Application │ └── BmpDisplay │ │ ├── BmpDisplay.c │ │ ├── BmpDisplay.inf │ │ └── ReadMe.md ├── DisplayEngineDxe │ ├── DisplayEngineDxe.inf │ ├── DisplayEngineExtra.uni │ ├── FormDisplay.c │ ├── FormDisplay.h │ ├── FormDisplayStr.uni │ ├── InputHandler.c │ ├── ProcessOptions.c │ └── ReadMe.md ├── Docs │ └── ReadMe.md ├── GopOverrideDxe │ ├── GopOverrideDxe.c │ ├── GopOverrideDxe.inf │ ├── GopOverrideOverview_mu.png │ └── ReadMe.md ├── Include │ ├── Guid │ │ ├── MsEarlyGraphicsHob.h │ │ ├── OSKDevicePath.h │ │ └── SpinnerEventGroup.h │ ├── Library │ │ ├── BootGraphicsLib.h │ │ ├── BootGraphicsProviderLib.h │ │ ├── DisplayDeviceStateLib.h │ │ ├── FrameBufferMemDrawLib.h │ │ ├── MsColorTableLib.h │ │ ├── MsPlatformEarlyGraphicsLib.h │ │ ├── MsUiThemeCopyLib.h │ │ ├── MsUiThemeLib.h │ │ ├── PlatformThemeLib.h │ │ ├── QrEncoderLib.h │ │ ├── SwmDialogsLib.h │ │ ├── UiProgressCircleLib.h │ │ └── UiRectangleLib.h │ ├── MsDisplayEngine.h │ ├── Protocol │ │ ├── MsEarlyGraphics.h │ │ ├── MsUiThemeProtocol.h │ │ ├── OnScreenKeyboard.h │ │ ├── RenderingEngine.h │ │ └── SimpleWindowManager.h │ ├── Resources │ │ ├── FontPackage_Selawik_Regular_10pt.h │ │ ├── FontPackage_Selawik_Regular_11pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_12pt.h │ │ ├── FontPackage_Selawik_Regular_13pt.h │ │ ├── FontPackage_Selawik_Regular_14pt.h │ │ ├── FontPackage_Selawik_Regular_18pt.h │ │ ├── FontPackage_Selawik_Regular_18pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_22pt.h │ │ ├── FontPackage_Selawik_Regular_22pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_24pt.h │ │ ├── FontPackage_Selawik_Regular_24pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_28pt.h │ │ ├── FontPackage_Selawik_Regular_28pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_36pt.h │ │ ├── FontPackage_Selawik_Regular_36pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_48pt.h │ │ ├── FontPackage_Selawik_Regular_5pt.h │ │ ├── FontPackage_Selawik_Regular_6pt_Fixed.h │ │ ├── FontPackage_Selawik_Regular_72pt.h │ │ ├── FontPackage_Selawik_Regular_7pt.h │ │ ├── FontPackage_Selawik_Regular_8pt_Fixed.h │ │ └── FontPackage_Selawik_Regular_9pt.h │ ├── UIToolKit │ │ ├── Bitmap.h │ │ ├── Button.h │ │ ├── Canvas.h │ │ ├── ControlBase.h │ │ ├── EditBox.h │ │ ├── Grid.h │ │ ├── Label.h │ │ ├── ListBox.h │ │ ├── ProgressBar.h │ │ ├── SimpleUIToolKit.h │ │ ├── ToggleSwitch.h │ │ └── Utilities.h │ ├── Uefi │ │ └── MsUefiInternalFormRepresentationEx.h │ └── UiPrimitiveSupport.h ├── Library │ ├── BaseUiProgressCircleLib │ │ ├── ProgressCircle.c │ │ ├── ReadMe.md │ │ └── UiProgressCircleLib.inf │ ├── BaseUiRectangleLib │ │ ├── BaseUiRectangleLib.inf │ │ ├── ReadMe.md │ │ ├── UiRectangle.c │ │ └── UiRectangle.h │ ├── BootGraphicsLib │ │ ├── BootGraphicsLib.c │ │ ├── BootGraphicsLib.inf │ │ └── ReadMe.md │ ├── BootGraphicsLibNull │ │ ├── BootGraphicsLib.c │ │ ├── BootGraphicsLib.inf │ │ └── ReadMe.md │ ├── BootGraphicsProviderLibNull │ │ ├── BootGraphicsProviderLib.c │ │ ├── BootGraphicsProviderLib.inf │ │ └── ReadMe.md │ ├── ColorBarDisplayDeviceStateLib │ │ ├── ColorBarDisplayDeviceStateLib.c │ │ ├── ColorBarDisplayDeviceStateLib.inf │ │ ├── ReadMe.md │ │ └── Resources │ │ │ ├── UnlockBitmap.bmp │ │ │ ├── UnlockBitmap.h │ │ │ ├── UnlockBitmap112.h │ │ │ ├── UnlockBitmap128.h │ │ │ ├── UnlockBitmap256.h │ │ │ ├── UnlockBitmap32.h │ │ │ └── UnlockBitmap64.h │ ├── DisplayDeviceStateLibNull │ │ ├── DisplayDeviceStateLibNull.c │ │ ├── DisplayDeviceStateLibNull.inf │ │ └── ReadMe.md │ ├── FrameBufferMemDrawLib │ │ ├── FrameBufferMemDrawLib.c │ │ ├── FrameBufferMemDrawLib.h │ │ ├── FrameBufferMemDrawLibDxe.c │ │ ├── FrameBufferMemDrawLibDxe.inf │ │ ├── FrameBufferMemDrawLibPei.inf │ │ ├── FrameBufferMemDrawLibPeim.c │ │ └── Readme.md │ ├── FrameBufferMemDrawLibNull │ │ ├── FrameBufferMemDrawLibNull.c │ │ └── FrameBufferMemDrawLibNull.inf │ ├── MsColorTableLib │ │ ├── MsColorTableLib.c │ │ ├── MsColorTableLib.inf │ │ └── ReadMe.md │ ├── MsEarlyGraphicsLibNull │ │ ├── Dxe │ │ │ ├── MsEarlyGraphicsLibNull.c │ │ │ └── MsEarlyGraphicsLibNull.inf │ │ ├── Pei │ │ │ ├── MsEarlyGraphicsLibNull.c │ │ │ └── MsEarlyGraphicsLibNull.inf │ │ └── ReadMe.md │ ├── MsUiThemeCopyLib │ │ ├── MsUiThemeCopyLib.c │ │ ├── MsUiThemeCopyLib.inf │ │ └── ReadMe.md │ ├── MsUiThemeLib │ │ ├── Dxe │ │ │ ├── MsUiThemeLib.c │ │ │ └── MsUiThemeLib.inf │ │ ├── MsUiThemeLibCommon.c │ │ ├── Pei │ │ │ ├── MsUiThemeLib.c │ │ │ └── MsUiThemeLib.inf │ │ └── ReadMe.md │ ├── QrEncoderLib │ │ ├── QrEncoderLib.c │ │ ├── QrEncoderLib.inf │ │ ├── QrEncoderTables.c │ │ ├── QrEncoderTables.h │ │ └── ReadMe.md │ ├── SamplePlatformThemeLib │ │ ├── PlatformThemeLib.c │ │ ├── PlatformThemeLib.inf │ │ └── ReadMe.md │ ├── SimpleUIToolKit │ │ ├── Bitmap.c │ │ ├── Button.c │ │ ├── Canvas.c │ │ ├── EditBox.c │ │ ├── Grid.c │ │ ├── Label.c │ │ ├── ListBox.c │ │ ├── ProgressBar.c │ │ ├── ReadMe.md │ │ ├── SimpleUIToolKit.c │ │ ├── SimpleUIToolKit.inf │ │ ├── SimpleUIToolKitInternal.h │ │ ├── ToggleSwitch.c │ │ └── Utilities.c │ └── SwmDialogsLib │ │ ├── MessageBox.c │ │ ├── PasswordDialog.c │ │ ├── ReadMe.md │ │ ├── SemmUserAuthDialog.c │ │ ├── SingleSelectDialog.c │ │ ├── SwmDialogs.c │ │ ├── SwmDialogs.h │ │ ├── SwmDialogs.inf │ │ └── SwmDialogsStrings.uni ├── MsEarlyGraphics │ ├── Dxe │ │ ├── MsEarlyGraphics.c │ │ ├── MsEarlyGraphics.h │ │ └── MsEarlyGraphics.inf │ ├── MsEarlyGraphicsCommon.c │ ├── MsEarlyGraphicsCommon.h │ ├── Pei │ │ ├── MsEarlyGraphics.c │ │ ├── MsEarlyGraphics.h │ │ └── MsEarlyGraphics.inf │ └── ReadMe.md ├── MsGraphicsPkg.ci.yaml ├── MsGraphicsPkg.dec ├── MsGraphicsPkg.dsc ├── MsGraphicsPkg.uni ├── MsGraphicsPkgExtra.uni ├── MsUiTheme │ ├── Dxe │ │ ├── MsUiThemeProtocol.c │ │ └── MsUiThemeProtocol.inf │ ├── MsUiThemeCommon.c │ ├── Pei │ │ ├── MsUiThemePpi.c │ │ └── MsUiThemePpi.inf │ └── ReadMe.md ├── NvidiaSupportDxe │ ├── NvidiaSupportDxe.c │ ├── NvidiaSupportDxe.h │ ├── NvidiaSupportDxe.inf │ └── NvidiaSupportDxe.uni ├── OnScreenKeyboardDxe │ ├── DisplayTransform.c │ ├── DisplayTransform.h │ ├── DisplayTypes.h │ ├── KeyMapping.h │ ├── OnScreenKeyboard.h │ ├── OnScreenKeyboardDriver.c │ ├── OnScreenKeyboardDxe.inf │ ├── OnScreenKeyboardProtocol.c │ ├── OnScreenKeyboardProtocol.h │ ├── ReadMe.md │ └── Resources │ │ ├── KeyboardChars.txt │ │ ├── KeyboardIcon_Medium.bmp │ │ ├── KeyboardIcon_Medium.h │ │ ├── KeyboardIcon_Small.bmp │ │ └── KeyboardIcon_Small.h ├── PrintScreenLogger │ ├── PrintScreenLogger.c │ ├── PrintScreenLogger.h │ ├── PrintScreenLogger.inf │ └── Readme.md ├── ReadMe.rst ├── RenderingEngineDxe │ ├── ReadMe.md │ ├── RenderingEngine.c │ ├── RenderingEngineDxe.inf │ └── RenderingEngineInternal.h ├── SimpleWindowManagerDxe │ ├── ReadMe.md │ ├── Resources │ │ ├── MousePointer_Medium.bmp │ │ ├── MousePointer_Medium.h │ │ ├── MousePointer_Small.bmp │ │ └── MousePointer_Small.h │ ├── SimpleWindowManagerDxe.inf │ ├── SimpleWindowManagerProtocol.c │ ├── SimpleWindowManagerProtocol.h │ ├── SimpleWindowManagerStrings.uni │ ├── WaitForEvent.c │ ├── WindowManager.c │ └── WindowManager.h ├── UnitTests │ └── SpinnerTest │ │ ├── SpinnerTest.c │ │ └── SpinnerTest.inf └── Universal │ └── TimeoutSpinner │ ├── Resources │ └── NoNVMe.bmp │ ├── ScreenGraphics.c │ ├── ScreenGraphics.h │ ├── TimeoutGeneral.c │ ├── TimeoutGeneral.h │ ├── TimeoutSpinner.c │ ├── TimeoutSpinner.h │ └── TimeoutSpinner.inf ├── MsWheaPkg ├── Crates │ └── MuTelemetryHelperLib │ │ ├── Cargo.toml │ │ └── src │ │ ├── lib.rs │ │ └── status_code_runtime.rs ├── DummyErrorDriver │ ├── DummyErrorDriver.c │ └── DummyErrorDriver.inf ├── EnableDisableErrors │ ├── EnableDisableErrors.c │ └── EnableDisableErrors.inf ├── HwErrBert │ ├── BertHelper.c │ ├── BertHelper.h │ ├── HwErrBert.inf │ └── HwErrorBert.c ├── HwhMenu │ ├── CreatorIDParser.c │ ├── CreatorIDParser.h │ ├── HwhMenu.c │ ├── HwhMenu.h │ ├── HwhMenu.inf │ ├── HwhMenuStrings.uni │ ├── HwhMenuVfr.Vfr │ ├── HwhMenuVfr.h │ ├── PlatformIDParser.c │ ├── PlatformIDParser.h │ ├── hwh_menu_mu.gif │ └── readme.md ├── Include │ ├── Guid │ │ ├── HwhMenuGuid.h │ │ └── MuTelemetryCperSection.h │ ├── Library │ │ ├── CheckHwErrRecHeaderLib.h │ │ ├── MsWheaEarlyStorageLib.h │ │ ├── MuTelemetryHelperLib.h │ │ └── ParserRegistryLib.h │ └── MsWheaErrorStatus.h ├── Library │ ├── CheckHwErrRecHeaderLib │ │ ├── CheckHwErrRecHeaderLib.c │ │ └── CheckHwErrRecHeaderLib.inf │ ├── GenericSectionParserLib │ │ ├── GenericSectionParserLib.c │ │ └── GenericSectionParserLib.inf │ ├── MsWheaEarlyStorageLib │ │ ├── MsWheaEarlyStorageLib.c │ │ └── MsWheaEarlyStorageLib.inf │ ├── MsWheaEarlyStorageLibNull │ │ ├── MsWheaEarlyStorageLibNull.c │ │ └── MsWheaEarlyStorageLibNull.inf │ ├── MuTelemetryHelperLib │ │ ├── MuTelemetryHelperLib.c │ │ └── MuTelemetryHelperLib.inf │ └── ParserRegistryLib │ │ ├── ParserRegistryLib.c │ │ ├── ParserRegistryLib.inf │ │ └── readme.md ├── MsWheaPkg.ci.yaml ├── MsWheaPkg.dec ├── MsWheaPkg.dsc ├── MsWheaReport │ ├── Dxe │ │ ├── MsWheaReportDxe.c │ │ ├── MsWheaReportDxe.inf │ │ ├── MsWheaReportList.c │ │ └── MsWheaReportList.h │ ├── MsWheaEarlyStorageMgr.c │ ├── MsWheaEarlyStorageMgr.h │ ├── MsWheaReportCommon.c │ ├── MsWheaReportCommon.h │ ├── MsWheaReportHER.c │ ├── MsWheaReportHER.h │ ├── Pei │ │ ├── MsWheaReportPei.c │ │ └── MsWheaReportPei.inf │ ├── Smm │ │ ├── MsWheaReportMm.c │ │ ├── MsWheaReportMm.h │ │ ├── MsWheaReportSmm.inf │ │ ├── MsWheaReportStandalone.c │ │ ├── MsWheaReportStandaloneMm.inf │ │ └── MsWheaReportTraditional.c │ └── Test │ │ ├── MsWheaReportCommonHostTest.c │ │ ├── MsWheaReportCommonHostTest.inf │ │ ├── MsWheaReportHERHostTest.c │ │ └── MsWheaReportHERHostTest.inf ├── Private │ └── Guid │ │ └── MsWheaReportDataType.h ├── Test │ ├── Include │ │ └── MsWheaHostTestCommon.h │ ├── MsWheaPkgHostTest.dsc │ └── UnitTests │ │ ├── Library │ │ ├── LibraryClass │ │ │ ├── CheckHwErrRecHeaderTestApp.c │ │ │ └── CheckHwErrRecHeaderTestApp.inf │ │ └── MuTelemetryHelperLib │ │ │ ├── MuTelemetryHelperLibHostTest.c │ │ │ └── MuTelemetryHelperLibHostTest.inf │ │ ├── MsWheaEarlyStorageUnitTestApp │ │ ├── MsWheaEarlyUnitTestApp.c │ │ └── MsWheaEarlyUnitTestApp.inf │ │ └── MsWheaReportUnitTestApp │ │ ├── MsWheaReportUnitTestApp.c │ │ └── MsWheaReportUnitTestApp.inf └── readme.md ├── PcBdsPkg ├── Include │ ├── Guid │ │ ├── MsBootMenuGuid.h │ │ └── MsNetworkCtlGuid.h │ ├── Library │ │ ├── ConsoleMsgLib.h │ │ ├── GraphicsConsoleHelperLib.h │ │ ├── MsAltBootLib.h │ │ ├── MsBootManagerSettingsLib.h │ │ ├── MsBootOptionsLib.h │ │ ├── MsBootPolicyLib.h │ │ ├── MsNVBootReasonLib.h │ │ ├── MsNetworkDependencyLib.h │ │ ├── MsPlatformDevicesLib.h │ │ ├── MsPlatformPowerCheckLib.h │ │ ├── MuUefiVersionLib.h │ │ ├── PowerServicesLib.h │ │ └── ThermalServicesLib.h │ ├── MsBootManagerSettings.h │ ├── Protocol │ │ └── TpmPpProtocol.h │ └── Settings │ │ └── BootMenuSettings.h ├── Library │ ├── BootManagerSettingsDxeLibNull │ │ ├── BootManagerSettingsDxeLibNull.c │ │ └── BootManagerSettingsDxeLibNull.inf │ ├── ConsoleMsgLibNull │ │ ├── ConsoleMsgLibNull.c │ │ └── ConsoleMsgLibNull.inf │ ├── GraphicsConsoleHelperLib │ │ ├── GraphicsConsoleHelper.c │ │ └── GraphicsConsoleHelper.inf │ ├── GraphicsConsoleHelperLibNull │ │ ├── GraphicsConsoleHelperLibNull.c │ │ └── GraphicsConsoleHelperLibNull.inf │ ├── MsAltBootLibNull │ │ ├── MsAltBootLibNull.c │ │ ├── MsAltBootLibNull.inf │ │ └── MsAltBootVariables.h │ ├── MsBootOptionsLib │ │ ├── MsBootOptionsLib.c │ │ └── MsBootOptionsLib.inf │ ├── MsBootPolicyLibNull │ │ ├── MsBootPolicyLib.c │ │ └── MsBootPolicyLibNull.inf │ ├── MsNVBootReasonLibNull │ │ ├── MsNVBootReasonLibNull.c │ │ └── MsNVBootReasonLibNull.inf │ ├── MsNetworkDelayLib │ │ ├── MsNetworkDelayLib.c │ │ └── MsNetworkDelayLib.inf │ ├── MsNetworkDependencyLib │ │ ├── MsNetworkDependencyLib.c │ │ ├── MsNetworkDependencyLib.inf │ │ └── readme.md │ ├── MsPlatformDevicesLibNull │ │ ├── MsPlatformDevicesLibNull.c │ │ └── MsPlatformDevicesLibNull.inf │ ├── MsPlatformPowerCheckLibNull │ │ ├── MsPlatformPowerCheckLibNull.c │ │ └── MsPlatformPowerCheckLibNull.inf │ ├── MuUefiVersionLibNull │ │ ├── MuUefiVersionLibNull.c │ │ └── MuUefiVersionLibNull.inf │ ├── PowerServicesLibNull │ │ ├── PowerServicesLib.c │ │ └── PowerServicesLibNull.inf │ └── ThermalServicesLibNull │ │ ├── ThermalServicesLib.c │ │ └── ThermalServicesLibNull.inf ├── MsBootPolicy │ ├── MsBootPolicy.c │ ├── MsBootPolicy.h │ └── MsBootPolicy.inf ├── PcBdsPkg.ci.yaml ├── PcBdsPkg.dec ├── PcBdsPkg.dsc └── ResetIfBootNextFailsDxe │ ├── ResetIfBootNextFailsDxe.c │ └── ResetIfBootNextFailsDxe.inf ├── Readme.rst ├── RepoDetails.md ├── SECURITY.md ├── TpmTestingPkg ├── Include │ ├── Guid │ │ └── TpmReplayEventLog.h │ ├── Library │ │ ├── FvMeasurementExclusionLib.h │ │ └── InputChannelLib.h │ └── TpmReplayConfig.h ├── Library │ ├── BaseFvMeasurementExclusionLibNull │ │ ├── BaseFvMeasurementExclusionLibNull.c │ │ └── BaseFvMeasurementExclusionLibNull.inf │ └── BaseInputChannelLibNull │ │ ├── BaseInputChannelLibNull.c │ │ └── BaseInputChannelLibNull.inf ├── Overrides │ ├── Library │ │ ├── DxeImageVerificationLib │ │ │ ├── DxeImageVerificationLib.c │ │ │ ├── DxeImageVerificationLib.h │ │ │ ├── DxeImageVerificationLib.inf │ │ │ ├── DxeImageVerificationLib.uni │ │ │ └── Measurement.c │ │ └── DxeTpm2MeasureBootLib │ │ │ ├── DxeTpm2MeasureBootLib.c │ │ │ ├── DxeTpm2MeasureBootLib.inf │ │ │ └── DxeTpm2MeasureBootLib.uni │ └── Tcg2Dxe │ │ ├── MeasureBootPeCoff.c │ │ ├── Tcg2Dxe.c │ │ ├── Tcg2Dxe.inf │ │ ├── Tcg2Dxe.uni │ │ └── Tcg2DxeExtra.uni ├── TpmReplay.dsc.inc ├── TpmReplayPei │ ├── InputChannel │ │ ├── TpmReplayFfsFilePei.c │ │ ├── TpmReplayInputChannel.c │ │ ├── TpmReplayInputChannel.h │ │ ├── TpmReplayInputChannelInternal.h │ │ ├── TpmReplayUefiVariable.c │ │ └── TpmReplayUefiVariablePei.c │ ├── Pei │ │ ├── TpmReplayPei.c │ │ ├── TpmReplayPei.h │ │ ├── TpmReplayPei.inf │ │ ├── TpmReplayPeiPlatformFvExclusion.c │ │ ├── TpmReplayPeiPlatformFvExclusion.h │ │ ├── TpmReplayPeiPreMem.c │ │ └── TpmReplayPeiTpmInitialized.c │ ├── Readme.md │ ├── Tool │ │ ├── TpmReplay.py │ │ ├── TpmReplaySchema.json │ │ ├── TpmReplaySchema.md │ │ ├── efi_time.py │ │ └── tcg_platform.py │ ├── TpmReplayReportingManager.c │ ├── TpmReplayReportingManager.h │ ├── TpmReplayTcg.c │ ├── TpmReplayTcg.h │ ├── TpmReplayTcgRegs.h │ └── img │ │ ├── tcg_pcclientpcrevent_structure.png │ │ └── tcg_pcr_event2_structure.png ├── TpmTestingPkg.ci.yaml ├── TpmTestingPkg.dec └── TpmTestingPkg.dsc ├── UefiTestingPkg ├── AuditTests │ ├── BootAuditTest │ │ └── UEFI │ │ │ ├── BootAuditTestApp.c │ │ │ └── BootAuditTestApp.inf │ ├── DMAProtectionAudit │ │ ├── UEFI │ │ │ ├── Acpi.c │ │ │ ├── Acpi.h │ │ │ ├── DMAIVRSProtectionUnitTestApp.inf │ │ │ ├── DMAProtectionTest.h │ │ │ ├── DMAProtectionUnitTestApp.c │ │ │ ├── DMAVTdProtectionUnitTestApp.inf │ │ │ ├── IVRS │ │ │ │ ├── DMAProtectionTestArch.c │ │ │ │ ├── DmaProtection.h │ │ │ │ ├── IVRS.h │ │ │ │ └── IVRSAcpiTable.c │ │ │ ├── README.md │ │ │ └── VTd │ │ │ │ ├── DMAProtectionTestArch.c │ │ │ │ ├── DmaProtection.h │ │ │ │ ├── DmarAcpiTable.c │ │ │ │ └── PciInfo.c │ │ └── Windows │ │ │ ├── DMARTableAudit.py │ │ │ ├── IVRSTableAudit.py │ │ │ └── Readme.md │ ├── PagingAudit │ │ ├── README.md │ │ ├── UEFI │ │ │ ├── AArch64 │ │ │ │ └── PagingAuditProcessor.c │ │ │ ├── Dxe │ │ │ │ ├── App │ │ │ │ │ └── DxePagingAuditTestApp.c │ │ │ │ └── Driver │ │ │ │ │ └── DxePagingAuditDriver.c │ │ │ ├── DxePagingAuditDriver.inf │ │ │ ├── DxePagingAuditTestApp.inf │ │ │ ├── PagingAuditCommon.c │ │ │ ├── PagingAuditCommon.h │ │ │ ├── Smm │ │ │ │ ├── App │ │ │ │ │ └── SmmPagingAuditTestApp.c │ │ │ │ ├── Driver │ │ │ │ │ └── SmmPagingAuditDriver.c │ │ │ │ └── SmmPagingAuditCommon.h │ │ │ ├── SmmPagingAuditDriver.inf │ │ │ ├── SmmPagingAuditTestApp.inf │ │ │ └── X64 │ │ │ │ └── PagingAuditProcessor.c │ │ └── Windows │ │ │ ├── BinaryParsing.py │ │ │ ├── DxePaging_template_AArch64.html │ │ │ ├── DxePaging_template_X64.html │ │ │ ├── Globals.py │ │ │ ├── MemoryRangeObjects.py │ │ │ ├── PagingReportGenerator.py │ │ │ └── SmmPaging_template.html │ ├── TpmEventLogAudit │ │ ├── TpmEventLogAudit.c │ │ ├── TpmEventLogAuditTestApp.inf │ │ ├── TpmEventLogXml.c │ │ └── TpmEventLogXml.h │ └── UefiVarLockAudit │ │ ├── Readme.md │ │ ├── UEFI │ │ ├── InternalFunctions.c │ │ ├── LockTest.c │ │ ├── LockTestXml.c │ │ ├── LockTestXml.h │ │ └── UefiVarLockAuditTestApp.inf │ │ └── Windows │ │ └── UefiVarAudit.py ├── FunctionalSystemTests │ ├── ExceptionPersistenceTestApp │ │ ├── ExceptionPersistenceTestApp.c │ │ └── ExceptionPersistenceTestApp.inf │ ├── MemmapAndMatTestApp │ │ ├── MemmapAndMatTestApp.c │ │ └── MemmapAndMatTestApp.inf │ ├── MemoryAttributeProtocolFuncTestApp │ │ ├── AARCH64 │ │ │ └── PageSplitTest.c │ │ ├── MemoryAttributeProtocolFuncTestApp.c │ │ ├── MemoryAttributeProtocolFuncTestApp.h │ │ ├── MemoryAttributeProtocolFuncTestApp.inf │ │ ├── PageSplitTest.c │ │ ├── Readme.md │ │ └── X64 │ │ │ └── PageSplitTest.c │ ├── MemoryProtectionTest │ │ ├── App │ │ │ ├── AArch64 │ │ │ │ └── AArch64Functions.c │ │ │ ├── ArchSpecificFunctions.h │ │ │ ├── DxeMemoryProtectionTestApp.c │ │ │ ├── DxeMemoryProtectionTestApp.inf │ │ │ ├── SmmMemoryProtectionTestApp.c │ │ │ ├── SmmMemoryProtectionTestApp.inf │ │ │ └── X64 │ │ │ │ └── X64Functions.c │ │ ├── Driver │ │ │ ├── SmmMemoryProtectionTestDriver.c │ │ │ └── SmmMemoryProtectionTestDriver.inf │ │ ├── MemoryProtectionTestCommon.h │ │ └── Readme.md │ ├── MorLockTestApp │ │ ├── MorLockTestApp.c │ │ └── MorLockTestApp.inf │ ├── MpManagement │ │ ├── App │ │ │ ├── MpManagementTestApp.c │ │ │ └── MpManagementTestApp.inf │ │ ├── Driver │ │ │ ├── AARCH64 │ │ │ │ ├── AsmSupport.S │ │ │ │ ├── AsmSupport.masm │ │ │ │ └── SuspendHandling.c │ │ │ ├── ApFunction.c │ │ │ ├── MpManagement.c │ │ │ ├── MpManagement.inf │ │ │ └── MpManagementInternal.h │ │ └── Readme.md │ └── SmmPagingProtectionsTest │ │ ├── App │ │ ├── SmmPagingProtectionsTestApp.c │ │ └── SmmPagingProtectionsTestApp.inf │ │ ├── Readme.md │ │ ├── Smm │ │ ├── SmmPagingProtectionsTestDriver.c │ │ ├── SmmPagingProtectionsTestDriver.h │ │ ├── SmmPagingProtectionsTestSmm.inf │ │ ├── SmmPagingProtectionsTestStandaloneMm.c │ │ ├── SmmPagingProtectionsTestStandaloneMm.inf │ │ └── SmmPagingProtectionsTestTraditionalMm.c │ │ └── SmmPagingProtectionsTestCommon.h ├── Include │ ├── Library │ │ ├── FlatPageTableLib.h │ │ └── PlatformSmmProtectionsTestLib.h │ └── Protocol │ │ └── MpManagement.h ├── Library │ ├── FlatPageTableLib │ │ ├── AArch64 │ │ │ ├── FlatPageTableAArch64.c │ │ │ └── ReadIdMmfr1.asm │ │ ├── FlatPageTableLib.c │ │ ├── FlatPageTableLib.inf │ │ └── X64 │ │ │ └── FlatPageTableX64.c │ └── PlatformSmmProtectionsTestLibNull │ │ ├── PlatformSmmProtectionsTestLibNull.c │ │ └── PlatformSmmProtectionsTestLibNull.inf ├── PerfTests │ └── BlockIoPerfTest │ │ ├── BlockIoPerfTest.c │ │ └── BlockIoPerfTest.inf ├── Readme.md ├── UefiTestingPkg.ci.yaml ├── UefiTestingPkg.dec └── UefiTestingPkg.dsc ├── XmlSupportPkg ├── Include │ ├── Library │ │ ├── XmlTreeLib.h │ │ └── XmlTreeQueryLib.h │ └── XmlTypes.h ├── Library │ ├── UnitTestResultReportJUnitFormatLib │ │ ├── JUnitXmlSupport.c │ │ ├── JUnitXmlSupport.h │ │ ├── UnitTestResultReportLib.c │ │ └── UnitTestResultReportLib.inf │ ├── XmlTreeLib │ │ ├── XmlTreeLib.c │ │ ├── XmlTreeLib.inf │ │ └── fasterxml │ │ │ ├── fasterxml.h │ │ │ ├── xml_fasterxml.c │ │ │ ├── xml_namespacemanager.c │ │ │ ├── xml_skiplist.c │ │ │ ├── xml_xmlstructure.c │ │ │ ├── xmlerr.c │ │ │ ├── xmlerr.h │ │ │ └── xmlstructure.h │ └── XmlTreeQueryLib │ │ ├── XmlTreeQueryLib.c │ │ └── XmlTreeQueryLib.inf ├── ReadMe.md ├── Test │ ├── UnitTest │ │ ├── XmlTreeLib │ │ │ ├── TestData.h │ │ │ ├── XmlTreeLibUnitTestApp.inf │ │ │ ├── XmlTreeLibUnitTests.c │ │ │ └── XmlTreeLibUnitTestsHost.inf │ │ └── XmlTreeQueryLib │ │ │ ├── AttributeTests.c │ │ │ ├── ElementTests.c │ │ │ ├── XmlTreeQueryLibUnitTestApp.inf │ │ │ ├── XmlTreeQueryLibUnitTests.c │ │ │ ├── XmlTreeQueryLibUnitTests.h │ │ │ └── XmlTreeQueryLibUnitTestsHost.inf │ └── XmlSupportPkgHostTest.dsc ├── XmlSupportPkg.ci.yaml ├── XmlSupportPkg.dec └── XmlSupportPkg.dsc ├── pip-requirements.txt ├── rust-toolchain.toml └── rustfmt.toml /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.x86_64-unknown-uefi] 2 | rustflags = [ 3 | "-C", "link-arg=/base:0x0", 4 | "-C", "link-arg=/subsystem:efi_boot_service_driver", 5 | ] 6 | 7 | [target.i686-unknown-uefi] 8 | rustflags = [ 9 | "-C", "link-arg=/base:0x0", 10 | "-C", "link-arg=/subsystem:efi_boot_service_driver", 11 | ] 12 | 13 | [target.aarch64-unknown-uefi] 14 | rustflags = [ 15 | "-C", "link-arg=/base:0x0", 16 | "-C", "link-arg=/subsystem:efi_boot_service_driver", 17 | ] 18 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "image": "ghcr.io/microsoft/mu_devops/ubuntu-24-dev:latest", 3 | "postCreateCommand": "git config --global --add safe.directory '*' && git config --global --add core.autocrlf false && pip install --upgrade -r pip-requirements.txt", 4 | "customizations": { 5 | "vscode": { 6 | "extensions": [ 7 | "ms-vscode.cpptools", 8 | "DavidAnson.vscode-markdownlint" 9 | ] 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | ################################################### 2 | # Line Ending Only Changes # 3 | ################################################### 4 | # Convert line endings from LF to CRLF 5 | e2c0b13609cf515b94c8148cad7c896aa0c23ab0 6 | # Fix Line Endings in Repo (LF -> CRLF) 7 | 8b6f8ff254a660c43d4370e2596798d813583975 8 | 9 | ################################################### 10 | # Code Formatting (Uncrustify) Only Changes # 11 | ################################################### 12 | # Uncrustify mu_plus 13 | 94adae1085b2bc358a8f89a78c0b9d07678e5b04 14 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * -text 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | # Project Mu GitHub Issue Configuration File 2 | # 3 | # NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there 4 | # instead of the file in this repo. 5 | # 6 | # - Mu DevOps Repo: https://github.com/microsoft/mu_devops 7 | # - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml 8 | # 9 | # Copyright (c) Microsoft Corporation. 10 | # SPDX-License-Identifier: BSD-2-Clause-Patent 11 | # 12 | 13 | contact_links: 14 | - name: 📃 Project Mu Documentation 15 | url: https://microsoft.github.io/mu/ 16 | about: Goals, principles, repo layout, build instructions, and more. 17 | -------------------------------------------------------------------------------- /.github/codecov.yml: -------------------------------------------------------------------------------- 1 | ## @file 2 | # codecov upload configuration file to carryforward coverage results of 3 | # packages that do not upload coverage results for a given pull request. 4 | ## 5 | # Copyright (c) Microsoft Corporation. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | flags: 9 | AdvLoggerPkg: 10 | carryforward: true 11 | HidPkg: 12 | carryforward: true 13 | MfciPkg: 14 | carryforward: true 15 | MsApplicationPkg: 16 | carryforward: true 17 | MsCorePkg: 18 | carryforward: true 19 | MsGraphicsPkg: 20 | carryforward: true 21 | MsWheaPkg: 22 | carryforward: true 23 | PcBdsPkg: 24 | carryforward: true 25 | TpmTestingPkg: 26 | carryforward: true 27 | UefiTestingPkg: 28 | carryforward: true 29 | XmlSupportPkg: 30 | carryforward: true 31 | 32 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | <_Include a description of the change and why this change was made._> 4 | 5 | For details on how to complete these options and their meaning refer to [CONTRIBUTING.md](https://github.com/microsoft/mu/blob/HEAD/CONTRIBUTING.md). 6 | 7 | - [ ] Impacts functionality? 8 | - [ ] Impacts security? 9 | - [ ] Breaking change? 10 | - [ ] Includes tests? 11 | - [ ] Includes documentation? 12 | - [ ] Backport to release branch? 13 | 14 | ## How This Was Tested 15 | 16 | <_Describe the test(s) that were run to verify the changes._> 17 | 18 | ## Integration Instructions 19 | 20 | <_Describe how these changes should be integrated. Use N/A if nothing is required._> 21 | -------------------------------------------------------------------------------- /.github/workflows/issue-assignment.yml: -------------------------------------------------------------------------------- 1 | # This workflow provides actions that should be applied when an issue is assigned. 2 | # 3 | # NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there 4 | # instead of the file in this repo. 5 | # 6 | # - Mu DevOps Repo: https://github.com/microsoft/mu_devops 7 | # - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml 8 | # 9 | # Copyright (c) Microsoft Corporation. 10 | # SPDX-License-Identifier: BSD-2-Clause-Patent 11 | # 12 | 13 | name: React to Issue Assignment 14 | 15 | on: 16 | issues: 17 | types: assigned 18 | 19 | jobs: 20 | apply: 21 | 22 | permissions: 23 | contents: read 24 | issues: write 25 | 26 | uses: microsoft/mu_devops/.github/workflows/IssueAssignment.yml@v15.0.1 27 | -------------------------------------------------------------------------------- /.github/workflows/label-issues/file-paths.yml: -------------------------------------------------------------------------------- 1 | # Specifies labels to apply to issues and pull requests based on file path patterns in Project Mu repositories. 2 | # 3 | # NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there 4 | # instead of the file in this repo. 5 | # 6 | # - Mu DevOps Repo: https://github.com/microsoft/mu_devops 7 | # - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml 8 | # 9 | # Copyright (c) Microsoft Corporation. 10 | # SPDX-License-Identifier: BSD-2-Clause-Patent 11 | # 12 | # For more information, see: 13 | # https://github.com/actions/labeler 14 | 15 | # Maintenance: Keep labels organized in ascending alphabetical order - easier to scan, identify duplicates, etc. 16 | 17 | language:python: 18 | - '**/*.py' 19 | -------------------------------------------------------------------------------- /.github/workflows/label-sync.yml: -------------------------------------------------------------------------------- 1 | # This workflow syncs GitHub labels to the common set of labels defined in Mu DevOps. 2 | # 3 | # All repos should sync at the same time. 4 | # '0 0,12 * * *'' 5 | # 6 | # NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there 7 | # instead of the file in this repo. 8 | # 9 | # - Mu DevOps Repo: https://github.com/microsoft/mu_devops 10 | # - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml 11 | # 12 | # Copyright (c) Microsoft Corporation. 13 | # SPDX-License-Identifier: BSD-2-Clause-Patent 14 | # 15 | 16 | name: Sync GitHub Labels 17 | 18 | on: 19 | schedule: 20 | # At minute 0 past hour 0 and 12 21 | # https://crontab.guru/#0_0,12_*_*_* 22 | - cron: '0 0,12 * * *' 23 | workflow_dispatch: 24 | 25 | jobs: 26 | sync: 27 | 28 | permissions: 29 | issues: write 30 | 31 | uses: microsoft/mu_devops/.github/workflows/LabelSyncer.yml@v15.0.1 32 | -------------------------------------------------------------------------------- /.github/workflows/triage-issues.yml: -------------------------------------------------------------------------------- 1 | # This workflow assists with initial triage of new issues by applying 2 | # labels based on data provided in the issue. 3 | # 4 | # NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there 5 | # instead of the file in this repo. 6 | # 7 | # - Mu DevOps Repo: https://github.com/microsoft/mu_devops 8 | # - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml 9 | # 10 | # Copyright (c) Microsoft Corporation. 11 | # SPDX-License-Identifier: BSD-2-Clause-Patent 12 | # 13 | 14 | name: Initial Triage for New Issue 15 | 16 | on: 17 | issues: 18 | types: [ opened ] 19 | 20 | jobs: 21 | triage: 22 | 23 | permissions: 24 | issues: write 25 | 26 | uses: microsoft/mu_devops/.github/workflows/IssueTriager.yml@v15.0.1 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /Build/ 2 | .DS_Store 3 | *_extdep/ 4 | *.pyc 5 | __pycache__/ 6 | tags/ 7 | .vscode/ 8 | *.bak 9 | BuildConfig.conf 10 | Cargo.lock 11 | 12 | # Repo-specific 13 | _TEMP_*/ 14 | /Conf/ 15 | 16 | # Ignore cloned dependencies 17 | /Common 18 | /Silicon 19 | /MU_BASECORE 20 | 21 | # Ignore Rust build output 22 | /target 23 | -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- 1 | ## @file 2 | # markdownlint configuration 3 | # 4 | # NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there 5 | # instead of the file in this repo. 6 | # 7 | # - Mu DevOps Repo: https://github.com/microsoft/mu_devops 8 | # - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml 9 | # 10 | # Copyright (c) Microsoft Corporation. 11 | # SPDX-License-Identifier: BSD-2-Clause-Patent 12 | ## 13 | 14 | # Rules can be found here: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md 15 | # Config info: https://github.com/DavidAnson/markdownlint#configuration 16 | 17 | { 18 | "default": true, 19 | "MD013": {"line_length": 120, "code_blocks": false, "tables": false}, 20 | "MD033": {"allowed_elements": ["br"]} 21 | } 22 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | # Ignore build directory 2 | /Build/ 3 | 4 | # Ignore external dependencies 5 | *_extdep/ 6 | 7 | # Ignore cloned dependencies 8 | /Common/MU_TIANO 9 | /Silicon/Arm/MU_TIANO 10 | /Silicon/Intel/MU_TIANO 11 | /MU_BASECORE -------------------------------------------------------------------------------- /AdvLoggerPkg/AdvLoggerOsConnectorPrm/GoogleTest/AdvLoggerOsConnectorPrmGoogleTest.inf: -------------------------------------------------------------------------------- 1 | ## @file AdvLoggerOsConnectorPrmGoogleTest.inf 2 | # 3 | # This unit tests the AdvLoggerOsConnectorPrm Module 4 | # 5 | # Copyright (c) Microsoft Corporation 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = AdvLoggerOsConnectorPrmGoogleTest 12 | FILE_GUID = 7027B281-BE64-4D83-9667-3CE9B041E2B2 13 | MODULE_TYPE = HOST_APPLICATION 14 | VERSION_STRING = 1.0 15 | 16 | [Sources] 17 | AdvLoggerOsConnectorPrmGoogleTest.cpp 18 | ../AdvLoggerOsConnectorPrm.c 19 | 20 | [Packages] 21 | MdePkg/MdePkg.dec 22 | MdeModulePkg/MdeModulePkg.dec 23 | AdvLoggerPkg/AdvLoggerPkg.dec 24 | PrmPkg/PrmPkg.dec 25 | UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec 26 | 27 | [LibraryClasses] 28 | GoogleTestLib 29 | 30 | [BuildOptions] 31 | MSFT:*_*_*_CC_FLAGS = /std:c++latest -------------------------------------------------------------------------------- /AdvLoggerPkg/AdvLoggerPkgExtra.uni: -------------------------------------------------------------------------------- 1 | ## @file 2 | # AdvLoggerPkg Package Localized Strings and Content 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | #string STR_PROPERTIES_PACKAGE_NAME 9 | #language en-US 10 | "Advanced Logger Package" 11 | -------------------------------------------------------------------------------- /AdvLoggerPkg/AdvancedSerialLogger/Dxe/AdvancedSerialLoggerDxe.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Advanced Logger Serial driver. 3 | // 4 | // This is a driver for logging debug messages to the serial port. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Advanced Logger Serial driver." 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains the debug message from the Advanced Logger memory." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/AdvancedSerialLogger/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Advanced Serial Logger 2 | 3 | ## About 4 | 5 | The Advanced Serial Logger starts, the memory log is flushed to the serial port. 6 | As more log is appended, the serial logger flushes it out to the serial port. 7 | 8 | To enable the Advanced Serial Logger, the following change is needed in the .dsc: 9 | 10 | ```inf 11 | [Components.] 12 | AdvLoggerPkg/AdvancedSerialLogger/AdvancedSerialLogger.inf 13 | ``` 14 | 15 | and the follow change is needed in the .fdf: 16 | 17 | ```inf 18 | [Components.FV.] 19 | INF AdvLoggerPkg/AdvancedSerialLogger/AdvancedSerialLogger.inf 20 | ``` 21 | 22 | --- 23 | 24 | ## Copyright 25 | 26 | Copyright (C) Microsoft Corporation. All rights reserved. 27 | SPDX-License-Identifier: BSD-2-Clause-Patent 28 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Application/AdvancedLogDumper/LogDumper.uni: -------------------------------------------------------------------------------- 1 | /** @file 2 | AdvancedLogDumper.uni 3 | 4 | String definitions for AdvancedLogDumper command 5 | 6 | Copyright (C) Microsoft Corporation. 7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | 9 | /=# 10 | 11 | #langdef en-US "english" 12 | 13 | 14 | #string STR_ADV_LOG_HELP #language en-US " " 15 | "\nAdvLogDump -o OutputFileName] [-h] [-r] [-v]\n" 16 | " -h Print this Help\n" 17 | " -r Dump the raw Advanced Logger binary data\n" 18 | " -v Print verbose messages\n" 19 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Application/Windows/AdvLoggerDumpWin/PropertySheet.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Application/Windows/AdvLoggerDumpWin/main.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | main.h 3 | 4 | Copyright (C) Microsoft Corporation. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | #pragma once 9 | #include 10 | #include 11 | 12 | #define EFI_ERROR 1 13 | #define CONS_ERROR 2 14 | #define FILE_ERROR 3 15 | #define LOG_ERROR 4 16 | #define SUCCESS 0 17 | #define MAX_VAR_LENGTH 1024*1024 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Application/Windows/AdvLoggerDumpWin/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Crates/RustAdvancedLoggerDxe/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "RustAdvancedLoggerDxe" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | [lib] 8 | name = "rust_advanced_logger_dxe" 9 | path = "src/lib.rs" 10 | 11 | [dependencies] 12 | r-efi = { workspace = true } 13 | mu_uefi_boot_services = { workspace = true } 14 | 15 | [dev-dependencies] 16 | mu_uefi_boot_services = { workspace = true, features = ["mockall"] } 17 | 18 | [features] 19 | std = [] 20 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Docs/debug_log_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/AdvLoggerPkg/Docs/debug_log_level.png -------------------------------------------------------------------------------- /AdvLoggerPkg/Include/AdvancedLoggerInternalProtocol.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Advanced Logger Common function declaration 3 | 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef __ADVANCED_LOGGER_INTERNAL_PROTOCOL_H__ 11 | #define __ADVANCED_LOGGER_INTERNAL_PROTOCOL_H__ 12 | 13 | typedef struct { 14 | ADVANCED_LOGGER_PROTOCOL AdvLoggerProtocol; 15 | ADVANCED_LOGGER_INFO *LoggerInfo; 16 | } ADVANCED_LOGGER_PROTOCOL_CONTAINER; 17 | 18 | #define LOGGER_INFO_FROM_PROTOCOL(a) (BASE_CR (a, ADVANCED_LOGGER_PROTOCOL_CONTAINER, AdvLoggerProtocol)->LoggerInfo) 19 | 20 | #endif // __ADVANCED_LOGGER_INTERNAL_PROTOCOL_H__ 21 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Include/Guid/AdvancedFileLoggerPolicy.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This file defines GUIDs and data structure used for Advanced file logger policy. 3 | 4 | Copyright (C) Microsoft Corporation. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef ADVANCED_FILE_LOGGER_POLICY_H_ 10 | #define ADVANCED_FILE_LOGGER_POLICY_H_ 11 | 12 | #define ADVANCED_FILE_LOGGER_POLICY_GUID \ 13 | { \ 14 | 0x6c3fd4f1, 0xb596, 0x438e, { 0x8a, 0xb8, 0x53, 0xf1, 0xc, 0x9c, 0x27, 0x74 } \ 15 | } 16 | 17 | #define ADVANCED_FILE_LOGGER_POLICY_SIZE sizeof(ADVANCED_FILE_LOGGER_POLICY) 18 | 19 | #pragma pack(1) 20 | 21 | typedef struct { 22 | BOOLEAN FileLoggerEnable; 23 | } ADVANCED_FILE_LOGGER_POLICY; 24 | 25 | #pragma pack() 26 | 27 | extern EFI_GUID gAdvancedFileLoggerPolicyGuid; 28 | 29 | #endif //ADVANCED_FILE_LOGGER_POLICY_H_ 30 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Include/Library/AdvancedLoggerLib.h: -------------------------------------------------------------------------------- 1 | /** @file AdvancedLoggerLib.h 2 | 3 | Advanced Logger Library interface for DebugLib 4 | 5 | 6 | Copyright (C) Microsoft Corporation. All rights reserved. 7 | 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #ifndef __ADVANCED_LOGGER_LIB_H__ 13 | #define __ADVANCED_LOGGER_LIB_H__ 14 | 15 | /** 16 | Write data from the DebugLib buffer to the in memory logging buffer, 17 | and route it to the Hdw Port lib. 18 | 19 | Writes NumberOfBytes data bytes from Buffer to the logging buffer. 20 | 21 | @param ErrorLevel Error level passed into DebugLib 22 | @param Buffer Pointer to the data buffer to be written. 23 | @param NumberOfBytes Number of bytes to be written. 24 | 25 | 26 | **/ 27 | VOID 28 | EFIAPI 29 | AdvancedLoggerWrite ( 30 | IN UINTN ErrorLevel, 31 | IN CONST CHAR8 *Buffer, 32 | IN UINTN NumberOfBytes 33 | ); 34 | 35 | #endif // __ADVANCED_LOGGER_LIB_H__ 36 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvLoggerSerialPortLib/AdvLoggerSerialPortLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Advanced Logger Serial Port Library. 3 | # 4 | # Copyright (c) Microsoft Corporation. 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | # 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 1.26 12 | BASE_NAME = AdvLoggerSerialPortLib 13 | FILE_GUID = 2532f02a-a36a-451a-84f4-9e94c2256a83 14 | MODULE_TYPE = BASE 15 | VERSION_STRING = 1.0 16 | LIBRARY_CLASS = SerialPortLib 17 | 18 | # 19 | # VALID_ARCHITECTURES = X64 AARCH64 20 | # 21 | 22 | [Sources] 23 | AdvLoggerSerialPortLib.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | AdvLoggerPkg/AdvLoggerPkg.dec 28 | 29 | [LibraryClasses] 30 | AdvancedLoggerLib 31 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerAccessLib/AdvancedLoggerAccessLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Advanced Logger Access Library. 3 | // 4 | // Locates the DXE_CORE provided protocol to access the In Memory log. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Advanced Logger Access Lib for Memory Logger" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Provides access method to access memory log." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerHdwPortLib/AdvancedLoggerHdwPortLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Advanced Logger Hardware Port Library. 3 | # 4 | # Copyright (c) Microsoft Corporation. 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | # 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 1.26 12 | BASE_NAME = AdvancedLoggerHdwPortLib 13 | MODULE_UNI_FILE = AdvancedLoggerHdwPortLib.uni 14 | FILE_GUID = 9e6eaac5-ab1f-41d2-80d4-ebd2a011213b 15 | MODULE_TYPE = BASE 16 | VERSION_STRING = 1.0 17 | LIBRARY_CLASS = AdvancedLoggerHdwPortLib 18 | 19 | # 20 | # VALID_ARCHITECTURES = X64 AARCH64 21 | # 22 | 23 | [Sources] 24 | AdvancedLoggerHdwPortLib.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | AdvLoggerPkg/AdvLoggerPkg.dec 29 | 30 | [LibraryClasses] 31 | SerialPortLib 32 | 33 | [Depex] 34 | TRUE 35 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerHdwPortLib/AdvancedLoggerHdwPortLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Advanced Logger Hdw Port Library. 3 | // 4 | // Provides a platform to have the Advanced Logger output directly to a hardware port. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Advanced Logger Hdw Port Lib" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Provides access method to access hdw port." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerHdwPortLibNull/AdvancedLoggerHdwPortLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # NULL version of the Advanced Logger Hdw Port library. 3 | # 4 | # Copyright (c) Microsoft Corporation. 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | # 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 1.26 12 | BASE_NAME = AdvancedLoggerHdwPortLib 13 | MODULE_UNI_FILE = AdvancedLoggerHdwPortLib.uni 14 | FILE_GUID = 519a564f-b837-4a91-ac23-c3774a76b017 15 | MODULE_TYPE = BASE 16 | VERSION_STRING = 1.0 17 | LIBRARY_CLASS = AdvancedLoggerHdwPortLib 18 | 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 21 | # 22 | 23 | [Sources] 24 | AdvancedLoggerHdwPortLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | AdvLoggerPkg/AdvLoggerPkg.dec 29 | 30 | [LibraryClasses] 31 | 32 | [Protocols] 33 | 34 | [Pcd] 35 | 36 | [Depex] 37 | TRUE 38 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerHdwPortLibNull/AdvancedLoggerHdwPortLibNull.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // NULL version of Advanced Logger Hdw Port Library. 3 | // 4 | // Provides a platform to have the Advanced Logger output directly to a hardware port. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Advanced Logger Hdw Port Lib Null" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Null version for a test library." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/BaseArm/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Base Arm Instance of Advanced Logger Library. 3 | // 4 | // Obtains the AdvLogger memory location. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Base Arm Instance of AdvancedLoggerLib" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains access to the logger buffer." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/Dxe/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // DXE Instance of Advanced Logger Library. 3 | // 4 | // Locates the DXE_CORE provided protocol for DXE drivers to write to the Advanced Logger. 5 | // 6 | // For systems with a PEI or SEC phase AdvancedLogger, connects to the ADVANCED_LOGGER_INFO block. 7 | // For systems that start in the DXE phase, creates the ADVANCED_LOGGER_INFO block. 8 | // 9 | // Copyright (c) Microsoft Corporation 10 | // 11 | // SPDX-License-Identifier: BSD-2-Clause-Patent 12 | // 13 | // **/ 14 | 15 | 16 | #string STR_MODULE_ABSTRACT #language en-US "DXE Instance of AdvancedLoggerLib for Memory Logger" 17 | 18 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains the protocol for Advanced Logger Write." 19 | 20 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/DxeCore/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // DXE CORE Instance of Advanced Logger Library. 3 | // 4 | // Installs a protocol for DXE drivers to write to the Advanced Logger. 5 | // 6 | // For systems with a PEI phase AdvancedLogger, connects to the ADVANCED_LOGGER_INFO block. 7 | // For systems that start in the DXE phase, creates the ADVANCED_LOGGER_INFO block. 8 | // 9 | // Copyright (c) Microsoft Corporation 10 | // 11 | // SPDX-License-Identifier: BSD-2-Clause-Patent 12 | // 13 | // **/ 14 | 15 | 16 | #string STR_MODULE_ABSTRACT #language en-US "DXE CORE Instance of AdvancedLoggerLib for Memory Logger" 17 | 18 | #string STR_MODULE_DESCRIPTION #language en-US "Initializes the DXE ADVANCED_LOGGER_INFO block and copies the debug buffer to the Advanced Logger." 19 | 20 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/MmCore/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // MM_CORE_STANDALONE Instance of Advanced Logger Library. 3 | // 4 | // Obtains the AdvLogger memory location from AdvancedLoggerHob. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "MM_CORE_STANCORE Instance of AdvancedLoggerLib for Memory Logger" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains access to the logger buffer." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/MmCoreArm/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // MM_CORE Arm Instance of Advanced Logger Library. 3 | // 4 | // Obtains the AdvLogger memory location from AdvancedLoggerHob. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "MM_CORE Arm Instance of AdvancedLoggerLib for Memory Logger" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains access to the logger buffer." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/Pei/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // PEI Instance of Advanced Logger Library. 3 | // 4 | // Transfers the debug print message to the Advanced Logger Ppi. 5 | // 6 | // Copyright (c) Microsoft Corporation 7 | // 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | 13 | #string STR_MODULE_ABSTRACT #language en-US "PEI Instance of AdvancedLoggerLib for Memory Logger" 14 | 15 | #string STR_MODULE_DESCRIPTION #language en-US "Copies the debug buffer to the Advanced Logger Ppi." 16 | 17 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/Pei64/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // PEI X64 Instance of Advanced Logger Library. 3 | // 4 | // Transfers the debug print message to the Advanced Logger. 5 | // 6 | // Copyright (c) Microsoft Corporation 7 | // 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | 13 | #string STR_MODULE_ABSTRACT #language en-US "PEI X64 Instance of AdvancedLoggerLib for Memory Logger" 14 | 15 | #string STR_MODULE_DESCRIPTION #language en-US "Copies the debug buffer to the Advanced Logger Ppi." 16 | 17 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/PeiCore/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // PEI Core Instance of Advanced Logger Library. 3 | // 4 | // Transfers the debug print message to the advanced logger. 5 | // 6 | // Copyright (c) Microsoft Corporation 7 | // 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | 13 | #string STR_MODULE_ABSTRACT #language en-US "PEI Instance of AdvancedLoggerLib for Memory Logger" 14 | 15 | #string STR_MODULE_DESCRIPTION #language en-US "Copies the debug buffer to the memory log." 16 | 17 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/Runtime/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // DXE_RUNTIME Instance of Advanced Logger Library. 3 | // 4 | // Locates the DXE_CORE provided protocol for DXE drivers to write to the Advanced Logger. 5 | // 6 | // Registers for Exit Boot Services to terminate memory logging 7 | //// 8 | // Copyright (c) Microsoft Corporation 9 | // 10 | // SPDX-License-Identifier: BSD-2-Clause-Patent 11 | // 12 | // **/ 13 | 14 | 15 | #string STR_MODULE_ABSTRACT #language en-US "DXE Runtime Instance of AdvancedLoggerLib for Memory Logger" 16 | 17 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains the protocol for Advanced Logger Write." 18 | 19 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/Sec/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // SEC instance of Advanced Logger Library for Advanced Logging. 3 | // 4 | // Implements the Memory Logger. 5 | // 6 | // Copyright (c) Microsoft Corporation 7 | // 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | 13 | #string STR_MODULE_ABSTRACT #language en-US "SEC Instance of Advanced Logger Library" 14 | 15 | #string STR_MODULE_DESCRIPTION #language en-US "Accepts messages from a base debug library and routes it to the memory logger" 16 | 17 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/Smm/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // SMM_CORE Instance of Advanced Logger Library. 3 | // 4 | // Locates the DXE_CORE provided protocol to gain access to the Advanced Logger buffer. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "SMM_CORE Instance of AdvancedLoggerLib for Memory Logger" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains access to the logger buffer." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AdvancedLoggerLib/SmmCore/AdvancedLoggerLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // SMM_CORE Instance of Advanced Logger Library. 3 | // 4 | // Locates the DXE_CORE provided protocol to gain access to the Advanced Logger buffer. 5 | // 6 | // 7 | // Copyright (c) Microsoft Corporation 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "SMM_CORE Instance of AdvancedLoggerLib for Memory Logger" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Obtains access to the logger buffer." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AssertLib/AssertLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Instance of Assert Library. 3 | # 4 | # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | # Copyright (C) Microsoft Corporation. All rights reserved. 6 | # 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | # 9 | # 10 | ## 11 | 12 | [Defines] 13 | INF_VERSION = 1.26 14 | BASE_NAME = AssertLib 15 | MODULE_UNI_FILE = AssertLib.uni 16 | FILE_GUID = 7e051eba-3146-4fa5-9b4b-b715d786cf5e 17 | MODULE_TYPE = BASE 18 | VERSION_STRING = 1.0 19 | LIBRARY_CLASS = AssertLib 20 | 21 | # 22 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 23 | # 24 | 25 | [Sources] 26 | AssertLib.c 27 | 28 | [Packages] 29 | MdePkg/MdePkg.dec 30 | AdvLoggerPkg/AdvLoggerPkg.dec 31 | 32 | [LibraryClasses] 33 | AdvancedLoggerLib 34 | BaseLib 35 | PcdLib 36 | PrintLib 37 | 38 | [Pcd] 39 | gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask ## CONSUMES 40 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AssertLib/AssertLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Instance of Assert Library. 3 | // 4 | // Part of origininal DebugLib dealing with Assert processing.. 5 | // 6 | // Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
7 | // Copyright (c) Microsoft Corporation. All rights reserved. 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Instance of Assert Library" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Assert Library that provides UDK functionality." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/AssertTelemetryLib/AssertLib.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Instance of Assert Library with Telemetry. 3 | // 4 | // Part of origininal DebugLib dealing with Assert processing.. 5 | // 6 | // Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
7 | // Copyright (c) Microsoft Corporation. All rights reserved. 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Instance of Assert Library with Telemetry" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "Assert Library that provides UDK functionality." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/BaseDebugLibAdvancedLogger/BaseDebugLibAdvancedLogger.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Instance of Debug Library that supports the Advanced Logger. 3 | // 4 | // It uses Print Library to produce formatted output strings to the Advanced Logger. 5 | // 6 | // Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
7 | // Copyright (c) Microsoft Corporation. All rights reserved. 8 | // 9 | // SPDX-License-Identifier: BSD-2-Clause-Patent 10 | // 11 | // **/ 12 | 13 | 14 | #string STR_MODULE_ABSTRACT #language en-US "Instance of Debug Library that supports the Advanced logger" 15 | 16 | #string STR_MODULE_DESCRIPTION #language en-US "It uses Print Library to produce formatted output strings to the advanced logger." 17 | 18 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/BasePanicLibAdvancedLogger/BasePanicLibAdvancedLogger.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # An instance of the Panic Library that outputs to advanced logger. 3 | # 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = BasePanicLibAdvancedLogger 12 | FILE_GUID = 536D781D-A6A6-4831-AAB8-1E391DA2DD06 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = PanicLib 16 | 17 | # 18 | # VALID_ARCHITECTURES = ANY 19 | # 20 | 21 | [Packages] 22 | MdePkg/MdePkg.dec 23 | AdvLoggerPkg/AdvLoggerPkg.dec 24 | 25 | [LibraryClasses] 26 | AdvancedLoggerLib 27 | BaseLib 28 | PrintLib 29 | 30 | [Sources] 31 | BasePanicLibAdvancedLogger.c 32 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Library/DebugAgent/Sec/AdvancedLoggerSecDebugAgent.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Advanded Logger Debug Agent Library for the SEC phase. 3 | // 4 | // This library intercepts the InitializeDebugAgent call to allow the AdvancedLogger 5 | // to set up early logging on systems the use UefiCpuPkg\SecCore. 6 | // 7 | // Copyright (C) Microsoft Corporation. All rights reserved. 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | #string STR_MODULE_ABSTRACT #language en-US "Advanded Logger Debug Agent libarary for the SEC phase." 13 | 14 | #string STR_MODULE_DESCRIPTION #language en-US "This is the earliest public hook in systems that use UefiCpuPkg\SecCore." 15 | -------------------------------------------------------------------------------- /AdvLoggerPkg/ReadMe.rst: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Advanced Logger Package 3 | ============================================================ 4 | 5 | Summary 6 | ======= 7 | The AdvanceLoggerPackage provide in memory logging for UEFI post logging, and, if equipped, SMM 8 | and Runtime mechanisms to add to the in memory log. There is also a facility to extract the 9 | log at Runtime. 10 | 11 | Documentation 12 | ============= 13 | Documentation can be found in the `Docs directory <./Docs>`_ -------------------------------------------------------------------------------- /AdvLoggerPkg/Test/Mock/Include/GoogleTest/Library/MockAdvancedLoggerHdwPortLib.h: -------------------------------------------------------------------------------- 1 | /** @file MockAdvancedLoggerHdwPortLib.h 2 | Google Test mocks for AdvancedLoggerHdwPortLib 3 | 4 | Copyright (c) Microsoft Corporation. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | **/ 7 | 8 | #ifndef MOCK_ADVANCED_LOGGER_HDW_PORT_LIB_H_ 9 | #define MOCK_ADVANCED_LOGGER_HDW_PORT_LIB_H_ 10 | 11 | #include 12 | #include 13 | extern "C" { 14 | #include 15 | #include 16 | #include 17 | } 18 | 19 | struct MockAdvancedLoggerHdwPortLib { 20 | MOCK_INTERFACE_DECLARATION (MockAdvancedLoggerHdwPortLib); 21 | 22 | MOCK_FUNCTION_DECLARATION ( 23 | EFI_STATUS, 24 | AdvancedLoggerHdwPortInitialize, 25 | () 26 | ); 27 | 28 | MOCK_FUNCTION_DECLARATION ( 29 | UINTN, 30 | AdvancedLoggerHdwPortWrite, 31 | (IN UINTN DebugLevel, 32 | IN UINT8 *Buffer, 33 | IN UINTN NumberOfBytes) 34 | ); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /AdvLoggerPkg/Test/Mock/Library/GoogleTest/MockAdvancedLoggerHdwPortLib/MockAdvancedLoggerHdwPortLib.cpp: -------------------------------------------------------------------------------- 1 | /** @file MockAdvancedLoggerHdwPortLib.cpp 2 | Google Test mocks for AdvancedLoggerHdwPortLib 3 | 4 | Copyright (c) Microsoft Corporation. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | **/ 7 | 8 | #include 9 | 10 | MOCK_INTERFACE_DEFINITION (MockAdvancedLoggerHdwPortLib); 11 | 12 | MOCK_FUNCTION_DEFINITION (MockAdvancedLoggerHdwPortLib, AdvancedLoggerHdwPortInitialize, 0, EFIAPI); 13 | MOCK_FUNCTION_DEFINITION (MockAdvancedLoggerHdwPortLib, AdvancedLoggerHdwPortWrite, 3, EFIAPI); 14 | -------------------------------------------------------------------------------- /AdvLoggerPkg/UnitTests/LineParser/readme.md: -------------------------------------------------------------------------------- 1 | # Verify Line Parser function for development 2 | 3 | This test is to model the Line Parser in the AdvancedFileLogger. 4 | 5 | The internal message log is in units of DEBUG(()). While most messages are a complete 6 | and end with a '\n', there are some debug messages that are built with multiple DEBUG(()) 7 | operations. 8 | 9 | The line parser builds a debug line by copying one or more DEBUG(()) segments into a line, 10 | and prepends the time stamp. 11 | 12 | ## About 13 | 14 | These tests verify that the LineParser is functional. 15 | 16 | ## LineParserTestApp 17 | 18 | --- 19 | 20 | ## Copyright 21 | 22 | Copyright (C) Microsoft Corporation. All rights reserved. 23 | SPDX-License-Identifier: BSD-2-Clause-Patent 24 | -------------------------------------------------------------------------------- /CodeQlFilters.yml: -------------------------------------------------------------------------------- 1 | ## @file 2 | # CodeQL Result Filters for Packages in Mu Plus 3 | # 4 | # Note: 5 | # 1. Packages that use Mu Plus can reuse this file to quickly pick up the 6 | # same filters applied to results in the Mu Plus repo. 7 | # 2. It is recommended paths begin with `**/` in filter files residing in repos that 8 | # are used as dependencies by other repos (e.g. Common/MU). That way the filter 9 | # will apply both in Mu Plus directly and regardless of where Mu Plus is 10 | # located within a downstream repos directory hierarchy. 11 | # 12 | # Copyright (c) Microsoft Corporation 13 | # SPDX-License-Identifier: BSD-2-Clause-Patent 14 | ## 15 | 16 | { 17 | "Filters": [ 18 | "-**/AdvLoggerPkg/AdvancedFileLogger/AdvancedFileLogger.c:SM02311", 19 | "-**/HidPkg/HidMouseAbsolutePointerDxe/HidMouseAbsolutePointerDxe.c:SM02298", 20 | "-**/MsCorePkg/Library/PlatformBootManagerLib/BdsPlatform.c:SM02311", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /HidPkg/Crates/HidIo/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "HidIo" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [lib] 9 | name = "hid_io" 10 | path = "src/lib.rs" 11 | 12 | [dependencies] 13 | r-efi = {workspace=true} -------------------------------------------------------------------------------- /HidPkg/Crates/HiiKeyboardLayout/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "HiiKeyboardLayout" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | 7 | [lib] 8 | name = "hii_keyboard_layout" 9 | path = "src/lib.rs" 10 | 11 | [dependencies] 12 | r-efi = {workspace=true} 13 | scroll = {workspace=true} 14 | num-traits = {workspace=true} 15 | num-derive = {workspace=true} -------------------------------------------------------------------------------- /HidPkg/Crates/HiiKeyboardLayout/resources/test/KeyboardLayout.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/HidPkg/Crates/HiiKeyboardLayout/resources/test/KeyboardLayout.bin -------------------------------------------------------------------------------- /HidPkg/Crates/HiiKeyboardLayout/resources/test/KeyboardLayoutNs.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/HidPkg/Crates/HiiKeyboardLayout/resources/test/KeyboardLayoutNs.bin -------------------------------------------------------------------------------- /HidPkg/Docs/hid_pkg_mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/HidPkg/Docs/hid_pkg_mu.png -------------------------------------------------------------------------------- /HidPkg/HidKeyboardDxe/HidKbDxeExtra.uni: -------------------------------------------------------------------------------- 1 | // /** @file HidKbDxeExtra.uni 2 | // HidKeyboard Localized Strings and Content 3 | // 4 | // Copyright (C) Microsoft Corporation. All rights reserved. 5 | // Portions Derived from UsbKbDxe: 6 | // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
7 | // 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | #string STR_PROPERTIES_MODULE_NAME 13 | #language en-US 14 | "HID Keyboard DXE Driver" 15 | 16 | 17 | -------------------------------------------------------------------------------- /HidPkg/HidKeyboardDxe/HidKeyboardDxe.md: -------------------------------------------------------------------------------- 1 | 2 | # Description 3 | 4 | This driver produces an instances of SIMPLE_TEXT_INPUT/SIMPLE_TEXT_INPUT_EX for keyboard support in UEFI 5 | 6 | It registers a callback with devices exposing the HID_KEYBOARD_PROTOCOL to receive Keyboard HID reports, 7 | which are used to satisfy the contract of SIMPLE_TEXT_INPUT/SIMPLE_TEXT_INPUT_EX. 8 | 9 | # Provides 10 | 11 | SIMPLE_TEXT_INPUT/SIMPLE_TEXT_INPUT_EX instance for consumption by UEFI console. 12 | 13 | # Dependencies 14 | 15 | HID_KEYBOARD_PROTOCOL to register for and receive HID Keyboard Reports. 16 | 17 | # Application 18 | 19 | Used to enable PreBoot Keyboard Support. 20 | -------------------------------------------------------------------------------- /HidPkg/HidMouseAbsolutePointerDxe/HidMouseAbsolutePointerDxe.md: -------------------------------------------------------------------------------- 1 | # HID Mouse Absolute Pointer DXE 2 | 3 | ## Description 4 | 5 | This driver produces an instance of EFI_ABSOLUTE_POINTER_PROTOCOL for mouse support in UEFI 6 | 7 | It registers a callback with the devices exposing HID_POINTER_PROTOCOL to receive Mouse HID reports, 8 | which are used to satisfy the contract of EFI_ABSOLUTE_POINTER_PROTOCOL. 9 | 10 | ## Provides 11 | 12 | EFI_ABSOLUTE_POINTER_PROTOCOL instance for consumption by UEFI console. 13 | 14 | ## Dependencies 15 | 16 | HID_POINTER_PROTOCOL to register for and receive HID Mouse Reports. 17 | 18 | ## Application 19 | 20 | Used to enable PreBoot Mouse Support. 21 | -------------------------------------------------------------------------------- /HidPkg/HidMouseAbsolutePointerDxe/HidMouseAbsolutePointerDxeExtra.uni: -------------------------------------------------------------------------------- 1 | // @file 2 | // HID Mouse Driver that manages HID mouse and produces Absolute Pointer Protocol. 3 | // 4 | // HID Mouse Driver consumes HID mouse Protocol and produces 5 | // Absolute Pointer Protocol on HID Mouse mouse devices. 6 | // 7 | // It manages the HID mouse device via the HID mouse protocol abstraction, 8 | // and parses the data according to USB HID Specification. 9 | // This module refers to following specifications: 10 | // 1. Universal Serial Bus HID Firmware Specification, ver 1.11 11 | // 2. UEFI Specification, v2.1 12 | // 13 | // Copyright (c) Microsoft Corporation. 14 | // 15 | // Most of this driver derived from USB Mouse driver in UDK, which is: 16 | // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
17 | // 18 | // SPDX-License-Identifier: BSD-2-Clause-Patent 19 | // 20 | // 21 | 22 | #string STR_PROPERTIES_MODULE_NAME 23 | #language en-US 24 | "HID Mouse Pointer DXE Driver" 25 | -------------------------------------------------------------------------------- /HidPkg/Include/Guid/HidKeyBoardLayout.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | HID KeyBoard Layout GUIDs 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | 6 | Portions Derived from UsbKeyBoardLayout.h 7 | Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #ifndef __HID_KEYBOARD_LAYOUT_GUID_H__ 13 | #define __HID_KEYBOARD_LAYOUT_GUID_H__ 14 | 15 | // 16 | // GUID for HID keyboard HII package list. 17 | // 18 | #define HID_KEYBOARD_LAYOUT_PACKAGE_GUID \ 19 | { \ 20 | 0x57adcfa9, 0xc08a, 0x40b9, {0x86, 0x87, 0x65, 0xe2, 0xec, 0xe0, 0xe5, 0xe1} \ 21 | } 22 | 23 | // 24 | // GUID for HID keyboard layout 25 | // 26 | #define HID_KEYBOARD_LAYOUT_KEY_GUID \ 27 | { \ 28 | 0xdcafaba8, 0xcde5, 0x40a1, {0x9a, 0xd3, 0x48, 0x76, 0x44, 0x71, 0x7e, 0x47} \ 29 | } 30 | 31 | extern EFI_GUID gHidKeyboardLayoutPackageGuid; 32 | extern EFI_GUID gHidKeyboardLayoutKeyGuid; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /HidPkg/ReadMe.rst: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Human Interface Device Package 3 | ============================================================ 4 | 5 | Summary 6 | ======= 7 | The purpose of this package is to provide a generic Boot HID layer 8 | that can be used so that devices that implement the Boot Mouse and 9 | Boot Keyboard HID interfaces defined in the USB 1.1 spec can share 10 | a common HID processing layer. 11 | 12 | Documentation 13 | ============= 14 | Documentation can be found in the `Docs directory <./Docs>`_ -------------------------------------------------------------------------------- /HidPkg/UefiHidDxe/Cargo.toml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # SPDX-License-Identifier: BSD-2-Clause-Patent 4 | # 5 | [package] 6 | name = "UefiHidDxe" 7 | version = "0.1.0" 8 | edition = "2021" 9 | authors = ["Microsoft"] 10 | 11 | [[bin]] 12 | name = "UefiHidDxe" 13 | path = "src/main.rs" 14 | test = false 15 | 16 | [dependencies] 17 | HidIo = {workspace=true} 18 | hidparser = {workspace=true} 19 | HiiKeyboardLayout = {workspace=true} 20 | memoffset = {workspace=true} 21 | r-efi = {workspace=true} 22 | rustversion = {workspace=true} 23 | RustBootServicesAllocatorDxe = {workspace=true} 24 | RustAdvancedLoggerDxe = {workspace=true} 25 | -------------------------------------------------------------------------------- /HidPkg/UefiHidDxe/UefiHidDxe.inf: -------------------------------------------------------------------------------- 1 | ### @file 2 | # 3 | # UEFI HID - this driver consumes lower-level HID device support via the HidIo 4 | # protocol abstraction and produces the UEFI spec input protocols for console support. 5 | # 6 | # Copyright (c) Microsoft Corporation. All rights reserved. 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | # 9 | ### 10 | 11 | [Defines] 12 | INF_VERSION = 1.27 13 | BASE_NAME = UefiHidDxe 14 | FILE_GUID = 90DC0565-643C-4119-A4F4-2B4EA198FB07 15 | MODULE_TYPE = DXE_DRIVER 16 | RUST_MODULE = TRUE 17 | 18 | [Sources] 19 | Cargo.toml 20 | 21 | [Depex] 22 | TRUE 23 | -------------------------------------------------------------------------------- /HidPkg/UefiHidDxeV2/Cargo.toml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # SPDX-License-Identifier: BSD-2-Clause-Patent 4 | # 5 | [package] 6 | name = "UefiHidDxeV2" 7 | version = "0.1.0" 8 | edition = "2024" 9 | authors = ["Microsoft"] 10 | 11 | [lib] 12 | name = "uefi_hid_dxe_v2" 13 | path = "src/lib.rs" 14 | 15 | [[bin]] 16 | name = "UefiHidDxeV2" 17 | path = "src/main.rs" 18 | 19 | [dependencies] 20 | HidIo = {workspace=true} 21 | hidparser = {workspace=true} 22 | HiiKeyboardLayout = {workspace=true} 23 | mu_rust_helpers = {workspace=true} 24 | r-efi = {workspace=true} 25 | rustversion = {workspace=true} 26 | RustAdvancedLoggerDxe = {workspace=true} 27 | scroll = {workspace=true} 28 | 29 | [target.'cfg(target_os = "uefi")'.dependencies] 30 | RustBootServicesAllocatorDxe = {workspace=true} 31 | 32 | [dev-dependencies] 33 | mockall = "0.13.0" 34 | RustAdvancedLoggerDxe = {workspace=true, features=["std"]} 35 | -------------------------------------------------------------------------------- /HidPkg/UefiHidDxeV2/UefiHidDxeV2.inf: -------------------------------------------------------------------------------- 1 | ### @file 2 | # 3 | # UEFI HID - this driver consumes lower-level HID device support via the HidIo 4 | # protocol abstraction and produces the UEFI spec input protocols for console support. 5 | # 6 | # Copyright (c) Microsoft Corporation. All rights reserved. 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | # 9 | ### 10 | 11 | [Defines] 12 | INF_VERSION = 1.27 13 | BASE_NAME = UefiHidDxeV2 14 | FILE_GUID = 0DB81E33-8EF5-487E-8C24-FE4B6DF08503 15 | MODULE_TYPE = DXE_DRIVER 16 | RUST_MODULE = TRUE 17 | 18 | [Sources] 19 | Cargo.toml 20 | 21 | [Depex] 22 | TRUE 23 | -------------------------------------------------------------------------------- /HidPkg/UsbKbHidDxe/UsbKbHidDxeExtra.uni: -------------------------------------------------------------------------------- 1 | /* @file UsbKbHidDxeExtra.uni 2 | * USB HID Keyboard Driver that manages USB keyboard and produces HID Keyboard Protocol. 3 | * 4 | * USB Keyboard Driver consumes USB I/O Protocol and Device Path Protocol, and produces 5 | * HID Keyboard Protocol on USB keyboard devices. 6 | * This module refers to following specifications: 7 | * 1. Universal Serial Bus HID Firmware Specification, ver 1.11 8 | * 2. Universal Serial Bus HID Usage Tables, ver 1.12 9 | * 3. UEFI Specification, v2.1 10 | * 11 | * Copyright (C) Microsoft Corporation. All rights reserved. 12 | * Portions derived from MdeModulePkg\Bus\Usb\UsbKbDxe which is: 13 | * Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
14 | * 15 | * SPDX-License-Identifier: BSD-2-Clause-Patent 16 | */ 17 | 18 | #string STR_PROPERTIES_MODULE_NAME 19 | #language en-US 20 | "USB HID Keyboard DXE Driver" 21 | 22 | 23 | -------------------------------------------------------------------------------- /HidPkg/UsbMouseHidDxe/UsbMouseHidDxeExtra.uni: -------------------------------------------------------------------------------- 1 | // /** @file UsbMouseHidDxeExtra.uni 2 | // UsbMouseHidDxe Localized Strings and Content 3 | // 4 | // Copyright (C) Microsoft Corporation. All rights reserved. 5 | // Derived from MdeModulePkg\Bus\Usb\UsbMouseAbsolutePointerDxe 6 | // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
7 | // 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // 10 | // **/ 11 | 12 | #string STR_PROPERTIES_MODULE_NAME 13 | #language en-US 14 | "USB HID Pointer DXE Driver" 15 | 16 | 17 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | BSD-2-Clause-Patent License 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | -------------------------------------------------------------------------------- /MfciPkg/Include/Guid/MfciPkgTokenSpace.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | MfciPkgTokenSpace.h 3 | 4 | GUID for MfciPkg PCD Token Space 5 | 6 | Copyright (c) Microsoft Corporation 7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | 9 | **/ 10 | 11 | #ifndef _MFCIPKG_TOKEN_SPACE_GUID_H_ 12 | #define _MFCIPKG_TOKEN_SPACE_GUID_H_ 13 | 14 | /// 15 | /// The Global ID for the MFCI Package PCD Token Space. 16 | /// 17 | // {9dea6cff-1d8d-449f-b1f7-5a8b8f9ca268} 18 | #define MFCIPKG_TOKEN_SPACE_GUID \ 19 | { \ 20 | 0x9dea6cff, 0x1d8d, 0x449f, { 0xb1, 0xf7, 0x5a, 0x8b, 0x8f, 0x9c, 0xa2, 0x68 } \ 21 | } 22 | 23 | extern EFI_GUID gMfciPkgTokenSpaceGuid; 24 | 25 | #endif // _MFCIPKG_TOKEN_SPACE_GUID_H_ 26 | -------------------------------------------------------------------------------- /MfciPkg/Include/Ppi/MfciPolicyPpi.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This driver provides the in-effect MFCI Policy to PEI 3 | 4 | Copyright (c) Microsoft Corporation 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | **/ 7 | 8 | #ifndef __MFCI_POLICY_PPI_H__ 9 | #define __MFCI_POLICY_PPI_H__ 10 | 11 | #include 12 | 13 | typedef struct _MFCI_POLICY_PPI MFCI_POLICY_PPI; 14 | 15 | /** 16 | GetMfciPolicy() 17 | 18 | This function returns the MFCI Policy in effect for the current boot 19 | 20 | @param[in] This - Current MFCI policy ppi installed. 21 | 22 | @retval Other - Bits definition can be found in MfciPolicyType.h. 23 | 24 | **/ 25 | typedef 26 | MFCI_POLICY_TYPE 27 | (EFIAPI *GET_MFCI_POLICY)( 28 | IN CONST MFCI_POLICY_PPI *This 29 | ); 30 | 31 | struct _MFCI_POLICY_PPI { 32 | GET_MFCI_POLICY GetMfciPolicy; 33 | }; 34 | 35 | extern EFI_GUID gMfciPpiGuid; 36 | 37 | #endif // __MFCI_POLICY_PPI_H__ 38 | -------------------------------------------------------------------------------- /MfciPkg/Library/MfciDeviceIdSupportLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MFCI Device ID Support Library: NULL interface 2 | 3 | ## About 4 | 5 | Platforms MUST publish MFCI targeting information prior to EndOfDxe. They may do so by either setting all of the Per-Device 6 | Targeting Variables declared in `MfciVariables.h`. Alternatively, then can implement this library. 7 | MfciDxe will invoke this library if it cannot find variables just before EndOfDxe. 8 | 9 | Refer to `MfciPkg/Include/MfciVariables.h`, "Targeting Variable Names" for additional details on the strings to return. 10 | 11 | ## Copyright 12 | 13 | Copyright (c) Microsoft Corporation 14 | SPDX-License-Identifier: BSD-2-Clause-Patent 15 | -------------------------------------------------------------------------------- /MfciPkg/Library/MfciRetrievePolicyLibNull/MfciRetrievePolicyLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # NULL library that abstracts retrieving the MFCI policy from the PEI phase 3 | # 4 | # Copyright (c) Microsoft Corporation 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010017 11 | BASE_NAME = MfciRetrievePolicyLibNull 12 | FILE_GUID = 5429aa91-e9ec-4c6e-ad82-97e5f83e3fb7 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = BASE 15 | LIBRARY_CLASS = MfciRetrievePolicyLib | DXE_DRIVER 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 21 | # 22 | 23 | 24 | [Sources] 25 | MfciRetrievePolicyLibNull.c 26 | 27 | 28 | 29 | [Packages] 30 | MdePkg/MdePkg.dec 31 | MfciPkg/MfciPkg.dec 32 | 33 | 34 | [LibraryClasses] 35 | 36 | [Depex] 37 | -------------------------------------------------------------------------------- /MfciPkg/Library/MfciRetrievePolicyLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MfciRetrievePolicyLib: NULL edition 2 | 3 | ## About 4 | 5 | Platforms are not generally expected to implement this library, as MFCI carries known implementations, 6 | thus it's header is under MfciPkg/Private/... 7 | This library abstracts where MfciDxe retrieves the cached, current policy. 8 | On platforms with a PEI phase, it may retrieve the policy from a HOB. 9 | On platforms that lack a PEI phase, it may retrieve the policy from a UEFI variable. 10 | 11 | ## Copyright 12 | 13 | Copyright (c) Microsoft Corporation 14 | SPDX-License-Identifier: BSD-2-Clause-Patent 15 | -------------------------------------------------------------------------------- /MfciPkg/Library/MfciRetrievePolicyLibViaHob/MfciRetrievePolicyLibViaHob.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Library that receives the MFCI policy from the PEI phase via HOB 3 | # 4 | # Copyright (c) Microsoft Corporation 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010017 11 | BASE_NAME = MfciRetrievePolicyLibViaHob 12 | FILE_GUID = ea3d551b-4352-4931-b4f0-d42d4425f84c 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = DXE_DRIVER 15 | LIBRARY_CLASS = MfciRetrievePolicyLib | DXE_DRIVER 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 21 | # 22 | 23 | 24 | [Sources] 25 | MfciRetrievePolicyLibViaHob.c 26 | 27 | 28 | [Packages] 29 | MdePkg/MdePkg.dec 30 | MfciPkg/MfciPkg.dec 31 | 32 | 33 | [LibraryClasses] 34 | DebugLib 35 | HobLib 36 | 37 | [Guids] 38 | gMfciHobGuid ## CONSUMES 39 | 40 | [Depex] 41 | -------------------------------------------------------------------------------- /MfciPkg/Library/MfciRetrievePolicyLibViaHob/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MfciRetrievePolicyLib: HOB edition 2 | 3 | ## About 4 | 5 | This library implements retrieving the current, cached policy from a HOB. 6 | 7 | ## Copyright 8 | 9 | Copyright (c) Microsoft Corporation 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MfciPkg/Library/MfciRetrievePolicyLibViaVariable/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MfciRetrievePolicyLib: UEFI variable edition 2 | 3 | ## About 4 | 5 | This library implements retrieving the current, cached policy from a UEFI variable. 6 | 7 | ## Copyright 8 | 9 | Copyright (c) Microsoft Corporation 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MfciPkg/Private/Certs/SharedMfciTrustAnchor.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/Private/Certs/SharedMfciTrustAnchor.cer -------------------------------------------------------------------------------- /MfciPkg/Private/Certs/createReleaseXdrInclude.bat: -------------------------------------------------------------------------------- 1 | REM Create the PCD DSC include for the test certificate trust anchor 2 | python ..\..\..\..\..\MU_BASECORE\BaseTools\Scripts\BinToPcd.py -i .\SharedMfciTrustAnchor.cer -o .\SharedMfciTrustAnchor.dsc.inc -p gMfciPkgTokenSpaceGuid.PcdMfciPkcs7CertBufferXdr -x -v 3 | -------------------------------------------------------------------------------- /MfciPkg/Private/Certs/createXdrInclude.bat: -------------------------------------------------------------------------------- 1 | REM Create the PCD DSC include for the test certificate trust anchor 2 | python ..\..\..\..\..\MU_BASECORE\BaseTools\Scripts\BinToPcd.py -i ..\..\UnitTests\Data\Certs\CA.cer -o .\CA-test.dsc.inc -p gMfciPkgTokenSpaceGuid.PcdMfciPkcs7CertBufferXdr -x -v 3 | -------------------------------------------------------------------------------- /MfciPkg/Private/Library/MfciPolicyParsingLib/MfciPolicyParsingLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Implements the MFCI Policy Parser Library 3 | # Parses a signed, binary policy blob returning logical values 4 | # 5 | # Copyright (c) Microsoft Corporation 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010017 12 | BASE_NAME = MfciPolicyParsingLib 13 | FILE_GUID = D8E5BB86-8F2E-48F5-8213-F53643F5F16A 14 | VERSION_STRING = 1.0 15 | MODULE_TYPE = DXE_DRIVER 16 | LIBRARY_CLASS = MfciPolicyParsingLib 17 | 18 | # 19 | # The following information is for reference only and not required by the build tools. 20 | # 21 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 22 | # 23 | 24 | 25 | [Sources] 26 | MfciPolicyParsingLibInternal.h 27 | MfciPolicyParsingLib.c 28 | 29 | 30 | [Packages] 31 | MdePkg/MdePkg.dec 32 | MfciPkg/MfciPkg.dec 33 | CryptoPkg/CryptoPkg.dec 34 | 35 | 36 | [LibraryClasses] 37 | BaseCryptLib 38 | BaseMemoryLib 39 | DebugLib 40 | MemoryAllocationLib -------------------------------------------------------------------------------- /MfciPkg/Private/Library/MfciPolicyParsingLibNull/MfciPolicyParsingLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # NULL library for the MFCI Policy parser 3 | # 4 | # Copyright (c) Microsoft Corporation 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010017 11 | BASE_NAME = MfciPolicyParsingLibNull 12 | FILE_GUID = BCCB4D0D-B5B8-45D4-8F4E-961E9161F32E 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = DXE_DRIVER 15 | LIBRARY_CLASS = MfciPolicyParsingLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 21 | # 22 | 23 | 24 | [Sources] 25 | MfciPolicyParsingLibNull.c 26 | 27 | 28 | [Packages] 29 | MdePkg/MdePkg.dec 30 | MfciPkg/MfciPkg.dec 31 | 32 | 33 | [LibraryClasses] 34 | -------------------------------------------------------------------------------- /MfciPkg/Private/Protocol/MfciPolicyChangeNotify.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Declares the interface to register a callback for MFCI 3 | Policy change notifications 4 | 5 | Copyright (c) Microsoft Corporation 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | **/ 8 | 9 | #ifndef _MFCI_POLICY_CHANGE_NOTIFY_PROTOCOL_H_ 10 | #define _MFCI_POLICY_CHANGE_NOTIFY_PROTOCOL_H_ 11 | 12 | typedef struct _MFCI_POLICY_CHANGE_NOTIFY_PROTOCOL { 13 | MFCI_POLICY_CHANGE_CALLBACK Callback; 14 | } MFCI_POLICY_CHANGE_NOTIFY_PROTOCOL; 15 | 16 | #endif // _MFCI_POLICY_CHANGE_NOTIFY_PROTOCOL_H_ 17 | -------------------------------------------------------------------------------- /MfciPkg/ReadMe.rst: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Manufacturer Firmware Configuration Interface (MFCI) Package 3 | ============================================================ 4 | 5 | Summary 6 | ======= 7 | This package provides the Manufacturer Firmware Configuration Interface (MFCI) and provides example 8 | implementations for the Secure Boot Clear and TPM Clear capabilities required for Windows Compatibility. 9 | 10 | Documentation 11 | ============= 12 | Documentation can be found in the `Docs directory <./Docs>`_ 13 | -------------------------------------------------------------------------------- /MfciPkg/UnitTests/Library/MockUefiRuntimeServicesTableLib/MockUefiRuntimeServicesTableLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | Mock implementation of the UEFI Runtime Services Table Library. 3 | 4 | Copyright (C) Microsoft Corporation. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #include 10 | 11 | extern EFI_RUNTIME_SERVICES mMockRuntime; 12 | 13 | EFI_RUNTIME_SERVICES *gRT = &mMockRuntime; 14 | -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA-NotTrusted.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA-NotTrusted.cer -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA-NotTrusted.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA-NotTrusted.pfx -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA-NotTrusted.pvk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA-NotTrusted.pvk -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA.cer -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA.pfx -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA.pvk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/CA.pvk -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-NoEku.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-NoEku.cer -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-NoEku.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-NoEku.pfx -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-NoEku.pvk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-NoEku.pvk -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-test.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-test.cer -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-test.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-test.pfx -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-test.pvk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Leaf-test.pvk -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Root.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Root.cer -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Root.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Root.pfx -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Root.pvk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/certs/Root.pvk -------------------------------------------------------------------------------- /MfciPkg/UnitTests/MfciPolicyParsingUnitTest/data/packets/SignPacket.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM @file 3 | REM 4 | REM Copyright (c) Microsoft Corporation 5 | REM SPDX-License-Identifier: BSD-2-Clause-Patent 6 | REM 7 | REM Helps sign MFCI policies using signtool.exe 8 | 9 | pushd . 10 | cd %~dp0 11 | REM Signing using the Win10 WDK 12 | echo "USAGE: sign.bat " 13 | 14 | set KIT=10 15 | set VER=bin\10.0.18362.0 16 | REM set OID=1.3.6.1.4.1.311.79.1 17 | set OID=1.2.840.113549.1.7.1 18 | set EKU_TEST=1.3.6.1.4.1.311.45.255.255 19 | set EKU_INVALID=1.3.6.1.4.1.311.255.0.0 20 | "C:\Program Files (x86)\Windows Kits\%KIT%\%VER%\x64\"signtool sign /fd SHA256 /p7 . /p7ce Embedded /p7co %OID% /f %2 %1 21 | -------------------------------------------------------------------------------- /MsApplicationPkg/Docs/Readme.md: -------------------------------------------------------------------------------- 1 | # MsApplicationPkg - Microsoft Application Package 2 | 3 | ## About 4 | 5 | This package contains open source production applications that run prior to ExitBootServices(...) and perform some 6 | firmware independent function. 7 | 8 | ## Applications 9 | 10 | * Secure Boot Recovery 11 | * EFI application is used to transition a system from the 2011 certificates to the 2023 certificates. 12 | 13 | ## Copyright 14 | 15 | Copyright (C) Microsoft Corporation. All rights reserved. 16 | SPDX-License-Identifier: BSD-2-Clause-Patent 17 | -------------------------------------------------------------------------------- /MsApplicationPkg/MsApplicationPkg.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // This package provides production independent applications for the UEFI 3 | // Firmware. That do not depend on the shell or any other UEFI application. 4 | // This is targetted at promoting to open source and should be aligned with 5 | // Tianocore standards 6 | // 7 | // Copyright (C) Microsoft Corporation. All rights reserved. 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // **/ 10 | 11 | 12 | #string STR_PACKAGE_ABSTRACT #language en-US "This Package provides all applications for MsApplication." 13 | 14 | #string STR_PACKAGE_DESCRIPTION #language en-US "MsApplication is open source independent applications used by Microsoft" 15 | -------------------------------------------------------------------------------- /MsApplicationPkg/MsApplicationPkgExtra.uni: -------------------------------------------------------------------------------- 1 | ## @file 2 | # MsApplication Package Localized Strings and Content 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | #string STR_PROPERTIES_PACKAGE_NAME 9 | #language en-US 10 | "MsApplication Package" 11 | -------------------------------------------------------------------------------- /MsApplicationPkg/ReadMe.rst: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Independent applications for UEFI 3 | ============================================================ 4 | 5 | Summary 6 | ======= 7 | This package provides independent applications for UEFI. 8 | That may be used in production environment to perform 9 | various independent operations. They should be built with 10 | minimal dependencies. 11 | 12 | Documentation 13 | ============= 14 | Documentation can be found in the `Docs directory <./Docs>`_ 15 | -------------------------------------------------------------------------------- /MsApplicationPkg/SecureBootRecovery/Payload/DBUpdate.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsApplicationPkg/SecureBootRecovery/Payload/DBUpdate.bin -------------------------------------------------------------------------------- /MsApplicationPkg/SecureBootRecovery/helper.py: -------------------------------------------------------------------------------- 1 | # Take the contents of the Payload folder and convert it into a C Header file 2 | 3 | from edk2toollib.utility_functions import export_c_type_array 4 | 5 | with open("Payload/dbUpdate.bin", "rb") as payload_fs, open("./RecoveryPayload.h", "w", newline='\r\n') as output_fs: 6 | # By setting newline to '\r\n' we ensure that the output file is in Windows format when write converts the '\n' to '\r\n' 7 | 8 | output_fs.write("#ifndef _RECOVERY_PAYLOAD_H_\n") 9 | output_fs.write("#define _RECOVERY_PAYLOAD_H_\n\n") 10 | output_fs.write("#include \n\n") 11 | 12 | 13 | export_c_type_array(payload_fs, "mDbUpdate", output_fs, indent=' ') 14 | 15 | output_fs.write("#endif // _RECOVERY_PAYLOAD_H_\n") 16 | -------------------------------------------------------------------------------- /MsCorePkg/AcpiRGRT/spec_mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsCorePkg/AcpiRGRT/spec_mu.png -------------------------------------------------------------------------------- /MsCorePkg/CapsuleServicePei/ReadMe.md: -------------------------------------------------------------------------------- 1 | # CapsuleServicePei 2 | 3 | Produces the capsule PPI which currently only fully implements the `CheckCapsuleUpdate` functionality. 4 | 5 | Everything else returns success or unsupported, as it is related to capsule coalescing. 6 | 7 | This is needed as there is often infrastructure which detects FlashUpdate as a boot mode and 8 | attempts to find this PPI to check to make sure we actually have a capsule. So, we produce a simple 9 | PPI to satisfy that requirement. 10 | -------------------------------------------------------------------------------- /MsCorePkg/CapsuleServiceProtocolDxe/Images/CapsuleFlowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsCorePkg/CapsuleServiceProtocolDxe/Images/CapsuleFlowchart.png -------------------------------------------------------------------------------- /MsCorePkg/Core/GuidedSectionExtractPeim/GuidedSectionExtract.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // 3 | // This module produces a PPI that extracts GUIDed flash sections. 4 | // 5 | // Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
6 | // SPDX-License-Identifier: BSD-2-Clause-Patent 7 | // 8 | // **/ 9 | 10 | 11 | #string STR_MODULE_ABSTRACT #language en-US "GUIDed Section Extraction PEIM" 12 | 13 | #string STR_MODULE_DESCRIPTION #language en-US "GUIDed Section Extraction PEIM" 14 | 15 | -------------------------------------------------------------------------------- /MsCorePkg/Core/GuidedSectionExtractPeim/GuidedSectionExtractExtra.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // JasTst Localized Strings and Content 3 | // **/ 4 | 5 | #string STR_PROPERTIES_MODULE_NAME 6 | #language en-US 7 | "Core DXE Services GUIDed Section Extraction PEIM" 8 | 9 | 10 | -------------------------------------------------------------------------------- /MsCorePkg/Core/GuidedSectionExtractPeim/ReadMe.md: -------------------------------------------------------------------------------- 1 | # GuidedSectionExtract 2 | 3 | ## About 4 | 5 | A version of GuidedSectionExtract without decompression. 6 | 7 | By moving decompression to DXE, a PEI FV that is tight on space, may have a little more room 8 | if decompression code is moved to DXE, and swapped for an uncompressed DxeIplPeim. 9 | 10 | --- 11 | 12 | ## Copyright 13 | 14 | Copyright (C) Microsoft Corporation. All rights reserved. 15 | SPDX-License-Identifier: BSD-2-Clause-Patent 16 | -------------------------------------------------------------------------------- /MsCorePkg/Crates/RustBootServicesAllocatorDxe/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "RustBootServicesAllocatorDxe" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | name = "rust_boot_services_allocator_dxe" 8 | path = "src/lib.rs" 9 | 10 | [dependencies] 11 | r-efi = {workspace=true} 12 | 13 | [dev-dependencies] 14 | spin = {workspace=true} 15 | -------------------------------------------------------------------------------- /MsCorePkg/DebugFileLoggerII/Pei/DebugFileLoggerPei.h: -------------------------------------------------------------------------------- 1 | /** @file DebugFileLoggerPEI.h 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | This file contains functions for logging debug print messages to a file. 7 | 8 | **/ 9 | 10 | #ifndef DEBUG_FILE_LOGGER_PEI_H 11 | #define DEBUG_FILE_LOGGER_PEI_H 12 | 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | #include "../DebugFileLoggerCommon.h" 29 | 30 | #endif // DEBUG_FILE_LOGGER_PEI_H 31 | -------------------------------------------------------------------------------- /MsCorePkg/HelloWorldRustDxe/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | Cargo.lock 4 | -------------------------------------------------------------------------------- /MsCorePkg/HelloWorldRustDxe/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "HelloWorldRustDxe" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [[bin]] 7 | name = "HelloWorldRustDxe" 8 | path = "src/main.rs" 9 | 10 | [dependencies] 11 | r-efi = {workspace=true} 12 | RustAdvancedLoggerDxe = {workspace=true} 13 | RustBootServicesAllocatorDxe = {workspace=true} 14 | -------------------------------------------------------------------------------- /MsCorePkg/HelloWorldRustDxe/HelloWorldRustDxe.inf: -------------------------------------------------------------------------------- 1 | ### @file 2 | # Hello World DXE Rust driver. 3 | # 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | ### 8 | 9 | [Defines] 10 | INF_VERSION = 1.27 11 | BASE_NAME = HelloWorldRustDxe 12 | FILE_GUID = A14E35E2-BB32-4446-8622-C1874B8284E4 13 | MODULE_TYPE = DXE_DRIVER 14 | RUST_MODULE = TRUE 15 | 16 | [Sources] 17 | Cargo.toml 18 | 19 | [Depex] 20 | TRUE 21 | -------------------------------------------------------------------------------- /MsCorePkg/Include/Protocol/CapsuleService.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This protocol allows the Runtime Capsule service to be abstracted away because it 3 | only returns valid results before ExitBootServices. 4 | 5 | Copyright (c) Microsoft Corporation. All rights reserved. 6 | 7 | **/ 8 | 9 | #ifndef _CAPSULE_SERVICE_H_ 10 | #define _CAPSULE_SERVICE_H_ 11 | 12 | #include 13 | 14 | // 15 | // Forward reference for ANSI compatability 16 | // 17 | typedef struct _CAPSULE_SERVICE_PROTOCOL CAPSULE_SERVICE_PROTOCOL; 18 | 19 | struct _CAPSULE_SERVICE_PROTOCOL { 20 | EFI_UPDATE_CAPSULE UpdateCapsule; 21 | EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities; 22 | }; 23 | 24 | extern EFI_GUID gCapsuleServiceProtocolGuid; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /MsCorePkg/IncompatiblePciDevices/NoOptionRomsAllowed/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Incompatible Pci Devices - No Option Roms Allowed 2 | 3 | ## About 4 | 5 | Some system plaforms do not want PCI devices to run their option ROMS. In this case, the 6 | platform provides the PCI Option Rom in the system firmware image, and this driver prevents 7 | the PCI drivers from loading the option rom from the device. 8 | -------------------------------------------------------------------------------- /MsCorePkg/IncompatiblePciDevices/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Incompatible Pci Devices 2 | 3 | ## About 4 | 5 | There are times when a PCI devices misbehaves. This library class allows you to specify what to 6 | do when you need to support a PCI device that doesn't follow the spec, or if the platform wants 7 | to disable a feature. 8 | 9 | The only Incompatible Pci device behavior currently supported is to disable processing of the 10 | Option Rom. 11 | It is expected for supported PCI devices to have their rom built into the system firmware. 12 | 13 | --- 14 | 15 | ## Copyright 16 | 17 | Copyright (C) Microsoft Corporation. All rights reserved. 18 | SPDX-License-Identifier: BSD-2-Clause-Patent 19 | -------------------------------------------------------------------------------- /MsCorePkg/Library/BaseCapsulePersistenceLibNull/BaseCapsulePersistenceLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # NULL implementation of the Secured Core Capsule Persistence library. 3 | # 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 1.27 11 | BASE_NAME = BaseCapsulePersistenceLibNull 12 | FILE_GUID = 713EB1D6-9300-42A8-A692-86EFE54C9274 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = CapsulePersistenceLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 RISCV64 21 | # 22 | 23 | [Sources] 24 | BaseCapsulePersistenceLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MdeModulePkg/MdeModulePkg.dec 29 | MsCorePkg/MsCorePkg.dec 30 | 31 | [LibraryClasses] 32 | DebugLib 33 | BaseLib 34 | -------------------------------------------------------------------------------- /MsCorePkg/Library/BaseIsCapsuleSupportedLibNull/BaseIsCapsuleSupportedLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null implementation of the IsCapsuleSupported library. 3 | # 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = BaseIsCapsuleSupportedLibNull 12 | FILE_GUID = 7099B3B9-FBD2-44B7-AF09-794CEEEE8442 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = IsCapsuleSupportedLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 RISCV64 21 | # 22 | 23 | [Sources] 24 | BaseIsCapsuleSupportedLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MdeModulePkg/MdeModulePkg.dec 29 | 30 | [LibraryClasses] 31 | DebugLib 32 | BaseLib 33 | -------------------------------------------------------------------------------- /MsCorePkg/Library/BaseQueueLibNull/BaseQueueLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null implementation of the queue library. 3 | # 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 1.27 11 | BASE_NAME = BaseQueueLibNull 12 | FILE_GUID = 402C29C0-E87D-4A6D-A49E-C982CB2D2F7C 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = QueueLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 RISCV64 21 | # 22 | 23 | [Sources] 24 | BaseQueueLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MdeModulePkg/MdeModulePkg.dec 29 | 30 | [LibraryClasses] 31 | DebugLib 32 | BaseLib 33 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DebugPortPei/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Debug Port Pei 2 | 3 | ## About 4 | 5 | This library is meant to be linked against a module within a DSC already linked against a version 6 | of DebugLib. 7 | This PPI is meant to be used by the rest of the PEI modules as a source for DebugLib functions. 8 | 9 | --- 10 | 11 | ## Copyright 12 | 13 | Copyright (C) Microsoft Corporation. All rights reserved. 14 | SPDX-License-Identifier: BSD-2-Clause-Patent 15 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DebugPortProtocolInstallLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # DebugPortProtocolInstallLib 2 | 3 | ## About 4 | 5 | Provides the gEfiDebugPortProtocolGuid to support Generic Debug prints across platforms. 6 | 7 | --- 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DeviceBootManagerLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # DeviceBootManagerLibNull 2 | 3 | ## About 4 | 5 | DeviceBootManagerLib contains the device or family of devices actions which can be customized by 6 | IBV/OEM. 7 | Each of the BdsDxe callback actions are passed from PlatformBootManagerLib to 8 | DeviceBootManagerLib for device specific action. 9 | This is the NULL version of the library for CI builds. 10 | 11 | --- 12 | 13 | ## Copyright 14 | 15 | Copyright (C) Microsoft Corporation. All rights reserved. 16 | SPDX-License-Identifier: BSD-2-Clause-Patent 17 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DeviceSpecificBusInfoLibNull/DeviceSpecificBusInfoLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # DeviceSpecificBusInfo.inf 3 | # 4 | # Implements the DeviceSpecificBusInfoLib.h header to provide the CheckHardwareConnected.c file with 5 | # the pci bus info for pci devices which the user wants to verify are connected at boot 6 | # 7 | ## 8 | # Copyright (c) Microsoft Corporation. All rights reserved. 9 | # SPDX-License-Identifier: BSD-2-Clause-Patent 10 | ## 11 | 12 | [Defines] 13 | INF_VERSION = 0x00010006 14 | BASE_NAME = DeviceSpecificBusInfoLibNull 15 | FILE_GUID = 2284258C-0E2C-42B1-B8FF-B2EC1D7F139A 16 | VERSION_STRING = 1.0 17 | MODULE_TYPE = BASE 18 | LIBRARY_CLASS = DeviceSpecificBusInfoLib 19 | 20 | [Sources] 21 | DeviceSpecificBusInfoLibNull.c 22 | 23 | [Packages] 24 | MdePkg/MdePkg.dec 25 | MsCorePkg/MsCorePkg.dec 26 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DeviceSpecificBusInfoLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # DeviceSpecificBusInfoLibNull 2 | 3 | ## About 4 | 5 | Provides a NULL implementation of DeviceSpecificBusInfoLibNull for use by CI builds. 6 | 7 | --- 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DxeCapsulePersistenceLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Capsule Persistence Lib for PEI and DXE 2 | 3 | This is an implementation of CapsulePersistenceLib which is used to persist capsules using the EFI partition. 4 | 5 | It provides methods for: 6 | 7 | - Persisting a capsule across reset 8 | - Retrieving all currently persisted capsules and deleting them 9 | - Retrieving a specific persisted capsule 10 | - Deleting a specific persisted capsule 11 | 12 | This library can be used without any sort of queue, by using a retrieve all method but, ideally, it 13 | should be paired with `QueueLib`. 14 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DxeDebugLibRouter/DebugOverview_mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsCorePkg/Library/DxeDebugLibRouter/DebugOverview_mu.png -------------------------------------------------------------------------------- /MsCorePkg/Library/DxeIsCapsuleSupportedLib/CapsuleEsrtTableLayer.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | 3 | This headers defines a set of interfaces to communicate with the FMP devices 4 | (via the ESRT table) to determine if a given capsule GUID matches a device 5 | represented in the ESRT table. 6 | 7 | Copyright (c) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #ifndef __DXE_CAPSULE_ESRT_TABLE_LAYER_H__ 13 | #define __DXE_CAPSULE_ESRT_TABLE_LAYER_H__ 14 | 15 | /** 16 | Checks if a given Capsule GUID matches the FwClass of an item on the ESRT 17 | 18 | @param[in] CapsuleGuid Pointer to a GUID 19 | 20 | @retval TRUE Successfully found a match on the ESRT 21 | @retval FALSE We didn't find a match on the ESRT 22 | 23 | */ 24 | BOOLEAN 25 | EFIAPI 26 | IsCapsuleGuidInEsrtTable ( 27 | IN EFI_GUID *CapsuleGuid 28 | ); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DxeIsCapsuleSupportedLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # DXE Is Capsule Supported Lib 2 | 3 | This library performs a sanity check to determine if a capsule is supported by the UEFI firmware. 4 | It *does not* perform any sort of signature or hash. 5 | In the case of nested capsules, there is stubbed out functionality to check if the ESRT table contains an entry 6 | related to the nested capsule. 7 | 8 | ## Why DXE_DRIVER Only 9 | 10 | This is called from the DXE_RUNTIME_DRIVER indirectly via the `CapsuleServiceProtocol`. 11 | Because this is a DXE protocol and the Capsule Runtime service doesn't call the protocol after ExitBootServices, 12 | this is safe. 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/DxeQueueUefiVariableLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # DXE Queue UEFI Variable Lib 2 | 3 | This is an implementation of QueueLib backed by the UEFI variable store. 4 | 5 | Because the queue has manipulation functions, this does not support PEI as the variable 6 | services in PEI are usually read only. 7 | -------------------------------------------------------------------------------- /MsCorePkg/Library/ExceptionPersistenceLibCmos/ExceptionPersistenceLibCmos.inf: -------------------------------------------------------------------------------- 1 | ## @file ExceptionPersistenceLibCmos.inf 2 | # 3 | # CMOS Implementation of ExceptionPersistenceLib 4 | # 5 | # Copyright (c) Microsoft Corporation. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = ExceptionPersistenceLibCmos 12 | FILE_GUID = 8e991a09-1d4d-4747-bf6a-4dc22d11978d 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = ExceptionPersistenceLib 16 | 17 | # 18 | # VALID_ARCHITECTURES = IA32 X64 19 | # 20 | 21 | [Sources] 22 | ExceptionPersistenceLibCmos.c 23 | 24 | [Packages] 25 | MdePkg/MdePkg.dec 26 | MdeModulePkg/MdeModulePkg.dec 27 | MsCorePkg/MsCorePkg.dec 28 | UefiCpuPkg/UefiCpuPkg.dec 29 | 30 | [LibraryClasses] 31 | IoLib 32 | BaseLib 33 | -------------------------------------------------------------------------------- /MsCorePkg/Library/ExceptionPersistenceLibCmos/Readme.md: -------------------------------------------------------------------------------- 1 | # ExceptionPersistenceLib 2 | 3 | ## About 4 | 5 | ExceptionPersistenceLib implements functionality for getting, setting, and clearing exception info to/from 6 | platform-specific early store. All functions return an EFI_ERROR if the function was 7 | unsuccessful. The validity of the data stored in CMOS is verified through the use of a two-byte checksum. 8 | Sets/Gets/Clears will first evaluate the checksum and return an EFI_ERROR if it is invalid. Sets/Gets/Clears will 9 | also write and read a test value to CMOS to make sure the library is working as expected which also should catch 10 | instances where the library was linked improperly. 11 | 12 | ## Usage 13 | 14 | ExceptionPersistenceLib is a BASE library and can be included under [LibraryClasses]. 15 | 16 | ## Copyright 17 | 18 | Copyright (C) Microsoft Corporation. All rights reserved. 19 | SPDX-License-Identifier: BSD-2-Clause-Patent 20 | -------------------------------------------------------------------------------- /MsCorePkg/Library/JsonLiteParser/ReadMe.md: -------------------------------------------------------------------------------- 1 | # JsonLiteParser 2 | 3 | ## About 4 | 5 | This is a limited function Json parser used by the DfciPkg InTune Http requests. 6 | 7 | --- 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MacAddressEmulationPlatformLibNull/MacAddressEmulationPlatformLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # 3 | # NULL implementation of the platform library to provide hooks for the MAC Address Emulation feature. 4 | # 5 | # Copyright (c) Microsoft Corporation. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | # 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 1.27 12 | BASE_NAME = MacAddressEmulationPlatformNullLib 13 | FILE_GUID = 75C79B3A-9D3A-44B5-8CA0-30ACBDF745CC 14 | MODULE_TYPE = DXE_DRIVER 15 | VERSION_STRING = 1.0 16 | LIBRARY_CLASS = MacAddressEmulationPlatformLib 17 | 18 | [Sources] 19 | MacAddressEmulationPlatformLibNull.c 20 | 21 | [Packages] 22 | MdePkg/MdePkg.dec 23 | MsCorePkg/MsCorePkg.dec 24 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MathLib/MathLib.inf: -------------------------------------------------------------------------------- 1 | # @file 2 | # MathLib 3 | 4 | #This library supports math operations such as Square Root, Cosine, and Sine 5 | 6 | # Copyright (C) Microsoft Corporation. All rights reserved. 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010005 12 | BASE_NAME = MathLib 13 | FILE_GUID = 485F46E6-7E5D-4E05-BDBE-CBBAE5E7EFB7 14 | MODULE_TYPE = BASE 15 | VERSION_STRING = 1.0 16 | LIBRARY_CLASS = MathLib 17 | 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 20 | # 21 | 22 | [Sources] 23 | MathLib.c 24 | 25 | [Packages] 26 | MsCorePkg/MsCorePkg.dec 27 | MdePkg/MdePkg.dec 28 | 29 | [LibraryClasses] 30 | FltUsedLib 31 | 32 | [Protocols] 33 | 34 | [Guids] 35 | 36 | [BuildOptions] 37 | # Need to use floats in this library. Got rid of -mgeneral-regs-only to do so. 38 | GCC:*_*_AARCH64_CC_XIPFLAGS == -mstrict-align -------------------------------------------------------------------------------- /MsCorePkg/Library/MathLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MathLib 2 | 3 | ## About 4 | 5 | MathLib provide add, subtract, multiply and divide routines that return an error when there is 6 | an underflow or overflow. 7 | 8 | --- 9 | 10 | ## Copyright 11 | 12 | Copyright (C) Microsoft Corporation. All rights reserved. 13 | SPDX-License-Identifier: BSD-2-Clause-Patent 14 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MemoryTypeInformationChangeLib/MemoryTypeInformationChangeLib.inf: -------------------------------------------------------------------------------- 1 | ## @file MemoryTypeInformationChangeLib.inf 2 | # Reports the memory type information change as a telemetry event. 3 | ## 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | [Defines] 8 | INF_VERSION = 0x00010017 9 | BASE_NAME = MemoryTypeInformationChangeLib 10 | FILE_GUID = 6884A444-8A1D-4812-AB91-601B0FE3BBEA 11 | VERSION_STRING = 1.0 12 | MODULE_TYPE = BASE 13 | LIBRARY_CLASS = MemoryTypeInformationChangeLib 14 | 15 | 16 | [Sources] 17 | MemoryTypeInformationChangeLib.c 18 | 19 | 20 | [Packages] 21 | MdePkg/MdePkg.dec 22 | MdeModulePkg/MdeModulePkg.dec 23 | MsCorePkg/MsCorePkg.dec 24 | MsWheaPkg/MsWheaPkg.dec 25 | 26 | 27 | [LibraryClasses] 28 | BaseLib 29 | MuTelemetryHelperLib 30 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MemoryTypeInformationChangeLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MemoryTypeInformationChangeLib 2 | 3 | ## About 4 | 5 | Reports the memory type information change as a telemetry event. 6 | 7 | --- 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MuArmGicExLib/AArch64/MuArmGicEx.S: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014, ARM Limited. All rights reserved. 3 | # Copyright (c) Microsoft Corporation. 4 | # 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | # 8 | 9 | #include 10 | 11 | #if !defined(__clang__) 12 | 13 | // 14 | // Clang versions before v3.6 do not support the GNU extension that allows 15 | // system registers outside of the IMPLEMENTATION DEFINED range to be specified 16 | // using the generic notation below. However, clang knows these registers by 17 | // their architectural names, so it has no need for these aliases anyway. 18 | // 19 | #define ICC_SGI1R_EL1 S3_0_C12_C11_5 20 | 21 | #endif 22 | 23 | // VOID 24 | // ArmGicV3SendNsG1Sgi ( 25 | // IN UINT64 SgiVal 26 | // ); 27 | ASM_FUNC(ArmGicV3SendNsG1Sgi) 28 | dsb ishst 29 | msr ICC_SGI1R_EL1, x0 30 | isb 31 | ret 32 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MuArmGicExLib/AArch64/MuArmGicEx.masm: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2014, ARM Limited. All rights reserved. 3 | // Copyright (c) Microsoft Corporation. 4 | // 5 | // SPDX-License-Identifier: BSD-2-Clause-Patent 6 | // 7 | 8 | #include 9 | 10 | AREA |.text|,ALIGN=3,CODE,READONLY 11 | 12 | EXPORT ArmGicV3SendNsG1Sgi 13 | 14 | // VOID 15 | // ArmGicV3SendNsG1Sgi ( 16 | // IN UINT64 SgiVal 17 | // ); 18 | ArmGicV3SendNsG1Sgi PROC 19 | dsb ishst 20 | msr ICC_SGI1R_EL1, x0 21 | isb 22 | ret 23 | ArmGicV3SendNsG1Sgi ENDP 24 | 25 | END 26 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MuArmGicExLib/GicV2/ArmGicV2Lib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | * 3 | * Copyright (c) 2013-2023, ARM Limited. All rights reserved. 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause-Patent 6 | * 7 | **/ 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | UINTN 14 | EFIAPI 15 | ArmGicV2AcknowledgeInterrupt ( 16 | IN UINTN GicInterruptInterfaceBase 17 | ) 18 | { 19 | // Read the Interrupt Acknowledge Register 20 | return MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR); 21 | } 22 | 23 | VOID 24 | EFIAPI 25 | ArmGicV2EndOfInterrupt ( 26 | IN UINTN GicInterruptInterfaceBase, 27 | IN UINTN Source 28 | ) 29 | { 30 | ASSERT (Source <= MAX_UINT32); 31 | MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCEIOR, (UINT32)Source); 32 | } 33 | -------------------------------------------------------------------------------- /MsCorePkg/Library/MuArmGicExLib/GicV2/ArmGicV2NonSecLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | * 3 | * Copyright (c) 2011-2023, Arm Limited. All rights reserved. 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause-Patent 6 | * 7 | **/ 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | VOID 14 | EFIAPI 15 | ArmGicV2EnableInterruptInterface ( 16 | IN UINTN GicInterruptInterfaceBase 17 | ) 18 | { 19 | /* 20 | * Enable the CPU interface in Non-Secure world 21 | * Note: The ICCICR register is banked when Security extensions are implemented 22 | */ 23 | MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCICR, 0x1); 24 | } 25 | 26 | VOID 27 | EFIAPI 28 | ArmGicV2DisableInterruptInterface ( 29 | IN UINTN GicInterruptInterfaceBase 30 | ) 31 | { 32 | // Disable Gic Interface 33 | MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCICR, 0x0); 34 | MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCPMR, 0x0); 35 | } 36 | -------------------------------------------------------------------------------- /MsCorePkg/Library/PasswordStoreLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # PasswordStoreLibNull 2 | 3 | ## About 4 | 5 | Provides a NULL implementation of PasswordStoreLibNull for use by CI builds. 6 | 7 | --- 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/PeiDebugLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # PeiDebugLib 2 | 3 | ## About 4 | 5 | Debug Library to be used with DebugPortPEI library Routes all DebugPrint and DebugAssert calls 6 | through PPI. 7 | 8 | --- 9 | 10 | ## Copyright 11 | 12 | Copyright (C) Microsoft Corporation. All rights reserved. 13 | SPDX-License-Identifier: BSD-2-Clause-Patent 14 | -------------------------------------------------------------------------------- /MsCorePkg/Library/PlatformBootManagerLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # PlatformBootManagerLib 2 | 3 | ## About 4 | 5 | This file include all the common platform action which can be customized by IBV/OEM. 6 | Each of the BDS actions are passed to DeviceBootManagerLib for device specific action. 7 | 8 | --- 9 | 10 | ## Copyright 11 | 12 | Copyright (C) Microsoft Corporation. All rights reserved. 13 | SPDX-License-Identifier: BSD-2-Clause-Patent 14 | -------------------------------------------------------------------------------- /MsCorePkg/Library/SecureBootKeyStoreLibNull/SecureBootKeyStoreLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file - SecureBootKeyStoreLibNull.inf 2 | # Copyright (C) Microsoft Corporation. All rights reserved. 3 | # SPDX-License-Identifier: BSD-2-Clause-Patent 4 | # 5 | 6 | [Defines] 7 | INF_VERSION = 0x00010005 8 | BASE_NAME = SecureBootKeyStoreLibNull 9 | FILE_GUID = 368739AF-8617-4923-905E-D55198F87E34 10 | VERSION_STRING = 1.0 11 | MODULE_TYPE = BASE 12 | LIBRARY_CLASS = SecureBootKeyStoreLib 13 | 14 | # 15 | # The following information is for reference only and not required by the build tools. 16 | # 17 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 18 | # 19 | 20 | [Packages] 21 | MdePkg/MdePkg.dec 22 | SecurityPkg/SecurityPkg.dec 23 | 24 | [Sources] 25 | SecureBootKeyStoreLibNull.c 26 | -------------------------------------------------------------------------------- /MsCorePkg/Library/TpmSgNvIndexLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # TpmSgNvIndexLib 2 | 3 | ## About 4 | 5 | Library to create SystemGuard NV Index consumed by OS 6 | 7 | --- 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsCorePkg/Library/TpmSgNvIndexLib/TpmSgNvIndexLib.inf: -------------------------------------------------------------------------------- 1 | ## 2 | # @file Library to create SystemGuard NV Index consumed by OS 3 | # 4 | # Copyright (C) Microsoft Corporation. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = TpmSgNvIndexLib 11 | FILE_GUID = 08D9C2BF-DEC4-46D4-B29D-06D26B44D902 12 | MODULE_TYPE = BASE 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = TpmSgNvIndexLib 15 | 16 | # 17 | # The following information is for reference only and not required by the build 18 | # tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 21 | # 22 | 23 | [Sources] 24 | TpmSgNvIndexLib.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MdeModulePkg/MdeModulePkg.dec 29 | MsCorePkg/MsCorePkg.dec 30 | SecurityPkg/SecurityPkg.dec 31 | 32 | [LibraryClasses] 33 | DebugLib 34 | BaseMemoryLib 35 | Tpm2CommandLib 36 | -------------------------------------------------------------------------------- /MsCorePkg/MacAddressEmulationDxe/Test/EntryPointTest.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | 3 | Test file header for MAC Address Emulation EntryPoint. 4 | 5 | Copyright (C) Microsoft Corporation. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _MAC_ADDRESS_EMULATION_ENTRYPOINT_TEST_H 11 | #define _MAC_ADDRESS_EMULATION_ENTRYPOINT_TEST_H 12 | 13 | #include "MacAddressEmulationDxeHostTestCommon.h" 14 | 15 | VOID 16 | RegisterEntryPointTests ( 17 | UNIT_TEST_SUITE_HANDLE SuiteHandle 18 | ); 19 | 20 | #endif // _MAC_ADDRESS_EMULATION_ENTRYPOINT_TEST_H 21 | -------------------------------------------------------------------------------- /MsCorePkg/MacAddressEmulationDxe/Test/FindMatchingSnpTest.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | 3 | Test file header for MAC Address Emulation FindMatchingSnp. 4 | 5 | Copyright (C) Microsoft Corporation. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _MAC_ADDRESS_EMULATION_FIND_MATCHING_SNP_TEST_H 11 | #define _MAC_ADDRESS_EMULATION_FIND_MATCHING_SNP_TEST_H 12 | 13 | #include "MacAddressEmulationDxeHostTestCommon.h" 14 | 15 | VOID 16 | RegisterFindMatchingSnpTests ( 17 | UNIT_TEST_SUITE_HANDLE SuiteHandle 18 | ); 19 | 20 | #endif // _MAC_ADDRESS_EMULATION_FIND_MATCHING_SNP_TEST_H 21 | -------------------------------------------------------------------------------- /MsCorePkg/MacAddressEmulationDxe/Test/SimpleNetworkProtocolNotifyTest.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | 3 | Test file header for MAC Address Emulation SimpleNetworkProtocolNotifyTest. 4 | 5 | Copyright (C) Microsoft Corporation. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _MAC_ADDRESS_EMULATION_SIMPLENETWORKPROTOCOLNOTIFY_TEST_H 11 | #define _MAC_ADDRESS_EMULATION_SIMPLENETWORKPROTOCOLNOTIFY_TEST_H 12 | 13 | #include "MacAddressEmulationDxeHostTestCommon.h" 14 | 15 | VOID 16 | RegisterSimpleNetworkProtocolNotifyTests ( 17 | UNIT_TEST_SUITE_HANDLE SuiteHandle 18 | ); 19 | 20 | #endif // _MAC_ADDRESS_EMULATION_SIMPLENETWORKPROTOCOLNOTIFY_TEST_H 21 | -------------------------------------------------------------------------------- /MsCorePkg/MacAddressEmulationDxe/Test/SnpSupportsMacEmuCheckTest.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | 3 | Test file header for MAC Address Emulation SnpSupportsMacEmuCheck. 4 | 5 | Copyright (C) Microsoft Corporation. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _MAC_ADDRESS_EMULATION_SNP_SUPPORTS_MAC_EMU_TEST_H 11 | #define _MAC_ADDRESS_EMULATION_SNP_SUPPORTS_MAC_EMU_TEST_H 12 | 13 | #include "MacAddressEmulationDxeHostTestCommon.h" 14 | 15 | VOID 16 | RegisterSnpSupportsMacEmuCheckTests ( 17 | UNIT_TEST_SUITE_HANDLE SuiteHandle 18 | ); 19 | 20 | #endif // _MAC_ADDRESS_EMULATION_SNP_SUPPORTS_MAC_EMU_TEST_H 21 | -------------------------------------------------------------------------------- /MsCorePkg/MsCorePkg.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // This Package provides all definitions, library classes and libraries instances for MsCore. 3 | // MsCore is common code used in the Microsoft UEFI Core code base 4 | // This is targetted at promoting to open source and should be aligned with 5 | // Tianocore standards 6 | // 7 | // Copyright (C) Microsoft Corporation. All rights reserved. 8 | // SPDX-License-Identifier: BSD-2-Clause-Patent 9 | // **/ 10 | 11 | 12 | #string STR_PACKAGE_ABSTRACT #language en-US "This Package provides all definitions, library classes and libraries instances for MsCore." 13 | 14 | #string STR_PACKAGE_DESCRIPTION #language en-US "MsCore is common code used in the Microsoft UEFI Core code base" -------------------------------------------------------------------------------- /MsCorePkg/MsCorePkgExtra.uni: -------------------------------------------------------------------------------- 1 | ## @file 2 | # MsCore Package Localized Strings and Content 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | #string STR_PROPERTIES_PACKAGE_NAME 9 | #language en-US 10 | "MsCore Package" 11 | -------------------------------------------------------------------------------- /MsCorePkg/ReadMe.rst: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Core extensions and libraries Package 3 | ============================================================ 4 | 5 | Summary 6 | ======= 7 | This package provides common drivers and libraries for general use for all 8 | platform families and devices. See modules in Docs for information on 9 | each extension. 10 | 11 | Documentation 12 | ============= 13 | Documentation can be found in the `Docs directory <./Docs>`_ 14 | -------------------------------------------------------------------------------- /MsCorePkg/UnitTests/JsonTest/readme.md: -------------------------------------------------------------------------------- 1 | # Verify Json Lite library functionality 2 | 3 | The Json Lite Library parses json strings in to tuples and encodes tuples into a json string. 4 | 5 | ## About 6 | 7 | These tests verify that the Json Lite Library functions properly. 8 | 9 | ## JsonTestApp 10 | 11 | This application consumes the UnitTestLib and implements various test cases for the verification of the Json Lite Library. 12 | 13 | --- 14 | 15 | ## Copyright 16 | 17 | Copyright (C) Microsoft Corporation. All rights reserved. 18 | SPDX-License-Identifier: BSD-2-Clause-Patent 19 | -------------------------------------------------------------------------------- /MsCorePkg/UnitTests/MathLibUnitTest/CreateTestData.py: -------------------------------------------------------------------------------- 1 | ## @file 2 | # 3 | # Copyright (C) Microsoft Corporation. All rights reserved. 4 | # SPDX-License-Identifier: BSD-2-Clause-Patent 5 | # 6 | ## 7 | 8 | import os 9 | import sys 10 | import math 11 | 12 | 13 | if __name__ == "__main__": 14 | #START: -9.4247779607693793 STOP: 9.4247779607693793 STEP:0.039269908169872414 15 | start = 3 16 | stop = 3000 17 | step = 6 18 | total = (stop - start) / step 19 | funct = math.sqrt 20 | 21 | print("Start: ", start) 22 | print("Stop: ", stop) 23 | print("Step: ", step) 24 | print("Total: ", total) 25 | 26 | allVals = list() 27 | 28 | for index in range(start,stop,step): 29 | value = round(funct(index)) 30 | allVals.append(value) 31 | print(allVals) -------------------------------------------------------------------------------- /MsCorePkg/UnitTests/MathLibUnitTest/MathLibUnitTestApp.h: -------------------------------------------------------------------------------- 1 | /** 2 | Unit-tests UEFI shell app for MathLib 3 | 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef MATH_LIB_UNIT_TESTS_H 11 | #define MATH_LIB_UNIT_TESTS_H 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include 20 | 21 | #include 22 | 23 | #define UNIT_TEST_APP_NAME "Math Lib Unit Test Application" 24 | #define UNIT_TEST_APP_VERSION "0.1" 25 | 26 | EFI_STATUS 27 | EFIAPI 28 | RegisterAttributeTests ( 29 | UNIT_TEST_SUITE_HANDLE TestSuite 30 | ); 31 | 32 | EFI_STATUS 33 | EFIAPI 34 | RegisterElementTests ( 35 | UNIT_TEST_SUITE_HANDLE TestSuite 36 | ); 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /MsCorePkg/UnitTests/MathLibUnitTest/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Math Lib Unit Tests 2 | 3 | ## About 4 | 5 | The Math Lib Unit Tests test the boundary conditions to insure proper results of catching underflows 6 | and overflows during calculations. 7 | 8 | --- 9 | 10 | ## Copyright 11 | 12 | Copyright (C) Microsoft Corporation. All rights reserved. 13 | SPDX-License-Identifier: BSD-2-Clause-Patent 14 | -------------------------------------------------------------------------------- /MsCorePkg/Universal/StatusCodeHandler/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Status Code Handler 2 | 3 | ## About 4 | 5 | Provides output of the Report Status Codes to a debugging device. 6 | -------------------------------------------------------------------------------- /MsCorePkg/Universal/StatusCodeHandler/Serial/Smm/StatusCodeHandlerMm.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Internal header file for simple SerialLib based MM Status Code handler 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | 6 | Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | **/ 9 | 10 | #ifndef _STATUS_CODE_HANDLER_MM_H_ 11 | #define _STATUS_CODE_HANDLER_MM_H_ 12 | 13 | /** 14 | Status Code MM Common Entry point. 15 | 16 | Register this handler with the MM Router 17 | 18 | @retval EFI_SUCCESS Successfully registered 19 | 20 | **/ 21 | EFI_STATUS 22 | MmEntry ( 23 | VOID 24 | ); 25 | 26 | #endif // _STATUS_CODE_HANDLER_MM_H_ 27 | -------------------------------------------------------------------------------- /MsCorePkg/Universal/StatusCodeHandler/Serial/Smm/StatusCodeHandlerStandalone.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | Simple SerialLib based Status Code handler 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | 6 | Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | **/ 9 | 10 | #include 11 | #include "StatusCodeHandlerMm.h" 12 | 13 | /** 14 | Status Code Standalone MM Entry point. 15 | 16 | Register this handler with the Standalone MM Router 17 | 18 | @param FileHandle Handle of the file being invoked. 19 | @param PeiServices Describes the list of possible PEI Services. 20 | 21 | @retval EFI_SUCCESS Successfully registered 22 | 23 | **/ 24 | EFI_STATUS 25 | EFIAPI 26 | StandaloneEntry ( 27 | IN EFI_HANDLE ImageHandle, 28 | IN EFI_MM_SYSTEM_TABLE *SystemTable 29 | ) 30 | { 31 | return MmEntry (); 32 | } 33 | -------------------------------------------------------------------------------- /MsCorePkg/Universal/StatusCodeHandler/Serial/Smm/StatusCodeHandlerTraditional.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | Simple SerialLib based Status Code handler 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | 6 | Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | **/ 9 | 10 | #include 11 | #include "StatusCodeHandlerMm.h" 12 | 13 | /** 14 | Status Code Traditional MM Entry point. 15 | 16 | Register this handler with the Traditional MM Router 17 | 18 | @param FileHandle Handle of the file being invoked. 19 | @param PeiServices Describes the list of possible PEI Services. 20 | 21 | @retval EFI_SUCCESS Successfully registered 22 | 23 | **/ 24 | EFI_STATUS 25 | EFIAPI 26 | TraditionalEntry ( 27 | IN EFI_HANDLE ImageHandle, 28 | IN EFI_SYSTEM_TABLE *SystemTable 29 | ) 30 | { 31 | return MmEntry (); 32 | } 33 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Application/BmpDisplay/ReadMe.md: -------------------------------------------------------------------------------- 1 | # BmpDisplay test application 2 | 3 | ## About 4 | 5 | While UEFI uses and displays BMP format files, there are some BMP specification that UEFI 6 | follows that not all drawing programs honor. 7 | Running this tool to display a BMP in the Uefi Shell will check to make sure your BMP file are 8 | displayable in UEFI. 9 | 10 | ## Copyright 11 | 12 | Copyright (C) Microsoft Corporation. All rights reserved. 13 | SPDX-License-Identifier: BSD-2-Clause-Patent 14 | -------------------------------------------------------------------------------- /MsGraphicsPkg/DisplayEngineDxe/DisplayEngineExtra.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // DisplayEngine Localized Strings and Content 3 | // 4 | // Copyright (c) 2014 - 2018, Intel Corporation. 5 | // Copyright (C) Microsoft Corporation. All rights reserved.. 6 | // 7 | // SPDX-License-Identifier: BSD-2-Clause-Patent 8 | // 9 | // **/ 10 | 11 | #string STR_PROPERTIES_MODULE_NAME 12 | #language en-US 13 | "DisplayEngine DXE Driver" 14 | 15 | 16 | -------------------------------------------------------------------------------- /MsGraphicsPkg/DisplayEngineDxe/ReadMe.md: -------------------------------------------------------------------------------- 1 | # DisplayEngineDxe Driver 2 | 3 | ## About 4 | 5 | This DisplayEngine driver supports the SetupBrowser display engine interface, and this version 6 | uses the Simple Window Manager to implement the backend of the IFR operations. 7 | Currently, not all IFR's are implemented. 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Docs/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MS Graphics Package 2 | 3 | ## About 4 | 5 | This package has shared drivers and libraries that extend the UEFI graphics with a simple windowing system. 6 | 7 | ## Copyright 8 | 9 | Copyright (C) Microsoft Corporation. All rights reserved. 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/GopOverrideDxe/GopOverrideOverview_mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/GopOverrideDxe/GopOverrideOverview_mu.png -------------------------------------------------------------------------------- /MsGraphicsPkg/GopOverrideDxe/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Gop Override Dxe Driver 2 | 3 | ## About 4 | 5 | This driver provides a less optimal method of providing the MsGopOverrideProtocol for the 6 | Rendering Engine. See [What Does the GopOverrideDxe Do](GopOverrideOverview_mu.png) 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Include/Guid/OSKDevicePath.h: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | **/ 7 | 8 | #ifndef __OSK_DEVICE_PATH_GUID_H__ 9 | #define __OSK_DEVICE_PATH_GUID_H__ 10 | 11 | /// 12 | /// Vendor Device Path definition. 13 | /// 14 | typedef struct { 15 | VENDOR_DEVICE_PATH VendorDevicePath; 16 | EFI_DEVICE_PATH_PROTOCOL End; 17 | } OSK_DEVICE_PATH; 18 | 19 | #define OSK_DEVICE_PATH_GUID {0xad603516, 0xd94a, 0x425e, {0x9b, 0x42, 0x0b, 0x55, 0xfd, 0xdb, 0xd8, 0xa1}} 20 | 21 | // This file describes the Guid for the OSK Vendor DevicePath that is installed by the OnScreenKeyboard Driver 22 | extern EFI_GUID gOSKDevicePathGuid; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Include/Library/BootGraphicsLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This BootGraphicsLib is only intended to be used by BDS to configure 3 | the console mode and set an image on the screen. 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _BOOT_GRAPHICS_LIB_H_ 11 | #define _BOOT_GRAPHICS_LIB_H_ 12 | 13 | typedef UINT8 BOOT_GRAPHIC; 14 | #define BG_NONE (0) 15 | #define BG_SYSTEM_LOGO (1) 16 | #define BG_CRITICAL_OVER_TEMP (2) 17 | #define BG_CRITICAL_LOW_BATTERY (3) 18 | 19 | /** 20 | Display Main System Boot Graphic 21 | 22 | **/ 23 | EFI_STATUS 24 | EFIAPI 25 | DisplayBootGraphic ( 26 | BOOT_GRAPHIC graphic 27 | ); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Include/Library/BootGraphicsProviderLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This BootGraphicsProviderLib provides a method to 3 | supply a requested graphic to the caller 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved.. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _BOOT_GRAPHICS_PROVIDER_LIB_H_ 11 | #define _BOOT_GRAPHICS_PROVIDER_LIB_H_ 12 | 13 | #include 14 | 15 | /** 16 | Get the requested boot graphic 17 | 18 | On success 19 | @retval will be EFI_SUCCESS 20 | ImageSize will be set to size of allocated buffer 21 | ImageData will be BootServicesData Allocated memory containing a BMP 22 | file. ImageData must be freed by caller. 23 | 24 | **/ 25 | EFI_STATUS 26 | EFIAPI 27 | GetBootGraphic ( 28 | BOOT_GRAPHIC Graphic, 29 | OUT UINTN *ImageSize, 30 | OUT UINT8 **ImageData 31 | ); 32 | 33 | /** 34 | Get the pixel color for the background 35 | 36 | **/ 37 | UINT32 38 | EFIAPI 39 | GetBackgroundColor ( 40 | ); 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Include/Library/DisplayDeviceStateLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Library used to display Device States set by DeviceStateLib 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __DEVICE_DISPLAY_STATE_LIB_H__ 10 | #define __DEVICE_DISPLAY_STATE_LIB_H__ 11 | 12 | /** 13 | Function to Display all Active Device States 14 | 15 | @param WidthInPixels - Number of Columns in FrameBuffer 16 | @param HeightInPixels - Number of Rows in FrameBuffer 17 | **/ 18 | VOID 19 | EFIAPI 20 | DisplayDeviceState ( 21 | IN INT32 WidthInPixels, 22 | IN INT32 HeightInPixels 23 | ); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Include/Library/MsUiThemeCopyLib.h: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | **/ 7 | 8 | #ifndef _MS_UI_THEME_COPY_LIB_H_ 9 | #define _MS_UI_THEME_COPY_LIB_H_ 10 | 11 | #include 12 | #include 13 | 14 | UINT32 15 | EFIAPI 16 | MsThemeGetSize ( 17 | IN CONST MS_UI_THEME_DESCRIPTION *Theme 18 | ); 19 | 20 | EFI_STATUS 21 | EFIAPI 22 | MsThemeCopy ( 23 | OUT MS_UI_THEME_DESCRIPTION *Dest, 24 | UINT32 DestBytes, 25 | IN CONST MS_UI_THEME_DESCRIPTION *Source 26 | ); 27 | 28 | #endif // _MS_UI_THEME_COPY_LIB_H_ 29 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Include/Library/PlatformThemeLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Library that exports the platform theme 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __PLATFORM_THEME_LIB__ 10 | #define __PLATFORM_THEME_LIB__ 11 | 12 | /** 13 | Get the UI_THEME_DESCRIPTION 14 | **/ 15 | 16 | MS_UI_THEME_DESCRIPTION * 17 | EFIAPI 18 | PlatformThemeGet ( 19 | VOID 20 | ); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BaseUiProgressCircleLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Base Ui Progress Circle Library 2 | 3 | ## About 4 | 5 | Implements Ui Progress Circle or Donut. 6 | You can specify 100% or drawing whatever segments you specify. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BaseUiProgressCircleLib/UiProgressCircleLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # A Library that supports drawing a Circle/Donut UI element. 3 | # Support for both progress 1-100 or indeterminate 4 | # 5 | # Copyright (C) Microsoft Corporation. All rights reserved. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = UiProgressCircleLib 12 | FILE_GUID = DBCB03A1-50C6-4668-BF93-8D99525B7C72 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = UiProgressCircleLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 21 | # 22 | 23 | [Sources] 24 | ProgressCircle.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MsGraphicsPkg/MsGraphicsPkg.dec 29 | 30 | 31 | [LibraryClasses] 32 | DebugLib 33 | MemoryAllocationLib 34 | BaseMemoryLib -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BaseUiRectangleLib/BaseUiRectangleLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # LIbrary to display the On screen notifications for the platform 3 | # 4 | # 5 | # @copyright 6 | # Copyright (C) Microsoft Corporation. All rights reserved. 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | ## 9 | # 10 | ## 11 | 12 | 13 | [Defines] 14 | INF_VERSION = 0x00010017 15 | BASE_NAME = BaseUiRectangleLib 16 | FILE_GUID = F42F50A1-1344-4A07-A32D-9C216499A2F4 17 | VERSION_STRING = 1.0 18 | MODULE_TYPE = BASE 19 | LIBRARY_CLASS = UiRectangleLib 20 | 21 | 22 | [LibraryClasses] 23 | DebugLib 24 | MemoryAllocationLib 25 | FrameBufferMemDrawLib 26 | 27 | 28 | [Packages] 29 | MdePkg/MdePkg.dec 30 | MsGraphicsPkg/MsGraphicsPkg.dec 31 | 32 | 33 | [Sources] 34 | UiRectangle.c 35 | UiRectangle.h 36 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BaseUiRectangleLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Base UI Rectanble Library 2 | 3 | ## About 4 | 5 | This library provides the ability to draw rectangles on the display. 6 | They can be solid, checkered, or striped. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BootGraphicsLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Boot Graphics Library 2 | 3 | ## About 4 | 5 | This BootGraphicsLib is only intended to be used by BDS to draw the main boot graphics to the 6 | screen. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BootGraphicsLibNull/BootGraphicsLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | This BootGraphicsLib is only intended to be used by BDS to draw 3 | and the main boot graphics to the screen. 4 | 5 | This is a NULL Instance for compile testing 6 | 7 | Copyright (C) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | #include 12 | #include 13 | 14 | EFI_STATUS 15 | EFIAPI 16 | DisplayBootGraphic ( 17 | BOOT_GRAPHIC Graphic 18 | ) 19 | { 20 | return EFI_UNSUPPORTED; 21 | } 22 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BootGraphicsLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Boot Graphics Null Library 2 | 3 | ## About 4 | 5 | This library is used in the CI build configuration. 6 | 7 | ## Copyright 8 | 9 | Copyright (C) Microsoft Corporation. All rights reserved. 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BootGraphicsProviderLibNull/BootGraphicsProviderLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | This BootGraphicsProviderLib 3 | 4 | This is a NULL Instance for compile testing 5 | 6 | Copyright (C) Microsoft Corporation. All rights reserved. 7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | 9 | **/ 10 | #include 11 | #include 12 | 13 | /** 14 | Get the requested boot graphic 15 | 16 | On success 17 | @retval will be EFI_SUCCESS 18 | ImageSize will be set to size of allocated buffer 19 | ImageData will be BootServicesData Allocated memory containing a BMP 20 | file. ImageData must be freed by caller. 21 | 22 | **/ 23 | EFI_STATUS 24 | EFIAPI 25 | GetBootGraphic ( 26 | BOOT_GRAPHIC Graphic, 27 | OUT UINTN *ImageSize, 28 | OUT UINT8 **ImageData 29 | ) 30 | { 31 | return EFI_UNSUPPORTED; 32 | } 33 | 34 | /** 35 | Get the pixel color for the background 36 | 37 | **/ 38 | UINT32 39 | EFIAPI 40 | GetBackgroundColor ( 41 | ) 42 | { 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BootGraphicsProviderLibNull/BootGraphicsProviderLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # This library is NULL implementation for testing 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved.. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = BootGraphicsProviderLibNull 11 | FILE_GUID = ad2b103b-e42e-476d-b96c-7aff7c6ff375 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = BootGraphicsProviderLib 15 | 16 | # 17 | # The following information is for reference only and not required by the build tools. 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 20 | # 21 | 22 | [Sources] 23 | BootGraphicsProviderLib.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | MdeModulePkg/MdeModulePkg.dec 28 | MsGraphicsPkg/MsGraphicsPkg.dec 29 | 30 | [LibraryClasses] 31 | 32 | 33 | [Protocols] 34 | 35 | 36 | [Pcd] 37 | 38 | 39 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/BootGraphicsProviderLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Boot Graphics Provider NULL Library 2 | 3 | ## About 4 | 5 | This library is used by CI builds to test compile users of the BootGraphicsLib. 6 | 7 | ## Copyright 8 | 9 | Copyright (C) Microsoft Corporation. All rights reserved. 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/ColorBarDisplayDeviceStateLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Color Bar Display Device State Library 2 | 3 | ## About 4 | 5 | There are a number of states that are critical when manufacturing a system. 6 | Some of these are the fuses that must be set that protect the device. 7 | These fuses are not set on some machines for test purposes, etc. 8 | 9 | To quickly notice that these customer critical settings are correct, this library display color 10 | bars on the display if there state is not in the secure state. 11 | 12 | This allows an end user to quickly notice that secure boot is off. 13 | 14 | This allows an end of line tester to verify that the fuses are in the correct state for 15 | customer delivery. 16 | 17 | ## Copyright 18 | 19 | Copyright (C) Microsoft Corporation. All rights reserved. 20 | SPDX-License-Identifier: BSD-2-Clause-Patent 21 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/ColorBarDisplayDeviceStateLib/Resources/UnlockBitmap.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/Library/ColorBarDisplayDeviceStateLib/Resources/UnlockBitmap.bmp -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/DisplayDeviceStateLibNull/DisplayDeviceStateLibNull.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | Null library used to display Device State on screen using color bars. 3 | 4 | See DeviceStateLib for code that is related to getting and setting the device state. 5 | 6 | Copyright (C) Microsoft Corporation. All rights reserved. 7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | 9 | **/ 10 | 11 | #include 12 | 13 | /** 14 | Function to Display all Active Device States 15 | 16 | @param FrameBufferBase - Address of point 0,0 in the frame buffer 17 | @param PixelsPerScanLine - Number of pixels per scan line. 18 | @param WidthInPixels - Number of Columns in FrameBuffer 19 | @param HeightInPixels - Number of Rows in FrameBuffer 20 | **/ 21 | VOID 22 | EFIAPI 23 | DisplayDeviceState ( 24 | IN INT32 WidthInPixels, 25 | IN INT32 HeightInPixels 26 | ) 27 | { 28 | return; 29 | } 30 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/DisplayDeviceStateLibNull/DisplayDeviceStateLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null library for displaying device state 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010017 11 | BASE_NAME = DisplayDeviceStateLibNull 12 | FILE_GUID = 64A22F09-750E-4C9E-96AD-0C2572D07C26 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = BASE 15 | LIBRARY_CLASS = DisplayDeviceStateLib 16 | 17 | 18 | [LibraryClasses] 19 | 20 | 21 | 22 | [Packages] 23 | MdePkg/MdePkg.dec 24 | 25 | 26 | [Sources] 27 | DisplayDeviceStateLibNull.c 28 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/DisplayDeviceStateLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Display Device State Null Library 2 | 3 | ## About 4 | 5 | The Display Device State NULL library is in the CI build when a real DisplayDeviceState library 6 | is not accessible. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/FrameBufferMemDrawLib/FrameBufferMemDrawLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Library used to display things on the Frame buffer by memory copying 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef FRAMEBUFFER_MEM_DRAW_LIB_INTERNAL_H_ 10 | #define FRAMEBUFFER_MEM_DRAW_LIB_INTERNAL_H_ 11 | 12 | /** 13 | Get pertenant information about the frame buffer 14 | 15 | @param[out] - Pointer where to store the framebuffer address. 16 | @param[out] - Pointer where to store the mode info data. 17 | **/ 18 | EFI_STATUS 19 | GetGraphicsInfo ( 20 | EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE **Mode 21 | ); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/FrameBufferMemDrawLib/FrameBufferMemDrawLibPei.inf: -------------------------------------------------------------------------------- 1 | 2 | ## @file 3 | # A library for drawing directly to the FrameBuffer memory region 4 | # 5 | # Copyright (C) Microsoft Corporation. All rights reserved. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010017 12 | BASE_NAME = FrameBufferMemDrawLibPei 13 | FILE_GUID = 23E999E3-B231-4076-8791-DA5151BB3DC4 14 | VERSION_STRING = 1.0 15 | MODULE_TYPE = PEIM 16 | LIBRARY_CLASS = FrameBufferMemDrawLib 17 | 18 | [LibraryClasses] 19 | DebugLib 20 | FrameBufferBltLib 21 | MemoryAllocationLib 22 | PeiServicesLib 23 | 24 | [Packages] 25 | MdePkg/MdePkg.dec 26 | MdeModulePkg/MdeModulePkg.dec 27 | MsGraphicsPkg/MsGraphicsPkg.dec 28 | 29 | [Sources] 30 | FrameBufferMemDrawLib.c 31 | FrameBufferMemDrawLibPeim.c 32 | FrameBufferMemDrawLib.h 33 | 34 | [Ppis] 35 | gEfiPeiGraphicsPpiGuid 36 | 37 | [Depex] 38 | gEfiPeiGraphicsPpiGuid 39 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/FrameBufferMemDrawLibNull/FrameBufferMemDrawLibNull.inf: -------------------------------------------------------------------------------- 1 | 2 | ## @file 3 | # A null library for drawing directly to the FrameBuffer memory region 4 | # 5 | # Copyright (C) Microsoft Corporation. All rights reserved. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010017 12 | BASE_NAME = FrameBufferMemDrawLibNull 13 | FILE_GUID = 1C0E2E2F-9BE2-4E8E-94C3-1FEA80681CD9 14 | VERSION_STRING = 1.0 15 | MODULE_TYPE = BASE 16 | LIBRARY_CLASS = FrameBufferMemDrawLib 17 | 18 | 19 | [LibraryClasses] 20 | UefiLib 21 | DebugLib 22 | 23 | [Packages] 24 | MdePkg/MdePkg.dec 25 | MsGraphicsPkg/MsGraphicsPkg.dec 26 | 27 | [Sources] 28 | FrameBufferMemDrawLibNull.c 29 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsColorTableLib/MsColorTableLib.inf: -------------------------------------------------------------------------------- 1 | ## @file MsColorTableLib 2 | # A shared place for all colors used in this package 3 | # 4 | # @copyright 5 | # Copyright (C) Microsoft Corporation. All rights reserved.. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = MsColorTableLib 12 | FILE_GUID = 48E8F777-6876-42E8-8DD3-223EA1930DB9 13 | MODULE_TYPE = BASE 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = MsColorTableLib 16 | 17 | # 18 | # VALID_ARCHITECTURES = IA32 X64 19 | # 20 | 21 | [Sources] 22 | MsColorTableLib.c 23 | 24 | [Packages] 25 | MdePkg/MdePkg.dec 26 | MsGraphicsPkg/MsGraphicsPkg.dec 27 | 28 | [LibraryClasses] 29 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsColorTableLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MS Color Table Library 2 | 3 | ## About 4 | 5 | This package defines the absolute RGB values for each color that is used by users of the Simple 6 | Window Manager. 7 | Each UI element is assigned a color. 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsEarlyGraphicsLibNull/Dxe/MsEarlyGraphicsLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Dxe MsEarly Graphics library instance. 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsPlatformEarlyGraphicsLibNull 11 | FILE_GUID = C24D06EC-4F1F-4A1C-BB0B-FE75828A3556 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsPlatformEarlyGraphicsLib|DXE_DRIVER DXE_RUNTIME_DRIVER 15 | 16 | # 17 | # The following information is for reference only and not required by the build tools. 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 IPF EBC 20 | # 21 | 22 | [Sources] 23 | MsEarlyGraphicsLibNull.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | MsGraphicsPkg/MsGraphicsPkg.dec 28 | 29 | [LibraryClasses] 30 | 31 | [Guids] 32 | 33 | [Protocols] 34 | 35 | [Depex] 36 | TRUE 37 | 38 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsEarlyGraphicsLibNull/Pei/MsEarlyGraphicsLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Pei MsEarlyGraphics Library 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsPlatformEarlyGraphicsLibNull 11 | FILE_GUID = FB246AFC-92DE-4800-8D15-35D1BDD0CF0C 12 | MODULE_TYPE = PEIM 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsPlatformEarlyGraphicsLib|PEIM 15 | 16 | # 17 | # The following information is for reference only and not required by the build tools. 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) 20 | # 21 | 22 | [Sources] 23 | MsEarlyGraphicsLibNull.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | MsGraphicsPkg/MsGraphicsPkg.dec 28 | 29 | [LibraryClasses] 30 | 31 | [Ppis] 32 | 33 | [Depex] 34 | TRUE 35 | 36 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsEarlyGraphicsLibNull/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Ms Early Graphics NULL Library 2 | 3 | ## About 4 | 5 | This library is used in the CI build configuration. 6 | 7 | ## Copyright 8 | 9 | Copyright (C) Microsoft Corporation. All rights reserved. 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsUiThemeCopyLib/MsUiThemeCopyLib.inf: -------------------------------------------------------------------------------- 1 | ## @file MsUiThemeCopyLib.inf 2 | # 3 | # This library contains access functions for dealing with the 4 | # Copying of an MS_UI_THEME 5 | # 6 | # @copyright 7 | # Copyright (C) Microsoft Corporation. All rights reserved. 8 | ## SPDX-License-Identifier: BSD-2-Clause-Patent 9 | ## 10 | 11 | [Defines] 12 | INF_VERSION = 0x00010017 13 | BASE_NAME = MsUiThemeCopyLib 14 | FILE_GUID = 7A6722F7-4446-4112-9802-F6B7DEE04824 15 | VERSION_STRING = 1.0 16 | MODULE_TYPE = BASE 17 | LIBRARY_CLASS = MsUiThemeCopyLib 18 | 19 | [Sources] 20 | MsUiThemeCopyLib.c 21 | 22 | [Packages] 23 | MsGraphicsPkg/MsGraphicsPkg.dec 24 | MdePkg/MdePkg.dec 25 | 26 | [LibraryClasses] 27 | BaseLib 28 | BaseMemoryLib 29 | DebugLib 30 | 31 | [BuildOptions] 32 | # DEBUG_*_*_CC_FLAGS = /FAcs /P -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsUiThemeCopyLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Ms Ui Theme Copy Library 2 | 3 | ## About 4 | 5 | MsUiThemeCopyLib is used to unpack the fonts from the packed FV into execution time structures. 6 | 7 | ## Copyright 8 | 9 | Copyright (C) Microsoft Corporation. All rights reserved. 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/MsUiThemeLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Ms Ui Theme Library 2 | 3 | ## About 4 | 5 | The MsUiThemeLib publishes the MuUiTheme (Ppi/Protocol). 6 | 7 | ## Copyright 8 | 9 | Copyright (C) Microsoft Corporation. All rights reserved. 10 | SPDX-License-Identifier: BSD-2-Clause-Patent 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/QrEncoderLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Qr Encoder Library 2 | 3 | ## About 4 | 5 | This package builds a QR code bit map object from binary data. 6 | The encoder supports all 40 versions, all 4 error correction levels (L, Q, M, H), but only three 7 | character encoding modes (Numeric, AlphNumeric, and Byte). 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/SamplePlatformThemeLib/PlatformThemeLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # MsPlatformThemeLib.inf 3 | # 4 | # Description: Supplies the platform theme. 5 | # 6 | # Copyright (C) Microsoft Corporation. All rights reserved. 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010005 12 | BASE_NAME = PlatformThemeLib 13 | FILE_GUID = 511bca7c-3c33-433c-85c5-5e3eb2bfcb8f 14 | MODULE_TYPE = BASE 15 | VERSION_STRING = 1.0 16 | LIBRARY_CLASS = PlatformThemeLib 17 | 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 20 | # 21 | 22 | [Sources] 23 | PlatformThemeLib.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | MdeModulePkg/MdeModulePkg.dec 28 | MsGraphicsPkg/MsGraphicsPkg.dec 29 | 30 | [LibraryClasses] 31 | DebugLib 32 | 33 | [Protocols] 34 | 35 | [Guids] 36 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/SamplePlatformThemeLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Sample Platform Theme Library 2 | 3 | ## About 4 | 5 | The Sample Platform Theme Library is used to specify the fonts and display size information to 6 | the Simple Window Manager. 7 | 8 | ## How to choose scale and font sizes 9 | 10 | The starting point is a 3000 W x 2000 H display as a 100% size. 11 | 12 | Start with your display size. 13 | 14 | Scale = (The width in pixels of the your display) / 3000. 15 | 16 | Change the #define SCALE value to your whole number scale value. 17 | 18 | Using Scale, multiply each font size in the sample by your Scale value and select a font point 19 | close to your Scale value.. 20 | Keep in mind that each font must be a unique fonts. 21 | The same font file cannot be used for multiple fonts. 22 | 23 | ## Copyright 24 | 25 | Copyright (C) Microsoft Corporation. All rights reserved. 26 | SPDX-License-Identifier: BSD-2-Clause-Patent 27 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/SimpleUIToolKit/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Simple UI ToolKit Library 2 | 3 | ## About 4 | 5 | The Simple UI Toolkit library allows code to create interfaces dynamically. 6 | The two sample users of the Simple UI Toolkit is the Display Engine and SwmDialogs Library. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/Library/SwmDialogsLib/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Swm Dialogs Library 2 | 3 | ## About 4 | 5 | The Simple Window Manager Dialog Library has a couple of dialogs that can be use by UEFI 6 | application. 7 | These dialogs use the Simple Window Manager. 8 | 9 | ## Dialog types 10 | 11 | 1. Simple Message Box 12 | 2. Password Prompt 13 | 3. Selection Prompt 14 | 4. SwmDialogsVerifyThumbprintPrompt special for DFCI 15 | 16 | ## Copyright 17 | 18 | Copyright (C) Microsoft Corporation. All rights reserved. 19 | SPDX-License-Identifier: BSD-2-Clause-Patent 20 | -------------------------------------------------------------------------------- /MsGraphicsPkg/MsEarlyGraphics/Dxe/MsEarlyGraphics.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Header file for MsEarlyDxeGraphics 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __MS_EARLY_GRAPHICS_DXE_H__ 10 | #define __MS_EARLY_GRAPHICS_DXE_H__ 11 | 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | #include "../MsEarlyGraphicsCommon.h" 27 | 28 | #endif // __MS_EARLY_GRAPHICS_DXE_H__ 29 | -------------------------------------------------------------------------------- /MsGraphicsPkg/MsEarlyGraphics/Pei/MsEarlyGraphics.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | 3 | This file contains include headers for MsEarlyGraphics 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _MS_EARLY_GRAPHICS_PEI_H_ 11 | #define _MS_EARLY_GRAPHICS_PEI_H_ 12 | 13 | #include 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | #include "../MsEarlyGraphicsCommon.h" 30 | 31 | #endif // _MS_EARLY_GRAPHICS_PEI_H_ 32 | -------------------------------------------------------------------------------- /MsGraphicsPkg/MsEarlyGraphics/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MS Early Graphics Drivers 2 | 3 | ## About 4 | 5 | The MsEarlyGraphics drivers load the fonts used for the Simple Window Manager, and is used to 6 | display Preboot information on the graphics console, when the display if first initialized (for 7 | example, in PEI) by drawing directly to the frame buffer. 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsGraphicsPkg/MsGraphicsPkg.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // This Package provides all definitions, library classes and libraries instances for MsGraphics. 3 | // MsGraphics is common code used in the Microsoft UEFI Core code base 4 | // 5 | // Copyright (C) Microsoft Corporation. All rights reserved. 6 | // SPDX-License-Identifier: BSD-2-Clause-Patent 7 | // **/ 8 | 9 | 10 | #string STR_PACKAGE_ABSTRACT #language en-US "This Package provides all definitions, library classes and libraries instances for MsGraphics." 11 | 12 | #string STR_PACKAGE_DESCRIPTION #language en-US "MsGraphics is common code used in the Microsoft UEFI Core code base" -------------------------------------------------------------------------------- /MsGraphicsPkg/MsGraphicsPkgExtra.uni: -------------------------------------------------------------------------------- 1 | ## @file 2 | # MsGraphics Package Localized Strings and Content 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | #string STR_PROPERTIES_PACKAGE_NAME 9 | #language en-US 10 | "MsGraphics Package" 11 | -------------------------------------------------------------------------------- /MsGraphicsPkg/MsUiTheme/ReadMe.md: -------------------------------------------------------------------------------- 1 | # MS UI Theme Drivers 2 | 3 | ## About 4 | 5 | The MsUiTheme drivers load the fonts used by the platform. 6 | Each platform must supply the font information required based on the display information. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/NvidiaSupportDxe/NvidiaSupportDxe.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // NvidiaSupportDxe.inf 3 | // 4 | // This is a driver for working around a specific defect in the Nvidia Graphics Output Protocol. 5 | // 6 | // Copyright (c) Microsoft Corporation. All rights reserved. 7 | // SPDX-License-Identifier: BSD-2-Clause-Patent 8 | // 9 | // **/ 10 | 11 | 12 | #string STR_MODULE_ABSTRACT #language en-US "Nvidia Support Driver." 13 | 14 | #string STR_MODULE_DESCRIPTION #language en-US "Works around issues a specific Nvidia GOP driver." 15 | -------------------------------------------------------------------------------- /MsGraphicsPkg/OnScreenKeyboardDxe/ReadMe.md: -------------------------------------------------------------------------------- 1 | # OnScreenKeyboardDxe 2 | 3 | ## About 4 | 5 | This driver implements an OnScreen keyboard driver. 6 | This driver relies heavily on the SimpleWindowManager, The SimpleUI Toolkit, and the 7 | RenderingEngine to implement a floating on screen keyboard that can be rotated on the display. 8 | 9 | ## Copyright 10 | 11 | Copyright (C) Microsoft Corporation. All rights reserved. 12 | SPDX-License-Identifier: BSD-2-Clause-Patent 13 | -------------------------------------------------------------------------------- /MsGraphicsPkg/OnScreenKeyboardDxe/Resources/KeyboardChars.txt: -------------------------------------------------------------------------------- 1 | !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~⏎⬓▣✕←↑→↓⌫ -------------------------------------------------------------------------------- /MsGraphicsPkg/OnScreenKeyboardDxe/Resources/KeyboardIcon_Medium.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/OnScreenKeyboardDxe/Resources/KeyboardIcon_Medium.bmp -------------------------------------------------------------------------------- /MsGraphicsPkg/OnScreenKeyboardDxe/Resources/KeyboardIcon_Small.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/OnScreenKeyboardDxe/Resources/KeyboardIcon_Small.bmp -------------------------------------------------------------------------------- /MsGraphicsPkg/ReadMe.rst: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Graphics extensions and libraries Package 3 | ============================================================ 4 | 5 | Summary 6 | ======= 7 | This package provides graphics extensions for simple window management 8 | for use by UEFI applications. See modules in Docs for information on 9 | each extension. 10 | 11 | Documentation 12 | ============= 13 | Documentation can be found in the `Docs directory <./Docs>`_ 14 | -------------------------------------------------------------------------------- /MsGraphicsPkg/RenderingEngineDxe/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Rendering Engine Driver 2 | 3 | ## About 4 | 5 | The Rendering Engine is responsible for maintaining the supported windows, displaying popups, 6 | and restopring windows when popups are dismissed. 7 | The Rendering Engins is the only consumer of the MsGopOverrideProtocol and is the publisher of 8 | the "real" Efi Graphics Output protocol. 9 | 10 | ## Copyright 11 | 12 | Copyright (C) Microsoft Corporation. All rights reserved. 13 | SPDX-License-Identifier: BSD-2-Clause-Patent 14 | -------------------------------------------------------------------------------- /MsGraphicsPkg/SimpleWindowManagerDxe/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Simple Window Manager 2 | 3 | ## About 4 | 5 | The Simple Window Manager manages window placement and pop up dialogs. 6 | The Simple Window Manager uses the Rendering Engine to display objects in their display region. 7 | 8 | ## Copyright 9 | 10 | Copyright (C) Microsoft Corporation. All rights reserved. 11 | SPDX-License-Identifier: BSD-2-Clause-Patent 12 | -------------------------------------------------------------------------------- /MsGraphicsPkg/SimpleWindowManagerDxe/Resources/MousePointer_Medium.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/SimpleWindowManagerDxe/Resources/MousePointer_Medium.bmp -------------------------------------------------------------------------------- /MsGraphicsPkg/SimpleWindowManagerDxe/Resources/MousePointer_Small.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/SimpleWindowManagerDxe/Resources/MousePointer_Small.bmp -------------------------------------------------------------------------------- /MsGraphicsPkg/Universal/TimeoutSpinner/Resources/NoNVMe.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsGraphicsPkg/Universal/TimeoutSpinner/Resources/NoNVMe.bmp -------------------------------------------------------------------------------- /MsGraphicsPkg/Universal/TimeoutSpinner/TimeoutGeneral.h: -------------------------------------------------------------------------------- 1 | /** @file TimeoutGeneral.h 2 | 3 | Copyright (c) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | **/ 7 | 8 | #ifndef __TIMEOUT_GENERAL_H__ 9 | #define __TIMEOUT_GENERAL_H__ 10 | 11 | /** 12 | InitializeGeneralSpinner 13 | 14 | Initialize General Spinner 15 | 16 | @param Spc - Spinner Containter 17 | 18 | @return EFI_STATUS - Spinner initialized 19 | other - Spinner not initialized 20 | **/ 21 | EFI_STATUS 22 | InitializeGeneralSpinner ( 23 | IN SPINNER_CONTAINER *Spc 24 | ); 25 | 26 | #endif // __TIMEOUT_GENERAL_H__ 27 | -------------------------------------------------------------------------------- /MsWheaPkg/Crates/MuTelemetryHelperLib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "MuTelemetryHelperLib" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | name = "mu_telemetry_helper_lib" 8 | path = "src/lib.rs" 9 | 10 | [dependencies] 11 | mu_pi = { workspace = true } 12 | mu_rust_helpers = { workspace = true } 13 | r-efi = { workspace = true } 14 | mu_uefi_boot_services = { workspace = true } 15 | 16 | [dev-dependencies] 17 | mockall = { version = "0.13.0" } 18 | mu_uefi_boot_services = { workspace = true, features = ["mockall"] } 19 | 20 | [lints.rust] 21 | unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } 22 | -------------------------------------------------------------------------------- /MsWheaPkg/HwhMenu/CreatorIDParser.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | CreatorIDParser.c 3 | 4 | A function for parsing the creator ID which for now just prints the guid. 5 | Created to more easily implement friendly strings in the future 6 | 7 | Copyright (c) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | **/ 10 | 11 | #include 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | #include "CreatorIDParser.h" 18 | #include "HwhMenu.h" 19 | 20 | /** 21 | * Parses the Creator ID which, for now, just prints the GUID 22 | * 23 | * @param[in] EFI_GUID* Guid being parsed 24 | * 25 | * @retval VOID 26 | **/ 27 | VOID 28 | ParseCreatorID ( 29 | IN CONST EFI_GUID *CreatorID 30 | ) 31 | { 32 | // For now, just print the guid. Leaving this separate file 33 | // to make extending guid parsing in the future a bit simpler 34 | UnicodeDataToVFR ( 35 | (EFI_STRING_ID)STR_HWH_LOG_CREATORID_VALUE, 36 | L"%g", 37 | CreatorID 38 | ); 39 | } 40 | -------------------------------------------------------------------------------- /MsWheaPkg/HwhMenu/CreatorIDParser.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | CreatorIDParser.h 3 | 4 | A function for parsing the creator ID which for now just prints the guid. 5 | Created to more easily implement friendly strings in the future 6 | 7 | Copyright (c) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | **/ 10 | 11 | #ifndef CREATOR_ID_PARSER_H_ 12 | #define CREATOR_ID_PARSER_H_ 13 | 14 | /** 15 | * Parses the Creator ID which, for now, just prints the GUID 16 | * 17 | * @param[in] EFI_GUID* Guid being parsed 18 | * 19 | * @retval VOID 20 | **/ 21 | VOID 22 | ParseCreatorID ( 23 | IN CONST EFI_GUID *CreatorID 24 | ); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /MsWheaPkg/HwhMenu/HwhMenu.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | HwhMenu.h 3 | 4 | Header file for HwhMenu 5 | 6 | Copyright (c) Microsoft Corporation. All rights reserved. 7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | **/ 9 | 10 | #ifndef __HWH_MENU__ 11 | #define __HWH_MENU__ 12 | 13 | #define MAX_DISPLAY_STRING_LENGTH 100 14 | 15 | extern UINT8 HwhMenuVfrBin[]; 16 | 17 | extern unsigned char HwhMenuStrings[]; 18 | 19 | /** 20 | * Writes the input string to the input vfr string 21 | * 22 | * @param[in] Str EFI_STRING being written to 23 | * @param[in] Format Format string 24 | * @param[in] ... Variables placed into format string 25 | * 26 | * @retval VOID 27 | **/ 28 | UINTN 29 | UnicodeDataToVFR ( 30 | IN CONST EFI_STRING_ID Str, 31 | IN CONST CHAR16 *Format, 32 | ... 33 | ); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /MsWheaPkg/HwhMenu/PlatformIDParser.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | PlatformIDParser.c 3 | 4 | A function for parsing the Platform ID which for now just prints the guid. 5 | Created to more easily implement friendly strings in the future 6 | 7 | Copyright (c) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | #include "PlatformIDParser.h" 19 | #include "HwhMenu.h" 20 | 21 | /** 22 | * Parses the Platform/Source ID 23 | * 24 | * @param[in] EFI_GUID *SourceID Guid being parsed 25 | * 26 | * @retval VOID 27 | **/ 28 | VOID 29 | ParseSourceID ( 30 | IN CONST EFI_GUID *SourceID 31 | ) 32 | { 33 | // For now, just print the guid. Leaving this separate file 34 | // to make extending guid parsing in the future a bit simpler 35 | UnicodeDataToVFR ( 36 | (EFI_STRING_ID)STR_HWH_LOG_SOURCEID_VALUE, 37 | L"%g", 38 | *SourceID 39 | ); 40 | } 41 | -------------------------------------------------------------------------------- /MsWheaPkg/HwhMenu/PlatformIDParser.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | PlatformIDParser.h 3 | 4 | A function for parsing the Platform ID which for now just prints the guid. 5 | Created to more easily implement friendly strings in the future 6 | 7 | Copyright (c) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #ifndef PLATFORM_ID_PARSER_H_ 13 | #define PLATFORM_ID_PARSER_H_ 14 | 15 | /** 16 | * Parses the Platform/Source ID 17 | * 18 | * @param[in] EFI_GUID *SourceID Guid being parsed 19 | * 20 | * @retval VOID 21 | **/ 22 | VOID 23 | ParseSourceID ( 24 | IN CONST EFI_GUID *SourceID 25 | ); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /MsWheaPkg/HwhMenu/hwh_menu_mu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/MsWheaPkg/HwhMenu/hwh_menu_mu.gif -------------------------------------------------------------------------------- /MsWheaPkg/Include/Guid/HwhMenuGuid.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | HwhMenuGuid.h 3 | 4 | This file defines the Hardware Health formset guid and page ID. 5 | 6 | Copyright (c) Microsoft Corporation. 7 | SPDX-License-Identifier: BSD-2-Clause-Patent 8 | **/ 9 | 10 | #ifndef __HWH_MENU_FORMSET_GUID_H__ 11 | #define __HWH_MENU_FORMSET_GUID_H__ 12 | 13 | // 3b82383d-7add-4c6a-ad2b719b8d7b77c9 14 | #define HWH_MENU_FORMSET_GUID \ 15 | { \ 16 | 0x3b82383d, 0x7add, 0x4c6a, {0xad, 0x2b, 0x71, 0x9b, 0x8d, 0x7b, 0x77, 0xc9} \ 17 | } 18 | 19 | #define HWH_MENU_FORM_ID 0x3000 20 | 21 | extern EFI_GUID gHwhMenuFormsetGuid; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /MsWheaPkg/Include/Library/CheckHwErrRecHeaderLib.h: -------------------------------------------------------------------------------- 1 | /**@file CheckHwErrRecHeaderLib.h 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | **/ 6 | 7 | #ifndef CHECK_HW_ERR_REC_HEADER_LIB_H_ 8 | #define CHECK_HW_ERR_REC_HEADER_LIB_H_ 9 | 10 | /** 11 | * Checks that all length and offset fields within the HWErrRec fall within the bounds of 12 | * the buffer, all section data is accounted for in their respective section headers, and that 13 | * all section data is contiguous 14 | * 15 | * @param[in] Err - Pointer to HWErr record being checked 16 | * @param[in] Size - Size obtained from calling GetVariable() to obtain the record 17 | * 18 | * @retval BOOLEAN - TRUE if all length and offsets are safe 19 | * FALSE otherwise 20 | **/ 21 | BOOLEAN 22 | EFIAPI 23 | ValidateCperHeader ( 24 | IN CONST EFI_COMMON_ERROR_RECORD_HEADER *Err, 25 | IN CONST UINTN Size 26 | ); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /MsWheaPkg/Include/MsWheaErrorStatus.h: -------------------------------------------------------------------------------- 1 | /** @file -- MsWheaErrorStatus.h 2 | 3 | This header file defines MsWheaReport expected/applied invocation components. 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef __MS_WHEA_ERROR_STATUS__ 11 | #define __MS_WHEA_ERROR_STATUS__ 12 | 13 | #define MS_WHEA_EARLY_STORAGE_SUBCLASS \ 14 | 0x00CA0000 15 | 16 | #define MS_WHEA_ERROR_EARLY_STORAGE_STORE_FULL \ 17 | (EFI_SOFTWARE | MS_WHEA_EARLY_STORAGE_SUBCLASS | EFI_SW_EC_EVENT_LOG_FULL) 18 | 19 | /** 20 | 21 | Microsoft WHEA accepted error status type, other types will be ignored 22 | 23 | **/ 24 | #define MS_WHEA_ERROR_STATUS_TYPE_INFO (EFI_ERROR_MINOR | EFI_ERROR_CODE) 25 | #define MS_WHEA_ERROR_STATUS_TYPE_FATAL (EFI_ERROR_MAJOR | EFI_ERROR_CODE) 26 | 27 | #endif // __MS_WHEA_ERROR_STATUS__ 28 | -------------------------------------------------------------------------------- /MsWheaPkg/Library/CheckHwErrRecHeaderLib/CheckHwErrRecHeaderLib.inf: -------------------------------------------------------------------------------- 1 | ## @file CheckHwErrRecHeaderLib.inf 2 | # 3 | # Copyright (C) Microsoft Corporation. All rights reserved. 4 | # SPDX-License-Identifier: BSD-2-Clause-Patent 5 | # 6 | ## 7 | 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010017 11 | BASE_NAME = CheckHwErrRecHeaderLib 12 | FILE_GUID = 52260ec4-ba41-4c02-a1b6-1b205f7431eb 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = DXE_DRIVER 15 | LIBRARY_CLASS = CheckHwErrRecHeaderLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 21 | # 22 | 23 | [Sources] 24 | CheckHwErrRecHeaderLib.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MsWheaPkg/MsWheaPkg.dec 29 | 30 | [LibraryClasses] 31 | DebugLib 32 | SafeIntLib 33 | 34 | [Depex] 35 | TRUE 36 | -------------------------------------------------------------------------------- /MsWheaPkg/Library/ParserRegistryLib/ParserRegistryLib.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # ParserRegistryLib.inf 3 | # 4 | # Holds a table which associates a guid with a function. When ParserLibRegisterSectionParser 5 | # is called, a guid and function are put into the table. And when ParserLibFindSectionParser 6 | # is called, the input guid is used to return an associated function (if one exists) 7 | # 8 | ## 9 | # Copyright (c) Microsoft Corporation. All rights reserved. 10 | # SPDX-License-Identifier: BSD-2-Clause-Patent 11 | ## 12 | 13 | [Defines] 14 | INF_VERSION = 0x00010006 15 | BASE_NAME = ParserRegistryLib 16 | FILE_GUID = 2B04327D-134B-4F53-B185-473742E43A57 17 | VERSION_STRING = 1.0 18 | MODULE_TYPE = DXE_DRIVER 19 | LIBRARY_CLASS = ParserRegistryLib 20 | 21 | [Sources] 22 | ParserRegistryLib.c 23 | 24 | [Packages] 25 | MsWheaPkg/MsWheaPkg.dec 26 | MdePkg/MdePkg.dec 27 | 28 | [LibraryClasses] 29 | BaseLib 30 | BaseMemoryLib 31 | DebugLib 32 | MemoryAllocationLib 33 | 34 | 35 | -------------------------------------------------------------------------------- /MsWheaPkg/Library/ParserRegistryLib/readme.md: -------------------------------------------------------------------------------- 1 | # ParserRegistryLib 2 | 3 | ## About 4 | 5 | Holds a table which associates guids with function pointers used for parsing section data. 6 | If an entity wishes to parse a section type in a specific way, they simply need to call the register 7 | function using a the section type guid and function pointer. When HwhMenu.c tries to parse 8 | section data, it will look through all guids and return a function pointer if one matches. 9 | The functions being registered must adhere to the SECTIONFUNCTIONPTR type located in 10 | ParserRegistryLib.h. 11 | 12 | ## Copyright 13 | 14 | Copyright (C) Microsoft Corporation. All rights reserved. 15 | 16 | SPDX-License-Identifier: BSD-2-Clause-Patent 17 | -------------------------------------------------------------------------------- /MsWheaPkg/MsWheaReport/Smm/MsWheaReportMm.h: -------------------------------------------------------------------------------- 1 | /** @file -- MsWheaReportMm.h 2 | 3 | Internal header file for MsWheaReport drivers under MM environment. 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _MS_WHEA_REPORT_MM_H_ 11 | #define _MS_WHEA_REPORT_MM_H_ 12 | 13 | /** 14 | Common entry to MsWheaReportMm, register RSC handler and callback functions 15 | 16 | @retval Status From internal routine or boot object, should not fail 17 | **/ 18 | EFI_STATUS 19 | EFIAPI 20 | MsWheaReportCommonEntry ( 21 | VOID 22 | ); 23 | 24 | #endif // _MS_WHEA_REPORT_MM_H_ 25 | -------------------------------------------------------------------------------- /MsWheaPkg/Test/UnitTests/Library/LibraryClass/CheckHwErrRecHeaderTestApp.inf: -------------------------------------------------------------------------------- 1 | ## @file CheckHwErrRecHeaderTestApp.inf 2 | # 3 | # The CheckHwErrRecHeaderLib test application 4 | # 5 | # Copyright (C) Microsoft Corporation. All rights reserved. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010006 12 | BASE_NAME = CheckHwErrRecHeaderTestApp 13 | FILE_GUID = df5a6fad-8786-4a9d-9d02-eab39497b4a1 14 | MODULE_TYPE = UEFI_APPLICATION 15 | VERSION_STRING = 1.0 16 | ENTRY_POINT = CheckHwErrRecHeaderTestsEntry 17 | 18 | [Sources] 19 | CheckHwErrRecHeaderTestApp.c 20 | 21 | [Packages] 22 | MdePkg/MdePkg.dec 23 | MsWheaPkg/MsWheaPkg.dec 24 | 25 | [LibraryClasses] 26 | BaseLib 27 | BaseMemoryLib 28 | UefiApplicationEntryPoint 29 | DebugLib 30 | UnitTestLib 31 | PrintLib 32 | CheckHwErrRecHeaderLib 33 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Guid/MsBootMenuGuid.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This file defines the Boot Manager formset guid and page ID * 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __MS_BOOT_MENU_FORMSET_GUID_H__ 10 | #define __MS_BOOT_MENU_FORMSET_GUID_H__ 11 | 12 | #define MS_BOOT_MENU_FORMSET_GUID \ 13 | { \ 14 | 0x4123defc, 0x3eb8, 0x433c, {0x89, 0x19, 0x12, 0x79, 0x00, 0xcc, 0x26, 0x0f } \ 15 | } 16 | 17 | #define MS_BOOT_ORDER_FORM_ID 0x1000 18 | 19 | extern EFI_GUID gMsBootMenuFormsetGuid; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Guid/MsNetworkCtlGuid.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This file defines the Network Control guids 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __MS_NETWORK_CTL_GUID_H__ 10 | #define __MS_NETWORK_CTL_GUID_H__ 11 | 12 | extern EFI_GUID gMsNetworkDelayProtocolGuid; 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Library/ConsoleMsgLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Library to display the platform specific debug messages on the display 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __CONSOLE_MSG_LIB__ 10 | #define __CONSOLE_MSG_LIB__ 11 | 12 | /** 13 | Display the platform specific debug messages 14 | **/ 15 | VOID 16 | EFIAPI 17 | ConsoleMsgLibDisplaySystemInfoOnConsole ( 18 | VOID 19 | ); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Library/GraphicsConsoleHelperLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | This Graphics Console Helper Lib provides a method 3 | for the BDS to change the graphics console/resolution 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef _GRAPHICS_CONSOLE_HELPER_LIB_H_ 11 | #define _GRAPHICS_CONSOLE_HELPER_LIB_H_ 12 | 13 | typedef UINT8 GRAPHICS_CONSOLE_MODE; 14 | 15 | #define GCM_LOW_RES (1) 16 | #define GCM_NATIVE_RES (2) 17 | 18 | EFI_STATUS 19 | EFIAPI 20 | SetGraphicsConsoleMode ( 21 | GRAPHICS_CONSOLE_MODE Mode 22 | ); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Library/MsAltBootLib.h: -------------------------------------------------------------------------------- 1 | /**@file Library to interface with alternate boot variable 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | **/ 7 | 8 | #ifndef __MS_ALT_BOOT_LIB__ 9 | #define __MS_ALT_BOOT_LIB__ 10 | 11 | /** 12 | Clears the Alternate boot flag 13 | **/ 14 | VOID 15 | EFIAPI 16 | ClearAltBoot ( 17 | VOID 18 | ); 19 | 20 | /** 21 | Set the Alternate boot flag 22 | 23 | @retval EFI_SUCCESS Set AltBoot successfully 24 | @retval !EFI_SUCCESS Failed to set AltBoot 25 | **/ 26 | EFI_STATUS 27 | EFIAPI 28 | SetAltBoot ( 29 | VOID 30 | ); 31 | 32 | #endif //__MS_ALT_BOOT_LIB__ 33 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Library/MsNetworkDependencyLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Functions used to start the network for required drivers 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __NETWORK_DEPENDENCY_LIB__ 10 | #define __NETWORK_DEPENDENCY_LIB__ 11 | 12 | /** 13 | Library function used to enable the network stack 14 | **/ 15 | EFI_STATUS 16 | EFIAPI 17 | StartNetworking ( 18 | ); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /PcBdsPkg/Include/Library/MsPlatformPowerCheckLib.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | Library interface allowing Platform code to configure CPU Power Limits 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #ifndef __MS_PLATFORM_POWER_CHECK_LIB_H__ 10 | #define __MS_PLATFORM_POWER_CHECK_LIB_H__ 11 | 12 | /** 13 | Set CPU power limits based on Internal Battery RSoC 14 | 15 | **/ 16 | VOID 17 | EFIAPI 18 | PlatformPowerLevelCheck ( 19 | ); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/BootManagerSettingsDxeLibNull/BootManagerSettingsDxeLibNull.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | *DeviceBootManager - Ms Device specific extensions to BdsDxe. 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #include 10 | 11 | #include 12 | 13 | /** 14 | Function to Get a Boot Manager Setting. 15 | If the setting has not be previously set this function will return the default. However it will 16 | not cause the default to be set. 17 | 18 | @param Id: The BootManagerSettingId for the setting 19 | @param Value: Ptr to a boolean value for the setting to be returned. Enabled = True, Disabled = False 20 | 21 | 22 | @retval: Success - Setting was returned in Value 23 | @retval: EFI_ERROR. Settings was not returned in Value. 24 | **/ 25 | EFI_STATUS 26 | EFIAPI 27 | GetBootManagerSetting ( 28 | IN DFCI_SETTING_ID_STRING Id, 29 | OUT BOOLEAN *Value 30 | ) 31 | { 32 | return EFI_NOT_FOUND; 33 | } 34 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/BootManagerSettingsDxeLibNull/BootManagerSettingsDxeLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # BootManagerSettingsLib - PcBds NULL BootManagerSettingsLib. 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | EDK_RELEASE_VERSION = 0x00020000 10 | INF_VERSION = 1.27 11 | BASE_NAME = BootManagerSettingsDxeLibNull 12 | FILE_GUID = 6ac406f9-4979-42a1-b562-b7f7e7843ea6 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = DXE_DRIVER 15 | UEFI_SPECIFICATION_VERSION = 2.90 16 | LIBRARY_CLASS = MsBootManagerSettingsLib|DXE_DRIVER UEFI_APPLICATION UEFI_DRIVER 17 | 18 | [Sources] 19 | BootManagerSettingsDxeLibNull.c 20 | 21 | [Packages] 22 | MdePkg/MdePkg.dec 23 | MdeModulePkg/MdeModulePkg.dec 24 | PcBdsPkg/PcBdsPkg.dec 25 | 26 | [LibraryClasses] 27 | DebugLib 28 | 29 | [Depex] 30 | TRUE 31 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/ConsoleMsgLibNull/ConsoleMsgLibNull.c: -------------------------------------------------------------------------------- 1 | /**@file Empty Console Message Library 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | **/ 7 | 8 | #include 9 | #include 10 | 11 | /** 12 | Display the platform specific debug messages 13 | **/ 14 | VOID 15 | EFIAPI 16 | ConsoleMsgLibDisplaySystemInfoOnConsole ( 17 | VOID 18 | ) 19 | { 20 | // Do Nothing 21 | return; 22 | } 23 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/ConsoleMsgLibNull/ConsoleMsgLibNull.inf: -------------------------------------------------------------------------------- 1 | ## 2 | # @file Empty Console Message Library 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = ConsoleMsgLib 11 | FILE_GUID = 7D346383-45E2-43E9-88F9-AA2D006AEBB9 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = ConsoleMsgLib 15 | 16 | # 17 | # The following information is for reference only and not required by the build 18 | # tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 21 | # 22 | 23 | [Sources] 24 | ConsoleMsgLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | PcBdsPkg/PcBdsPkg.dec 29 | 30 | [LibraryClasses] 31 | 32 | [Protocols] 33 | 34 | [Pcd] 35 | 36 | [Depex] 37 | TRUE 38 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/GraphicsConsoleHelperLibNull/GraphicsConsoleHelperLibNull.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | This GraphicsConsoleHelper is only intended to be used by BDS to configure 3 | the console mode / graphic mode 4 | 5 | Null Instance which is just for compiling 6 | 7 | Copyright (C) Microsoft Corporation. All rights reserved. 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #include 13 | #include 14 | 15 | EFI_STATUS 16 | EFIAPI 17 | SetGraphicsConsoleMode ( 18 | GRAPHICS_CONSOLE_MODE Mode 19 | ) 20 | { 21 | return EFI_UNSUPPORTED; 22 | } 23 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/GraphicsConsoleHelperLibNull/GraphicsConsoleHelperLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # GraphicsConsoleHelperLibNull - Null instance for compiling 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | # 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = GraphicsConsoleHelperNull 12 | FILE_GUID = 57038927-e7a2-4e52-94dc-8b3857830ff8 13 | MODULE_TYPE = DXE_DRIVER 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = GraphicsConsoleHelperLib 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 AARCH64 21 | # 22 | 23 | [Sources] 24 | GraphicsConsoleHelperLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | MdeModulePkg/MdeModulePkg.dec 29 | PcBdsPkg/PcBdsPkg.dec 30 | 31 | [LibraryClasses] 32 | 33 | [Protocols] 34 | 35 | [FeaturePcd] 36 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsAltBootLibNull/MsAltBootLibNull.c: -------------------------------------------------------------------------------- 1 | /**@file Library to interface with alternate boot variable 2 | 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | SPDX-License-Identifier: BSD-2-Clause-Patent 5 | 6 | **/ 7 | 8 | #include 9 | 10 | /** 11 | Clears the Alternate boot flag 12 | **/ 13 | VOID 14 | EFIAPI 15 | ClearAltBoot ( 16 | VOID 17 | ) 18 | { 19 | return; 20 | } 21 | 22 | /** 23 | Set the Alternate boot flag 24 | 25 | @retval EFI_SUCCESS Set AltBoot successfully 26 | @retval !EFI_SUCCESS Failed to set AltBoot 27 | **/ 28 | EFI_STATUS 29 | EFIAPI 30 | SetAltBoot ( 31 | VOID 32 | ) 33 | { 34 | return EFI_SUCCESS; 35 | } 36 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsAltBootLibNull/MsAltBootLibNull.inf: -------------------------------------------------------------------------------- 1 | ## 2 | # @file Library to interface with alternate boot variable 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsAltBootLib 11 | FILE_GUID = 10a000e1-2eb2-4fd4-99ac-b98d1867b924 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsAltBootLib 15 | 16 | # 17 | # The following information is for reference only and not required by the build 18 | # tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 21 | # 22 | 23 | [Sources] 24 | MsAltBootLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | PcBdsPkg/PcBdsPkg.dec 29 | 30 | [LibraryClasses] 31 | 32 | [Protocols] 33 | 34 | [Guids] 35 | 36 | [Pcd] 37 | 38 | [Depex] 39 | TRUE 40 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsAltBootLibNull/MsAltBootVariables.h: -------------------------------------------------------------------------------- 1 | /*++ @file 2 | 3 | This file defines the variables used by the USB and PXE Boot Detection feature. 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #ifndef __MS_ALT_BOOT_VARIABLES_INC__ 11 | #define __MS_ALT_BOOT_VARIABLES_INC__ 12 | 13 | /** 14 | This variable is a flag to track whether or not a system has been 15 | booted from USB or PXE 16 | **/ 17 | #define kszAltBootFlagVariableName (L"AltBootFlag") 18 | 19 | /** 20 | Namespace GUID for the Boot Type Tracking feature. 21 | {26D75FF0-D5CD-49EC-8092-F8EC4D18EF33} 22 | **/ 23 | extern EFI_GUID gAltBootGuid; 24 | 25 | #endif // __MS_ALT_BOOT_VARIABLES_INC__ 26 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsBootPolicyLibNull/MsBootPolicyLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null Power Services Library class to support Platforms that dont have battery 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsBootPolicyLibNull 11 | FILE_GUID = 8532FF36-7788-4BDF-B7F7-1865927273CF 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsBootPolicyLib|DXE_DRIVER UEFI_APPLICATION 15 | 16 | # 17 | # The following information is for reference only and not required by the build tools. 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 IPF EBC 20 | # 21 | 22 | [Sources] 23 | MsBootPolicyLib.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | PcBdsPkg/PcBdsPkg.dec 28 | MsCorePkg/MsCorePkg.dec 29 | MdeModulePkg/MdeModulePkg.dec 30 | 31 | [LibraryClasses] 32 | MsPlatformDevicesLib 33 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsNVBootReasonLibNull/MsNVBootReasonLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null Power Services Library class to support Platforms that dont have battery 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsNVBootReasonLib 11 | FILE_GUID = 9ab7d76f-2683-4a1c-af85-70ab5b165f08 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsNVBootReasonLib|DXE_DRIVER UEFI_APPLICATION 15 | 16 | # 17 | # The following information is for reference only and not required by the build tools. 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 IPF EBC 20 | # 21 | 22 | [Sources] 23 | MsNVBootReasonLibNull.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | PcBdsPkg/PcBdsPkg.dec 28 | 29 | [LibraryClasses] 30 | 31 | [Protocols] 32 | 33 | [Guids] 34 | 35 | [Pcd] 36 | 37 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsNetworkDelayLib/MsNetworkDelayLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | *MsNetworkDelayLib. Use this library as a NULL library attached to 3 | SnpDxe to prevent the network from starting if you are dependent on the network stack. 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | **/ 9 | 10 | #include 11 | #include 12 | 13 | /** 14 | MsNetworkDelay Constructor 15 | */ 16 | EFI_STATUS 17 | EFIAPI 18 | MsNetworkDelayLibConstructor ( 19 | IN EFI_HANDLE ImageHandle, 20 | IN EFI_SYSTEM_TABLE *SystemTable 21 | ) 22 | { 23 | DEBUG ((DEBUG_INFO, "%a: Network Delay satisfied\n", __FUNCTION__)); 24 | return EFI_SUCCESS; 25 | } 26 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsPlatformDevicesLibNull/MsPlatformDevicesLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Empty Ms Platform Devices Library 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsPlatformDevicesLib 11 | FILE_GUID = 2FDF4E63-5AD5-4385-A729-868019B45A91 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsPlatformDevicesLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION 15 | 16 | # 17 | # VALID_ARCHITECTURES = IA32 X64 18 | # 19 | 20 | [Sources] 21 | MsPlatformDevicesLibNull.c 22 | 23 | [Packages] 24 | MdePkg/MdePkg.dec 25 | PcBdsPkg/PcBdsPkg.dec 26 | MsCorePkg/MsCorePkg.dec 27 | MdeModulePkg/MdeModulePkg.dec 28 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsPlatformPowerCheckLibNull/MsPlatformPowerCheckLibNull.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | *Empty Platform Library of power check. 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #include 10 | #include 11 | 12 | /** 13 | Set CPU power limits based on Internal Battery RSoC 14 | 15 | **/ 16 | VOID 17 | EFIAPI 18 | PlatformPowerLevelCheck ( 19 | VOID 20 | ) 21 | { 22 | return; 23 | } 24 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MsPlatformPowerCheckLibNull/MsPlatformPowerCheckLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Empty Platform Library of power check. 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MsPlatformPowerCheckLib 11 | FILE_GUID = 673D8757-AE03-4875-84FF-BB70E59D956A 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MsPlatformPowerCheckLib 15 | 16 | # 17 | # VALID_ARCHITECTURES = IA32 X64 18 | # 19 | 20 | [Sources] 21 | MsPlatformPowerCheckLibNull.c 22 | 23 | [Packages] 24 | MdePkg/MdePkg.dec 25 | PcBdsPkg/PcBdsPkg.dec 26 | 27 | [LibraryClasses] 28 | 29 | [Protocols] 30 | 31 | [Guids] 32 | 33 | 34 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/MuUefiVersionLibNull/MuUefiVersionLibNull.inf: -------------------------------------------------------------------------------- 1 | ## 2 | # @file Empty library to provide platform version information 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = MuUefiVersionLib 11 | FILE_GUID = 81a4bd4d-d368-4740-ab10-9525dcc1c2dc 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = MuUefiVersionLib 15 | 16 | # 17 | # The following information is for reference only and not required by the build 18 | # tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 21 | # 22 | 23 | [Sources] 24 | MuUefiVersionLibNull.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | PcBdsPkg/PcBdsPkg.dec 29 | 30 | [LibraryClasses] 31 | 32 | [Protocols] 33 | 34 | [Pcd] 35 | 36 | [Depex] 37 | TRUE 38 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/PowerServicesLibNull/PowerServicesLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | Null Power Services library class to support Platforms that dont have battery 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #include 10 | 11 | EFI_STATUS 12 | EFIAPI 13 | SystemPowerCheck ( 14 | IN POWER_CASE Case, 15 | OUT BOOLEAN *Good 16 | ) 17 | { 18 | // For Platforms that do not have battery, always return EFI_SUCCESS 19 | *Good = TRUE; 20 | 21 | return EFI_SUCCESS; 22 | } 23 | 24 | EFI_STATUS 25 | EFIAPI 26 | SystemPowerMitigate ( 27 | IN POWER_CASE Case 28 | ) 29 | { 30 | // For Platforms that do not have battery, should never be called 31 | // (See SystemPowerCheck above), so return unsupported. 32 | 33 | return EFI_UNSUPPORTED; 34 | } 35 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/PowerServicesLibNull/PowerServicesLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null Power Services Library class to support Platforms that dont have battery 3 | # 4 | # Copyright (C) Microsoft Corporation. All rights reserved. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | [Defines] 9 | INF_VERSION = 0x00010005 10 | BASE_NAME = PowerServicesLibNull 11 | FILE_GUID = 288AC8FF-0670-49e4-BB57-6A16F89D0C5A 12 | MODULE_TYPE = DXE_DRIVER 13 | VERSION_STRING = 1.0 14 | LIBRARY_CLASS = PowerServicesLib|DXE_DRIVER 15 | 16 | # 17 | # The following information is for reference only and not required by the build tools. 18 | # 19 | # VALID_ARCHITECTURES = IA32 X64 IPF EBC 20 | # 21 | 22 | [Sources] 23 | PowerServicesLib.c 24 | 25 | [Packages] 26 | MdePkg/MdePkg.dec 27 | PcBdsPkg/PcBdsPkg.dec 28 | 29 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/ThermalServicesLibNull/ThermalServicesLib.c: -------------------------------------------------------------------------------- 1 | /** @file 2 | This is the platform specific implementation of the Thermal Services Library 3 | 4 | Copyright (C) Microsoft Corporation. All rights reserved. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #include 10 | 11 | EFI_STATUS 12 | EFIAPI 13 | SystemThermalCheck ( 14 | IN THERMAL_CASE Case, 15 | OUT BOOLEAN *Good 16 | ) 17 | { 18 | // return TRUE always, which means mitigation will never be invoked. 19 | *Good = TRUE; 20 | return EFI_SUCCESS; 21 | } 22 | 23 | EFI_STATUS 24 | EFIAPI 25 | SystemThermalMitigate ( 26 | IN THERMAL_CASE Case, 27 | IN UINT32 TimeoutPeriod 28 | ) 29 | { 30 | // Should never be called because SystemThermalCheck always returns TRUE, so return Unsupported 31 | return EFI_UNSUPPORTED; 32 | } 33 | -------------------------------------------------------------------------------- /PcBdsPkg/Library/ThermalServicesLibNull/ThermalServicesLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # This is the Thermal Services Library that encapsulates the platform specific 3 | # thermal information. 4 | # 5 | # Copyright (C) Microsoft Corporation. All rights reserved. 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 0x00010005 11 | BASE_NAME = ThermalServicesLibNull 12 | FILE_GUID = FB697F5D-A9FA-407D-A99F-6078CB618E2C 13 | MODULE_TYPE = DXE_DRIVER 14 | VERSION_STRING = 1.0 15 | LIBRARY_CLASS = ThermalServicesLib|DXE_DRIVER 16 | 17 | # 18 | # The following information is for reference only and not required by the build tools. 19 | # 20 | # VALID_ARCHITECTURES = IA32 X64 IPF EBC 21 | # 22 | 23 | [Sources] 24 | ThermalServicesLib.c 25 | 26 | [Packages] 27 | MdePkg/MdePkg.dec 28 | PcBdsPkg/PcBdsPkg.dec 29 | 30 | [LibraryClasses] 31 | 32 | [Guids] 33 | 34 | 35 | [Protocols] 36 | 37 | [Depex] 38 | 39 | -------------------------------------------------------------------------------- /TpmTestingPkg/Library/BaseFvMeasurementExclusionLibNull/BaseFvMeasurementExclusionLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Firmware Volume Measurement NULL library instance. 3 | # 4 | # Copyright (c) Microsoft Corporation. 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | # 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010005 12 | BASE_NAME = BaseFvMeasurementExclusionLibNull 13 | FILE_GUID = 104D6CF7-B500-44A5-8EC6-4055FE6A0F8F 14 | MODULE_TYPE = BASE 15 | VERSION_STRING = 1.0 16 | LIBRARY_CLASS = FvMeasurementExclusionLib 17 | 18 | # 19 | # The following information is for reference only and not required by the build tools. 20 | # 21 | # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 22 | # 23 | 24 | [Packages] 25 | MdePkg/MdePkg.dec 26 | SecurityPkg/SecurityPkg.dec 27 | TpmTestingPkg/TpmTestingPkg.dec 28 | 29 | [Sources] 30 | BaseFvMeasurementExclusionLibNull.c 31 | -------------------------------------------------------------------------------- /TpmTestingPkg/Library/BaseInputChannelLibNull/BaseInputChannelLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # A null instance of the Input Channel Library. 3 | # 4 | # Copyright (c) Microsoft Corporation. 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause-Patent 7 | # 8 | ## 9 | 10 | [Defines] 11 | INF_VERSION = 0x00010005 12 | BASE_NAME = BaseInputChannelLibNull 13 | FILE_GUID = F35B1671-08BC-4231-9CEB-A08E809E32FF 14 | MODULE_TYPE = BASE 15 | VERSION_STRING = 1.0 16 | LIBRARY_CLASS = InputChannelLib 17 | 18 | [Packages] 19 | MdePkg/MdePkg.dec 20 | SecurityPkg/SecurityPkg.dec 21 | TpmTestingPkg/TpmTestingPkg.dec 22 | 23 | [Sources] 24 | BaseInputChannelLibNull.c 25 | -------------------------------------------------------------------------------- /TpmTestingPkg/Overrides/Tcg2Dxe/Tcg2Dxe.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Produces TCG2 protocol and measure boot environment 3 | // 4 | // This module will produce TCG2 protocol and measure boot environment. 5 | // 6 | // Caution: This module requires additional review when modified. 7 | // This driver will have external input - PE/COFF image. 8 | // This external input must be validated carefully to avoid security issue like 9 | // buffer overflow, integer overflow. 10 | // 11 | // Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
12 | // 13 | // SPDX-License-Identifier: BSD-2-Clause-Patent 14 | // 15 | // **/ 16 | 17 | 18 | #string STR_MODULE_ABSTRACT #language en-US "Produces TCG2 protocol and measure boot environment" 19 | 20 | #string STR_MODULE_DESCRIPTION #language en-US "This module will produce TCG2 protocol and measure boot environment." 21 | 22 | -------------------------------------------------------------------------------- /TpmTestingPkg/Overrides/Tcg2Dxe/Tcg2DxeExtra.uni: -------------------------------------------------------------------------------- 1 | // /** @file 2 | // Tcg2Dxe Localized Strings and Content 3 | // 4 | // Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
5 | // 6 | // SPDX-License-Identifier: BSD-2-Clause-Patent 7 | // 8 | // **/ 9 | 10 | #string STR_PROPERTIES_MODULE_NAME 11 | #language en-US 12 | "TCG2 (Trusted Computing Group) DXE" 13 | -------------------------------------------------------------------------------- /TpmTestingPkg/TpmReplay.dsc.inc: -------------------------------------------------------------------------------- 1 | ## @file 2 | # DSC Include File for TpmTestingPkg 3 | # 4 | # This file contains recommended settings when using this feature. A platform 5 | # may directly include this file or use it as a reference when integrating the 6 | # TPM Replay feature. 7 | # 8 | # Copyright (C) Microsoft Corporation. 9 | # 10 | # SPDX-License-Identifier: BSD-2-Clause-Patent 11 | # 12 | ## 13 | 14 | [PcdsFixedAtBuild] 15 | # Always skip TCG ACPI measurements when this feature is enabled 16 | gEfiSecurityPkgTokenSpaceGuid.PcdSkipTcgSmmAcpiMeasurements|TRUE 17 | 18 | # Do not measure the default S-CRTM version in PEI 19 | gEfiSecurityPkgTokenSpaceGuid.PcdTpm2ScrtmPolicy|0 20 | -------------------------------------------------------------------------------- /TpmTestingPkg/TpmReplayPei/Pei/TpmReplayPeiPlatformFvExclusion.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | TPM Replay FV Exclusion - Module-Wide Header File 3 | 4 | Generic APIs and definitions shared across the module. 5 | 6 | Copyright (c) Microsoft Corporation. 7 | 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #ifndef TPM_REPLAY_PEI_PLATFORM_FV_EXCLUSION_H_ 13 | #define TPM_REPLAY_PEI_PLATFORM_FV_EXCLUSION_H_ 14 | 15 | #include 16 | 17 | /** 18 | Registers the platform-selected firmware volumes for measurement exclusion. 19 | 20 | @retval EFI_SUCCESS The exclusions were registered successfully. 21 | @retval EFI_OUT_OF_RESOURCES Insufficient memory resources to allocate a necessary buffer. 22 | @retval Others An error occurred preventing the excluded FVs from being 23 | return successfully. 24 | 25 | **/ 26 | EFI_STATUS 27 | InstallPlatformFvExclusions ( 28 | VOID 29 | ); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /TpmTestingPkg/TpmReplayPei/TpmReplayTcgRegs.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | TPM Replay - TCG Definitions 3 | 4 | Definitions needed for TCG operations within the module. 5 | 6 | Copyright (c) Microsoft Corporation. 7 | 8 | SPDX-License-Identifier: BSD-2-Clause-Patent 9 | 10 | **/ 11 | 12 | #ifndef TPM_REPLAY_TCG_REGS_H_ 13 | #define TPM_REPLAY_TCG_REGS_H_ 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /TpmTestingPkg/TpmReplayPei/img/tcg_pcclientpcrevent_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/TpmTestingPkg/TpmReplayPei/img/tcg_pcclientpcrevent_structure.png -------------------------------------------------------------------------------- /TpmTestingPkg/TpmReplayPei/img/tcg_pcr_event2_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/mu_plus/27efac49fb3a76cdc32b65a6c24b0ec488ae52f5/TpmTestingPkg/TpmReplayPei/img/tcg_pcr_event2_structure.png -------------------------------------------------------------------------------- /UefiTestingPkg/AuditTests/DMAProtectionAudit/UEFI/README.md: -------------------------------------------------------------------------------- 1 | # DMAR Table Audit 2 | 3 | ## Copyright 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | ## About 9 | 10 | `DMAProtectionUnitTestApp.c` 11 | 12 | Shell based UEFI unit test based off of the UnitTestFrameworkPkg that test for: 13 | 14 | 1. IOMMU status register shows IOMMU enabled 15 | 2. All excluded regions are set as EfiReservedMemoryType(VTd)/EfiACPIMemoryNVS(IVRS) 16 | 3. Bus mastering enabled (BME) is disabled on ExitBootServices. Because we can no longer write to file after ExitBootServices 17 | a variable is used to store the test state and the machine. 18 | 19 | Note: this unit test requires a restart to finish its testing. If you plan to use this unit test in automation make sure 20 | to set up your startup.nsh script properly. 21 | -------------------------------------------------------------------------------- /UefiTestingPkg/AuditTests/DMAProtectionAudit/Windows/Readme.md: -------------------------------------------------------------------------------- 1 | # DMAR Table Audit 2 | 3 | ## Copyright 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | ## About 9 | 10 | `DMARTableAudit.py` 11 | 12 | Unit test that checks: 13 | 14 | 1. DMA remapping bit is enabled 15 | 2. No ANDD structures are included in DMAR table 16 | 3. RMRRs are limited to only the RMRRs specified in provided XML file (if no XML provided then verify no RMRRs exist) 17 | 18 | Software Requirements 19 | 20 | 1. Python3 21 | 2. Pywin32 22 | * `pip install Pywin32` 23 | 3. Project Mu python library 24 | * `pip install mu-python-library` 25 | -------------------------------------------------------------------------------- /UefiTestingPkg/AuditTests/PagingAudit/Windows/Globals.py: -------------------------------------------------------------------------------- 1 | # Global variables for the paging report generator scripts 2 | # 3 | # Copyright (C) Microsoft Corporation. All rights reserved. 4 | # SPDX-License-Identifier: BSD-2-Clause-Patent 5 | ## 6 | 7 | ParsingArchitecture = "" 8 | ExecutionLevel = "" 9 | Phase = "" 10 | Bitwidth = 0 11 | MemoryAttributeProtocolPresent = "" -------------------------------------------------------------------------------- /UefiTestingPkg/AuditTests/TpmEventLogAudit/TpmEventLogAuditTestApp.inf: -------------------------------------------------------------------------------- 1 | ## 2 | # Copyright (C) Microsoft Corporation. All rights reserved. 3 | # SPDX-License-Identifier: BSD-2-Clause-Patent 4 | ## 5 | 6 | [Defines] 7 | INF_VERSION = 0x00010006 8 | BASE_NAME = TpmEventLogAuditTestApp 9 | FILE_GUID = 7CD1FBCA-1381-48AB-B0BA-C3C66811C0DD 10 | MODULE_TYPE = UEFI_APPLICATION 11 | VERSION_STRING = 1.0 12 | ENTRY_POINT = UefiTestApp 13 | 14 | [Sources] 15 | TpmEventLogAudit.c 16 | TpmEventLogXml.c 17 | TpmEventLogXml.h 18 | 19 | [Packages] 20 | MdePkg/MdePkg.dec 21 | ShellPkg/ShellPkg.dec 22 | SecurityPkg/SecurityPkg.dec 23 | XmlSupportPkg/XmlSupportPkg.dec 24 | 25 | [LibraryClasses] 26 | BaseLib 27 | UefiApplicationEntryPoint 28 | DebugLib 29 | ShellLib 30 | UefiBootServicesTableLib 31 | BaseMemoryLib 32 | Tpm2CommandLib 33 | XmlTreeLib 34 | XmlTreeQueryLib 35 | 36 | [Protocols] 37 | gEfiTcg2ProtocolGuid 38 | -------------------------------------------------------------------------------- /UefiTestingPkg/FunctionalSystemTests/MemoryAttributeProtocolFuncTestApp/PageSplitTest.c: -------------------------------------------------------------------------------- 1 | /** @file PageSplitTest.c 2 | TCBZ3519 3 | Functionality to support MemoryAttributeProtocolFuncTestApp.c 4 | 5 | Copyright (c) Microsoft Corporation. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | ***/ 8 | 9 | #include "MemoryAttributeProtocolFuncTestApp.h" 10 | 11 | /** 12 | Get an un-split page table entry and allocate entire region so the page 13 | doesn't need to be split on allocation 14 | 15 | @param[out] Address Address of allocated 2MB page region 16 | **/ 17 | EFI_STATUS 18 | EFIAPI 19 | GetUnsplitPageTableEntry ( 20 | OUT EFI_PHYSICAL_ADDRESS *Address 21 | ) 22 | { 23 | return EFI_UNSUPPORTED; 24 | } 25 | 26 | /** 27 | Check if the 2MB page entry correlating with the input address 28 | is set to no-execute 29 | 30 | @param[in] Address Address of the page table entry 31 | **/ 32 | UINT64 33 | EFIAPI 34 | GetSpitPageTableEntryNoExecute ( 35 | IN PHYSICAL_ADDRESS Address 36 | ) 37 | { 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /UefiTestingPkg/FunctionalSystemTests/MpManagement/Readme.md: -------------------------------------------------------------------------------- 1 | # MP Management Tests 2 | 3 | ## Copyright 4 | 5 | Copyright (C) Microsoft Corporation. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | ## About This Test 9 | 10 | This is set of functionality and unit tests to ensure that individual cores can be powered on/off and suspended/resumed 11 | as expected. 12 | 13 | It consists of: 14 | 15 | - An DXE driver 16 | - A Shell-based test app 17 | 18 | The Shell-based app may be built at any time and run from Shell. The app can use the DXE driver installed protocol to 19 | preform AP power state exercise if the DXE driver is properly installed. 20 | 21 | It is not the intention of this test to include the driver in production systems. They should only be used for purpose-built 22 | test images. 23 | -------------------------------------------------------------------------------- /UefiTestingPkg/FunctionalSystemTests/SmmPagingProtectionsTest/Readme.md: -------------------------------------------------------------------------------- 1 | # SMM Paging Protections Test 2 | 3 | ## Copyright 4 | 5 | Copyright (C) Microsoft Corporation. All rights reserved. 6 | SPDX-License-Identifier: BSD-2-Clause-Patent 7 | 8 | ## About This Test 9 | 10 | This is a [currently] small test to prove that certain SMM paging protections have been applied. 11 | 12 | It consists of: 13 | 14 | - An SMM driver 15 | - A DXE driver 16 | - A Shell-based test app 17 | 18 | In order to use this test, the SMM and DXE drivers must be built and included in your FW image to be dispatched at boot time. 19 | The Shell-based app may be built at any time and run from Shell. The app will ask the DXE driver to pass a message to the 20 | SMM driver to invoke a particular test. 21 | 22 | It is not the intention of this test to include the two drivers in production systems. They should only be used for purpose-built 23 | test images. 24 | -------------------------------------------------------------------------------- /UefiTestingPkg/Library/FlatPageTableLib/AArch64/ReadIdMmfr1.asm: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------------------ 2 | ; 3 | ; Copyright (c) Microsoft Corporation. All rights reserved. 4 | ; SPDX-License-Identifier: BSD-2-Clause-Patent 5 | ;------------------------------------------------------------------------------ 6 | 7 | EXPORT Asm_Read_ID_AA64MMFR1_EL1 8 | AREA |.text|, CODE, READONLY 9 | 10 | ;------------------------------------------------------------------------------ 11 | ; Reads the ID_AA64MMFR1_EL1 special register. 12 | ; 13 | ; @retval The UINT64 value of the ID_AA64MMFR1_EL1 special register. 14 | ; 15 | ; UINT64 16 | ; Asm_Read_ID_AA64MMFR1_EL1 ( 17 | ; VOID 18 | ; ); 19 | ;------------------------------------------------------------------------------ 20 | Asm_Read_ID_AA64MMFR1_EL1 21 | MRS X0, ID_AA64MMFR1_EL1 22 | RET 23 | END 24 | -------------------------------------------------------------------------------- /UefiTestingPkg/Library/PlatformSmmProtectionsTestLibNull/PlatformSmmProtectionsTestLibNull.inf: -------------------------------------------------------------------------------- 1 | ## @file 2 | # Null Implementation of PlatformSmmProtectionsTestLib 3 | # 4 | # @copyright 5 | # Copyright (C) 2016 Microsoft Corporation. 6 | # 7 | ## 8 | 9 | [Defines] 10 | INF_VERSION = 1.27 11 | BASE_NAME = PlatformSmmProtectionsTestLibNull 12 | FILE_GUID = 95D58F5C-5A4A-486C-BD73-12901473BEC0 13 | VERSION_STRING = 1.0 14 | MODULE_TYPE = BASE 15 | LIBRARY_CLASS = PlatformSmmProtectionsTestLib 16 | 17 | [LibraryClasses] 18 | 19 | [Packages] 20 | MdePkg/MdePkg.dec 21 | MdeModulePkg/MdeModulePkg.dec 22 | 23 | [Sources] 24 | PlatformSmmProtectionsTestLibNull.c 25 | -------------------------------------------------------------------------------- /UefiTestingPkg/PerfTests/BlockIoPerfTest/BlockIoPerfTest.inf: -------------------------------------------------------------------------------- 1 | ## 2 | # Copyright (C) Microsoft Corporation. All rights reserved. 3 | # SPDX-License-Identifier: BSD-2-Clause-Patent 4 | ## 5 | 6 | [Defines] 7 | INF_VERSION = 0x00010006 8 | BASE_NAME = BlockIoPerfTest 9 | FILE_GUID = af87df79-d69d-4759-a7cb-124115a349cd 10 | MODULE_TYPE = UEFI_APPLICATION 11 | VERSION_STRING = 1.0 12 | ENTRY_POINT = TestMain 13 | 14 | [Sources] 15 | BlockIoPerfTest.c 16 | 17 | [Packages] 18 | MdePkg/MdePkg.dec 19 | ShellPkg/ShellPkg.dec 20 | XmlSupportPkg/XmlSupportPkg.dec 21 | 22 | [LibraryClasses] 23 | BaseLib 24 | UefiApplicationEntryPoint 25 | DebugLib 26 | ShellLib 27 | UefiBootServicesTableLib 28 | BaseMemoryLib 29 | TimerLib 30 | MemoryAllocationLib 31 | UefiLib 32 | DevicePathLib 33 | 34 | [Protocols] 35 | gEfiBlockIoProtocolGuid 36 | gEfiDevicePathProtocolGuid 37 | -------------------------------------------------------------------------------- /XmlSupportPkg/Library/XmlTreeLib/fasterxml/xmlerr.c: -------------------------------------------------------------------------------- 1 | /** 2 | Printing of XML errors. 3 | 4 | Copyright (C) Microsoft Corporation. 5 | SPDX-License-Identifier: BSD-2-Clause-Patent 6 | 7 | **/ 8 | 9 | #include // UEFI base types 10 | #include "fasterxml.h" // XML Engine 11 | #include "xmlerr.h" // XML Errors. 12 | #include "xmlstructure.h" // XML structures 13 | 14 | EFI_STATUS 15 | EFIAPI 16 | RtlXmlReportErrorFunction ( 17 | IN EFI_STATUS Status, 18 | IN UINT32 Line, 19 | IN UINT32 Indicator, 20 | IN_OPT VOID *Context 21 | ) 22 | { 23 | // 24 | // Don't do anything for now, but don't allow inlining of the call. 25 | // 26 | return Status; 27 | } 28 | -------------------------------------------------------------------------------- /XmlSupportPkg/XmlSupportPkg.dec: -------------------------------------------------------------------------------- 1 | ## @file 2 | # This package provides EDKII XML support. 3 | # 4 | # Copyright (C) Microsoft Corporation. 5 | # SPDX-License-Identifier: BSD-2-Clause-Patent 6 | ## 7 | 8 | 9 | [Defines] 10 | DEC_SPECIFICATION = 0x00010005 11 | PACKAGE_NAME = XmlSupportPkg 12 | PACKAGE_GUID = 6A252D3B-CBF1-4F90-A4F6-5729A936F4B3 13 | PACKAGE_VERSION = 0.1 14 | 15 | [Includes] 16 | Include 17 | 18 | [LibraryClasses] 19 | ## @libraryclass Provides basic services for working with XML 20 | # 21 | XmlTreeLib|Include/Library/XmlTreeLib.h 22 | 23 | ## @libraryclass Provides query services for XML 24 | # 25 | XmlTreeQueryLib|Include/Library/XmlTreeQueryLib.h 26 | -------------------------------------------------------------------------------- /pip-requirements.txt: -------------------------------------------------------------------------------- 1 | ## @file 2 | # EDK II Python PIP requirements file 3 | # 4 | # This file provides the list of python components to install using PIP. 5 | # 6 | # Copyright (c) Microsoft Corporation. 7 | # SPDX-License-Identifier: BSD-2-Clause-Patent 8 | # 9 | # https://pypi.org/project/pip/ 10 | # https://pip.pypa.io/en/stable/user_guide/#requirements-files 11 | # https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format 12 | # https://www.python.org/dev/peps/pep-0440/#version-specifiers 13 | ## 14 | 15 | edk2-pytool-library==0.23.2 16 | edk2-pytool-extensions==0.29.2 17 | antlr4-python3-runtime==4.13.2 18 | regex==2024.11.6 19 | pygount==3.1.0 20 | -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "1.85.0" 3 | 4 | [tools] 5 | cargo-make = "0.37.24" 6 | cargo-tarpaulin = "0.31.5" 7 | cargo-release = "0.25.12" 8 | --------------------------------------------------------------------------------