// /** @file
// This module install ACPI Hardware Error Source Table (HEST).
//
// Copyright (c) 2026, Qualcomm Technologies, Inc.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Installs ACPI Hardware Error Source Table (HEST)"

#string STR_MODULE_DESCRIPTION          #language en-US "This module installs the ACPI Hardware Error Source Table (HEST)"

