RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429 Previously IoFifo functions are in X64/IoFifoSev.nasm which supports both SEV guest and Legacy guest. IoLibFifo.c is introduced to support SEV/TDX/Legacy guest in one binary. It checks the guest type in runtime and call corresponding functions then. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @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 - 2021, 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>
 | |
| #
 | |
| #  SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| #
 | |
| ##
 | |
| 
 | |
| [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
 | |
|   IoLibTdx.h
 | |
|   IoLibSev.h
 | |
| 
 | |
| [Sources.IA32]
 | |
|   IoLibGcc.c    | GCC
 | |
|   IoLibMsc.c    | MSFT
 | |
|   IoLib.c
 | |
|   IoLibInternalTdxNull.c
 | |
|   Ia32/IoFifoSev.nasm
 | |
| 
 | |
| [Sources.X64]
 | |
|   IoLibGcc.c    | GCC
 | |
|   IoLibMsc.c    | MSFT
 | |
|   IoLib.c
 | |
|   IoLibInternalTdx.c
 | |
|   IoLibFifo.c
 | |
|   X64/IoFifoSev.nasm
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   DebugLib
 | |
|   BaseLib
 | |
|   RegisterFilterLib
 | |
| 
 | |
| [LibraryClasses.X64]
 | |
|   TdxLib
 |