Thanks to Aurelien Jarno for doing this in his prototype. We can flush the whole TLB as this should happen really rarely.
Signed-off-by: David Hildenbrand <da...@redhat.com> --- target/s390x/sigp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/s390x/sigp.c b/target/s390x/sigp.c index 521dcc75f3..c5a5dac911 100644 --- a/target/s390x/sigp.c +++ b/target/s390x/sigp.c @@ -14,6 +14,7 @@ #include "internal.h" #include "sysemu/hw_accel.h" #include "exec/address-spaces.h" +#include "exec/exec-all.h" #include "sysemu/sysemu.h" #include "trace.h" @@ -286,6 +287,7 @@ static void sigp_set_prefix(CPUState *cs, run_on_cpu_data arg) } cpu->env.psa = addr; + tlb_flush(cs); cpu_synchronize_post_init(cs); si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; } -- 2.13.5