// /** @file
// This driver initializes and installs the SMBIOS protocol, constructs SMBIOS table into system configuration table.
//
// This driver initializes and installs the SMBIOS protocol, and constructs SMBIOS table into the system configuration table.
//
// Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Initializes and installs the SMBIOS protocol, and constructs SMBIOS table into the system configuration table"

#string STR_MODULE_DESCRIPTION          #language en-US "This driver initializes and installs the SMBIOS protocol, and constructs SMBIOS table into the system configuration table."

