[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 37/43] target/hppa: Implement LDSID for system mode
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 37/43] target/hppa: Implement LDSID for system mode |
Date: |
Sun, 21 Jan 2018 19:42:11 -0800 |
From: Helge Deller <address@hidden>
Signed-off-by: Helge Deller <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
target/hppa/translate.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 965641f380..76ed7e1ad4 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -2200,8 +2200,20 @@ static DisasJumpType trans_ldsid(DisasContext *ctx,
uint32_t insn,
unsigned rt = extract32(insn, 0, 5);
TCGv_reg dest = dest_gpr(ctx, rt);
- /* Since we don't implement space registers, this returns zero. */
+#ifdef CONFIG_USER_ONLY
+ /* We don't implement space registers in user mode. */
tcg_gen_movi_reg(dest, 0);
+#else
+ unsigned rb = extract32(insn, 21, 5);
+ unsigned sp = extract32(insn, 14, 2);
+ TCGv_i64 t0 = tcg_temp_new_i64();
+
+ tcg_gen_mov_i64(t0, space_select(ctx, sp, load_gpr(ctx, rb)));
+ tcg_gen_shri_i64(t0, t0, 32);
+ tcg_gen_trunc_i64_reg(dest, t0);
+
+ tcg_temp_free_i64(t0);
+#endif
save_gpr(ctx, rt, dest);
cond_free(&ctx->null_cond);
--
2.14.3
- [Qemu-devel] [PULL 24/43] target/hppa: Implement LPA, (continued)
- [Qemu-devel] [PULL 24/43] target/hppa: Implement LPA, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 30/43] target/hppa: Add migration for the cpu, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 28/43] target/hppa: Optimize for flat addressing space, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 31/43] target/hppa: Implement B,GATE insn, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 33/43] qom: Add MMU_DEBUG_LOAD, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 32/43] target/hppa: Only use EXCP_DTLB_MISS, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 29/43] target/hppa: Add system registers to gdbstub, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 35/43] target/hppa: Increase number of temp regs, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 34/43] target/hppa: Use MMU_DEBUG_LOAD when reloading for CR[IIR], Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 36/43] target/hppa: Fix comment, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 37/43] target/hppa: Implement LDSID for system mode,
Richard Henderson <=
- [Qemu-devel] [PULL 38/43] target/hppa: Implement a pause instruction, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 39/43] target/hppa: Implement STWA, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 40/43] target/hppa: Enable MTTCG, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 43/43] hw/hppa: Add MAINTAINERS entry, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 41/43] hw/hppa: Implement DINO system board, Richard Henderson, 2018/01/21
- [Qemu-devel] [PULL 42/43] pc-bios: Add hppa-firmware.img and git submodule, Richard Henderson, 2018/01/21
- Re: [Qemu-devel] [PULL 00/43] Add hppa-softmmu, no-reply, 2018/01/21
- Re: [Qemu-devel] [PULL 00/43] Add hppa-softmmu, no-reply, 2018/01/21
- Re: [Qemu-devel] [PULL 00/43] Add hppa-softmmu, no-reply, 2018/01/21
- Re: [Qemu-devel] [PULL 00/43] Add hppa-softmmu, Peter Maydell, 2018/01/23