mirror of https://github.com/xemu-project/xemu.git
target/hppa: Allow read-access to PSW with rsm 0,reg instruction
HP-UX 11 and HP ODE tools use the "rsm 0,%reg" instruction in not priviledged code paths to get the current PSW flags. The constant 0 means that no bits of the PSW shall be reset, so this is effectively a read-only access to the PSW. Allow this read-only access even for not privileged code. Signed-off-by: Helge Deller <deller@gmx.de> Acked-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
32d26ea407
commit
7b2d70a175
|
@ -2156,10 +2156,16 @@ static bool trans_ldsid(DisasContext *ctx, arg_ldsid *a)
|
||||||
|
|
||||||
static bool trans_rsm(DisasContext *ctx, arg_rsm *a)
|
static bool trans_rsm(DisasContext *ctx, arg_rsm *a)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_USER_ONLY
|
||||||
CHECK_MOST_PRIVILEGED(EXCP_PRIV_OPR);
|
CHECK_MOST_PRIVILEGED(EXCP_PRIV_OPR);
|
||||||
#ifndef CONFIG_USER_ONLY
|
#else
|
||||||
TCGv_i64 tmp;
|
TCGv_i64 tmp;
|
||||||
|
|
||||||
|
/* HP-UX 11i and HP ODE use rsm for read-access to PSW */
|
||||||
|
if (a->i) {
|
||||||
|
CHECK_MOST_PRIVILEGED(EXCP_PRIV_OPR);
|
||||||
|
}
|
||||||
|
|
||||||
nullify_over(ctx);
|
nullify_over(ctx);
|
||||||
|
|
||||||
tmp = tcg_temp_new_i64();
|
tmp = tcg_temp_new_i64();
|
||||||
|
|
Loading…
Reference in New Issue