## @file
# CI configuration for MdePkg
#
# Copyright (c) Microsoft Corporation
# Copyright (c) 2020, Intel Corporation. All rights reserved.
# Copyright (c) 2021, Arm Limited. All rights reserved.
# Copyright (c) 2023, Loongson Technology Corporation Limited. All rights reserved.
# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
"PrEval": {
"DscPath": "MdePkg.dsc",
},
## options defined .pytool/Plugin/LicenseCheck
"LicenseCheck": {
"IgnoreFiles": [
# This file is copied from mipi sys-T submodule and generated by python script with customization.
"Library/MipiSysTLib/mipi_syst.h"
]
},
"EccCheck": {
## Exception sample looks like below:
## "ExceptionList": [
## "", ""
## ]
"ExceptionList": [
"9005", "@VDD",
"8005", "gST",
"8005", "gBS",
"8005", "gDS",
"8005", "gDS",
"8002", "va_list",
"8005", "EFI_BLUETOOTH_LE_SCAN_CALLBACK_INFORMATION.RSSI",
"8005", "void",
"8005", "va_list.__ap",
"8005", "__stack_chk_guard",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S0",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S1",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S2",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S3",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S4",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S5",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S6",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S7",
"8005", "BASE_LIBRARY_JUMP_BUFFER.S8",
"8005", "BASE_LIBRARY_JUMP_BUFFER.SP",
"8005", "BASE_LIBRARY_JUMP_BUFFER.FP",
"8005", "BASE_LIBRARY_JUMP_BUFFER.RA",
"8001", "MSG_IPv6_DP",
"8001", "MSG_IPv4_DP",
"8001", "DEFAULT_ToS",
"8001", "EFI_SERIAL_IO_PROTOCOL_REVISION1p1",
"8001", "EFI_ABS_AltActive",
"8001", "EFI_ABSP_SupportsAltActive",
"8001", "_ReadWriteBarrier",
"8001", "__va_copy",
"8003", "__va_copy",
"7007", "_EFI_LEGACY_SPI_CONTROLLER_PROTOCOL",
"7007", "_EFI_LEGACY_SPI_FLASH_PROTOCOL",
"7007", "_EFI_SPI_NOR_FLASH_PROTOCOL",
"7007", "_EFI_SPI_HC_PROTOCOL",
"8002", "aligned (",
"4002", "_ReturnAddress"
],
## Both file path and directory path are accepted.
"IgnoreFiles": [
"Include/IndustryStandard/Acpi64.h",
"Include/IndustryStandard/Acpi65.h",
"Include/IndustryStandard/Tpm12.h",
"Include/IndustryStandard/Tpm20.h",
"Include/IndustryStandard/IoRemappingTable.h",
"Include/IndustryStandard/UefiTcgPlatform.h",
"Include/Library/PcdLib.h",
"Include/Library/SafeIntLib.h",
"Include/Protocol/DebugSupport.h",
"Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLib.c",
"Library/BaseFdtLib",
"Library/MipiSysTLib/mipi_syst.h",
"Include/Register/Amd/SmramSaveStateMap.h",
"Test/UnitTest/Library/DevicePathLib/TestDevicePathLib.c",
"Test/UnitTest/Library/DevicePathLib/TestDevicePathLib.h",
"Test/UnitTest/Library/DevicePathLib/TestDevicePathStringConversions.c"
]
},
## options defined ci/Plugin/CompilerPlugin
"CompilerPlugin": {
"DscPath": "MdePkg.dsc"
},
## options defined ci/Plugin/HostUnitTestCompilerPlugin
"HostUnitTestCompilerPlugin": {
"DscPath": "Test/MdePkgHostTest.dsc"
},
## options defined ci/Plugin/CharEncodingCheck
"CharEncodingCheck": {
"IgnoreFiles": []
},
## options defined ci/Plugin/DependencyCheck
"DependencyCheck": {
"AcceptableDependencies": [
"MdePkg/MdePkg.dec"
],
# For host based unit tests
"AcceptableDependencies-HOST_APPLICATION":[
"UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
],
# For UEFI shell based apps
"AcceptableDependencies-UEFI_APPLICATION":[],
"IgnoreInf": []
},
## options defined ci/Plugin/DscCompleteCheck
"DscCompleteCheck": {
"IgnoreInf": [""],
"DscPath": "MdePkg.dsc"
},
## options defined ci/Plugin/HostUnitTestDscCompleteCheck
"HostUnitTestDscCompleteCheck": {
"IgnoreInf": [""],
"DscPath": "Test/MdePkgHostTest.dsc"
},
## options defined ci/Plugin/GuidCheck
"GuidCheck": {
"IgnoreGuidName": [
"gEfiFirmwareVolumeTopFileGuid" # sec modules must be set to this guid
],
"IgnoreGuidValue": ["00000000-0000-0000-0000-000000000000"],
"IgnoreFoldersAndFiles": [],
"IgnoreDuplicates": [
"gEfiFirmwareVolumeBlockProtocolGuid=gEfiFirmwareVolumeBlock2ProtocolGuid",
"gEfiMmAccessProtocolGuid=gEfiSmmAccess2ProtocolGuid",
"gEfiSmmCommunicationProtocolGuid=gEfiMmCommunicationProtocolGuid",
"gEfiMmPciRootBridgeIoProtocolGuid=gEfiSmmPciRootBridgeIoProtocolGuid",
"gEfiTrEEProtocolGuid=gEfiTcg2ProtocolGuid",
"gEfiSmmPowerButtonDispatch2ProtocolGuid=gEfiMmPowerButtonDispatchProtocolGuid",
"gEfiSmmBase2ProtocolGuid=gEfiMmBaseProtocolGuid",
"gEfiSmmUsbDispatch2ProtocolGuid=gEfiMmUsbDispatchProtocolGuid",
"gEfiSmmCpuProtocolGuid=gEfiMmCpuProtocolGuid",
"gEfiAcpiTableGuid=gEfiAcpi20TableGuid",
"gEfiSmmControl2ProtocolGuid=gEfiMmControlProtocolGuid",
"gEfiSmmStandbyButtonDispatch2ProtocolGuid=gEfiMmStandbyButtonDispatchProtocolGuid",
"gEfiSmmStatusCodeProtocolGuid=gEfiMmStatusCodeProtocolGuid",
"gEfiDxeSmmReadyToLockProtocolGuid=gEfiDxeMmReadyToLockProtocolGuid",
"gEfiSmmIoTrapDispatch2ProtocolGuid=gEfiMmIoTrapDispatchProtocolGuid",
"gEfiSmmReadyToLockProtocolGuid=gEfiMmReadyToLockProtocolGuid",
"gEfiSmmSxDispatch2ProtocolGuid=gEfiMmSxDispatchProtocolGuid",
"gEfiPeiCapsulePpiGuid=gPeiCapsulePpiGuid",
"gEfiSmmCpuIo2ProtocolGuid=gEfiMmCpuIoProtocolGuid",
"gEfiSmmRscHandlerProtocolGuid=gEfiMmRscHandlerProtocolGuid",
"gEfiSmmConfigurationProtocolGuid=gEfiMmConfigurationProtocolGuid",
"gEfiSmmGpiDispatch2ProtocolGuid=gEfiMmGpiDispatchProtocolGuid",
"gEfiSmmEndOfDxeProtocolGuid=gEfiMmEndOfDxeProtocolGuid",
"gEfiSmmSwDispatch2ProtocolGuid=gEfiMmSwDispatchProtocolGuid",
"gEfiDebugPortProtocolGuid=gEfiDebugPortVariableGuid=gEfiDebugPortDevicePathGuid", ## is this a bug
"gEfiProcessorSpecificErrorSectionGuid=gEfiIa32X64ProcessorErrorSectionGuid", ## is this a bug
"gEfiSmmPeriodicTimerDispatch2ProtocolGuid=gEfiMmPeriodicTimerDispatchProtocolGuid",
"gEfiPeiMmAccessPpiGuid=gPeiSmmAccessPpiGuid",
"gPeiSmmControlPpiGuid=gEfiPeiMmControlPpiGuid",
"gEfiPeiMmCommunicationPpiGuid=gEfiPeiSmmCommunicationPpiGuid",
]
},
## options defined ci/Plugin/LibraryClassCheck
"LibraryClassCheck": {
"IgnoreHeaderFile": []
},
## options defined ci/Plugin/SpellCheck
"SpellCheck": {
"AuditOnly": True, # Fails test but run in AuditOnly mode to collect log
"IgnoreFiles": [], # use gitignore syntax to ignore errors in matching files
"ExtendWords": [], # words to extend to the dictionary for this package
"IgnoreStandardPaths": [], # Standard Plugin defined paths that should be ignore
"AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
},
# options defined in .pytool/Plugin/UncrustifyCheck
"UncrustifyCheck": {
"IgnoreFiles": [
"Library/BaseFdtLib/libfdt",
"Library/BaseFdtLib/limits.h",
"Library/BaseFdtLib/stdbool.h",
"Library/BaseFdtLib/stddef.h",
"Library/BaseFdtLib/stdint.h",
"Library/BaseFdtLib/stdlib.h",
"Library/BaseFdtLib/string.h",
"mipi_syst.h"
]
}
}