Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
d10ab869
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看板
提交
d10ab869
编写于
4月 22, 2013
作者:
G
Gleb Natapov
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://github.com/agraf/linux-2.6.git
kvm-ppc-next into queue
上级
e6062647
be28a27c
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
22 addition
and
1 deletion
+22
-1
arch/powerpc/include/asm/kvm_book3s.h
arch/powerpc/include/asm/kvm_book3s.h
+2
-0
arch/powerpc/include/asm/kvm_booke.h
arch/powerpc/include/asm/kvm_booke.h
+2
-0
arch/powerpc/include/uapi/asm/kvm.h
arch/powerpc/include/uapi/asm/kvm.h
+4
-0
arch/powerpc/kvm/book3s.c
arch/powerpc/kvm/book3s.c
+6
-0
arch/powerpc/kvm/booke.c
arch/powerpc/kvm/booke.c
+6
-0
arch/powerpc/kvm/emulate.c
arch/powerpc/kvm/emulate.c
+2
-0
arch/powerpc/kvm/powerpc.c
arch/powerpc/kvm/powerpc.c
+0
-1
未找到文件。
arch/powerpc/include/asm/kvm_book3s.h
浏览文件 @
d10ab869
...
...
@@ -458,6 +458,8 @@ static inline bool kvmppc_critical_section(struct kvm_vcpu *vcpu)
#define OSI_SC_MAGIC_R4 0x77810F9B
#define INS_DCBZ 0x7c0007ec
/* TO = 31 for unconditional trap */
#define INS_TW 0x7fe00008
/* LPIDs we support with this build -- runtime limit may be lower */
#define KVMPPC_NR_LPIDS (LPID_RSVD + 1)
...
...
arch/powerpc/include/asm/kvm_booke.h
浏览文件 @
d10ab869
...
...
@@ -26,6 +26,8 @@
/* LPIDs we support with this build -- runtime limit may be lower */
#define KVMPPC_NR_LPIDS 64
#define KVMPPC_INST_EHPRIV 0x7c00021c
static
inline
void
kvmppc_set_gpr
(
struct
kvm_vcpu
*
vcpu
,
int
num
,
ulong
val
)
{
vcpu
->
arch
.
gpr
[
num
]
=
val
;
...
...
arch/powerpc/include/uapi/asm/kvm.h
浏览文件 @
d10ab869
...
...
@@ -422,4 +422,8 @@ struct kvm_get_htab_header {
#define KVM_REG_PPC_CLEAR_TSR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x88)
#define KVM_REG_PPC_TCR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x89)
#define KVM_REG_PPC_TSR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x8a)
/* Debugging: Special instruction for software breakpoint */
#define KVM_REG_PPC_DEBUG_INST (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x8b)
#endif
/* __LINUX_KVM_POWERPC_H */
arch/powerpc/kvm/book3s.c
浏览文件 @
d10ab869
...
...
@@ -529,6 +529,12 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
val
=
get_reg_val
(
reg
->
id
,
vcpu
->
arch
.
vscr
.
u
[
3
]);
break
;
#endif
/* CONFIG_ALTIVEC */
case
KVM_REG_PPC_DEBUG_INST
:
{
u32
opcode
=
INS_TW
;
r
=
copy_to_user
((
u32
__user
*
)(
long
)
reg
->
addr
,
&
opcode
,
sizeof
(
u32
));
break
;
}
default:
r
=
-
EINVAL
;
break
;
...
...
arch/powerpc/kvm/booke.c
浏览文件 @
d10ab869
...
...
@@ -1447,6 +1447,12 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
case
KVM_REG_PPC_TSR
:
r
=
put_user
(
vcpu
->
arch
.
tsr
,
(
u32
__user
*
)(
long
)
reg
->
addr
);
break
;
case
KVM_REG_PPC_DEBUG_INST
:
{
u32
opcode
=
KVMPPC_INST_EHPRIV
;
r
=
copy_to_user
((
u32
__user
*
)(
long
)
reg
->
addr
,
&
opcode
,
sizeof
(
u32
));
break
;
}
default:
break
;
}
...
...
arch/powerpc/kvm/emulate.c
浏览文件 @
d10ab869
...
...
@@ -38,6 +38,7 @@
#define OP_31_XOP_TRAP 4
#define OP_31_XOP_LWZX 23
#define OP_31_XOP_DCBST 54
#define OP_31_XOP_TRAP_64 68
#define OP_31_XOP_DCBF 86
#define OP_31_XOP_LBZX 87
...
...
@@ -370,6 +371,7 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
emulated
=
kvmppc_emulate_mtspr
(
vcpu
,
sprn
,
rs
);
break
;
case
OP_31_XOP_DCBST
:
case
OP_31_XOP_DCBF
:
case
OP_31_XOP_DCBI
:
/* Do nothing. The guest is performing dcbi because
...
...
arch/powerpc/kvm/powerpc.c
浏览文件 @
d10ab869
...
...
@@ -683,7 +683,6 @@ int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
if
(
!
kvm_io_bus_write
(
vcpu
->
kvm
,
KVM_MMIO_BUS
,
run
->
mmio
.
phys_addr
,
bytes
,
&
run
->
mmio
.
data
))
{
kvmppc_complete_mmio_load
(
vcpu
,
run
);
vcpu
->
mmio_needed
=
0
;
return
EMULATE_DONE
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录