Yes
From: Mcdaniel, Daryl [mailto:[email protected]]
Sent: Monday, May 13, 2013 2:35 PM
To: [email protected]
Cc: Tim Lewis
Subject: RE: [edk2] x86 compiler intrinsics
Tim,
If the compiler "instinsic" libraries (both gcc and msvc) from StdLib were made
available separately and for general use (though still as part of EDK II),
would this satisfy your needs? This would get you memcpy/memmove as well as
the intrinsics needed to use the C math operators, +-*/%^
Daryl McDaniel
"In the pun, two strings of thought are tangled into one acoustic knot."
-- Arthur Koestler
From: Carsey, Jaben [mailto:[email protected]]
Sent: Monday, April 01, 2013 1:43 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: [edk2] x86 compiler intrinsics
There is one created for porting EDK shell extensions into UEFI Shell
applications. Sounds like we need something like that for non-shell code.
http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Porting_an_EDK_Shell_Extension
From: Andrew Fish [mailto:[email protected]]
Sent: Monday, April 01, 2013 11:49 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [edk2] x86 compiler intrinsics
On Apr 1, 2013, at 11:03 AM, Tim Lewis
<[email protected]<mailto:[email protected]>> wrote:
Andrew -
You are a UEFI expert with tons of background knowledge. Newer engineers see an
error like this and have no reasonable way to proceed. Try to dig up a FAQ on
this?
This sounds like an issue in general. It would be nice to have an FAQ or
porting guide some place.
The EDK2 environment should support normal C operations for all data types
which are in the ABI. I can understand not supporting float intrinsics (floats
aren't actually a part of the ABI, even if they can be used in a module) But
normal struct assignments, or UINT64 math?
The Math libs are probably a higher bar than a memcpy/memset. For ARM math libs
were required as one of the processors we targeted did not even have a divide
instruction. The biggest math lib issue for IA32.
Now x86 appears handicapped in comparison to ARM on EDK2. Why allow this to
persist?
Well there are really two issues: memcpy/memset vs. math. The math is only an
issue for IA32, while the memcpy/memset is more generic.
I'm not opposed to some one adding these kind of intrinsics to the
IA32/X64/IPF world, but these are the issues that I see:
1) It makes different version of the edk2 not compatible. The new code would
not be compatible with an older code base.
2) Some one has to add and maintain all these function. The math functions
being more complicated than the memcpy.
3) It is a possible extra per compiler porting work, but I have to say it turns
out that the intrinsics are more stable than we first thought since if the
compiler changes them it breaks standard libraries.
As you point out it might make it easier to port EDK code if we added the
memcpy, but there are still going to be porting issues. For example the scheme
for GIUD globals is very different between the EDK/edk2, so I think we need
some kind of FAQ to help folks out regardless of this memcpy issues.
Thanks,
Andrew
Tim
------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel