qemu-e2k/hw/misc/Kconfig
Tong Ho 921923583f hw/misc: Introduce AMD/Xilix Versal TRNG device
This adds a non-cryptographic grade implementation of the
model for the True Random Number Generator (TRNG) component
in AMD/Xilinx Versal device family.

This implements all 3 modes defined by the actual hardware
specs, all of which selectable by guest software at will
at anytime:
1) PRNG mode, in which the generated sequence is required to
   be reproducible after reseeded by the same 384-bit value
   as supplied by guest software.
2) Test mode, in which the generated sequence is required to
   be reproducible ater reseeded by the same 128-bit test
   seed supplied by guest software.
3) TRNG mode, in which non-reproducible sequence is generated
   based on periodic reseed by a suitable entropy source.

This model is only intended for non-real world testing of
guest software, where cryptographically strong PRNG or TRNG
is not needed.

This model supports versions 1 & 2 of the device, with
default to be version 2; the 'hw-version' uint32 property
can be set to 0x0100 to override the default.

Other implemented properties:
- 'forced-prng', uint64
  When set to non-zero, mode 3's entropy source is implemented
  as a deterministic sequence based on the given value and other
  deterministic parameters.
  This option allows the emulation to test guest software using
  mode 3 and to reproduce data-dependent defects.

- 'fips-fault-events', uint32, bit-mask
  bit 3: Triggers the SP800-90B entropy health test fault irq
  bit 1: Triggers the FIPS 140-2 continuous test fault irq

Signed-off-by: Tong Ho <tong.ho@amd.com>
Message-id: 20231031184611.3029156-2-tong.ho@amd.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2023-11-02 14:42:03 +00:00

204 lines
2.3 KiB
Plaintext

config APPLESMC
bool
depends on ISA_BUS
config ARMSSE_CPUID
bool
config ARMSSE_MHU
bool
config ARMSSE_CPU_PWRCTRL
bool
config ISA_DEBUG
bool
depends on ISA_BUS
config ISA_TESTDEV
bool
default y if TEST_DEVICES
depends on ISA_BUS
config PCI_TESTDEV
bool
default y if TEST_DEVICES
depends on PCI
config EDU
bool
default y if TEST_DEVICES
depends on PCI && MSI_NONBROKEN
config PCA9552
bool
depends on I2C
config I2C_ECHO
bool
default y if TEST_DEVICES
depends on I2C
config PL310
bool
config INTEGRATOR_DEBUG
bool
config A9SCU
bool
config ARM11SCU
bool
config MOS6522
bool
config MACIO
bool
select CUDA
select ESCC
select IDE_MACIO
select MAC_DBDMA
select MAC_NVRAM
select MOS6522
config IVSHMEM_DEVICE
bool
default y if PCI_DEVICES
depends on PCI && LINUX && IVSHMEM && MSI_NONBROKEN
config ECCMEMCTL
bool
select ECC
config IMX
bool
select PTIMER
select SSI
select USB_EHCI_SYSBUS
config STM32F2XX_SYSCFG
bool
config STM32F4XX_SYSCFG
bool
config STM32F4XX_EXTI
bool
config MIPS_ITU
bool
config MPS2_FPGAIO
bool
select LED
config MPS2_SCC
bool
select LED
config TZ_MPC
bool
config TZ_MSC
bool
config TZ_PPC
bool
config IOTKIT_SECCTL
bool
config IOTKIT_SYSCTL
bool
config IOTKIT_SYSINFO
bool
config PVPANIC_COMMON
bool
config PVPANIC_PCI
bool
default y if PCI_DEVICES
depends on PCI
select PVPANIC_COMMON
config PVPANIC_ISA
bool
depends on ISA_BUS
select PVPANIC_COMMON
config AUX
bool
select I2C
config UNIMP
bool
config LED
bool
config MAC_VIA
bool
select MOS6522
select ADB
config AVR_POWER
bool
config MCHP_PFSOC_DMC
bool
config MCHP_PFSOC_IOSCB
bool
config MCHP_PFSOC_SYSREG
bool
config SIFIVE_TEST
bool
config SIFIVE_E_PRCI
bool
config SIFIVE_E_AON
bool
config SIFIVE_U_OTP
bool
config SIFIVE_U_PRCI
bool
config VIRT_CTRL
bool
config LASI
bool
config ALLWINNER_SRAMC
bool
config ALLWINNER_A10_CCM
bool
config ALLWINNER_A10_DRAMC
bool
config AXP2XX_PMU
bool
depends on I2C
config DJMEMC
bool
config IOSB
bool
config XLNX_VERSAL_TRNG
bool
source macio/Kconfig