On Fri, Oct 15, 2021 at 06:05:44PM +0200, Ahmad Fatoum wrote: > The PSCI function code is a 32-bit integer > 0x80000000, but the > the PSCI client code erroneously casted it to a signed integer. > > On 32-bit systems, the cast later on to unsigned long restored the > original value, but on 64-bit system, we passed a very large 64-bit > number in the secure monitor call because of the sign extension. > > This worked because TF-A seems to ignore the upper 32-bits anyway, > (tested with i.MX8MN), but for other secure monitors like the default > HVC implementation for QEMU ARM64 Virt machine this didn't hold true > for all commands, leading to aborts when doing reset or poweroff. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > arch/arm/cpu/psci-client.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied, thanks Sascha > > diff --git a/arch/arm/cpu/psci-client.c b/arch/arm/cpu/psci-client.c > index b5d0d3749702..7d5b3768b59e 100644 > --- a/arch/arm/cpu/psci-client.c > +++ b/arch/arm/cpu/psci-client.c > @@ -15,7 +15,7 @@ > > static struct restart_handler restart; > > -static void __noreturn psci_invoke_noreturn(int function) > +static void __noreturn psci_invoke_noreturn(ulong function) > { > int ret; > > -- > 2.30.2 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox