// /** @file
// Instance of PEI Services Table Pointer Library using global variable for the table pointer.
//
// PEI Services Table Pointer Library implementation that retrieves a pointer to the
// PEI Services Table from a global variable. Not available to modules that execute from
// read-only memory.
//
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Instance of PEI Services Table Pointer Library using global variable for the table pointer"

#string STR_MODULE_DESCRIPTION          #language en-US "The PEI Services Table Pointer Library implementation that retrieves a pointer to the PEI Services Table from a global variable. Not available to modules that execute from read-only memory."

