On 7/14/21 3:55 PM, Taylor Simpson wrote:
+ target_ulong pc = env->gpr[HEX_REG_PC];
+ uint8_t width = env->mem_log_stores[slot_num].width;
+ target_ulong va = env->mem_log_stores[slot_num].va;
+
+ switch (width) {
case 1:
- put_user_u8(env->mem_log_stores[slot_num].data32,
- env->mem_log_stores[slot_num].va);
+ cpu_stb_data_ra(env, va, env->mem_log_stores[slot_num].data32, pc);
No, you need to pass the host return address, not the guest.
This should be
uintptr_t ra = GETPC();
r~
