Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
1d28f5f4
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1d28f5f4
编写于
11月 21, 2007
作者:
A
Avi Kivity
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
KVM: Remove gpa_to_hpa()
Converting last uses along the way. Signed-off-by:
N
Avi Kivity
<
avi@qumranet.com
>
上级
0d81f296
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
3 addition
and
19 deletion
+3
-19
drivers/kvm/kvm.h
drivers/kvm/kvm.h
+0
-1
drivers/kvm/mmu.c
drivers/kvm/mmu.c
+3
-18
未找到文件。
drivers/kvm/kvm.h
浏览文件 @
1d28f5f4
...
...
@@ -375,7 +375,6 @@ int kvm_init(void *opaque, unsigned int vcpu_size,
struct
module
*
module
);
void
kvm_exit
(
void
);
hpa_t
gpa_to_hpa
(
struct
kvm
*
kvm
,
gpa_t
gpa
);
#define HPA_MSB ((sizeof(hpa_t) * 8) - 1)
#define HPA_ERR_MASK ((hpa_t)1 << HPA_MSB)
static
inline
int
is_error_hpa
(
hpa_t
hpa
)
{
return
hpa
>>
HPA_MSB
;
}
...
...
drivers/kvm/mmu.c
浏览文件 @
1d28f5f4
...
...
@@ -868,26 +868,13 @@ static void page_header_update_slot(struct kvm *kvm, void *pte, gfn_t gfn)
__set_bit
(
slot
,
&
page_head
->
slot_bitmap
);
}
hpa_t
gpa_to_hpa
(
struct
kvm
*
kvm
,
gpa_t
gpa
)
{
struct
page
*
page
;
hpa_t
hpa
;
ASSERT
((
gpa
&
HPA_ERR_MASK
)
==
0
);
page
=
gfn_to_page
(
kvm
,
gpa
>>
PAGE_SHIFT
);
hpa
=
((
hpa_t
)
page_to_pfn
(
page
)
<<
PAGE_SHIFT
)
|
(
gpa
&
(
PAGE_SIZE
-
1
));
if
(
is_error_page
(
page
))
return
hpa
|
HPA_ERR_MASK
;
return
hpa
;
}
struct
page
*
gva_to_page
(
struct
kvm_vcpu
*
vcpu
,
gva_t
gva
)
{
gpa_t
gpa
=
vcpu
->
mmu
.
gva_to_gpa
(
vcpu
,
gva
);
if
(
gpa
==
UNMAPPED_GVA
)
return
NULL
;
return
pfn_to_page
(
gpa_to_hpa
(
vcpu
->
kvm
,
gpa
)
>>
PAGE_SHIFT
);
return
gfn_to_page
(
vcpu
->
kvm
,
gpa
>>
PAGE_SHIFT
);
}
static
void
nonpaging_new_cr3
(
struct
kvm_vcpu
*
vcpu
)
...
...
@@ -1611,8 +1598,8 @@ static void audit_mappings_page(struct kvm_vcpu *vcpu, u64 page_pte,
audit_mappings_page
(
vcpu
,
ent
,
va
,
level
-
1
);
}
else
{
gpa_t
gpa
=
vcpu
->
mmu
.
gva_to_gpa
(
vcpu
,
va
);
hpa_t
hpa
=
gpa_to_hpa
(
vcpu
,
gpa
);
struct
page
*
page
;
struct
page
*
page
=
gpa_to_page
(
vcpu
,
gpa
);
hpa_t
hpa
=
page_to_phys
(
page
)
;
if
(
is_shadow_present_pte
(
ent
)
&&
(
ent
&
PT64_BASE_ADDR_MASK
)
!=
hpa
)
...
...
@@ -1625,8 +1612,6 @@ static void audit_mappings_page(struct kvm_vcpu *vcpu, u64 page_pte,
&&
!
is_error_hpa
(
hpa
))
printk
(
KERN_ERR
"audit: (%s) notrap shadow,"
" valid guest gva %lx
\n
"
,
audit_msg
,
va
);
page
=
pfn_to_page
((
gpa
&
PT64_BASE_ADDR_MASK
)
>>
PAGE_SHIFT
);
kvm_release_page_clean
(
page
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录