]> git.proxmox.com Git - mirror_qemu.git/blobdiff - target/hppa/translate.c
target/hppa: Clear upper bits in mtctl for pa1.x
[mirror_qemu.git] / target / hppa / translate.c
index 9f129a230bdc4719ddf676791f5851e9ebc48a28..4102f5faf3c36329cda65e96560eee1a74dba4a9 100644 (file)
@@ -2060,7 +2060,13 @@ static bool trans_mtctl(DisasContext *ctx, arg_mtctl *a)
 
 #ifndef CONFIG_USER_ONLY
     nullify_over(ctx);
-    reg = load_gpr(ctx, a->r);
+
+    if (ctx->is_pa20) {
+        reg = load_gpr(ctx, a->r);
+    } else {
+        reg = tcg_temp_new_i64();
+        tcg_gen_ext32u_i64(reg, load_gpr(ctx, a->r));
+    }
 
     switch (ctl) {
     case CR_IT: