/** @file Boot service DXE ASL update library implementation. These functions in this file can be called during DXE and cannot be called during runtime or in SMM which should use a RT or SMM library. This library uses the ACPI Support protocol. Copyright (c) 2017 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include #include #include // // Function implementations // /** Initialize the ASL update library state. This must be called at the beginning of the function calls in this library. @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS InitializeAslUpdateLib ( VOID ) { return EFI_SUCCESS; } /** This function uses the ACPI SDT protocol to locate an ACPI SSDT table. @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function will consider it a match if the first TableIdSize bytes match @param[in, out] Table - Updated with a pointer to the table @param[in, out] Handle - AcpiSupport protocol table handle for the table found @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS LocateAcpiTableByOemTableId ( IN UINT8 *TableId, IN UINT8 TableIdSize, IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, IN OUT UINTN *Handle ) { return EFI_SUCCESS; } /** This procedure will update immediate value assigned to a Name. @param[in] AslSignature - The signature of Operation Region that we want to update. @param[in] Buffer - source of data to be written over original aml @param[in] Length - length of data to be overwritten @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS EFIAPI UpdateNameAslCode ( IN UINT32 AslSignature, IN VOID *Buffer, IN UINTN Length ) { return EFI_SUCCESS; } /** This procedure will update immediate value assigned to a Name in SSDT table. @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function @param[in] AslSignature - The signature of Operation Region that we want to update. @param[in] Buffer - source of data to be written over original aml @param[in] Length - length of data to be overwritten @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS EFIAPI UpdateSsdtNameAslCode ( IN UINT8 *TableId, IN UINT8 TableIdSize, IN UINT32 AslSignature, IN VOID *Buffer, IN UINTN Length ) { return EFI_SUCCESS; } /** This procedure will update the name of ASL Method. @param[in] AslSignature - The signature of Operation Region that we want to update. @param[in] Buffer - source of data to be written over original aml @param[in] Length - length of data to be overwritten @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS EFIAPI UpdateMethodAslCode ( IN UINT32 AslSignature, IN VOID *Buffer, IN UINTN Length ) { return EFI_SUCCESS; } /** This function uses the ACPI SDT protocol to locate an ACPI table. It is really only useful for finding tables that only have a single instance, e.g. FADT, FACS, MADT, etc. It is not good for locating SSDT, etc. Matches are determined by finding the table with ACPI table that has a matching signature. @param[in] Signature - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header @param[in, out] Table - Updated with a pointer to the table @param[in, out] Handle - AcpiSupport protocol table handle for the table found @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS EFIAPI LocateAcpiTableBySignature ( IN UINT32 Signature, IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, IN OUT UINTN *Handle ) { return EFI_SUCCESS; }