Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
0ea8cb88
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0ea8cb88
编写于
9月 03, 2013
作者:
A
Andreas Färber
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cpu-exec: Change cpu_resume_from_signal() argument to CPUState
Signed-off-by:
N
Andreas Färber
<
afaerber@suse.de
>
上级
b3310ab3
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
11 addition
and
14 deletion
+11
-14
cpu-exec.c
cpu-exec.c
+1
-3
exec.c
exec.c
+1
-1
hw/i386/kvmvapic.c
hw/i386/kvmvapic.c
+1
-1
include/exec/exec-all.h
include/exec/exec-all.h
+1
-1
target-i386/helper.c
target-i386/helper.c
+1
-1
target-lm32/helper.c
target-lm32/helper.c
+1
-1
target-xtensa/helper.c
target-xtensa/helper.c
+1
-1
translate-all.c
translate-all.c
+3
-3
user-exec.c
user-exec.c
+1
-2
未找到文件。
cpu-exec.c
浏览文件 @
0ea8cb88
...
...
@@ -33,10 +33,8 @@ void cpu_loop_exit(CPUState *cpu)
restored in a state compatible with the CPU emulator
*/
#if defined(CONFIG_SOFTMMU)
void
cpu_resume_from_signal
(
CPU
ArchState
*
env
,
void
*
puc
)
void
cpu_resume_from_signal
(
CPU
State
*
cpu
,
void
*
puc
)
{
CPUState
*
cpu
=
ENV_GET_CPU
(
env
);
/* XXX: restore cpu registers saved in host registers */
cpu
->
exception_index
=
-
1
;
...
...
exec.c
浏览文件 @
0ea8cb88
...
...
@@ -1608,7 +1608,7 @@ static void check_watchpoint(int offset, int len_mask, int flags)
}
else
{
cpu_get_tb_cpu_state
(
env
,
&
pc
,
&
cs_base
,
&
cpu_flags
);
tb_gen_code
(
cpu
,
pc
,
cs_base
,
cpu_flags
,
1
);
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cpu
,
NULL
);
}
}
}
else
{
...
...
hw/i386/kvmvapic.c
浏览文件 @
0ea8cb88
...
...
@@ -449,7 +449,7 @@ static void patch_instruction(VAPICROMState *s, X86CPU *cpu, target_ulong ip)
if
(
!
kvm_enabled
())
{
cs
->
current_tb
=
NULL
;
tb_gen_code
(
cs
,
current_pc
,
current_cs_base
,
current_flags
,
1
);
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cs
,
NULL
);
}
}
...
...
include/exec/exec-all.h
浏览文件 @
0ea8cb88
...
...
@@ -83,7 +83,7 @@ int cpu_gen_code(CPUArchState *env, struct TranslationBlock *tb,
bool
cpu_restore_state
(
CPUState
*
cpu
,
uintptr_t
searched_pc
);
void
page_size_init
(
void
);
void
QEMU_NORETURN
cpu_resume_from_signal
(
CPU
ArchState
*
env1
,
void
*
puc
);
void
QEMU_NORETURN
cpu_resume_from_signal
(
CPU
State
*
cpu
,
void
*
puc
);
void
QEMU_NORETURN
cpu_io_recompile
(
CPUState
*
cpu
,
uintptr_t
retaddr
);
TranslationBlock
*
tb_gen_code
(
CPUState
*
cpu
,
target_ulong
pc
,
target_ulong
cs_base
,
int
flags
,
...
...
target-i386/helper.c
浏览文件 @
0ea8cb88
...
...
@@ -1102,7 +1102,7 @@ void breakpoint_handler(CPUX86State *env)
if
(
check_hw_breakpoints
(
env
,
false
))
{
raise_exception
(
env
,
EXCP01_DB
);
}
else
{
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cs
,
NULL
);
}
}
}
else
{
...
...
target-lm32/helper.c
浏览文件 @
0ea8cb88
...
...
@@ -135,7 +135,7 @@ void lm32_debug_excp_handler(CPULM32State *env)
if
(
check_watchpoints
(
env
))
{
raise_exception
(
env
,
EXCP_WATCHPOINT
);
}
else
{
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cs
,
NULL
);
}
}
}
else
{
...
...
target-xtensa/helper.c
浏览文件 @
0ea8cb88
...
...
@@ -92,7 +92,7 @@ void xtensa_breakpoint_handler(CPUXtensaState *env)
if
(
cause
)
{
debug_exception_env
(
env
,
cause
);
}
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cs
,
NULL
);
}
}
}
...
...
translate-all.c
浏览文件 @
0ea8cb88
...
...
@@ -1113,7 +1113,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
itself */
cpu
->
current_tb
=
NULL
;
tb_gen_code
(
cpu
,
current_pc
,
current_cs_base
,
current_flags
,
1
);
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cpu
,
NULL
);
}
#endif
}
...
...
@@ -1213,7 +1213,7 @@ static void tb_invalidate_phys_page(tb_page_addr_t addr,
if
(
locked
)
{
mmap_unlock
();
}
cpu_resume_from_signal
(
env
,
puc
);
cpu_resume_from_signal
(
cpu
,
puc
);
}
#endif
}
...
...
@@ -1476,7 +1476,7 @@ void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr)
repeating the fault, which is horribly inefficient.
Better would be to execute just this insn uncached, or generate a
second new TB. */
cpu_resume_from_signal
(
env
,
NULL
);
cpu_resume_from_signal
(
cpu
,
NULL
);
}
void
tb_flush_jmp_cache
(
CPUState
*
cpu
,
target_ulong
addr
)
...
...
user-exec.c
浏览文件 @
0ea8cb88
...
...
@@ -52,9 +52,8 @@ static void exception_action(CPUArchState *env1)
/* exit the current TB from a signal handler. The host registers are
restored in a state compatible with the CPU emulator
*/
void
cpu_resume_from_signal
(
CPU
ArchState
*
env1
,
void
*
puc
)
void
cpu_resume_from_signal
(
CPU
State
*
cpu
,
void
*
puc
)
{
CPUState
*
cpu
=
ENV_GET_CPU
(
env1
);
#ifdef __linux__
struct
ucontext
*
uc
=
puc
;
#elif defined(__OpenBSD__)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录