aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-01-06 20:07:38 -0500
committerAvi Kivity <avi@redhat.com>2012-03-05 07:52:41 -0500
commitb3c5d3c2a49602c370de6d02fdb923bc48cd1abc (patch)
treef0e18b17fdf764be61f3b2f1b5ac009cbc12dee8 /arch
parent31f3438eca2fc90dc892e0e9963ba4b93a2c8383 (diff)
KVM: PPC: Rename MMIO register identifiers
We need the KVM_REG namespace for generic register settings now, so let's rename the existing users to something different, enabling us to reuse the namespace for more visible interfaces. While at it, also move these private constants to a private header. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/kvm.h7
-rw-r--r--arch/powerpc/include/asm/kvm_host.h8
-rw-r--r--arch/powerpc/kvm/book3s_paired_singles.c9
-rw-r--r--arch/powerpc/kvm/powerpc.c18
4 files changed, 23 insertions, 19 deletions
diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h
index f41adcda1468..b921c3f48928 100644
--- a/arch/powerpc/include/asm/kvm.h
+++ b/arch/powerpc/include/asm/kvm.h
@@ -269,13 +269,6 @@ struct kvm_guest_debug_arch {
269struct kvm_sync_regs { 269struct kvm_sync_regs {
270}; 270};
271 271
272#define KVM_REG_MASK 0x001f
273#define KVM_REG_EXT_MASK 0xffe0
274#define KVM_REG_GPR 0x0000
275#define KVM_REG_FPR 0x0020
276#define KVM_REG_QPR 0x0040
277#define KVM_REG_FQPR 0x0060
278
279#define KVM_INTERRUPT_SET -1U 272#define KVM_INTERRUPT_SET -1U
280#define KVM_INTERRUPT_UNSET -2U 273#define KVM_INTERRUPT_UNSET -2U
281#define KVM_INTERRUPT_SET_LEVEL -3U 274#define KVM_INTERRUPT_SET_LEVEL -3U
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h
index 1cb6e522485b..af438b1e8a3c 100644
--- a/arch/powerpc/include/asm/kvm_host.h
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -485,4 +485,12 @@ struct kvm_vcpu_arch {
485#define KVMPPC_VCPU_BUSY_IN_HOST 1 485#define KVMPPC_VCPU_BUSY_IN_HOST 1
486#define KVMPPC_VCPU_RUNNABLE 2 486#define KVMPPC_VCPU_RUNNABLE 2
487 487
488/* Values for vcpu->arch.io_gpr */
489#define KVM_MMIO_REG_MASK 0x001f
490#define KVM_MMIO_REG_EXT_MASK 0xffe0
491#define KVM_MMIO_REG_GPR 0x0000
492#define KVM_MMIO_REG_FPR 0x0020
493#define KVM_MMIO_REG_QPR 0x0040
494#define KVM_MMIO_REG_FQPR 0x0060
495
488#endif /* __POWERPC_KVM_HOST_H__ */ 496#endif /* __POWERPC_KVM_HOST_H__ */
diff --git a/arch/powerpc/kvm/book3s_paired_singles.c b/arch/powerpc/kvm/book3s_paired_singles.c
index 7b0ee96c1bed..e70ef2d86431 100644
--- a/arch/powerpc/kvm/book3s_paired_singles.c
+++ b/arch/powerpc/kvm/book3s_paired_singles.c
@@ -196,7 +196,8 @@ static int kvmppc_emulate_fpr_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
196 kvmppc_inject_pf(vcpu, addr, false); 196 kvmppc_inject_pf(vcpu, addr, false);
197 goto done_load; 197 goto done_load;
198 } else if (r == EMULATE_DO_MMIO) { 198 } else if (r == EMULATE_DO_MMIO) {
199 emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FPR | rs, len, 1); 199 emulated = kvmppc_handle_load(run, vcpu, KVM_MMIO_REG_FPR | rs,
200 len, 1);
200 goto done_load; 201 goto done_load;
201 } 202 }
202 203
@@ -286,11 +287,13 @@ static int kvmppc_emulate_psq_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
286 kvmppc_inject_pf(vcpu, addr, false); 287 kvmppc_inject_pf(vcpu, addr, false);
287 goto done_load; 288 goto done_load;
288 } else if ((r == EMULATE_DO_MMIO) && w) { 289 } else if ((r == EMULATE_DO_MMIO) && w) {
289 emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FPR | rs, 4, 1); 290 emulated = kvmppc_handle_load(run, vcpu, KVM_MMIO_REG_FPR | rs,
291 4, 1);
290 vcpu->arch.qpr[rs] = tmp[1]; 292 vcpu->arch.qpr[rs] = tmp[1];
291 goto done_load; 293 goto done_load;
292 } else if (r == EMULATE_DO_MMIO) { 294 } else if (r == EMULATE_DO_MMIO) {
293 emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FQPR | rs, 8, 1); 295 emulated = kvmppc_handle_load(run, vcpu, KVM_MMIO_REG_FQPR | rs,
296 8, 1);
294 goto done_load; 297 goto done_load;
295 } 298 }
296 299
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index e23270779ff5..0e21d155eea7 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -448,20 +448,20 @@ static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu,
448 448
449 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr); 449 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr);
450 450
451 switch (vcpu->arch.io_gpr & KVM_REG_EXT_MASK) { 451 switch (vcpu->arch.io_gpr & KVM_MMIO_REG_EXT_MASK) {
452 case KVM_REG_GPR: 452 case KVM_MMIO_REG_GPR:
453 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr); 453 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr);
454 break; 454 break;
455 case KVM_REG_FPR: 455 case KVM_MMIO_REG_FPR:
456 vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; 456 vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_MMIO_REG_MASK] = gpr;
457 break; 457 break;
458#ifdef CONFIG_PPC_BOOK3S 458#ifdef CONFIG_PPC_BOOK3S
459 case KVM_REG_QPR: 459 case KVM_MMIO_REG_QPR:
460 vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; 460 vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_MMIO_REG_MASK] = gpr;
461 break; 461 break;
462 case KVM_REG_FQPR: 462 case KVM_MMIO_REG_FQPR:
463 vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; 463 vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_MMIO_REG_MASK] = gpr;
464 vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; 464 vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_MMIO_REG_MASK] = gpr;
465 break; 465 break;
466#endif 466#endif
467 default: 467 default: