parisc/firmware: Fix F-extend for PDC addresses
authorHelge Deller <deller@gmx.de>
Wed, 3 Jan 2024 20:02:16 +0000 (21:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Feb 2024 00:18:52 +0000 (16:18 -0800)
commit3583edd4d7861c4d913b3a3b8394b5342f3ef4a6
tree9a425c6ffde639af77391010ba38687544c8f943
parentce16274a6b8d1483d0d8383272deb2bfd1b577ca
parisc/firmware: Fix F-extend for PDC addresses

commit 735ae74f73e55c191d48689bd11ff4a06ea0508f upstream.

When running with narrow firmware (64-bit kernel using a 32-bit
firmware), extend PDC addresses into the 0xfffffff0.00000000
region instead of the 0xf0f0f0f0.00000000 region.

This fixes the power button on the C3700 machine in qemu (64-bit CPU
with 32-bit firmware), and my assumption is that the previous code was
really never used (because most 64-bit machines have a 64-bit firmware),
or it just worked on very old machines because they may only decode
40-bit of virtual addresses.

Cc: stable@vger.kernel.org
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/kernel/firmware.c