// /** @file
// Instance of PEI Services Table Pointer Library using IDT for the table pointer.
//
// PEI Services Table Pointer Library implementation that retrieves a pointer to the PEI
// Services Table from the IDT on IA-32 and x64.
//
// Copyright (c) 2006 - 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 IDT for the table pointer"

#string STR_MODULE_DESCRIPTION          #language en-US "PEI Services Table Pointer Library implementation that retrieves a pointer to the PEI Services Table from the IDT on IA-32 and x64."

