#undef FS
#endif
+#if defined(CONFIG_USER_ONLY)
+void helper_ld_asi(int asi, int size, int sign)
+{
+}
+
+void helper_st_asi(int asi, int size, int sign)
+{
+}
+#else
#ifndef TARGET_SPARC64
void helper_ld_asi(int asi, int size, int sign)
{
case 4:
ret = ldl_phys(T0 & ~3);
break;
+ case 8:
+ ret = ldl_phys(T0 & ~3);
+ T0 = ldl_phys((T0 + 4) & ~3);
+ break;
}
break;
default:
default:
stl_phys(T0 & ~3, T1);
break;
+ case 8:
+ stl_phys(T0 & ~3, T1);
+ stl_phys((T0 + 4) & ~3, T2);
+ break;
}
}
return;
return;
}
}
-
#endif
+#endif /* !CONFIG_USER_ONLY */
#ifndef TARGET_SPARC64
void helper_rett()
#endif
#if !defined(CONFIG_USER_ONLY)
if (env->tl == MAXTL) {
- cpu_abort(cpu_single_env, "Trap 0x%04x while trap level is MAXTL, Error state", env->exception_index);
+ cpu_abort(env, "Trap 0x%04x while trap level is MAXTL, Error state", env->exception_index);
return;
}
#endif
#endif
#if !defined(CONFIG_USER_ONLY)
if (env->psret == 0) {
- cpu_abort(cpu_single_env, "Trap 0x%02x while interrupts disabled, Error state", env->exception_index);
+ cpu_abort(env, "Trap 0x%02x while interrupts disabled, Error state", env->exception_index);
return;
}
#endif