This patch serial added low-level APIs (AsmRdRand16/32/64) in BaseLib
for CPU RdRand instruction access, and added one library class (RngLib)
with three APIs (GetRandomNumber16/32/64) for common RNG service, with
one RdRand-based library instance to provide high-quality random number
generator.

Qin Long (2):
  MdePkg: Add CPU RdRand access APIs for random number generation
  MdePkg: Add RngLib into MdePkg

 MdePkg/Include/Library/BaseLib.h         |  51 ++++++++++
 MdePkg/Include/Library/RngLib.h          |  69 ++++++++++++++
 MdePkg/Library/BaseLib/BaseLib.inf       |   6 ++
 MdePkg/Library/BaseLib/Ia32/RdRand.S     |  80 ++++++++++++++++
 MdePkg/Library/BaseLib/Ia32/RdRand.asm   |  94 ++++++++++++++++++
 MdePkg/Library/BaseLib/X64/RdRand.S      |  72 ++++++++++++++
 MdePkg/Library/BaseLib/X64/RdRand.asm    |  83 ++++++++++++++++
 MdePkg/Library/BaseRngLib/BaseRng.c      | 157 +++++++++++++++++++++++++++++++
 MdePkg/Library/BaseRngLib/BaseRngLib.inf |  41 ++++++++
 MdePkg/Library/BaseRngLib/BaseRngLib.uni | Bin 0 -> 1878 bytes
 MdePkg/MdePkg.dec                        |   4 +
 MdePkg/MdePkg.dsc                        |   1 +
 12 files changed, 658 insertions(+)
 create mode 100644 MdePkg/Include/Library/RngLib.h
 create mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.S
 create mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.asm
 create mode 100644 MdePkg/Library/BaseLib/X64/RdRand.S
 create mode 100644 MdePkg/Library/BaseLib/X64/RdRand.asm
 create mode 100644 MdePkg/Library/BaseRngLib/BaseRng.c
 create mode 100644 MdePkg/Library/BaseRngLib/BaseRngLib.inf
 create mode 100644 MdePkg/Library/BaseRngLib/BaseRngLib.uni

-- 
2.5.1.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to