summaryrefslogtreecommitdiffstats
path: root/dts
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-10-15 18:05:44 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-10-18 08:46:39 +0200
commit6b56df14538b8b694d6b0539d03d07403d2bcf9c (patch)
tree123e5fad701fae1549d273c7e4dcf92cc840167d /dts
parent1d180bf813bd70dabe4e302670a0519db37702f9 (diff)
downloadbarebox-6b56df14538b8b694d6b0539d03d07403d2bcf9c.tar.gz
barebox-6b56df14538b8b694d6b0539d03d07403d2bcf9c.tar.xz
ARM: psci: client: fix power off and reset via 64-bit secure monitor
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@pengutronix.de> Link: https://lore.barebox.org/20211015160544.5783-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'dts')
0 files changed, 0 insertions, 0 deletions