audk/MdePkg
Ard Biesheuvel 55f5af1871 MdePkg: fix ARM version of InternalMathSwapBytes64 ()
The ARM asm implementation of InternalMathSwapBytes64 () does
interesting things if bit 7 of operand r1 (upper 32 bits of the
input value) is set. After the recursive swap, bit 7 ends up in
the sign bit position, after which it is right shifted with sign
extension, and or'ed with the upper half of the output value.

This means SwapBytes64 (0x00000080_00000000) returns an incorrect
value of 0xFFFFFFFF_80000000.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17077 6f19259b-4bc3-4df7-8a09-765794883524
2015-03-27 17:27:14 +00:00
..
Include Updated Memory Error Record Per UEFI Specification 2.4a. 2015-03-20 03:27:24 +00:00
Library MdePkg: fix ARM version of InternalMathSwapBytes64 () 2015-03-27 17:27:14 +00:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
MdePkg.dec MdePkg: Add SMBIOS 3.0 configuration table Guid. 2015-03-16 02:34:30 +00:00
MdePkg.dsc Add SmmMemLib, which can be used by SMM driver or SMM core to check communication buffer. 2015-02-02 14:40:44 +00:00
MdePkg.uni MdePkg: Correct Help of Error Level 2015-02-06 06:39:16 +00:00
MdePkgExtra.uni MdePkg: INF/DEC file updates to EDK II packages 2014-08-27 09:39:59 +00:00