Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
9f047b89
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,发现更多精彩内容 >>
提交
9f047b89
编写于
10月 10, 2011
作者:
A
Anthony Liguori
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'qemu-kvm-tmp/uq/master' into staging
上级
8acbc9b2
bfc2455d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
18 addition
and
1 deletion
+18
-1
target-i386/cpu.h
target-i386/cpu.h
+3
-1
target-i386/kvm.c
target-i386/kvm.c
+14
-0
target-i386/machine.c
target-i386/machine.c
+1
-0
未找到文件。
target-i386/cpu.h
浏览文件 @
9f047b89
...
...
@@ -283,6 +283,7 @@
#define MSR_IA32_APICBASE_BSP (1<<8)
#define MSR_IA32_APICBASE_ENABLE (1<<11)
#define MSR_IA32_APICBASE_BASE (0xfffff<<12)
#define MSR_IA32_TSCDEADLINE 0x6e0
#define MSR_MTRRcap 0xfe
#define MSR_MTRRcap_VCNT 8
...
...
@@ -687,6 +688,7 @@ typedef struct CPUX86State {
uint64_t
async_pf_en_msr
;
uint64_t
tsc
;
uint64_t
tsc_deadline
;
uint64_t
mcg_status
;
...
...
@@ -947,7 +949,7 @@ uint64_t cpu_get_tsc(CPUX86State *env);
#define cpu_list_id x86_cpu_list
#define cpudef_setup x86_cpudef_setup
#define CPU_SAVE_VERSION 1
2
#define CPU_SAVE_VERSION 1
3
/* MMU modes definitions */
#define MMU_MODE0_SUFFIX _kernel
...
...
target-i386/kvm.c
浏览文件 @
9f047b89
...
...
@@ -59,6 +59,7 @@ const KVMCapabilityInfo kvm_arch_required_capabilities[] = {
static
bool
has_msr_star
;
static
bool
has_msr_hsave_pa
;
static
bool
has_msr_tsc_deadline
;
static
bool
has_msr_async_pf_en
;
static
int
lm_capable_kernel
;
...
...
@@ -568,6 +569,10 @@ static int kvm_get_supported_msrs(KVMState *s)
has_msr_hsave_pa
=
true
;
continue
;
}
if
(
kvm_msr_list
->
indices
[
i
]
==
MSR_IA32_TSCDEADLINE
)
{
has_msr_tsc_deadline
=
true
;
continue
;
}
}
}
...
...
@@ -881,6 +886,9 @@ static int kvm_put_msrs(CPUState *env, int level)
if
(
has_msr_hsave_pa
)
{
kvm_msr_entry_set
(
&
msrs
[
n
++
],
MSR_VM_HSAVE_PA
,
env
->
vm_hsave
);
}
if
(
has_msr_tsc_deadline
)
{
kvm_msr_entry_set
(
&
msrs
[
n
++
],
MSR_IA32_TSCDEADLINE
,
env
->
tsc_deadline
);
}
#ifdef TARGET_X86_64
if
(
lm_capable_kernel
)
{
kvm_msr_entry_set
(
&
msrs
[
n
++
],
MSR_CSTAR
,
env
->
cstar
);
...
...
@@ -1127,6 +1135,9 @@ static int kvm_get_msrs(CPUState *env)
if
(
has_msr_hsave_pa
)
{
msrs
[
n
++
].
index
=
MSR_VM_HSAVE_PA
;
}
if
(
has_msr_tsc_deadline
)
{
msrs
[
n
++
].
index
=
MSR_IA32_TSCDEADLINE
;
}
if
(
!
env
->
tsc_valid
)
{
msrs
[
n
++
].
index
=
MSR_IA32_TSC
;
...
...
@@ -1195,6 +1206,9 @@ static int kvm_get_msrs(CPUState *env)
case
MSR_IA32_TSC
:
env
->
tsc
=
msrs
[
i
].
data
;
break
;
case
MSR_IA32_TSCDEADLINE
:
env
->
tsc_deadline
=
msrs
[
i
].
data
;
break
;
case
MSR_VM_HSAVE_PA
:
env
->
vm_hsave
=
msrs
[
i
].
data
;
break
;
...
...
target-i386/machine.c
浏览文件 @
9f047b89
...
...
@@ -410,6 +410,7 @@ static const VMStateDescription vmstate_cpu = {
VMSTATE_UINT64_V
(
xcr0
,
CPUState
,
12
),
VMSTATE_UINT64_V
(
xstate_bv
,
CPUState
,
12
),
VMSTATE_YMMH_REGS_VARS
(
ymmh_regs
,
CPUState
,
CPU_NB_REGS
,
12
),
VMSTATE_UINT64_V
(
tsc_deadline
,
CPUState
,
13
),
VMSTATE_END_OF_LIST
()
/* The above list is not sorted /wrt version numbers, watch out! */
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录