Home | History | Annotate | Download | only in RngDxe
      1 ## @file

      2 #  Produces the UEFI Random Number Generator protocol

      3 #

      4 #  This module will leverage Intel Secure Key technology to produce the Random

      5 #  Number Generator protocol, which is used to provide high-quality random numbers

      6 #  for use in applications, or entropy for seeding other random number generators.

      7 #  Refer to http://software.intel.com/en-us/articles/intel-digital-random-number

      8 #  -generator-drng-software-implementation-guide/ for more information about Intel

      9 #  Secure Key technology.

     10 #

     11 #  Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>

     12 #  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>

     13 #  This program and the accompanying materials

     14 #  are licensed and made available under the terms and conditions of the BSD License

     15 #  which accompanies this distribution. The full text of the license may be found at

     16 #  http://opensource.org/licenses/bsd-license.php

     17 #

     18 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     19 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     20 #

     21 ##

     22 
     23 [Defines]
     24   INF_VERSION                    = 0x00010005
     25   BASE_NAME                      = RngDxe
     26   FILE_GUID                      = B981A835-6EE8-4f4c-AE0B-210AA0BFBF01
     27   MODULE_TYPE                    = DXE_DRIVER
     28   VERSION_STRING                 = 1.0
     29   ENTRY_POINT                    = RngDriverEntry
     30   MODULE_UNI_FILE                = RngDxe.uni
     31 
     32 #

     33 # The following information is for reference only and not required by the build tools.

     34 #

     35 #  VALID_ARCHITECTURES           = IA32 X64

     36 #

     37 
     38 [Sources.common]
     39   RngDxe.c
     40   RdRand.c
     41   RdRand.h
     42   AesCore.c
     43   AesCore.h
     44 
     45 [Packages]
     46   MdePkg/MdePkg.dec
     47   SecurityPkg/SecurityPkg.dec
     48 
     49 [LibraryClasses]
     50   UefiLib
     51   UefiBootServicesTableLib
     52   BaseLib
     53   DebugLib	
     54   UefiDriverEntryPoint
     55   TimerLib
     56   RngLib
     57 
     58 [Guids]
     59   gEfiRngAlgorithmSp80090Ctr256Guid   ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG

     60   gEfiRngAlgorithmRaw                 ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG

     61 
     62 [Protocols]
     63   gEfiRngProtocolGuid                ## PRODUCES

     64 
     65 [Depex]
     66   TRUE
     67 
     68 [BuildOptions]
     69   XCODE:*_*_*_CC_FLAGS = -mmmx -msse
     70 
     71 [UserExtensions.TianoCore."ExtraFiles"]
     72   RngDxeExtra.uni
     73