* [PATCH 1/2] vexpress64: Set the DM_RNG property
@ 2025-09-10 15:13 Debbie Horsfall
2025-09-10 15:13 ` [PATCH 2/2] arm: vexpress64: Enable SYSRESET and SYSRESET_PSCI Debbie Horsfall
2025-09-12 14:26 ` [PATCH 1/2] vexpress64: Set the DM_RNG property Andre Przywara
0 siblings, 2 replies; 4+ messages in thread
From: Debbie Horsfall @ 2025-09-10 15:13 UTC (permalink / raw)
To: u-boot; +Cc: trini, fenghua, linus.walleij, Peter.Hoyes, liviu.dudau
Enable the DM_RNG virtio random number generator driver in order to
consume entropy within U-Boot. This allows U-Boot to inject entropy to the
kernel via UEFI, so the kernel can use that early, for instance for
address layout randomisation, or when the kernel does not provide an
entropy driver itself.
Signed-off-by: Debbie Horsfall <debbie.horsfall@arm.com>
---
board/armltd/vexpress64/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index 7e8709444fe..f413c51ac43 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -21,6 +21,7 @@ config VEXPRESS64_BASE_MODEL
imply EFI_SET_TIME if DM_RTC
select LINUX_KERNEL_IMAGE_HEADER
select POSITION_INDEPENDENT
+ imply DM_RNG
choice
prompt "VExpress64 board variant"
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] arm: vexpress64: Enable SYSRESET and SYSRESET_PSCI
2025-09-10 15:13 [PATCH 1/2] vexpress64: Set the DM_RNG property Debbie Horsfall
@ 2025-09-10 15:13 ` Debbie Horsfall
2025-09-12 14:26 ` Andre Przywara
2025-09-12 14:26 ` [PATCH 1/2] vexpress64: Set the DM_RNG property Andre Przywara
1 sibling, 1 reply; 4+ messages in thread
From: Debbie Horsfall @ 2025-09-10 15:13 UTC (permalink / raw)
To: u-boot; +Cc: trini, fenghua, linus.walleij, Peter.Hoyes, liviu.dudau
Select SYSRESET on Vexpress64 to enable system reset to support other
features, such as capsule-on-disk. Select SYSRESET_PSCI if PSCI is
inferred from the firmware (via ARM_PSCI_FW).
Select ARM_SMCCC for Vexpress64 boards which in turn selects
ARM_PSCI_FW.
The sysreset uclass unconditionally implements a reset_cpu() function.
Remove the empty reset_cpu() in vexpress64 board code.
Signed-off-by: Debbie Horsfall <debbie.horsfall@arm.com>
---
arch/arm/Kconfig | 2 ++
board/armltd/vexpress64/Kconfig | 2 ++
board/armltd/vexpress64/vexpress64.c | 5 -----
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 40368abc297..d51a7619cdb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1417,6 +1417,8 @@ config ARCH_VEXPRESS64
select MTD_NOR_FLASH if MTD
select FLASH_CFI_DRIVER if MTD
select ENV_IS_IN_FLASH if MTD
+ select SYSRESET
+ select SYSRESET_PSCI if ARM_PSCI_FW
imply DISTRO_DEFAULTS
config TARGET_CORSTONE1000
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index f413c51ac43..5b10074e03f 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -22,6 +22,7 @@ config VEXPRESS64_BASE_MODEL
select LINUX_KERNEL_IMAGE_HEADER
select POSITION_INDEPENDENT
imply DM_RNG
+ select ARM_SMCCC
choice
prompt "VExpress64 board variant"
@@ -47,6 +48,7 @@ config TARGET_VEXPRESS64_JUNO
select USB_EHCI_GENERIC if USB
select USB_OHCI_HCD if USB
select USB_OHCI_GENERIC if USB
+ select ARM_SMCCC
imply OF_HAS_PRIOR_STAGE
endchoice
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index 0b75c1358f0..e8f1c2fe9fe 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -206,11 +206,6 @@ int board_fdt_blob_setup(void **fdtp)
#endif
#endif
-/* Actual reset is done via PSCI. */
-void reset_cpu(void)
-{
-}
-
/*
* Board specific ethernet initialization routine.
*/
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] arm: vexpress64: Enable SYSRESET and SYSRESET_PSCI
2025-09-10 15:13 ` [PATCH 2/2] arm: vexpress64: Enable SYSRESET and SYSRESET_PSCI Debbie Horsfall
@ 2025-09-12 14:26 ` Andre Przywara
0 siblings, 0 replies; 4+ messages in thread
From: Andre Przywara @ 2025-09-12 14:26 UTC (permalink / raw)
To: Debbie Horsfall
Cc: u-boot, trini, fenghua, linus.walleij, Peter.Hoyes, liviu.dudau
On Wed, 10 Sep 2025 16:13:42 +0100
Debbie Horsfall <debbie.horsfall@arm.com> wrote:
Hi Debbie,
> Select SYSRESET on Vexpress64 to enable system reset to support other
> features, such as capsule-on-disk. Select SYSRESET_PSCI if PSCI is
> inferred from the firmware (via ARM_PSCI_FW).
> Select ARM_SMCCC for Vexpress64 boards which in turn selects
> ARM_PSCI_FW.
>
> The sysreset uclass unconditionally implements a reset_cpu() function.
> Remove the empty reset_cpu() in vexpress64 board code.
Thanks for the cleanup, looks good. Tested on AEM-RevC FVP and Juno.
> Signed-off-by: Debbie Horsfall <debbie.horsfall@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cheers,
Andre
> ---
> arch/arm/Kconfig | 2 ++
> board/armltd/vexpress64/Kconfig | 2 ++
> board/armltd/vexpress64/vexpress64.c | 5 -----
> 3 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 40368abc297..d51a7619cdb 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1417,6 +1417,8 @@ config ARCH_VEXPRESS64
> select MTD_NOR_FLASH if MTD
> select FLASH_CFI_DRIVER if MTD
> select ENV_IS_IN_FLASH if MTD
> + select SYSRESET
> + select SYSRESET_PSCI if ARM_PSCI_FW
> imply DISTRO_DEFAULTS
>
> config TARGET_CORSTONE1000
> diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
> index f413c51ac43..5b10074e03f 100644
> --- a/board/armltd/vexpress64/Kconfig
> +++ b/board/armltd/vexpress64/Kconfig
> @@ -22,6 +22,7 @@ config VEXPRESS64_BASE_MODEL
> select LINUX_KERNEL_IMAGE_HEADER
> select POSITION_INDEPENDENT
> imply DM_RNG
> + select ARM_SMCCC
>
> choice
> prompt "VExpress64 board variant"
> @@ -47,6 +48,7 @@ config TARGET_VEXPRESS64_JUNO
> select USB_EHCI_GENERIC if USB
> select USB_OHCI_HCD if USB
> select USB_OHCI_GENERIC if USB
> + select ARM_SMCCC
> imply OF_HAS_PRIOR_STAGE
>
> endchoice
> diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
> index 0b75c1358f0..e8f1c2fe9fe 100644
> --- a/board/armltd/vexpress64/vexpress64.c
> +++ b/board/armltd/vexpress64/vexpress64.c
> @@ -206,11 +206,6 @@ int board_fdt_blob_setup(void **fdtp)
> #endif
> #endif
>
> -/* Actual reset is done via PSCI. */
> -void reset_cpu(void)
> -{
> -}
> -
> /*
> * Board specific ethernet initialization routine.
> */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] vexpress64: Set the DM_RNG property
2025-09-10 15:13 [PATCH 1/2] vexpress64: Set the DM_RNG property Debbie Horsfall
2025-09-10 15:13 ` [PATCH 2/2] arm: vexpress64: Enable SYSRESET and SYSRESET_PSCI Debbie Horsfall
@ 2025-09-12 14:26 ` Andre Przywara
1 sibling, 0 replies; 4+ messages in thread
From: Andre Przywara @ 2025-09-12 14:26 UTC (permalink / raw)
To: Debbie Horsfall
Cc: u-boot, trini, fenghua, linus.walleij, Peter.Hoyes, liviu.dudau
On Wed, 10 Sep 2025 16:13:41 +0100
Debbie Horsfall <debbie.horsfall@arm.com> wrote:
Hi,
> Enable the DM_RNG virtio random number generator driver in order to
> consume entropy within U-Boot. This allows U-Boot to inject entropy to the
> kernel via UEFI, so the kernel can use that early, for instance for
> address layout randomisation, or when the kernel does not provide an
> entropy driver itself.
The change looks alright, but is a bit useless on its own, since there
wouldn't be a usable entropy source by default:
- The FVP optionally provides a VIRTIO_RNG device, and this can be simply
enabled on the FVP command line (*.virtio_rng.enabled=1). But the normal
DTs omit the required DT node, since that would cause SErrors when the
command line option is not provided, so this still doesn't show up, even
when now CONFIG_VIRTIO_RNG is set.
- The FVP model can provide the ARMv8.4 FEAT_RNG system registers
(cluster<x>.has_rndr=1), but the feature is not enabled in any of the
VExpress64 builds. This feature uses auto-detection, so it doesn't hurt to
have it always in.
So I would suggest to enable CONFIG_RNG_ARM_RNDR here as well (another
imply line?), to make this more useful.
Cheers,
Andre
>
> Signed-off-by: Debbie Horsfall <debbie.horsfall@arm.com>
> ---
> board/armltd/vexpress64/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
> index 7e8709444fe..f413c51ac43 100644
> --- a/board/armltd/vexpress64/Kconfig
> +++ b/board/armltd/vexpress64/Kconfig
> @@ -21,6 +21,7 @@ config VEXPRESS64_BASE_MODEL
> imply EFI_SET_TIME if DM_RTC
> select LINUX_KERNEL_IMAGE_HEADER
> select POSITION_INDEPENDENT
> + imply DM_RNG
>
> choice
> prompt "VExpress64 board variant"
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-09-12 14:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-10 15:13 [PATCH 1/2] vexpress64: Set the DM_RNG property Debbie Horsfall
2025-09-10 15:13 ` [PATCH 2/2] arm: vexpress64: Enable SYSRESET and SYSRESET_PSCI Debbie Horsfall
2025-09-12 14:26 ` Andre Przywara
2025-09-12 14:26 ` [PATCH 1/2] vexpress64: Set the DM_RNG property Andre Przywara
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox