Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
ab49ab5c
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看板
提交
ab49ab5c
编写于
11月 23, 2011
作者:
L
Luiz Capitulino
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
qapi: Convert inject-nmi
Signed-off-by:
N
Luiz Capitulino
<
lcapitulino@redhat.com
>
上级
e42e818b
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
37 addition
and
25 deletion
+37
-25
cpus.c
cpus.c
+13
-0
hmp-commands.hx
hmp-commands.hx
+1
-2
hmp.c
hmp.c
+8
-0
hmp.h
hmp.h
+1
-0
monitor.c
monitor.c
+0
-19
qapi-schema.json
qapi-schema.json
+13
-0
qmp-commands.hx
qmp-commands.hx
+1
-4
未找到文件。
cpus.c
浏览文件 @
ab49ab5c
...
...
@@ -1213,3 +1213,16 @@ void qmp_pmemsave(int64_t addr, int64_t size, const char *filename,
exit:
fclose
(
f
);
}
void
qmp_inject_nmi
(
Error
**
errp
)
{
#if defined(TARGET_I386)
CPUState
*
env
;
for
(
env
=
first_cpu
;
env
!=
NULL
;
env
=
env
->
next_cpu
)
{
cpu_interrupt
(
env
,
CPU_INTERRUPT_NMI
);
}
#else
error_set
(
errp
,
QERR_UNSUPPORTED
);
#endif
}
hmp-commands.hx
浏览文件 @
ab49ab5c
...
...
@@ -736,8 +736,7 @@ ETEXI
.args_type = "",
.params = "",
.help = "inject an NMI on all guest's CPUs",
.user_print = monitor_user_noop,
.mhandler.cmd_new = do_inject_nmi,
.mhandler.cmd = hmp_inject_nmi,
},
#endif
STEXI
...
...
hmp.c
浏览文件 @
ab49ab5c
...
...
@@ -593,3 +593,11 @@ void hmp_cont(Monitor *mon, const QDict *qdict)
hmp_handle_error
(
mon
,
&
errp
);
}
}
void
hmp_inject_nmi
(
Monitor
*
mon
,
const
QDict
*
qdict
)
{
Error
*
errp
=
NULL
;
qmp_inject_nmi
(
&
errp
);
hmp_handle_error
(
mon
,
&
errp
);
}
hmp.h
浏览文件 @
ab49ab5c
...
...
@@ -40,5 +40,6 @@ void hmp_cpu(Monitor *mon, const QDict *qdict);
void
hmp_memsave
(
Monitor
*
mon
,
const
QDict
*
qdict
);
void
hmp_pmemsave
(
Monitor
*
mon
,
const
QDict
*
qdict
);
void
hmp_cont
(
Monitor
*
mon
,
const
QDict
*
qdict
);
void
hmp_inject_nmi
(
Monitor
*
mon
,
const
QDict
*
qdict
);
#endif
monitor.c
浏览文件 @
ab49ab5c
...
...
@@ -2204,25 +2204,6 @@ static void do_wav_capture(Monitor *mon, const QDict *qdict)
}
#endif
#if defined(TARGET_I386)
static
int
do_inject_nmi
(
Monitor
*
mon
,
const
QDict
*
qdict
,
QObject
**
ret_data
)
{
CPUState
*
env
;
for
(
env
=
first_cpu
;
env
!=
NULL
;
env
=
env
->
next_cpu
)
{
cpu_interrupt
(
env
,
CPU_INTERRUPT_NMI
);
}
return
0
;
}
#else
static
int
do_inject_nmi
(
Monitor
*
mon
,
const
QDict
*
qdict
,
QObject
**
ret_data
)
{
qerror_report
(
QERR_UNSUPPORTED
);
return
-
1
;
}
#endif
static
qemu_acl
*
find_acl
(
Monitor
*
mon
,
const
char
*
name
)
{
qemu_acl
*
acl
=
qemu_acl_find
(
name
);
...
...
qapi-schema.json
浏览文件 @
ab49ab5c
...
...
@@ -966,3 +966,16 @@
##
{
'command':
'cont'
}
##
#
@inject-nmi:
#
#
Injects
an
Non-Maskable
Interrupt
into
all
guest's
VCPUs.
#
#
Returns:
If
successful,
nothing
#
If
the
Virtual
Machine
doesn't
support
NMI
injection,
Unsupported
#
#
Since:
0.14
.
0
#
#
Notes:
Only
x
86
Virtual
Machines
support
this
command.
##
{
'command':
'inject-nmi'
}
qmp-commands.hx
浏览文件 @
ab49ab5c
...
...
@@ -407,10 +407,7 @@ EQMP
{
.
name
=
"inject-nmi"
,
.
args_type
=
""
,
.
params
=
""
,
.
help
=
""
,
.
user_print
=
monitor_user_noop
,
.
mhandler
.
cmd_new
=
do_inject_nmi
,
.
mhandler
.
cmd_new
=
qmp_marshal_input_inject_nmi
,
},
SQMP
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录