mirror of
https://github.com/mii443/qemu.git
synced 2025-12-16 17:18:49 +00:00
linux-user: create a dummy per arch cpu_loop.c
Create a cpu_loop-common.h for future use by these new files and use it in the existing main.c Introduce target_cpu_copy_regs(): declare the function in cpu_loop-common.h and an empty function for each target, to move all the cpu_loop prologues to this function. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20180411185651.21351-2-laurent@vivier.eu>
This commit is contained in:
@@ -33,9 +33,9 @@
|
||||
#include "qemu/timer.h"
|
||||
#include "qemu/envlist.h"
|
||||
#include "elf.h"
|
||||
#include "exec/log.h"
|
||||
#include "trace/control.h"
|
||||
#include "target_elf.h"
|
||||
#include "cpu_loop-common.h"
|
||||
|
||||
char *exec_path;
|
||||
|
||||
@@ -50,17 +50,6 @@ unsigned long mmap_min_addr;
|
||||
unsigned long guest_base;
|
||||
int have_guest_base;
|
||||
|
||||
#define EXCP_DUMP(env, fmt, ...) \
|
||||
do { \
|
||||
CPUState *cs = ENV_GET_CPU(env); \
|
||||
fprintf(stderr, fmt , ## __VA_ARGS__); \
|
||||
cpu_dump_state(cs, stderr, fprintf, 0); \
|
||||
if (qemu_log_separate()) { \
|
||||
qemu_log(fmt, ## __VA_ARGS__); \
|
||||
log_cpu_state(cs, 0); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* When running 32-on-64 we should make sure we can fit all of the possible
|
||||
* guest address space into a contiguous chunk of virtual host memory.
|
||||
@@ -4736,6 +4725,8 @@ int main(int argc, char **argv, char **envp)
|
||||
tcg_prologue_init(tcg_ctx);
|
||||
tcg_region_init();
|
||||
|
||||
target_cpu_copy_regs(env, regs);
|
||||
|
||||
#if defined(TARGET_I386)
|
||||
env->cr[0] = CR0_PG_MASK | CR0_WP_MASK | CR0_PE_MASK;
|
||||
env->hflags |= HF_PE_MASK | HF_CPL_MASK;
|
||||
@@ -5125,8 +5116,6 @@ int main(int argc, char **argv, char **envp)
|
||||
env->sregs[WINDOW_START] = regs->windowstart;
|
||||
env->pc = regs->pc;
|
||||
}
|
||||
#else
|
||||
#error unsupported target CPU
|
||||
#endif
|
||||
|
||||
#if defined(TARGET_ARM) || defined(TARGET_M68K)
|
||||
|
||||
Reference in New Issue
Block a user