]>
git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h
2 Arm Firmware TRNG definitions.
4 Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
9 - [1] Arm True Random Number Generator Firmware, Interface 1.0,
10 Platform Design Document.
11 (https://developer.arm.com/documentation/den0098/latest/)
14 - TRNG - True Random Number Generator
18 #ifndef ARM_FW_TRNG_DEFS_H_
19 #define ARM_FW_TRNG_DEFS_H_
21 #include <IndustryStandard/ArmStdSmc.h>
23 // Firmware TRNG revision mask and shift
24 #define TRNG_REV_MAJOR_MASK 0x7FFF
25 #define TRNG_REV_MINOR_MASK 0xFFFF
26 #define TRNG_REV_MAJOR_SHIFT 16
28 #if defined (MDE_CPU_ARM)
30 /** FID to use on AArch32 platform to request entropy.
32 #define ARM_SMC_ID_TRNG_RND ARM_SMC_ID_TRNG_RND_AARCH32
34 /** Maximum bits of entropy supported on AArch32.
36 #define MAX_ENTROPY_BITS 96
37 #elif defined (MDE_CPU_AARCH64)
39 /** FID to use on AArch64 platform to request entropy.
41 #define ARM_SMC_ID_TRNG_RND ARM_SMC_ID_TRNG_RND_AARCH64
43 /** Maximum bits of entropy supported on AArch64.
45 #define MAX_ENTROPY_BITS 192
47 #error "Firmware TRNG not supported. Unknown chipset."
50 #endif // ARM_FW_TRNG_DEFS_H_