qemu/target/s390x
Thomas Huth 0bab189c96 target/s390x/translate: Fix RNSBG instruction
RNSBG is handled via the op_rosbg() helper function. But RNSBG has
the opcode 0xEC54, i.e. 0x54 as second byte, while op_rosbg() currently
checks for 0x55. This seems to be a typo, fix it to use 0x54 instead,
so that op_rosbg() does not abort() anymore if a program uses RNSBG.

I've checked with a simple test function that I now get the same results
with KVM and with TCG:

 static void test_rnsbg(void)
 {
	uint64_t r1, r2;

	r2 = 0xffff000000000000UL;
	r1 = 0x123456789bdfaaaaUL;
	asm volatile (" rnsbg %0,%1,12,61,16 " : "+r"(r1) : "r"(r2));

	printf("r1 afterwards: 0x%lx\n", r1);
 }

Buglink: https://bugs.launchpad.net/qemu/+bug/1860920
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20200130133417.10531-1-thuth@redhat.com>
Fixes: d6c6372e18 ("target-s390: Implement R[NOX]SBG")
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2020-02-26 18:57:07 +01:00
..
arch_dump.c
cc_helper.c
cpu-param.h
cpu-qom.h
cpu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
cpu.h target/s390x: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX 2020-01-15 15:13:10 -10:00
cpu_features.c
cpu_features.h
cpu_features_def.h
cpu_features_def.inc.h
cpu_models.c
cpu_models.h
crypto_helper.c
diag.c
excp_helper.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
fpu_helper.c
gdbstub.c
gen-features.c
helper.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
helper.h target/s390x: Implement LOAD/STORE TO REAL ADDRESS inline 2019-12-18 12:57:29 +01:00
insn-data.def target/s390x: Implement LOAD/STORE TO REAL ADDRESS inline 2019-12-18 12:57:29 +01:00
insn-format.def
int_helper.c
internal.h
interrupt.c
ioinst.c
kvm-stub.c
kvm.c target/s390x/kvm: Enable adapter interruption suppression again 2020-01-27 12:13:09 +01:00
kvm_s390x.h s390x/kvm: Configure page size after memory has actually been initialized 2019-04-25 13:47:01 +02:00
machine.c
Makefile.objs
mem_helper.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
misc_helper.c target/s390x: Split out helper_per_store_real 2019-12-18 12:57:29 +01:00
mmu_helper.c Remove unnecessary cast when using the address_space API 2020-02-20 14:47:08 +01:00
s390-tod.h
sigp.c s390x: sigp: Fix sense running reporting 2020-01-27 12:13:10 +01:00
tcg-stub.c
tcg_s390x.h
trace-events
translate.c target/s390x/translate: Fix RNSBG instruction 2020-02-26 18:57:07 +01:00
translate_vx.inc.c target/s390x: Move DisasFields into DisasContext 2020-01-27 12:13:10 +01:00
vec.h
vec_fpu_helper.c
vec_helper.c
vec_int_helper.c
vec_string_helper.c