On 20.05.23 18:26, Richard Henderson wrote:
Use cpu_ld16_mmu and cpu_st16_mmu to eliminate the special case,
and change all of the *_data_ra functions to match.
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
Cc: qemu-s3...@nongnu.org
Cc: David Hildenbrand <da...@redhat.com>
Cc: Ilya Leoshkevich <i...@linux.ibm.com>
---
[...]
/* Note that we asserted !parallel above. */
@@ -1876,29 +1872,20 @@ static uint32_t do_csst(CPUS390XState *env, uint32_t
r3, uint64_t a1,
if (cc == 0) {
switch (sc) {
case 0:
- cpu_stb_data_ra(env, a2, svh >> 56, ra);
+ cpu_stb_mmu(env, a2, svh >> 56, make_memop_idx(MO_8, mem_idx), ra);
break;
case 1:
- cpu_stw_data_ra(env, a2, svh >> 48, ra);
+ cpu_stw_mmu(env, a2, svh >> 48,
+ make_memop_idx(MO_TE | MO_16, mem_idx), ra);
To make these two cases look less special, maybe just define oi1 and oi2
as well at the top?
LGTM
--
Thanks,
David / dhildenb