On 1/8/24 00:22, deller@kernel.org wrote:
> From: Helge Deller <deller@gmx.de>
>
> Limit IOR to the lower 32-bits on failure.
> Keep patch short for easier backporting.
>
> Signed-off-by: Helge Deller <deller@gmx.de>
> ---
> target/hppa/op_helper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/hppa/op_helper.c b/target/hppa/op_helper.c
> index 7f607c3afd..60c9014242 100644
> --- a/target/hppa/op_helper.c
> +++ b/target/hppa/op_helper.c
> @@ -353,7 +353,7 @@ target_ulong HELPER(probe)(CPUHPPAState *env, target_ulong addr,
> if (excp >= 0) {
> if (env->psw & PSW_Q) {
> /* ??? Needs tweaking for hppa64. */
> - env->cr[CR_IOR] = addr;
> + env->cr[CR_IOR] = (uint32_t)addr;
> env->cr[CR_ISR] = addr >> 32;
> }
> if (excp == EXCP_DTLB_MISS) {
We might need to export raise_exception_with_ior and use that.
ISR needs adjusting as well for hppa64.
r~