// /** @file
// Produces TCG2 protocol and measure boot environment
//
// This module will produce TCG2 protocol and measure boot environment.
//
// Caution: This module requires additional review when modified.
// This driver will have external input - PE/COFF image.
// This external input must be validated carefully to avoid security issue like
// buffer overflow, integer overflow.
//
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Produces TCG2 protocol and measure boot environment"

#string STR_MODULE_DESCRIPTION          #language en-US "This module will produce TCG2 protocol and measure boot environment."

