MdePkg: BaseIoLibIntrinsic (IoLib class) library
This patch adds an SEV-specific .INF and corresponding assembly files, to unroll REP INSx/OUTSx on IoRead/WriteFifo#() routines when the SEV feature is enabled under a hypervisor environment. The new .INF only supports the IA32 and X64 architectures. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> Signed-off-by: Leo Duran <leo.duran@amd.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
59
MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
Normal file
59
MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
Normal file
@@ -0,0 +1,59 @@
|
||||
## @file
|
||||
# Instance of I/O Library using compiler intrinsics.
|
||||
#
|
||||
# I/O Library that uses compiler intrinsics to perform IN and OUT instructions
|
||||
# for IA-32 and x64.
|
||||
#
|
||||
# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
# http://opensource.org/licenses/bsd-license.php.
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = BaseIoLibIntrinsicSev
|
||||
MODULE_UNI_FILE = BaseIoLibIntrinsic.uni
|
||||
FILE_GUID = 93742f95-6e71-4581-b600-8e1da443f95a
|
||||
MODULE_TYPE = BASE
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = IoLib
|
||||
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
IoLibMmioBuffer.c
|
||||
BaseIoLibIntrinsicInternal.h
|
||||
IoHighLevel.c
|
||||
|
||||
[Sources.IA32]
|
||||
IoLibGcc.c | GCC
|
||||
IoLibMsc.c | MSFT
|
||||
IoLibIcc.c | INTEL
|
||||
IoLib.c
|
||||
Ia32/IoFifoSev.nasm
|
||||
|
||||
[Sources.X64]
|
||||
IoLibGcc.c | GCC
|
||||
IoLibMsc.c | MSFT
|
||||
IoLibIcc.c | INTEL
|
||||
IoLib.c
|
||||
X64/IoFifoSev.nasm
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
DebugLib
|
||||
BaseLib
|
||||
|
Reference in New Issue
Block a user