[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 03/10] target-s390: Fix STIDP
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 03/10] target-s390: Fix STIDP |
Date: |
Tue, 3 Feb 2015 12:42:54 -0800 |
The implementation had been incomplete, as we did not store the
machine type. Note that the machine_type member is still unset
during initialization, so this has no effect yet.
Signed-off-by: Richard Henderson <address@hidden>
---
target-s390x/cpu.h | 4 +++-
target-s390x/translate.c | 6 ++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index c123b6f..2e2554c 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -133,7 +133,9 @@ typedef struct CPUS390XState {
/* reset does memset(0) up to here */
- int cpu_num;
+ uint32_t cpu_num;
+ uint32_t machine_type;
+
uint8_t *storage_keys;
uint64_t tod_offset;
diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 97137c9..0c51917 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -3262,8 +3262,14 @@ static ExitStatus op_stctl(DisasContext *s, DisasOps *o)
static ExitStatus op_stidp(DisasContext *s, DisasOps *o)
{
+ TCGv_i64 t1 = tcg_temp_new_i64();
+
check_privileged(s);
tcg_gen_ld32u_i64(o->out, cpu_env, offsetof(CPUS390XState, cpu_num));
+ tcg_gen_ld32u_i64(t1, cpu_env, offsetof(CPUS390XState, machine_type));
+ tcg_gen_deposit_i64(o->out, o->out, t1, 32, 32);
+ tcg_temp_free_i64(t1);
+
return NO_EXIT;
}
--
2.1.0
- [Qemu-devel] [PULL 00/10] s390x translator bug fixes, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 02/10] target-s390: Implement EPSW, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 03/10] target-s390: Fix STIDP,
Richard Henderson <=
- [Qemu-devel] [PULL 01/10] target-s390: Implement SAM specification exception, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 04/10] target-s390: Fix STURA, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 05/10] target-s390: Implement LURA, LURAG, STURG, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 08/10] disas/s390.c: Remove unused variables, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 06/10] target-s390: Implement ECAG, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 09/10] target-s390x: support OC and NC in the EX instruction, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 10/10] target-s390x: fix and optimize slb* and slbg* computation of carry/borrow flag, Richard Henderson, 2015/02/03
- [Qemu-devel] [PULL 07/10] target-s390x: Mark check_privileged() as !CONFIG_USER_ONLY, Richard Henderson, 2015/02/03
- Re: [Qemu-devel] [PULL 00/10] s390x translator bug fixes, Peter Maydell, 2015/02/03