@@ -18,6 +18,9 @@
*/
#include "cpu.h"
+#include "host-utils.h"
+#include "helper.h"
+#include "sysemu.h"
//#define DEBUG_MMU
@@ -866,3 +869,41 @@ target_phys_addr_t
cpu_get_phys_page_debug(CPUState *env, target_ulong addr)
return phys_addr;
}
#endif
+
+/* misc op helpers */
+void helper_shutdown(void)
+{
+#if !defined(CONFIG_USER_ONLY)
+ qemu_system_shutdown_request();
+#endif
+}
+
+#ifdef TARGET_SPARC64
+target_ulong helper_popc(target_ulong val)
+{
+ return ctpop64(val);
+}
+
+void helper_tick_set_count(void *opaque, uint64_t count)
+{
+#if !defined(CONFIG_USER_ONLY)
+ cpu_tick_set_count(opaque, count);
+#endif
+}
+
+uint64_t helper_tick_get_count(void *opaque)
+{
+#if !defined(CONFIG_USER_ONLY)
+ return cpu_tick_get_count(opaque);
+#else
+ return 0;
+#endif
+}
+
+void helper_tick_set_limit(void *opaque, uint64_t limit)
+{
+#if !defined(CONFIG_USER_ONLY)
+ cpu_tick_set_limit(opaque, limit);
+#endif
+}
+#endif
@@ -262,3 +262,10 @@ void do_interrupt(CPUState *env)
#endif
}
#endif
+
+#ifdef TARGET_SPARC64
+trap_state *cpu_tsptr(CPUState* env)
+{
+ return &env->ts[env->tl & MAXTL_MASK];
+}
+#endif
@@ -1,8 +1,6 @@
#include "cpu.h"
#include "dyngen-exec.h"
-#include "host-utils.h"
#include "helper.h"
-#include "sysemu.h"
#if !defined(CONFIG_USER_ONLY)
#include "softmmu_exec.h"
@@ -334,13 +332,6 @@ void HELPER(raise_exception)(int tt)
raise_exception(tt);
}
-void helper_shutdown(void)
-{
-#if !defined(CONFIG_USER_ONLY)
- qemu_system_shutdown_request();
-#endif
-}
-
void helper_check_align(target_ulong addr, uint32_t align)
{
if (addr & align) {
@@ -4003,11 +3994,6 @@ target_ulong helper_alignaddr(target_ulong
addr, target_ulong offset)
return tmp & ~7ULL;
}
-target_ulong helper_popc(target_ulong val)
-{
- return ctpop64(val);
-}
-
static inline uint64_t *get_gregset(uint32_t pstate)
{
These functions don't need access to CPUState or already pass it, so relocating them from op_helper.c to helper.c and int_helper.c is trivial. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> --- target-sparc/helper.c | 41 +++++++++++++++++++++++++++++++++++++++ target-sparc/int_helper.c | 7 ++++++ target-sparc/op_helper.c | 47 --------------------------------------------- 3 files changed, 48 insertions(+), 47 deletions(-) switch (pstate) { @@ -4164,13 +4150,6 @@ void helper_write_softint(uint64_t value) } #endif -#ifdef TARGET_SPARC64 -trap_state* cpu_tsptr(CPUState* env) -{ - return &env->ts[env->tl & MAXTL_MASK]; -} -#endif - #if !defined(CONFIG_USER_ONLY) static void do_unaligned_access(target_ulong addr, int is_write, int is_user, @@ -4321,32 +4300,6 @@ static void do_unassigned_access(target_phys_addr_t addr, int is_write, } #endif - -#ifdef TARGET_SPARC64 -void helper_tick_set_count(void *opaque, uint64_t count) -{ -#if !defined(CONFIG_USER_ONLY) - cpu_tick_set_count(opaque, count); -#endif -} - -uint64_t helper_tick_get_count(void *opaque) -{ -#if !defined(CONFIG_USER_ONLY) - return cpu_tick_get_count(opaque); -#else - return 0; -#endif -} - -void helper_tick_set_limit(void *opaque, uint64_t limit) -{ -#if !defined(CONFIG_USER_ONLY) - cpu_tick_set_limit(opaque, limit); -#endif -} -#endif - #if !defined(CONFIG_USER_ONLY) void cpu_unassigned_access(CPUState *env1, target_phys_addr_t addr, int is_write, int is_exec, int is_asi, int size)