summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* BaseTools/codeql: Update to CodeQL 2.18.1Michael Kubacki2024-07-263-9/+9
| | | | | | Updates to the latest CodeQL version to resolve query dependencies. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* ShellPkg: Add missing appsMichael Kubacki2024-07-261-1/+5
| | | | | | | ShellPkg.dsc is missing a few applications in the package. They are added to the DSC in this change to include the ShellPkg build. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* MdeModulePkg: Remove EFI_MEMORY_* DefinesDmitry Antipov2024-07-261-16/+0
| | | | | | | Now that all of the EFI_MEMORY_* defines live in the EFI_MEMORY_TYPE enum, remove the old defines. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdePkg: Move MEMORY_TYPE_* Defines to EFI_MEMORY_TYPE EnumDmitry Antipov2024-07-261-1/+16
| | | | | | | | | | | | Per TCBZ2372, clang on Linux emits a warning if an enum-typed variable is compared with a constant outside of the range of the enum. Such comparisons are performed in multiple locations in DXE core on variables of type EFI_MEMORY_TYPE. This patch moves the OEM and OS reserved types into the EFI_MEMORY_TYPE enum itself to resolve this issue and improve readability. This commit does this for the MdePkg copy of this enum. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* BaseTools: Move MEMORY_TYPE_* Defines to EFI_MEMORY_TYPE EnumDmitry Antipov2024-07-261-1/+14
| | | | | | | | | | | | Per TCBZ2372, clang on Linux emits a warning if an enum-typed variable is compared with a constant outside of the range of the enum. Such comparisons are performed in multiple locations in DXE core on variables of type EFI_MEMORY_TYPE. This patch moves the OEM and OS reserved types into the EFI_MEMORY_TYPE enum itself to resolve this issue and improve readability. This commit does this for the BaseTools copy of this enum. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmPkg/ArmMonitorLib: Implement SMCCC protocol correctly and directlyArd Biesheuvel2024-07-255-40/+145
| | | | | | | | | | | | | | | | | | | | | | The SMCCC protocol stipulates the following: - on AARCH64, 18 arguments can be passed, and 18 values can be returned, via registers X0-x17; - on ARM, 8 arguments can be passed, and 8 values can be returned. This makes ArmSmcLib and ArmHvcLib as implemented currently unsuitable for use with SMCCC services in general, although for PSCI in particular, they work fine. The dependency on both ArmSmcLib and ArmHvcLib is also impractical because it requires every platform that consumes ArmMonitorLib to provide resolutions for each, even though most platforms will only ever need one of these (and the choice is made at compile time) So let's drop these dependencies, and re-implement the asm helpers from scratch. Note that the only difference is the actual instruction used -HVC vs SMC- and so all other code can be shared. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Convert PcdMonitorConduitHvc to FixedAtBuildArd Biesheuvel2024-07-253-8/+8
| | | | | | | | | | Feature PCDs and fixed-at-build PCDs are identical in concept, but the latter are accessible from assembler, whereas the former are not. So convert the SMCCC conduit selection PCD to fixed-at-build so we can make use of this in a subsequent patch. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ShellPkg: Correct smbiosview strings for SMBIOS Type0HoraceX Lien2024-07-252-30/+30
| | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4813 Some strings not match SMBIOS specification definition, include uppercase and lowercase, wrong characters, extra words,...etc Signed-off-by: HoraceX Lien <horacex.lien@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
* UefiCpuPkg/MpInitLib: Reduce compiler dependencies for LoongArchDongyan Qian2024-07-251-2/+2
| | | | | | | | | | | | | | | Structure assignment may depend on the compiler to expand to memcpy. For this, we may need to add -mno-memcpy to the compilation flag. Here, we reduce dependencies and use CopyMem for data conversion without memcpy. Cc: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn> Co-authored-by: Chao Li <lichao@loongson.cn>
* .github/workflows/request-reviews.yml: Add workflowMichael Kubacki2024-07-251-0/+73
| | | | | | | | | | | | | | | | Adds a new GitHub workflow to automatically add reviewers to pull requests when they are opened, reopened, synchronized, and if a draft pull request is marked as ready for review. The workflow will not run on draft pull requests. The workflow is meant to be simple to understand and modify, relying on existing logic in GetMaintainer.py to determine the relevant reviewers and using simple Python GitHub REST API wrappers with the default GitHub token for authentication. Future changes may optimize the workflow. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* .github: Add GitHub helper python scriptMichael Kubacki2024-07-251-0/+187
| | | | | | | Adds a script that provides GitHub API helpers for workflows and other GitHub automation in the repository. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* BaseTools/GetMaintainer.py: Add GitHub username argumentMichael Kubacki2024-07-251-2/+9
| | | | | | | | | | | | Adds a new `-g` parameter so that output will also include the GitHub username. This change uses a simple regular expression as opposed to directly returning the original line from the file to make the extraction of GitHub usernames more robust to other changes on the line in the maintainers text file. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* PrmPkg: Don't Set Access Attributes of Runtime MMIO RangesTaylor Beebe2024-07-241-1/+6
| | | | | | | | | | | | Passing in access attributes to SetMemorySpaceAttributes() will cause the existing attributes to be overwritten. The MMIO region should have the appropriate attributes applied during memory protection initialization and the attributes of the memory space descriptor are inaccurate. Don't pass in any CPU arch attributes so SetMemorySpaceAttributes() doesn't subsequently call gCpu->SetMemoryAttributes(). Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmPkg: Introduce ResetSystemLib implementation based on ArmMonitorLibArd Biesheuvel2024-07-243-0/+209
| | | | | | | | | The ARM SMCCC specification stipulates that the conduit for ARM monitor calls can be determined by taking the conduit for PSCI calls. The converse is also true, and so we can implement ResetSystemLib for PSCI using ArmMonitorLib to choose between SMC and HVC instructions. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Disable AuditOnly mode for uncrustifyArd Biesheuvel2024-07-243-10/+7
| | | | | | | | Fix up a handful of uncrustify infractions and drop the AuditOnly override for uncrustify so we get the same uncrustify CI coverage as other packages. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ShellPkg: Support parser of MADT for LoongArch64Dongyan Qian2024-07-241-0/+178
| | | | | | | | | | | | | | Parse CORE_PIC, LIO_PIC, HT_PIC, EIO_PIC, MSI_PIC, BIO_PIC and LPC_PIC tables in ACPI SPEC 6.5. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4306 Cc: Zhichao Gao <zhichao.gao@intel.com> Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn> Co-authored-by: Jinwei Wang <wangjinwei@loongson.cn> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Chao Li <lichao@loongson.cn>
* UefiCpuPkg: Removing redundant parameter in RestoreVolatileRegistersZhiguang Liu2024-07-241-25/+20
| | | | | | | | Given that the second parameter can be universally set to TRUE across all use cases, its removal simplifies the function interface and the associated code paths. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Change RestoreVolatileRegisters second parameterZhiguang Liu2024-07-241-4/+4
| | | | | | | | | | | | | | | | | | | Analysis of the current usage patterns revealed that this parameter should consistently set to TRUE. Specifically, the parameter was found to be False in the following scenarios: 1. During the initial volatile register setup for the first AP wake-up in both the PEI and DXE phases. In these instances, the volatile registers are pre-initialized in MpInitLibInitialize(), and manually setting them to zero does not require altering the DR state. 2. When switching the BSP, the new BSP does not synchronize the DR. This behavior is now adjusted to ensure the DR state is synchronized, aligning with a more logical and expected behavior when transitioning BSP roles. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Combine the code to set ApInitDoneZhiguang Liu2024-07-241-5/+1
| | | | | | | | | In previoud commit, we remove the ApInitReconfig status. Now there are only two status ApInitConfig and ApInitDone. Only the very first waking up AP needs to set ApInitConfig status. Therefore, if this is not the first wake up, set ApInitDone status Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Remove ApInitReconfig statusZhiguang Liu2024-07-242-18/+12
| | | | | | | | | | ApInitReconfig status is used to indicate that when AP wakes up, AP need to restore volatile registers from BSP and use InitSipiSipi. Since we handle the volatile registers well, we can use WakeUpByInitSipiSipi flag to replace ApInitReconfig. Avoid using ApInitReconfig can simplify code. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Let AP always save/restore volatile registersZhiguang Liu2024-07-241-46/+25
| | | | | | | | | | | | | | | | | | | | | | | | When enable stack guard, APs needs separate GDTs. In current code, APs will lose their separate GDTs when AP get disabled and later re-enabled. This is because when re-enabling AP, AP restores volatile registers from BSP. This patch updates the AP management to ensure that each AP saves and restores its own set of volatile registers to solve this issue. Key changes include: - APs now maintain their own volatile register space, eliminating dependency on the BSP's register state. - Special handling is implemented for the first AP wake-up during the PEI and DXE phases, where the volatile registers are synchronized from the BSP. - When switching BSP, remove manual handling the global variable CpuMpData->CpuData[Index].VolatileRegisters. The manually handling in previous code is because, old BSP may not save volatile registers after the AP procedure and new BSP's VolatileRegisters buffer may be used by other APs. Now, since AP always save/restore volatile registers from their own buffer, no need to do the special handling. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Sync the init timer count instead of current timer countZhiguang Liu2024-07-242-24/+29
| | | | | | | | | BSP should save and sync to AP the init timer count instead of current timer count. Also, BSP can check the init timer count to know if the local apic timer is enabled. Only sync the setting when it is enabled. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Preserve Local APIC Timer Settings During BSP SwitchZhiguang Liu2024-07-241-1/+6
| | | | | | | | | | | | | | | | | | | | | This update ensures the consistency of Local APIC timer settings across all processors when a BSP switch occurs. The Local APIC timer is utilized in two distinct scenarios: 1. As a delay mechanism within the timer library. 2. To generate periodic timer interrupts during the DXE phase. For scenario 1, APs can simply inherit the initial settings from the BSP. Even the local APIC timer setting is changed by BSP later, AP can still use the old setting. Therefore, the code to save the Local APIC timer can be moved to MpInitLibInitialize(). For scenario 2, because normal AP doesn't enable timer interrupt, we only need to care SwitchBsp case. It is crucial that the periodic timer interrupts remain operational after BSP is switched. To achieve this, the Local APIC timer settings on old BSP are now preserved and synced to new BSP. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg: Also exchange CPU_AP_DATA in SortApicId()Zhiguang Liu2024-07-241-14/+8
| | | | | | | | CPU_AP_DATA contains AP's information such as CpuHealthy and VolatileRegisters. Exchange the whole CPU_AP_DATA buffer instead some fields to make code more simple. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* ArmPkg: Remove Deprecated ArmPsciResetSystemLibOliver Smith-Denny2024-07-233-123/+0
| | | | | | | | | | | ArmPsciResetSystemLib has been deprecated since commit b2c55e732888fd721f5235a820b1d1c45209992d in 2017. The lib itself has not been meaningfully updated in 10 years. This commit removes the library to complete the deprecation process and remove confusion over which library to use for resetting an ARM platform. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* BaseTools: Move GnuNoteBti.bin to BaseToolsOliver Smith-Denny2024-07-232-1/+1
| | | | | | | | | This patch moves GnuNoteBti.bin from ArmPkg to BaseTools as it is used during the build by GCC. This removes an unnecessary dependency on ArmPkg from BaseTools and keeps build related files in BaseTools. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* BaseTools: Move GccLto Files to BaseToolsOliver Smith-Denny2024-07-235-12/+12
| | | | | | | | | This moves the GccLto files from ArmPkg to BaseTools as they are files that are only used in the build. This removes an artificial dependency on ArmPkg from BaseTools and keeps build related files in BaseTools. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg/Acpiview: Add HEST Parserlevi.yun2024-07-234-1/+982
| | | | | | | | | | | | Add a new pareser for the Hardware Error Source Table (HEST). The HEST table is used to describe a system's hardware error sources to OSPM. Cc: Zhichao Gao <zhichao.gao@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: levi.yun <yeoreum.yun@arm.com>
* UefiCpuPkg: Revert "UefiCpuPkg/PiSmmCpuDxeSmm:Map SMRAM in 4K..."Dun Tan2024-07-231-90/+24
| | | | | | | | | | | | | | | | | | | | | | This reverts commit ae59b8ba4166384cbfa32a921aac289bcff2aef9. The commit ae59b8ba41 was added to modify the GenSmmPageTable() to map SMRAM in 4K page granularity. It was to urgently fix a smm hang issue by avoiding page split in paging structures that covers SMRAM range when SMI happens. But finally the smm hang issue was root caused and fixed by commit 839bd17973. Meanwhile a smm page table creation related issue was introduced by commit ae59b8ba41: In the function GenSmmPageTable(), the paging level for the range outside SMRAM is depend on the Input parameter PagingMode. However, the paging level for SMRAM range is depend on m5LevelPagingNeeded. If the two paging levels are different, then the smm page table is created incorrectly. So let's revert the commit "UefiCpuPkg/PiSmmCpuDxeSmm:Map SMRAM in 4K page granularity" Signed-off-by: Dun Tan <dun.tan@intel.com>
* ShellPkg: Changes to print Type17 in SmbiosviewShenbagadevi R2024-07-231-0/+7
| | | | | | | | | | | | | | | Add changes to print PMIC and RCD details of Smbios Type17 in Shell smbiosview command. Cc: Gaoliming <gaoliming@byosoft.com.cn> Cc: Sainadh N <sainadhn@ami.com> Cc: Sundaresan S <sundaresans@ami.com> Cc: Srinivasan M <srinivasanm@ami.com> Cc: Ramesh R <rameshr@ami.com> Cc: Karthika R <karthikar@ami.com> Signed-off-by: Shenbagadevi R <shenbagadevir@ami.com> Reviewed-by: Giri Mudusuru <girimudusuru@microsoft.com>
* ArmPlatformPkg: PL031RealTimeClockLib: Set MMIO Memory XPOliver Smith-Denny2024-07-231-2/+2
| | | | | | | | | | PL031RealTimeClockLib will clear EFI_MEMORY_XP if a platform has set it for MMIO memory when it does not include that bit in its SetMemoryAttributes call. This region is not intended to be executed from and as such the lib should explicitly set EFI_MEMORY_XP to this region. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmVirtPkg: KvmtoolRtcFdtClientLib: Set MMIO Memory NXOliver Smith-Denny2024-07-231-2/+2
| | | | | | | | | | When setting memory attributes on its MMIO region, KvmtoolRtcFdtClientLib will clear EFI_MEMORY_XP from the region if a platform has it set. This MMIO region is not intended to be executed from, so fix this by explicitly setting EFI_MEMORY_XP on this region in the lib. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmPkg: ArmMmuLib: Add AARCH64 Memory Attribute Update Failure LogOliver Smith-Denny2024-07-231-0/+7
| | | | | | | | | | This adds logging in failure cases of SetMemoryAttributes. This is useful generally as if an attribute update fails, code will typically break, but is added in particular to make debugging incorrect bootloader usage of the Memory Attribute Protocol. This patch updates the AARCH64 UpdateRegionMapping. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmPkg: ArmMmuLib: Add ARM32 Memory Attribute Update Failure LoggingOliver Smith-Denny2024-07-231-0/+15
| | | | | | | | | | This adds logging in failure cases of SetMemoryAttributes. This is useful generally as if an attribute update fails, code will typically break, but is added in particular to make debugging incorrect bootloader usage of the Memory Attribute Protocol. This patch updates the ARM32 SetMemoryAttributes. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmPkg: CpuDxe: Add Memory Attribute Protocol LoggingOliver Smith-Denny2024-07-231-0/+21
| | | | | | | | | | | | | The memory attribute protocol is primarily used by bootloaders and there are many released bootloaders who use the protocol incorrectly. It is challenging to debug these situations because the bootloaders are generally black boxes and we silently fail on the FW side. This patch adds logging to some common memory attribute protocol failures in CpuDxe. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ArmVirtPkg: QemuVirtMemInfoPeiLib: Allow Dynamic PcdSystemMemorySizeMichael Kubacki2024-07-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Platforms today may use this PCD as a dynamic PCD as that is an allowed type in its PCD declaration. From `ArmPkg.dec`: [PcdsFixedAtBuild.common, PcdsDynamic.common, PcdsPatchableInModule.common] gArmTokenSpaceGuid.PcdSystemMemorySize|0|UINT64|0x0000002A This library causes a build error if it used as a dynamic PCD since it places the PCD in a `[FixedPcd]` section in the INF. Other libraries do set the PCD and depend on the dynamic PCD behavior. Since this library accesses the PCD with `PcdGet64 ()` which is compatible with FixedAtBuild PCDs, this change moves the PCD out an explicit `[FixedPcd]` section to resolve the following build error: ``` INFO - : error 3000: Building modules from source INFs, following PCD use Dynamic and FixedAtBuild access method. It must be corrected to use only one access method. INFO - gArmTokenSpaceGuid.PcdSystemMemorySize ``` Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* EmbeddedPkg: Mark DMA Memory Allocations XP By DefaultOliver Smith-Denny2024-07-221-2/+2
| | | | | | | | | | When allocating memory for a non-coherent DMA device, the current core code removes the XP attribute, allowing code to execute from that region. This is a security vulnerability and unneeded. This change updates to mark the region as XP when allocating memory for the non-coherent DMA device. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdeModulePkg/VariablePolicyLib: Use wildcard character constantMichael Kubacki2024-07-221-2/+2
| | | | | | | | Makes the `#` character used for comparison against wildcard characters in `CHAR16` strings to be prefixed with `L` so the character is treated as a wide character constant. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* ArmPlatformPkg: Update LcdHwNullLib to prevent initBret Barkelew2024-07-211-1/+1
| | | | | | | | | Library previously returned EFI_SUCCESS which causes the platform to continue initializing LCD HW. Should return EFI_NOT_FOUND. Resolves TCBZ3351. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdeModulePkg/SmiHandlerProfileInfo: Include profile SMI in profileBret Barkelew2024-07-181-4/+13
| | | | | | | Includes the profiler SMI in the profile itself for completeness. Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* .pytool/Plugin: Improve plugin log messagesMichael Kubacki2024-07-173-12/+11
| | | | | | | Improves the CI output with more actionable messages and downgrades some errors/warnings. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* MdeModulePkg: DxeCore: Fix Use-After-Free guard causing page faultKun Qin2024-07-171-23/+28
| | | | | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2411 With Use-After-Free heap guard feature enabled, the DxeCore would blindly attempt to "level-up" when the `GuardAllFreedPages` inspect a non-max level table entry from the last loop. This could cause the next round of inspection to dereference a potentially null pointer and as such causing a page fault. This change adds a null pointer check to prevent such case from happening. Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Kun Qin <kun.qin@microsoft.com>
* MdePkg/BaseLib: Optimize LOONGARCH64 csr usageDongyan Qian2024-07-172-9/+7
| | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4812 When the Select is out of support, use method break exception instead of method return -1, avoid unknown errors caused by untimely detection. Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>
* MdeModulePkg/UfsBlockIoPei: Wait fDeviceInit Be Cleared by DevicesJason1 Lin2024-07-173-7/+105
| | | | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4655 [Feature Description] - UFS device would clear fDeviceInit flag once the device initialization is completed. - This change is polling to check the flag is cleared or not with specific timeout (UFS_INIT_COMPLETION_TIMEOUT - 600ms). - This behavior is the same as UfsPassThruDxe module. [Notes] - This change included as a partial of below SHA1-ID - 95ad8f7f6a6c84ef46a96a8ba852afed805d1ca3 - c5740f360636479fb91681093b1dee1cc366075c Signed-off-by: Jason1 Lin <jason1.lin@intel.com>
* ShellPkg/Acpiview: Add EINJ Parserlevi.yun2024-07-174-0/+381
| | | | | | | | | | | | | | | | Add a new parser for the Error Injection Table (EINJ). The EINJ table provides machinism through which OSPM can inject hardware errors to the platform without requiring platform specific OSPM software. Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhichao Gao <zhichao.gao@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: levi.yun <yeoreum.yun@arm.com>
* MdePkg/IndustryStandard: Update EINJ information according to ACPI 6.5levi.yun2024-07-171-2/+4
| | | | | | | | | | | | | | | | | | ACPI 6.5 specification updates EINJ revision to 0x02 and adds new Error Injection Actions - EINJV2_SET_ERROR_TYPE - EINJV2_GET_ERROR_TYPE This patches updates EINJ information based on ACPI 6.5 specification. Also, add missing Error Injection Actions too. Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhichao Gao <zhichao.gao@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: levi.yun <yeoreum.yun@arm.com>
* MdePkg/IndustryStandard: Add GET_EXECUTE_OPERATION_TIMINGS definelevi.yun2024-07-175-0/+5
| | | | | | | | | | | | | | | GET_EXECUTE_OPERATION_TIMINGS Error Injection Actions was added from ACPI 6.1 specification. Update Error Injection Action with the ACPI spec. Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhichao Gao <zhichao.gao@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: levi.yun <yeoreum.yun@arm.com>
* MdePkg/IndustryStandard: Add SET_ERROR_TYPE_WITH_ADDRESS definelevi.yun2024-07-177-0/+7
| | | | | | | | | | | | | | | SET_ERROR_TYPE_WITH_ADDRESS Error Injection Actions was added from ACPI 5.1 specification. Update Error Injection Action with the ACPI spec. Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhichao Gao <zhichao.gao@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: levi.yun <yeoreum.yun@arm.com>
* MdePkg: Added support for Smbios 3.7.0 SpecShenbagadevi R2024-07-171-1/+8
| | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4563 As per Smbios 3.7.0 spec, added CXL 3.0 support in Type 9, also added PMIC & RCD manufacturer ID and Revision information in Type17. Cc: Sainadh N <sainadhn@ami.com> Cc: Sundaresan S <sundaresans@ami.com> Cc: Srinivasan M <srinivasanm@ami.com> Cc: Ramesh R <rameshr@ami.com> Signed-off-by: Shenbagadevi R <shenbagadevir@ami.com> Reviewed-by: Gaoliming <gaoliming@byosoft.com.cn>
* MdePkg: Define SMBIOS Protocol header according IndustryStandardDongyan Qian2024-07-171-0/+4
| | | | | | | | | | | | | | | | | | As the SMBIOS table types belong to the SMBIOS standard, they were moved from the SMBIOS IndustryStandard into the SMBIOS Protocol header with the EFI_-prefix. Filling in definitions facilitates consistent use of header files: EFI_SMBIOS_TYPE_TPM_DEVICE EFI_SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION EFI_SMBIOS_TYPE_FIRMWARE_INVENTORY_INFORMATION EFI_SMBIOS_TYPE_STRING_PROPERTY_INFORMATION Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>