On Wednesday, October 26, 2022 4:10:54 AM CET Richard Henderson wrote: > Add a tcg_ops hook to replace the restore_state_to_opc > function call. Because these generic hooks cannot depend > on target-specific types, temporarily, copy the current > target_ulong data[] into uint64_t d64[]. > > Reviewed-by: Claudio Fontana <cfont...@suse.de> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- [...] > diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c > index 433fa247f4..4d8783efc7 100644 > --- a/accel/tcg/translate-all.c > +++ b/accel/tcg/translate-all.c [...] > bool cpu_restore_state(CPUState *cpu, uintptr_t host_pc, bool will_exit) > { > + /* > + * The pc update associated with restore without exit will > + * break the relative pc adjustments performed by TARGET_TB_PCREL. > + */ > + if (TARGET_TB_PCREL) { > + assert(will_exit); > + } > + > /* > * The host_pc has to be in the rx region of the code buffer. > * If it is not we will not be able to resolve it here.
This patch appears to break macOS host. This assertion always triggers on Apple Silicon. Previous patch 8269c01417 runs fine. Any ideas? BTW Richard, could you add a message-id tag to your queued TCG patches? If you are using patchwork client then it suffices to add "msgid=on" to .pwclientrc Best regards, Christian Schoenebeck