75 Commits

Author SHA1 Message Date
Laszlo Ersek
98a4d04e8f MdePkg/BaseIoLibIntrinsic: fix SEV (=unrolled) variants of IoWriteFifoXX()
In commit b6d11d7c4678 ("MdePkg: BaseIoLibIntrinsic (IoLib class)
library", 2017-04-12), the MOV instructions in the write loops were
probably copied from the read loops. However, the operand order was not
adjusted.

As a result, the IoWriteFifoXX() routines, when invoked in SEV guests, now
overwrite the source buffer with value 0x01 / 0x0001 / 0x00000001 -- the
SevNoRepIo() function returns value 1 in EAX, in SEV guests --, and write
the same value to the target IO port.

Fix this by putting the target operand (AL / AX / EAX) first, and the
source operand (BYTE / WORD / DWORD [ESI/RSI]) second.

Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Fixes: b6d11d7c467810ea7f2e2eda46ef0bdc57bf1475
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
2017-09-11 22:28:05 +02:00
Leo Duran
b6d11d7c46 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>
2017-04-13 13:16:00 +08:00
Dandan Bi
058cd03b58 MdePkg: Avoid Non-Boolean type used as Boolean
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Leo Duran  <leo.duran@amd.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-01-20 15:40:59 +08:00
Leo Duran
19c6d9feaa MdePkg: Expand BaseIoLibIntrinsic (IoLib class) library
The UefiCpuPkg/CpuIo2Dxe driver and the QemuCfgLib library have duplicate
implementations of I/O Fifo routines. This patch clones the I/O Fifo
routines into the BaseIoLibIntrinsic library and expands the IoLib class
to include the ported I/O Fifo routines.

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>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2017-01-17 10:09:50 +08:00
Liming Gao
f530cdbb0f MdePkg: Convert IoLibEbc.c source file to DOS format
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19318 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-17 08:30:58 +00:00
Jordan Justen
1ffb3e011d MdePkg: Convert all .uni files to utf-8
To convert these files I ran:

$ python3 BaseTools/Scripts/ConvertUni.py MdePkg

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19256 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-15 04:53:50 +00:00
Michael Kinney
d910a704f8 MdePkg/BaseIoLibIntrinsic: Add EBC support
The EBC instruction set supports memory and MMIO access, but not
I/O port access.  Add EBC support to BaseIoLibIntrinsic that
generates an ASSERT() if the IoReadXX()/IoWriteXX() APIs are used.
This matches the implementation for other CPU types that do not
support I/O port access.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19234 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-14 06:11:17 +00:00
Gao, Liming
f7ce802f6f MdePkg: Convert non DOS format files to DOS format
Module UNI and Package UNI files are not DOS format. Convert them to DOS format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16042 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:33:28 +00:00
Gao, Liming
9b94012517 MdePkg: INF/DEC file updates to EDK II packages
2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module.
a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema
b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion.
c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15918 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 09:37:07 +00:00
Gao, Liming
c92c179040 MdePkg: INF/DEC file updates to EDK II packages
1. Usage information in INF file comment blocks are either incomplete or incorrect.  
This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes.  
The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15917 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 09:33:09 +00:00
Harry Liebel
b4319afbda MdePkg: Added ARM Aarch64 architecture support
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14513 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-29 09:52:18 +00:00
lgao4
94952554cc Add ASSERT() for BitField operations to make sure the input value is valid.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Kinney, Michael D <Michael.D.Kinney@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14019 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-25 02:25:50 +00:00
myronporter
2fc59a003e Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10604 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-25 21:56:02 +00:00
myronporter
35a1715411 Minor grammatical work--mostly adding periods. Sending separately a list of files missing Doxygen @param and @return information.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10572 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-11 00:02:51 +00:00
hhtian
4dd6f84007 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10402 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:37:19 +00:00
lgao4
6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
mdkinney
1f534c79c3 Fix file headers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9191 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:43:23 +00:00
qhuang8
ebd04fc2e5 Update to make end-of-line consistent for all source files in MdePkg. There are no other updates besides that change.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9141 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:02:07 +00:00
mdkinney
4b5f371b7d Make EOL consistent
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9115 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 22:14:01 +00:00
mdkinney
9314970a95 Add ARM support to BaseIoLibIntrinsic
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9107 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:58:56 +00:00
xli24
3222ffc044 Fix incorrect function headers for IoLib APIs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7762 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-02 06:31:55 +00:00
gikidy
34b0820ec6 INF file verified, and Coding Style reviewed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7232 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-09 07:23:31 +00:00
qhuang8
373ade0eb6 Update copyright for files modified in this year
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7148 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-29 14:07:07 +00:00
lgao4
9de780dcd6 Update IoLib to add MemoryFence for x86 Mmio function.
Correct IoLibGCC function comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7082 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-19 05:08:03 +00:00
gikidy
2281e7a9c3 Synchronize the h files with c files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6967 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-10 06:13:43 +00:00
gikidy
62991af27f Make comments match the Spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6876 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 09:50:02 +00:00
lgao4
dc8577f275 Clean up the unused EDK_RELEASE_VERSION, PI_SPECIFICATION_VERSION and EFI_SPECIFICATION_VERSION from all the MdePkg INF files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6716 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-25 02:36:57 +00:00
qwang12
e4508cd832 Fix a prototype bug.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6354 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 07:59:47 +00:00
qwang12
c1b1d7a022 Fix a prototype bug.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6353 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 07:58:50 +00:00
eric_tian
e34ecc8a1e Remove unnessary UEFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION in INF file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6281 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 03:17:21 +00:00
xli24
85ea851e6a Refine file header for INF files of MDE library instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6273 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 09:45:52 +00:00
lgao4
2bfb60098f 1. Change 0 == Length style to Length == 0
2. Clean BasePeCoff library instance, only keep one copy PeCoffLoaderEx.c file for IA32, X64 and IPF arch
3. Clean the confused comments

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5927 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-18 14:27:39 +00:00
vanjeff
1efcc4ae46 remove unnecessary comments introduced by tools from MdePkg. The regular express is "//^p//[ ]Include[ ]common[ ]header[ ]file[ ]for[ ]this[ ]module[.]^p//"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5911 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-17 07:46:17 +00:00
vanjeff
5dedabbb4e Clean up BaseIoLibIntrinsic according to review comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5876 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-11 08:59:52 +00:00
lgao4
14bcde689e remove the unused msa files in MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5725 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-25 05:00:23 +00:00
yshang1
42eedea958 Code Scrub for MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5567 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-25 12:21:57 +00:00
yshang1
38bbd3d91c Code scrub:
MdePkg/Library/BaseCacheMaintenanceLib
MdePkg/Library/BaseDebugLibNull
MdePkg/Library/BaseIoLibIntrinsic
MdePkg/Library/BaseLib
MdePkg/Library/BaseMemoryLib
MdePkg/Library/BaseMemoryLibMmx
MdePkg/Library/BaseMemoryLibOptDxe
MdePkg/Library/BaseMemoryLibOptPei
MdePkg/Library/BaseMemoryLibRepStr
MdePkg/Library/BaseMemoryLibSse2
MdePkg/Library/BasePeCoffGetEntryPointLib


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5426 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-08 09:38:43 +00:00
qhuang8
8fd567c6f1 Add alignment checking for IoLib functions to conform to MdeLib spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4652 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-01 14:57:29 +00:00
yshang1
d074a8e1a2 Update Mde/MdeModulePkg to support ICC build for IA32/X64.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3892 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-19 06:15:43 +00:00
klu2
bba9ad98f1 FixedPcd macro should *not* be used in Library's inf file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3868 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-17 03:57:13 +00:00
qhuang8
b3af5df67b Update all INF, DEC and DSC file to confirm to newest INF spec 0.44, DEC spec 0.41, DSC spec 0.40.
Mainly PCD syntax update.
Check in new build.exe and GenFds.exe
Check in PcdSyntaxUpdate.exe tool. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3744 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-30 09:11:54 +00:00
jwang36
13e54995a8 Changed source file format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3524 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-02 02:22:49 +00:00
vanjeff
c892d84644 remove some comments introduced by tools.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3388 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20 06:28:14 +00:00
vanjeff
dd0687a4b1 remove some comments introduced by tools.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3383 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20 04:33:45 +00:00
yshang1
5088ce25ff Remove unused comments in MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3368 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-19 09:43:43 +00:00
klu2
986352bec8 Remove _MSC_VER for this file is just built by MSFT tool chain
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3335 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-18 17:50:05 +00:00
AJFISH
3a9d76242b removed comments (and fix) compiler specific compile of .c files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3334 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-18 17:44:36 +00:00
klu2
dcab253b05 1) Add _MSC_VER judgment for usage of #pragma intrinsic
2) Change EFI_FVB_ATTRIBUTE to EFI_FVB2_ATTRIBUTE, As Zimmer, Vincent’s PI1.0 errata document said, in PI we need use EFI_FVB2_ATTRIBUTE to differ the specification change.
3) Remove duplicate definition of SERIAL_MODE, PARALLEL_MODE in Include\Framework\Legacy16.h
4) Remove EFI_FV_FILE_ATTRIB_FIXED and EFI_FV_FILE_ATTRIB_ALIGNMENT from IntelFrameworkPkg\Include\Protocol\FirmwareVolume.h, because they defined in PI specification.
5) Remove EFI_FORM_LABEL from IntelFrameworkPkg\Include\Protocol\HiiFramework.h


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3333 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-18 17:30:13 +00:00
AJFISH
d5b86e43cf Removed MdePkg usage of ModuleName: in file headers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3217 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-12 22:59:43 +00:00
AJFISH
f734a10ab1 Removed CommonHeader.h generated file from the MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2922 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-29 23:22:13 +00:00