Commit Graph

1399 Commits

Author SHA1 Message Date
lzeng14 ba14539c90 Add new extension PerformanceLib APIs to store ID info.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13214 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-24 08:42:24 +00:00
ydong10 28186d4566 Validate some fields in PE image to make sure not access violation for later code.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13211 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-24 03:00:32 +00:00
lgao4 05570a7e8a Update function comments to remove confused description on PerformanceLib EndPerformanceMeasurement API.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13200 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-17 09:45:30 +00:00
lgao4 3556c7a248 Correct function comments on DxeServicesLib GetFileBufferByFilePath API.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13199 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-17 09:42:44 +00:00
li-elvin fcbccedb28 Current IPF version SwitchStack implementation uses loadrs instruction to restore dirty partition of register stack from the backing store, but there is no guarantee to make the backing store valid before. So add flushrs before loadrs to make sure backing store valid.
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Li Kevin <kevin.y.li@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13183 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-11 01:56:48 +00:00
ydong10 be30ddf795 Update the offset when read every debug entries info.
Signed-off-by: ydong10
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13104 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-16 03:22:38 +00:00
lgao4 744265eb0a Clarify alignment of GetSpinLockProperties() is byte alignment.
Signed-off-by: lgao4
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13086 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-07 01:40:44 +00:00
lgao4 1445300f51 Update the modifier of ThunkContext parameter for AsmPrepareThunk16() in BaseLib from OUT to IN OUT.
Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13038 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27 07:46:04 +00:00
ydong10 3dbef428c7 Add code check to avoid access violation.
Signed-off-by:ydong10
Reviewed-by:lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13036 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27 02:44:20 +00:00
rsun3 265fa9fa39 MdePkg: Add a new macro VA_COPY for variable argument support. Fix a bug in the UefiLib instance that there is a non portable assumption that Marker is copied when passed to a function.
Signed-off-by: rsun3
Reviewed-by: mdkinney


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13025 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-22 02:39:57 +00:00
rsun3 3bbe68a362 Add Missing invocations to VA_END() for VA_START().
Signed-off-by: rsun3
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12979 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-01 06:06:08 +00:00
lgao4 c8641de387 Roll back the previous change in MdePkg BaseLib Ia32 Thunk16.S and EcpPkg GlueLib BaseLib Ia32 Thunk16.S, and still use the hard code offset in them to avoid GCC compiler create the unexpected instruction.
Signed-off-by: lgao4
Reviewed-by: rsun3



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12898 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-28 09:48:15 +00:00
lgao4 fe28761275 Clean up the hard code offset in MdePkg BaseLib Ia32 Thunk16.S and EcpPkg GlueLib BaseLib Ia32 Thunk16.S.
Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12889 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-20 09:50:19 +00:00
lgao4 c577049aaf Fix the issue to clear the high 16-bit of EAX before use it Thunk code.
This patch updates MdePkg BaseLib, EcpPkg EdkIIGlueLib BaseLib and ThunkLib.

Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12876 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 08:27:17 +00:00
hhtian c32dcd284c add missing <BR>
Signed-off-by: hhtian

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12781 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-25 05:23:58 +00:00
lgao4 b316eabf7c Add the missing supported module type in MdePkg DxeServicesTableLib instance.
Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12762 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-23 02:00:05 +00:00
jljusten c119933d02 MdePkg DxeServicesLib: Search further in GetFileBufferByFilePath
This function supports loading via these interfaces, in order:
* gEfiFirmwareVolume2ProtocolGuid
* gEfiSimpleFileSystemProtocolGuid
* gEfiLoadFile2ProtocolGuid
* gEfiLoadFileProtocolGuid

Previously, if a device path supported any of these interfaces,
it would only check that interface.  (If it failed to load via
that interface, it would not move on and check the others.)

This change causes the other interfaces to still be checked if
the previous ones fail.

Signed-off-by: jljusten
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12761 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-22 17:15:23 +00:00
lgao4 736d06b8ec Update comments in BaseExtractGuidedSectionLib library instance to say its used memory is the physical memory space.
Signed-off-by: lgao4
Reviewed-by: lzeng14


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12758 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-22 07:17:37 +00:00
oliviermartin 0806815921 MdePkg/BaseLib: Replaced inline assembly for ARMGCC by GCC assembly source file
The registers used to passed arguments to the DxeCore entrypoint in the inline
assembly function InternalSwitchStackAsm() where switched at compilation time.
This change replaces the inline assembly by a pure assembly source file to
avoid this kind of optimization.

Note: Inline assembly is generally not recommanded in system programming.

Reviewed-by: lgao4



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12674 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-08 18:49:22 +00:00
lzeng14 30f001ca5f Add core FFS3 support, ExtractGuidedSectionLib/GuidedSectionExtractionLib/PiFirmwareFile.h.
Signed-off-by: lzeng14
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12582 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-27 08:45:50 +00:00
lgao4 32fa3543c9 Update Base type SecPeiDxeTimerLibCpu to support all module type.
Signed-off-by: lgao4
Reviewed-by: jlin16

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12558 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-24 04:37:33 +00:00
andrewfish f2a4d59359 Fix Xcode link failure. Relocations are not supported in .text sections.
Per Rui's review of the patch _16GdtrBase is a label that is patched by C code so it does require initialization. 

approved-by: andrewfish
reviewed-by: jljusten
reviewed-by: rsun3



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12515 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-08 20:51:17 +00:00
ydong10 4ae2e63ca4 Refine code to follow coding style.
Signed-of-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12346 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-14 05:30:53 +00:00
hhtian 4223e4f4c9 Minor copyright format update
Signed-off-by: hhtian

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12334 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-13 07:48:35 +00:00
xdu2 16a48731fc MdePkg: Add missing implementation of GetTimeInNanoSecond() to TimerLib library instance DxeTimerLibEsal.
Signed-off-by: xdu2
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12297 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-08 01:34:24 +00:00
ydong10 5c4513344a Refine code to follow coding style.
Signed-off-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12281 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-05 14:17:47 +00:00
li-elvin 6088db3802 Move generic IA32_SEGMENT_DESCRIPTOR definition to BaseLib.h.
Signed-off-by: li-elvin
Reviewed-by: mdkinney


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12265 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-02 11:37:50 +00:00
ydong10 6709bbd17f Add check before use to make code run more safer.
Signed-off-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12262 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-02 07:51:45 +00:00
jljusten fe69ac847a MdePkg: Add S3 library interfaces and base implementations
Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: rsun3
Reviewed-by: jyao1

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12222 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-29 22:16:28 +00:00
xdu2 b9610b9cb5 Add new API GetTimeInNanoSecond() to TimerLib to convert elapsed ticks to time in unit of nanoseconds.
Signed-off-by: xdu2
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12206 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-25 05:59:17 +00:00
ydong10 83f1f16a83 Refine code to follow coding style.
Signed-off-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12196 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-24 10:10:33 +00:00
niruiyu 3e5cfe98e9 Simplify the SmmPeriodicSmiLib to call AllocatePool() for every entry in the SMI periodic handler list.
Signed-off-by: niruiyu
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12173 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-19 01:37:47 +00:00
niruiyu 569224f9de Use linked list to replace the current array solution to store the periodic SMI handlers to support more than 8 periodic SMI handlers.
Signed-off-by: niruiyu
Reviewed-by: xdu2

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12127 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 01:55:41 +00:00
lgao4 41342801ff Fix X64 compile error.
Signed-off-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12110 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-09 06:29:47 +00:00
jcarsey 6bae492fb4 clarify the logic of the print length counting functions in both PrintLib library instances.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12102 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-08 20:50:31 +00:00
lgao4 48c0731857 Fix X64 compile error.
Signed-off-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12086 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-04 06:33:49 +00:00
jcarsey f405c0674a Add 2 functions to UefiLib library class: CatSPrint and CatVSPrint.
Implement these functions in the UefiLib instance.

Add 2 functions to PrintLib library class: SPrintLengthAsciiFormat and SPrintLength.
Implement these functions in the BasePrintLib instance and the DxePrintLib2Protocol instance.

Signed-off-by: jcarsey
Reviewed-by: jljusten
Reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12081 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-02 23:33:06 +00:00
geekboy15a 3c47fe65ed MdePkg: Fixed hang/reset in thunk code when building with GCC X64
Reverted changes of data areas from .long back to .space 4.  This was done
because the size of .long is based off of .int and may vary.  Using a fixed size
is required because these values are for patching code.  Also note that .space
will automatically initialize the data to zero.  Not initializing all values to
zero was causing the hang/reset.

Signed-off-by: geekboy15a
Reviewed-by: darylm503
Reviewed-by: jljusten



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12079 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-02 22:29:50 +00:00
lzeng14 3397c6f590 For libraries that have multiple module types support, just define a [Depex] section for specified module types that are permitted to have a [Depex] section.
Signed-off-by: lzeng14
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12052 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-27 08:54:57 +00:00
andrewfish f7c8bd9f9d MdePkg: Update CpuSleep to use ARMv7 instruction.
The code was using ARMv6 co-processor reg, that is a no-op on ARMv7. WFI is the instruction on ARMv7.

signed-off-by: andrewfish
reviewed-by: mdkinney



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12035 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-20 17:47:44 +00:00
andrewfish bab427db7d MdePkg: Fix X64 clang compile issues.
Fixed issues with X64 clang, and also make StackSwitch push a zero on the new stack to prevent a stack unwind into memory that is no longer valid.

signed-off-by: andrewfish
reviewed-by: lgao4
reviewed-by: mdkinney



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12007 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-12 03:01:34 +00:00
jcarsey d3e0289ccf Clarify the requirements for the Destination parameter of UnicodeStrToAsciiStr.
signed-off-by:jcarsey
Reviewed-by:lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11917 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 15:01:53 +00:00
ydong10 18ad26da31 Initialize data before using it
Signed-off-by: ydong10
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11869 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-21 02:24:46 +00:00
lgao4 1955808d94 For BaseLib IsNull() function , update retval value comment to match its function description.
Signed-off-by: lgao4
Reviewed-by: rni2


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11825 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15 02:45:58 +00:00
mdkinney 863be5d010 Add ESAL support libraries to MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11784 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-10 18:58:08 +00:00
niruiyu ef2635c399 Change BuildGuidHob and BuildGuidDataHob to return NULL upon failure.
Guarantee no memory corruption in an out of memory condition even in production builds.

Signed-off-by: niruiyu
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11775 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-09 02:51:00 +00:00
lgao4 4b0f378c19 Fix ICC build break.
Signed-off-by: lgao4
Reviewed-by: rsun3
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11704 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-26 04:53:24 +00:00
lgao4 244bff4e14 Update BasePrintLib to handle the unaligned GUID.
Signed-off-by: lgao4
Reviewed-by: rsun3


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11697 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-24 02:08:31 +00:00
niruiyu b8a62661e4 Add BlockIO revision 3 definition. Add new API ScsiInquiryCommandEx to UefiScsiLib.
Signed-off-by: niruiyu
Reviewed-by: erictian

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11691 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-23 07:45:40 +00:00
lgao4 7eb2c64d34 Update the description of Loaded Image Protocol Unload function to follow the UEFI2.3.1 Spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11560 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-19 06:33:25 +00:00
ydong10 a77badbb42 Refine code to follow coding style.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11400 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-15 00:53:52 +00:00
ydong10 6e80bc62cc Enhance inf to follow spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11393 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-14 08:46:05 +00:00
mdkinney 2891fc8b2d Update DebugLib to provide support for "err" command in the EFI Shell to adjust the filter mask for DEBUG() messages. The "err" command provide the ability to adjust this filter mask at a global level through an EFI Variable and at the module level through a the Debug Mask Protocol. In order to support the degree of flexibility, the DebugLib needs to use library to abstract the get/set operations to the filter mask.
1) Define new DebugPrintErrorLevelLib that produces an API that DebugPrint() APIs in DebugLib implementations can use to retrieve the current mask for filtering DebugPrint() statements.
2) Add a BASE type implementation of the DebugPrintErrorLevelLib that directly accessed PcdDebugPrintErrorLevel to provide backward compatibility with the current EDK II DebugLib behavior.
3) Update description of the DebugPrint() API in the DebugLib to describe the new dependency on the DebugPrintErrorLevelLib that replaces the prior dependency in the PcdDebugPrintErrorLevel PCD.
4) Update the comments in BaseDebugLibNull to match (3).
5) Update BaseDebugLibSerialPort to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.
6) Update UefiDebugLinConOut to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.
7) Update UefiDebugLibStdErr to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11365 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-10 22:12:34 +00:00
gikidy 1b71e7f1ad A minor change for the format of usage align with spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11326 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-21 08:07:22 +00:00
ydong10 ba319b960e Update inappropriate comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11322 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-17 00:45:08 +00:00
lgao4 6beb225a9a Per PI1.2B spec, for the case that TE Image Relocation Data Directory Entry Virtual Address is non-zero, but the Relocation Data Directory Size is zero, BasePeCoffLib should only handle such case as PIC TE image.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11315 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-16 01:18:28 +00:00
mdkinney 40039e28ed Add SmmPeriodicSmiLib to MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11302 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-11 00:09:16 +00:00
andrewfish 4c8a6e069c Replace INTERWORK_FUNC, with GCC_ASM_EXPORT() and GCC_ASM_IMPORT() and update the rest of the MdePkg ARM assembler to use the macro. Leave the old INTERWORK_FUNC macro in place until we can make sure all the other packages have been updated and then it can be removed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11289 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-01 05:01:35 +00:00
darylm503 af072124e4 Fix InternalMemScanMem* functions so that they return the pointer to the matched object, as specified, instead of the following object.
Replaces the fix instituted in rev. 10821 with a more understandable, sustainable, and efficient fix that behaves the same regardless of compiler.

Reviewed by two peers.
Fixes HSD tracker 204556.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11237 6f19259b-4bc3-4df7-8a09-765794883524
2011-01-07 23:00:16 +00:00
mdkinney a06638eac2 Fix issue when BaseDebugLibSerialPort is combined with BaseSerialPortLibNull. It will ASSERT() due to the recent addition of a CONSTRUCTOR to BaseDebugLibSerialPort that calls SerialPortInitialize().
The fix is to change SerialPortInitialize() to always return RETURN_SUCCESS instead of RETURN_UNSUPPORTED.


 



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11207 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-30 01:07:39 +00:00
ydong10 9c3d10b75d Update inappropriate comments.
fine code to make code run more safely.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11191 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-22 08:32:56 +00:00
mdkinney ccc96db96e Add CONSTRUCTOR to BaseDebugLibSerialPort to call SerialPortInitialize() in the SerialPortLib to make sure the serial port hardware is in the proper state for use.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11183 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-18 00:24:34 +00:00
mdkinney b35a5f731c Remove CONSTRUCTOR from DxePcdLib aligning the DxePcdLib design with the PeiPcdLib and reduces the number of CONSTRUCTORs that have to be run for most DXE modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11182 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-18 00:22:08 +00:00
mdkinney 5bd2d2cb03 Add an empty CONSTRUCTOR to the UefiLib to resolve library dependency issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11181 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-18 00:10:30 +00:00
mdkinney 5b98704413 Fix DxeHobLib to also support a module type of SMM_CORE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11180 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-17 23:04:57 +00:00
andrewfish bcec20df61 Add support for ARM MOVW/MOVT instructions that were added in the latest PE/COFF specification. Currently they are not hooked in as we need to wait for the tools to get updated. Tools are needed to convert ELF to PE/COFF and to refixup FVs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11176 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-16 21:44:49 +00:00
andrewfish e7cb469e3a Fix issue with CodeSourcery gcc requiring assembly functions to have a .type define inorder to support interworking (calling from thumb(C code) to ARM code (hadn written assembly). We had to add a macro as the .type directive is not supported, or needed, by Xcode. All ARM .S files need to be updated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11167 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-15 00:58:34 +00:00
jljusten dccf78f0a2 MdePkg: Fix GCC Thunk support for IA32
In r11047 Ia32/Thunk.S was modified.  However, the current
implemention of Ia32/Thunk.S has contant values in the code
which must be updated if the code is changed.

This change updates those constants for the r11047 change.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11121 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-06 06:06:35 +00:00
rsun3 2057d8c843 Add a new Timer Library instance SecPeiDxeTimerLibUefiCpu into UefiCpuPkg. This library differs with the SecPeiDxeTimerLibCpu library in the MdePkg in that it uses the local APIC library so that it supports x2APIC mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11100 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-29 03:30:38 +00:00
li-elvin 4d4c535a32 Fix the issue that the high 16-bit of EAX may contain invalid data, which cause bad stack pointer, the change will ensure the high 16-bit of EAX is cleared.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11047 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-12 07:47:27 +00:00
ydong10 9be899c5cc Add API to ExtractGuidedSectionLib.h to retrieve the set of registered handlers.
API Function name is ExtractGuidedSectionGetHandlers.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11002 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-04 05:51:32 +00:00
lgao4 6517edbe51 Update UefiDriverEntryPoint library by adding BaseLib library class required by AutoGen code.
Update UefiApplicationEntryPoint library by adding BaseLib and DebugLib library class required by AutoGen code.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10954 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-18 09:59:55 +00:00
mdkinney f6b4e53dfe Update MODULE_TYPE to be DXE_RUNTIME_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10876 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-14 17:02:46 +00:00
mdkinney c91a44b857 Update this library to restrict usage to DXE_RUNTIME_DRIVER and DXE_SAL_DRIVER module types
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10865 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-10 20:08:03 +00:00
qhuang8 00dbccf2d5 Sync bug fix in Edk r10821 to PeiMemoryLib and UefiMemoryLib instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10822 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-26 00:50:37 +00:00
darylm503 ffadc63799 Fix the InternalMemScanMem* functions. They were returning the character AFTER the match instead of the matching character.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10821 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-25 23:06:43 +00:00
sfu5 6efe946118 Refine code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10799 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-16 01:11:49 +00:00
qhuang8 83c7c8036c Minor refinement on source code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10797 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-14 07:25:20 +00:00
sfu5 f0b0ba3177 Refine code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10793 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-13 02:47:22 +00:00
hhuan13 a58b9d96b4 Fixed K9 scan issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10781 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-09 06:28:01 +00:00
lgao4 6389e32beb Use FreePool() library API to replace gBS->FreePool() service.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10712 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-29 06:44:13 +00:00
lgao4 116b142d86 Roll back change r10695, because new update on r10700 and r10701 handles this issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10704 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-28 01:43:18 +00:00
lgao4 1d733f731f Enhance SmmMemoryAllocationLib Free function implementation to call gSmst or gBS Free service according to the buffer in or out of SMRAM range.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10700 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-28 01:07:43 +00:00
lgao4 0433d8f018 Make sure gBS FreePool() is used to free the buffer always allocated by gBS AllocatePool() service.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10695 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-26 16:20:34 +00:00
hhtian d4b6dd9300 minor format update
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10691 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-24 11:41:06 +00:00
myronporter 58380e9c61 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@10615 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-30 00:13:25 +00:00
mdkinney 96dd57ee8d Update BASE PCI Library that uses CF8/CFC access mechanism for PCI configuration cycles to be safe for use from interrupt context and from modules of type DXE_SMM_DRIVER.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10606 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-25 22:27:59 +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 15c952e728 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@10597 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-24 20:11:34 +00:00
myronporter 127010dd96 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@10596 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-24 00:20:35 +00:00
myronporter c5b16b1b0b 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@10594 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-22 23:56:19 +00:00
MyronPorter e4a34497b4 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@10593 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-22 22:59:38 +00:00
mdkinney cda8ba5ed7 Add ASSERT() conditions to UEFI Library Print() and AsciiPrint() functions if gST->ConOut is NULL.
Add ASSERT() conditions to UEFI Library ErrorPrint() and AsciiErrorPrint() functions if gST->StdErr is NULL.
Add ASSERT() conditions to UEFI Library PrintXY() and AsciiPrintXY() gST->ConsoleOutputHandle is NULL.
Update Print(), AsciiPrint(), ErrorPrint(), AsciiErrorPrint() to return 0 if the Simple Text Output Protocol OutputString() call returns an error.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10576 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-11 19:11:20 +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
geekboy15a 2bd78c92c6 Fixed issue with InternalX86ReadIdtr referencing LDT read and not IDT read operation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10559 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-01 22:46:53 +00:00
li-elvin a24faca37a Add Read/Write (16) command to SCSI library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10549 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-28 06:57:15 +00:00
jljusten 2653bb431a MdePkg BaseLib: Fix GCC build break
Only use X86MemoryFence.c for INTEL and MSFT.  MemoryFence is defined
in GccInline.c for GCC.

This change is the same as r10522, but for X64.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10525 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-20 21:12:18 +00:00
qhuang8 c756ce80a4 Fix GCC build break as MemoryFence() API has already been included in GccInline.c in BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10522 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-20 05:30:55 +00:00
qhuang8 d01a90fb3e Fix some typos
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10521 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-20 05:23:50 +00:00
qhuang8 4e4a5f359d Temporarily remove build-in __sync_val_compare_and_swap() in the implementation of sync functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10519 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-19 06:06:40 +00:00
hhtian c9b34b8cb3 Update copyright format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10506 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 11:40:39 +00:00
qhuang8 cf683fedc7 1. Restore the inline C implementation of GCC assembly files that was temporarily removed in Svn r10045.
2. Remove 139 GCC assembly files whose functionality have been covered in the inline C implementation.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10503 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 05:37:58 +00:00
xdu2 5277dc8829 Fix bug in AsmCpuVirtual() to return 1 instead of 0 when CPU is in virtual mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10475 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-10 02:48:44 +00:00
qhuang8 61f0f4375b Use the ASSERT() for parameter checking as the 4th paramter of internal worker function of MakeTable() must be <= 16.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10472 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-10 00:57:06 +00:00
mdkinney cab979f161 Fix ICC 11.1 build break
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10466 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-07 22:47:32 +00:00
lgao4 b9d5a7f1dc Move SecExtractGuidedSectionLib instance from OvmfPkg to MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10459 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-05 02:06:23 +00:00
lgao4 682cee4c06 Add new API GetSectionFromAnyFvByFileType() into MdePkg DxeServicesLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10456 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-05 01:56:41 +00:00
geekboy15a 932d66a970 Forcing functions with variable argument lists to use the same calling convention (EFIAPI). This solves issues when using compilers where the default calling convention is not EFIAPI.
This fixes boot issues when using GCC 4.4 in X64 modules.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10441 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-29 01:05:44 +00:00
hhtian 19388d2960 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10415 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:37:43 +00:00
hhtian e2d9bfb2bc Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10413 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:26:26 +00:00
hhtian acf57deca9 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10412 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:24:38 +00:00
hhtian c33c6476ca Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10411 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:23:28 +00:00
hhtian 1f558705b2 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10410 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:20:52 +00:00
hhtian 84b5877f02 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10409 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:16:36 +00:00
hhtian adc29a976a Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10408 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:13:53 +00:00
hhtian 085c39686c Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10407 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:08:36 +00:00
hhtian 2fcf0abf44 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10406 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:04:26 +00:00
hhtian bb817c56c5 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10405 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:00:47 +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
hhtian 1815f5bbc3 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10401 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:36:12 +00:00
hhtian 700b41d4d5 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10400 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:35:43 +00:00
hhtian de2d34193e Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10399 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:35:13 +00:00
hhtian 2f7c0ad11a Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10398 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:32:58 +00:00
rsun3 ba9f835144 Add an IO Lib instance based on CPU IO2 Protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10383 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-21 02:06:55 +00:00
geekboy15a 4e57f24098 Fixed GCC 4.4 build issue due to incorrect prefix. Now using ASM_PFX to correctly set the prefix.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10377 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-16 22:37:03 +00:00
geekboy15a bc810c8977 Fixed GCC 4.4 build issue. Also fixed issue where upper 32-bits may be lost during AND operation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10376 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-16 22:34:22 +00:00
qhuang8 3432b0cf11 Fix INF file header format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10323 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-31 16:32:04 +00:00
qhuang8 fc5de6be8b Remove obsolete BuildCapsuleHob() function in DxeCoreHobLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10306 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-23 09:15:25 +00:00
andrewfish 703f1d091f Add Math64.S to reduce the number of compiler intrinsics that need to be supported. It turns out they seem to change from GCC generation to generation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10259 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 02:21:18 +00:00
jyao1 21e66ee89f Move SmmCoreSmmServicesTableLib from MdePkg to MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10203 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 04:04:36 +00:00
jyao1 b5cc527ea9 Add SmmCore SmmServicesTable library.
This library should be used and only used by SmmCore, (compare with SmmServicesTable Lib is used and only used by SmmDriver)

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10202 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 03:52:12 +00:00
hhuan13 06ba53cc28 Remove SMM_CORE from SmmServicesTableLib.inf that is dedicated for DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10183 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 08:32:54 +00:00
klu2 9dbad162da Removing "Ex" in PI PCD_PPI/PROTOCOL's interface according to PI 1.2 latest update.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10167 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 08:53:41 +00:00
vanjeff d6b58d3219 updated definitions of PCD PPI/Protocol per latest UEFI Spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10134 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 06:14:46 +00:00
mdkinney be04587c86 Remove assumption that the transition code for transitioning from 64-bit to 32-bit mode is 64 bytes. Instead compute the size based on the implementation in the ASM file.
Update logic to align new 32-bit stack on a 4 byte boundary
Update logic to prevent one slot overlap between the transition code and the new stack.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10133 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 05:35:20 +00:00
xli24 53f3249595 Update SEC Platform Information PPI according to PI 1.2 errata A.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10118 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-27 15:37:52 +00:00
klu2 0126845e7d Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10071 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 16:26:33 +00:00
lgao4 e13288c248 Correct Copyright year format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10054 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 01:42:12 +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
klu2 28b5f7c062 Disable interrupt when changing IDTR register.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10046 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 07:32:20 +00:00
qhuang8 f18f2882e9 Temporarily remove the C implementation of some GCC assembly files in MdePkg. They are kept in repository and will be re-evaluate later.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10045 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 04:56:55 +00:00
mdkinney 95572bd1b8 Remove SMM_CORE as a supported module type for the MemoryAllocationLib instance that uses UEFI Boot Services
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10008 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-15 18:16:05 +00:00
mdkinney c819c01665 Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10001 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 05:59:31 +00:00
mdkinney 53b85bcbf0 1) Remove dependency on the UEFI Boot Services Table Library so the gBS, gST, and gImageHandle symbols will not be automatically linked into an SMM Driver that uses this library.
2) Remove redundant include of <PiDxe.h>
3) Clean up constructor to use InSmm() library function instead of duplicating logic.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10000 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 05:49:44 +00:00
mdkinney 112af4265f Remove constructor from this library. This library already has SMM CPU I/O 2 in its [Depex], so any module using this library will not be dispatched until the SMM CPU I/O 2 Protocol is installed into the SMM handle database and also copied into the SMM Services Table.
The worker functions in this library have also been updated to simply use the instance of the SMM CPU I/O 2 Protocol that is present in the SMM Services Table.

The dependency on the UEFI Boot Services Table Library has also been removed so the gBS, gST, and gImageHandle symbols will not be automatically linked into an SMM Driver that uses this library.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9999 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 05:47:00 +00:00
mdkinney 0628eb2c76 Do not set gBS to NULL when the ExitBootServices event notification for the UEFI Runtime Lib is executed.
There is no guarantee that the ExitBootServices notification function from this lib will be the last ExitBootServices notification function registered by a module that uses the UEFI Runtime lib.  If additional ExitBootServices notification functions require the use of gBS, then setting to NULL will break those additional ExitBootServices notification functions.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9982 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:55:26 +00:00
qhuang8 cb6cb44c1a Minor update to fix typos and update the file to use \r\n as end of line
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9901 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-01 13:03:17 +00:00
qhuang8 a0720bb82b Add missing dependency expression for some library instances in MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9891 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-01 02:48:17 +00:00
mdkinney 254d6680cc Add missing [Depex]
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9860 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 04:51:57 +00:00
mdkinney 0bce7349f5 Move SmmLib from IntelFrameworkPkg to MdePkg because this library is useful to both Framework SMM and PI SMM implementations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9840 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 22:59:52 +00:00
qhuang8 ea6898b902 Clean up MdePkg source to correct some coding style issues, etc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9832 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 03:25:28 +00:00
qhuang8 cded62189e Add type-cast to fix build break for IA32 arch
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9768 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 02:38:31 +00:00
AJFISH 42db19acc1 Fix gcc warning
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9765 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 00:01:20 +00:00
AJFISH 225290eba7 Added new PeCoffGetEntryPoint lib function to get size of PE/COFF header. This is needed for debug prints with PE/COFF images that started as ELF or Mach-O. Moved and debugged ARM semihosting lib for RVD that prints out the debugger symbol load commands in a window on the debugger. Trying to write a script file, but that crashes RVD. Added debug print to BeagleBoard Sec that prints out RVD debugger command to load symbols for the Sec. Synced the rest of the code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9763 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 23:39:29 +00:00
mdkinney 80ae2a5874 Clean up .h files for the CPU I/O PPI and the CPU I/O 2 Protocol
Minor clean up to PeiIoLibCpuIo.inf




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9739 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 04:43:31 +00:00
mdkinney 8fc71decbe Change SMM CPU I/O to SMM CPU I/O 2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9735 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 04:20:04 +00:00
mdkinney 66b631f5e0 Remove extra reference to SmmCpuIo.h
Minor clean ups to INF



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9733 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 02:25:24 +00:00
davidhuang b7c5912af1 PI 1.1 SMM Feature Check-in
1. Add SmmServicesTableLib library class/instance.
2. Add SmmIoLibCpuIo/SmmPciLibPciRootBridgeIo library instance.
3. Update some library INF to support SMM_CORE module type.
4. Update dec/dsc to include new modules.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9590 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23 06:44:33 +00:00
qhuang8 8f635c36ad Fix a bug in MdePkg BaseLib: StrnCat() and AsciiStrnCat() should NULL terminated the final destination string when Length is equal to the length of Source string
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9588 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23 01:50:10 +00:00
lgao4 c083f7caef Directly use FALSE when BootPolicy is FALSE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9540 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-08 05:28:03 +00:00
eric_tian 56385d4987 1. fix the wrong description, change "target the buffer" to "the target buffer"
2. fix ICC/GYGGCC build failure on ScanMemN() in X64 arch, it can not reach the last sentence when UINTN is equal to UINT64.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9530 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-07 04:48:53 +00:00
eric_tian 6741aad96b according to IA32 intel architecture spec, mwait instuction needs not the operands.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9527 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-07 04:15:00 +00:00
eric_tian 0e121f5551 fix GCC build issue, mWait instruction need not the operands.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9526 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-07 03:31:44 +00:00
AJFISH 1afe0401f4 Fixes for ARM build in the EdkCompatibilityPkg and a couple of Xcode fixes for MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9520 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-06 02:01:54 +00:00
mdkinney f7753a96ba Add SetMemN() and ScanMemN() to the BaseMemoryLib class and all BaseMemoryLib implementations
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9517 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-05 18:48:52 +00:00
lgao4 e191bb1430 Add more check for local FileInfo variable before it is used.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9506 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-02 10:13:24 +00:00
lgao4 95dd343a4b Make MEDIA DEVICE PATH on 2 byte aligned to avoid the access to unaligned device path node.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9503 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-01 10:29:39 +00:00
lgao4 847166140a Add new GetFileBufferByFilePath API into DxeServicesLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9486 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-26 00:44:07 +00:00
klu2 441ff98cba Fix a typo bug that miss &
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9475 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-24 11:01:07 +00:00
klu2 0c561f4175 Explicitly cast PCD_CALLBACK to EFI_PCD_PPI_CALLBACK/EFI_PCD_PROTOCOL_CALLBACK) to avoid warning. PCD_CALLBACK in EDKII implementation is compatible with EFI_PCD_PPI_CALLBACK/EFI_PCD_PROTOCOL_CALLBACK.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9474 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-24 08:09:58 +00:00
klu2 ec735bb205 1, PeiPcdLib use EFI_PEI_PCD_PPI defined in PI 1.2 to handle dynamicEx type PCD request.
2, DxePcdLib use EFI_PCD_PROTOCOL defined in PI 1.2 to handle dynamicEx type PCD request.
3, There is no change for dynamic type PCD.
4, Refine the INF's comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9473 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-24 03:29:57 +00:00
mdkinney cbca8de588 1) Add new BaseLib API GetPreviousNode()
2) Clarify comment for the value returned from GetNextNode() if the end of list is reached.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9464 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-21 21:57:11 +00:00
klu2 6a8e44d9c6 Add ASM_PFX() for exposed symoble from assemble to C
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9435 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17 06:52:34 +00:00
xdu2 df8d0595dc Update function description to be consistent with code definition: HEX_RADIX => RADIX_HEX.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9434 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17 01:46:51 +00:00
vanjeff 61acaac87f 1. rolled back Hob library to remove new API - BuildCapsuleHob() and related implementation in MdePkg.
2. implemented BuildCvHob() in PeiHobLib/HobLib.c.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9389 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-04 06:51:07 +00:00
vanjeff b6b55af34c UEFI Capsule HOB updating includes:
1. add BuildCapsuleHob() in HobLib.h
2. add related APIs implementation in hob library instances.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9378 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-28 07:53:32 +00:00
mdkinney 2816e216c2 Do not update the ImageBase in the PE/COFF header if Adjust is 0.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9341 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-15 17:21:22 +00:00
mdkinney 01e1171ebd Do not apply relocation fixups if the Adjust value is zero, which means the image is XIP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9333 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-08 16:45:40 +00:00
mdkinney 5cfafa075a Check to see if the section size of non-zero before failing a load operation due to a NULL base or end address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9326 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-01 23:48:00 +00:00
qhuang8 60bd4ccd45 Remove tabs in MdePkg source code
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9302 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-22 02:49:53 +00:00
lgao4 3831f3e9a9 Fix the bug in PeiServicesInstallFvInfoPpi() implementation that can't set the reliable ParentFvName and ParentFileName when install FvInfo PPI.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9255 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-10 08:24:05 +00:00
vanjeff 5cba121d30 add modifier EFIAPI for library interfaces.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9246 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-08 07:29:48 +00:00
qhuang8 8facd18f30 Split AsmReadKr7() and AsmWriteKr7() from AccessKr.s file since these two APIs are frequently used to store/fetch PeiServicesTable pointer for IPF platform. Some compiler/linker with /Od is not smart enough to remove used KR registers access APIs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9219 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-01 14:57:18 +00:00
mdkinney 7f22d35110 Fix file headers
Move stack alignment check from CPU specific files into common SwitchStack() function and add VA_END() to SwitchStack().
Fix incorrect syntax for ASM_FUNCTION_REMOVE_IF_UNREFERENCED






git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9193 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:53:23 +00:00
mdkinney 2bd1edf456 Fix file headers
Fix typos in comments style of assembly files
Change IA32 CpuFlushTlb() for GCC to use AsmReadCr3() and AsmWriteCr3() instead of using inline assembly.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9192 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:45:38 +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
mdkinney d20e817daa Fix file header
Fix a typo in InternalSyncCompareExchange32()

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9190 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:41:22 +00:00
mdkinney acbcf0425f Fix file headers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9189 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:39:38 +00:00
qhuang8 64674889d4 Add "/" after "lock" and another instruction to improve compatibility.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9167 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-21 01:07:17 +00:00
qhuang8 ea3c1b3ad6 1. Use .p2align directive instead of ambiguous .align directive.
It seems for ARM, .align means power of two, so we'd like to use .p2align for more portability.
2. Fix some typos in ARM ProcessorBind.h 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9152 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20 07:24:59 +00:00
qhuang8 01a54966be Remove tabs in source code in MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9142 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:09:31 +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
qhuang8 16c5446fe3 Minor update to fix some typos.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9135 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 13:09:19 +00:00
mdkinney 32304af268 Make EOL consistent
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9116 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 22:19:04 +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 990e25aa35 Add Add ARM support
Add C inline assembly files for IA32 and X64 GCC builds.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9114 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:24:08 +00:00
mdkinney 64698eb841 Add ARM support
Add C inline assembly files for IA32 and X64 GCC builds.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9113 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:04:14 +00:00
mdkinney 3c99107841 Add ARM support
Add C inline versions of the IA32 and X64 assembly functions.  

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9112 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:02:42 +00:00
mdkinney 9101c2e894 Add ARM support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9111 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:01:18 +00:00
mdkinney 6f0dc9aeff Address an ARM compatibility issue by converting loops that were being optimized away into SetMem() calls.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9110 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:00:48 +00:00
mdkinney b5a6c9d9e0 Update BasePrintLib to work correctly on compilers where VA_LIST is a structure
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9109 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:00:02 +00:00
mdkinney 2fa3661a34 Add ARM support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9108 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:59:26 +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
mdkinney 229fe3a229 Add ARM specific functions to the BaseCacheMaintenanceLib that generates an ASSERT() if any of the services are used. The ARM support in this library is only provided so the modules in the EDK II core packages can be built for ARM. ARM platforms must use an implementation of the Cache Maintenance Library that supports the target ARM CPU.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9106 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:56:21 +00:00
qhuang8 945f5f400b Use "movd" instruction to manipulate MMX register to support more GNU assemblers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9055 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-12 02:23:31 +00:00
qhuang8 09b0fdbbb5 Minor update source to make end-of-line consistent.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9043 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:37:14 +00:00
qhuang8 0da835f99b Remove all unnecessary .align directives in MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9042 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:35:27 +00:00
qhuang8 1fef058f4b clean up all of eight BaseMemoryLib instances in MdePkg with the following updates:
1.	Remove .intel_syntax directives in GCC assembly files. All these assembly files have been updated to use the preferred syntax for GAS
2.	Correct the incorrect comments for internal worker functions for SetMemXX() and ScanMemXX(). The Length parameter is actually the counter of 16-bit, 32-bit or 64-bit value. 
3.	Simplify the logic in ZeroMemoryWrapper.c for BaseMemoryLibOptPei instance to remove the conditional statement for zero length. This logic is already covered by worker function InternalMemZeroMem(). 
4.	Cleanup all the Wrapper C files in BaseMemoryLib instances. They are supposed to be shared by all these 8 BaseMemoryLib instances, but are out-of-sync after some maintenance. This patch re-syncs them and makes them exactly the same.
5.	Cleanup MemLibInternal.h so that it is shared by 6 BaseMemoryLib instance except for PeiMemoryLib and UefiMemoryLib.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9041 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:32:16 +00:00
klu2 1081f624a4 Add PcdVerifyNoteInList for judge whether do verification of node in list in debug mode. The default value is FALSE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9016 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-28 02:38:30 +00:00
lgao4 80151e5331 Rename BaseLib internal functions by adding InternalBaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8980 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-23 01:43:04 +00:00
mdkinney c553db4b78 Adjust the behavior of the MdePkg Print Library class to produce a consistent style of EOL characters.
Previously, the Print Library class would translate '\n' to '\n\r'.

With this update, the following EOL translations are performed:
1) '\r' to '\r'
2) '\r\n' to '\r\n'
3) '\n' to '\r\n'
4) '\n\r' to '\r\n'


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8692 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-30 23:13:06 +00:00
gikidy ebdad7f865 For X64 BASE_LIBRARY_JUMP_BUFFER is 64-bit aligned, not 128-bit aligned, replace movdqa with movdqu.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8508 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-10 09:00:21 +00:00
gikidy 63b65a9e4f Save/Restore xmm6-xmm15 in function setJump/longJump for GAS.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8507 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-10 08:07:37 +00:00
gikidy 9b9641c6d9 Save/Restore xmm6-xmm15 in function setJump/longJump.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8506 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-10 07:14:17 +00:00
klu2 0d654ba433 Need use 32-bit register to hold 32-bit stack address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8481 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 13:36:09 +00:00
klu2 5a76206190 Need use 32-bit register to hold 32-bit stack address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8480 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 13:31:58 +00:00
klu2 2e56bb155b Fix the bug that if code is run above 4G, AsmDisablePaging64 will be failed
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8479 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 11:50:39 +00:00
klu2 ce4c0e31b0 Fix the bug that if code is run above 4G, AsmDisablePaging64 will be failure.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8478 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 11:21:48 +00:00
rsun3 5fe71b5f03 Add missing parameter check ASSERTs in ScsiReadCapacity16Command() of UefiScsiLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8471 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 01:41:31 +00:00
xli24 287f4f47b4 Add ASSERT check for AsmFlushCacheRange().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8465 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 14:29:12 +00:00
eric_tian 63fffe4e72 fix the issue when passing a L"" string to PrintXY.
1. According to the value of RowInfoArraySize to get the actual number of printed line.
2. If RowInfoArraySize equates 0, then it means nothing is printed.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8464 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 13:50:14 +00:00
qhuang8 2561f56540 1. Fix the bug that we should use rip relative addressing for x64 label to prevent GNU assembly generate incorrect code.
2. Sync the bug fix of MS assembly in r8455.
3. Correct the function prototype in comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8456 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 08:15:18 +00:00
qhuang8 1a76fbef84 Save label "@F" to 64-bit register (r10) instead of 32-bit register (eax) in case label @F is above 4G.
Use "far retq" to load CS and 64-bit rip instead.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8455 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 08:11:34 +00:00
eric_tian 134c1f33ed modify the implementation of GetInterface and GetConfiguration to force the high byte of output type parameters zero.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8447 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 01:57:56 +00:00
qhuang8 d48e8b0afa Use rip relative addressing for x64 label for Thunk16.S to prevent GCC assembly from generating 32-bit value with HIGHLOW fixup.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8444 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 23:40:06 +00:00
mdkinney 071a9a1f65 Correct parameter names for ASSERT() checks.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8414 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 17:19:40 +00:00
mdkinney 2075236eef This checkin addresses the compatibility issue of passing arguments of type VA_LIST between components. The type VA_LIST is mapped onto the compiler specific implementation of varargs. As a result, modules build with different compilers may not use the same VA_LIST structure. The solution to this issue is to define a new type called BASE_LIST that is a compiler independent method of passing varargs between modules.
Add BASE_LIST type to Base.h
Add BAS_ARG() macro to Base.h
Add 4 functions to PrintLib.h that use BASE_LIST.
Change ReportStatsuCodeExtractDebugInfo() from ReportStatusCodeLib.h to take a BASE_LIST argument instead of a VA_LIST argument
Add the 4 new functions to BasePrintLib implementation that use BASE_LIST
Update BaseReportStatusCodeLib implementation of ReportStatsuCodeExtractDebugInfo() to use a BASE_LIST argument instead of a VA_LIST argument



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8404 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:45:50 +00:00
qhuang8 a81c3daf0a Correct one minor instruction to clear the lower 4 bits of r11.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8391 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 12:04:46 +00:00
qhuang8 a148780114 Fix the bug in x64 thunk code that it cannot handle the case when GDT is loaded in above 4G table memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8390 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 11:41:12 +00:00
eric_tian 57ee276f16 update comments on implementation
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8389 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 10:04:43 +00:00
eric_tian 392b3cf8b5 sync the StrToImage flag of UGA to consistent with GOP
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8388 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 10:01:46 +00:00
eric_tian d9e63d93d5 update the file description of PrintXY and AsciiPrintXY. and also refine the implementation to return the number of actual printed characters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8372 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 10:02:33 +00:00
lgao4 3e0c79b57b Fix ScsiLib build break by << operator, which is replaced by LShiftU64 of BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8363 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 03:26:42 +00:00
mdkinney 1e966f6375 Remove redundant #include statements
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8357 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 22:06:20 +00:00
xli24 132f41f0a9 Replace .globl with ASM_GLOBAL
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8346 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 10:22:09 +00:00
xli24 d5172f911d 1. Remove .extern from GCC assembly.
2. Define macro for .global/.globl in GCC assembly.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8344 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 09:42:59 +00:00
rsun3 6b3ecf5cc2 Add back logic to encode LUN in CDB for compatibility with SCSI-2 spec, although LUN encoding in CDB is changed to be reserved in SCSI-3 spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8334 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 09:07:38 +00:00
xli24 5dc4fd7856 Fix the unaligned issue of PCI read/write buffer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8333 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 07:09:45 +00:00
rsun3 676e2a32f9 Fix bugs in the UEFI SCSI Library.
1. LUN number should not be encoded in CDB.
2. Left shift the PageControl field by 6 bits in ScsiModeSense10Command().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8331 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 05:42:37 +00:00
xli24 99ade971a1 Add BaseLib for BaseCpuLib.inf.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8327 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 02:15:40 +00:00
eric_tian d3c0cbcecc cleanup the .S file to wrap all public symbols with ASM_PFX() macro,which is used to generate underscore prior to public symbol or not within various GCC distribution versions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8316 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-15 03:21:08 +00:00
xli24 44c0fd78ef Update CpuSleep() for IPF.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8315 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-15 02:51:38 +00:00
xli24 59ceeabe50 1. Add address check for "RegisterForRuntime" APIs of PciLib, PciCf8Lib, PciExpressLib, and PciSegmentLib.
2. Update ASSERT condition for PciCf8Lib, and PciSegmentLib class.

3. According to MDE Lib Spec, add check for reserved bit field 63..48 for PCI segment address.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8311 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-14 03:13:31 +00:00
rsun3 faeb3214d4 Fix the implementation of AsciiStrStr() and StrStr() in MdePkg. If the length of SearchString is zero, then String is returned.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8297 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 03:33:34 +00:00
qhuang8 5630456909 Minor update the function interface for three re-allocate pool APIs to check the conformance of OldBuffer only when the memory allocation succeeds. In this way the assert condition is covered by CopyMem () API in BaseMemoryLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8296 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 02:29:22 +00:00
qhuang8 446b94b0a1 Add conformance check for OldBuffer and size even if the memory allocation fails.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8294 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 08:23:26 +00:00
qhuang8 f158ee678c Fix minor coding style issue for ScsiReadCapacity16Command() API in UefiScsiLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8291 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 07:22:49 +00:00
eric_tian e74738b1c3 In PrintXY() and AsciiPrintXY(), the number of chartacter returned is at most PcdUefiLibMaxPrintBufferSize, and will return the number of characters actually displayed on the screen not includng partial characters that may be clipped by the right edge of the display.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8289 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 06:58:28 +00:00
eric_tian 8d579453d3 add the extra comments into BasePeCoffRelocateImage, BasePeCoffLoadImage and BasePeCoffRelocateImageForRuntime to help user to know the usage model of these APIs.
The comments mainly used to clarify it's caller's responsibility to to perform cache maintenance operations

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8283 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 01:32:17 +00:00
mdkinney c85cea8046 Clarify BuildCvHob() API in HobLib to state that this function will ASSERT() if the platform does not support Capsule Volume HOBs. This allows PI implementations to ASSERT() and Framework implementations to provide a full implementation of this API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8278 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-09 01:47:49 +00:00