diff options
| author | Sven Schnelle <svens@stackframe.org> | 2025-10-30 08:56:05 +0100 |
|---|---|---|
| committer | Helge Deller <deller@gmx.de> | 2025-10-30 15:16:32 +0100 |
| commit | 1aa4524c0c1b54842c4c0a370171d11b12d0709b (patch) | |
| tree | cc2335e3ac4c5d80f884e075d747b9c0d6efac05 /rust/helpers/cpufreq.c | |
| parent | 5fb1d3ce3e74a4530042795e1e065422295f1371 (diff) | |
parisc: entry.S: fix space adjustment on interruption for 64-bit userspace
In wide mode, the IASQ contain the upper part of the GVA
during interruption. This needs to be reversed before
the space is used - otherwise it contains parts of IAOQ.
See Page 2-13 "Processing Resources / Interruption Instruction
Address Queues" in the Parisc 2.0 Architecture Manual page 2-13
for an explanation.
The IAOQ/IASQ space_adjust was skipped for other interruptions
than itlb misses. However, the code in handle_interruption()
checks whether iasq[0] contains a valid space. Due to the not
masked out bits this match failed and the process was killed.
Also add space_adjust for IAOQ1/IASQ1 so ptregs contains sane values.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Cc: stable@vger.kernel.org # v6.0+
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'rust/helpers/cpufreq.c')
0 files changed, 0 insertions, 0 deletions
