mirror of
https://github.com/qemu/qemu.git
synced 2025-08-09 01:50:43 +00:00
Sparc: move trivial functions from op_helper.c
These functions don't need access to CPUState or already pass it, so relocating them from op_helper.c to helper.c and int64_helper.c is trivial. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
ab3b491f21
commit
2336c1f197
@ -18,6 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
#include "host-utils.h"
|
||||||
|
#include "helper.h"
|
||||||
|
#include "sysemu.h"
|
||||||
|
|
||||||
//#define DEBUG_MMU
|
//#define DEBUG_MMU
|
||||||
|
|
||||||
@ -866,3 +869,41 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr)
|
|||||||
return phys_addr;
|
return phys_addr;
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
||||||
|
@ -157,3 +157,8 @@ void do_interrupt(CPUState *env)
|
|||||||
env->npc = env->pc + 4;
|
env->npc = env->pc + 4;
|
||||||
env->exception_index = -1;
|
env->exception_index = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trap_state *cpu_tsptr(CPUState* env)
|
||||||
|
{
|
||||||
|
return &env->ts[env->tl & MAXTL_MASK];
|
||||||
|
}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "dyngen-exec.h"
|
#include "dyngen-exec.h"
|
||||||
#include "host-utils.h"
|
|
||||||
#include "helper.h"
|
#include "helper.h"
|
||||||
#include "sysemu.h"
|
|
||||||
|
|
||||||
#if !defined(CONFIG_USER_ONLY)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
#include "softmmu_exec.h"
|
#include "softmmu_exec.h"
|
||||||
@ -334,13 +332,6 @@ void HELPER(raise_exception)(int tt)
|
|||||||
raise_exception(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)
|
void helper_check_align(target_ulong addr, uint32_t align)
|
||||||
{
|
{
|
||||||
if (addr & align) {
|
if (addr & align) {
|
||||||
@ -4003,11 +3994,6 @@ target_ulong helper_alignaddr(target_ulong addr, target_ulong offset)
|
|||||||
return tmp & ~7ULL;
|
return tmp & ~7ULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
target_ulong helper_popc(target_ulong val)
|
|
||||||
{
|
|
||||||
return ctpop64(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline uint64_t *get_gregset(uint32_t pstate)
|
static inline uint64_t *get_gregset(uint32_t pstate)
|
||||||
{
|
{
|
||||||
switch (pstate) {
|
switch (pstate) {
|
||||||
@ -4164,13 +4150,6 @@ void helper_write_softint(uint64_t value)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TARGET_SPARC64
|
|
||||||
trap_state* cpu_tsptr(CPUState* env)
|
|
||||||
{
|
|
||||||
return &env->ts[env->tl & MAXTL_MASK];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(CONFIG_USER_ONLY)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
|
|
||||||
static void do_unaligned_access(target_ulong addr, int is_write, int is_user,
|
static void do_unaligned_access(target_ulong addr, int is_write, int is_user,
|
||||||
@ -4320,32 +4299,6 @@ static void do_unassigned_access(target_phys_addr_t addr, int is_write,
|
|||||||
}
|
}
|
||||||
#endif
|
#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)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
void cpu_unassigned_access(CPUState *env1, target_phys_addr_t addr,
|
void cpu_unassigned_access(CPUState *env1, target_phys_addr_t addr,
|
||||||
int is_write, int is_exec, int is_asi, int size)
|
int is_write, int is_exec, int is_asi, int size)
|
||||||
|
Loading…
Reference in New Issue
Block a user