[PATCH v2] arm64: zynqmp: Enable rng-seed generation

Michal Simek michal.simek at amd.com
Wed Jul 2 09:41:34 CEST 2025



On 7/2/25 08:38, Ilias Apalodimas wrote:
> Hi Michal
> 
> On Wed, 2 Jul 2025 at 09:34, Michal Simek <michal.simek at amd.com> wrote:
>>
>> SOM has TPM with RNG in it that's why enable rng-seed generation.
>>
>> Signed-off-by: Michal Simek <michal.simek at amd.com>
>> ---
>>
>> Changes in v2:
>> - Free alloc area in case of error
>>
>>   board/xilinx/common/board.c          | 34 +++++++++++++++++++++++++++-
>>   configs/xilinx_zynqmp_kria_defconfig |  1 +
>>   2 files changed, 34 insertions(+), 1 deletion(-)
>>
>> diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
>> index 8ffe74299016..f258675d7772 100644
>> --- a/board/xilinx/common/board.c
>> +++ b/board/xilinx/common/board.c
>> @@ -1,7 +1,7 @@
>>   // SPDX-License-Identifier: GPL-2.0+
>>   /*
>>    * (C) Copyright 2014 - 2022, Xilinx, Inc.
>> - * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
>> + * (C) Copyright 2022 - 2025, Advanced Micro Devices, Inc.
>>    *
>>    * Michal Simek <michal.simek at amd.com>
>>    */
>> @@ -712,3 +712,35 @@ phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
>>   }
>>
>>   #endif
>> +
>> +#if IS_ENABLED(CONFIG_BOARD_RNG_SEED)
>> +/* Use hardware rng to seed Linux random. */
>> +__weak int board_rng_seed(struct abuf *buf)
>> +{
>> +       struct udevice *dev;
>> +       ulong len = 64;
>> +       u64 *data;
>> +
>> +       data = malloc(len);
>> +       if (!data) {
>> +               printf("Out of memory\n");
>> +               return -ENOMEM;
>> +       }
> 
> Why don't you move the allocation just before abuf expects it?
> You can get rid of the free() in case of failures

Good idea. Let me send v3.

M



More information about the U-Boot mailing list