Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
d10ab869
Commit
d10ab869
authored
Apr 22, 2013
by
Gleb Natapov
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://github.com/agraf/linux-2.6.git
kvm-ppc-next into queue
parents
e6062647
be28a27c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
22 additions
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
No files found.
arch/powerpc/include/asm/kvm_book3s.h
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment