mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 10:34:58 -06:00
exec.h cleanup
Move softmmu_exec.h include directives from target-*/exec.h to target-*/op_helper.c. Move also various other stuff only used in op_helper.c there. Define global env in dyngen-exec.h. For i386, move wrappers for segment and FPU helpers from user-exec.c to op_helper.c. Implement raise_exception_err_env() to handle dynamic CPUState. Move the function declarations to cpu.h since they can be used outside of op_helper.c context. LM32, s390x, UniCore32: remove unused cpu_halted(), regs_to_env() and env_to_regs(). ARM: make raise_exception() static. Convert #include "exec.h" to #include "cpu.h" #include "dyngen-exec.h" and remove now unused target-*/exec.h. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
104bf02eb5
commit
3e4571724f
32 changed files with 273 additions and 620 deletions
|
@ -1,43 +0,0 @@
|
|||
/*
|
||||
* UniCore32 execution defines
|
||||
*
|
||||
* Copyright (C) 2010-2011 GUAN Xue-tao
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef __UC32_EXEC_H__
|
||||
#define __UC32_EXEC_H__
|
||||
|
||||
#include "config.h"
|
||||
#include "dyngen-exec.h"
|
||||
|
||||
register struct CPUState_UniCore32 *env asm(AREG0);
|
||||
|
||||
#include "cpu.h"
|
||||
|
||||
static inline void env_to_regs(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void regs_to_env(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int cpu_halted(CPUState *env)
|
||||
{
|
||||
if (!env->halted) {
|
||||
return 0;
|
||||
}
|
||||
/* An interrupt wakes the CPU even if the I and R ASR bits are
|
||||
set. We use EXITTB to silently wake CPU without causing an
|
||||
actual interrupt. */
|
||||
if (cpu_has_work(env)) {
|
||||
env->halted = 0;
|
||||
return 0;
|
||||
}
|
||||
return EXCP_HALTED;
|
||||
}
|
||||
|
||||
#endif /* __UC32_EXEC_H__ */
|
|
@ -7,7 +7,8 @@
|
|||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#include "exec.h"
|
||||
#include "cpu.h"
|
||||
#include "dyngen-exec.h"
|
||||
#include "helper.h"
|
||||
|
||||
#define SIGNBIT (uint32_t)0x80000000
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue