diff options
Diffstat (limited to 'target/sparc/int64_helper.c')
-rw-r--r-- | target/sparc/int64_helper.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/target/sparc/int64_helper.c b/target/sparc/int64_helper.c index 8300eb4312..605747c93c 100644 --- a/target/sparc/int64_helper.c +++ b/target/sparc/int64_helper.c @@ -146,6 +146,12 @@ void sparc_cpu_do_interrupt(CPUState *cs) } } + if (env->def->features & CPU_FEATURE_GL) { + tsptr->tstate |= (env->gl & 7ULL) << 40; + cpu_gl_switch_gregs(env, env->gl + 1); + env->gl++; + } + switch (intno) { case TT_IVEC: if (!cpu_has_hypervisor(env)) { |