target/hppa: Fix B,GATE for wide mode
Do not clobber the high bits of the address by using a 32-bit deposit. Reviewed-by: Helge Deller <deller@gmx.de> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
7fb7c9da34
commit
2f48ba7b94
@ -3880,7 +3880,7 @@ static bool trans_b_gate(DisasContext *ctx, arg_b_gate *a)
|
|||||||
}
|
}
|
||||||
/* No change for non-gateway pages or for priv decrease. */
|
/* No change for non-gateway pages or for priv decrease. */
|
||||||
if (type >= 4 && type - 4 < ctx->privilege) {
|
if (type >= 4 && type - 4 < ctx->privilege) {
|
||||||
dest = deposit32(dest, 0, 2, type - 4);
|
dest = deposit64(dest, 0, 2, type - 4);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dest &= -4; /* priv = 0 */
|
dest &= -4; /* priv = 0 */
|
||||||
|
Loading…
Reference in New Issue
Block a user