Re: [PATCH 08/11] powerpc/kvm: KVM-HV HPT resizing stub implementation
On 15.12.2016 06:54, David Gibson wrote: > This patch adds a stub (always failing) implementation of the ioctl()s > for the HPT resizing PAPR extension. > > Signed-off-by: David Gibson> --- > arch/powerpc/include/asm/kvm_ppc.h | 4 > arch/powerpc/kvm/book3s_64_mmu_hv.c | 16 > arch/powerpc/kvm/book3s_hv.c| 22 ++ > 3 files changed, 42 insertions(+) I think I'd just squash this with the patch where you do the real implementation. Thomas
Re: [PATCH 08/11] powerpc/kvm: KVM-HV HPT resizing stub implementation
On 15.12.2016 06:54, David Gibson wrote: > This patch adds a stub (always failing) implementation of the ioctl()s > for the HPT resizing PAPR extension. > > Signed-off-by: David Gibson > --- > arch/powerpc/include/asm/kvm_ppc.h | 4 > arch/powerpc/kvm/book3s_64_mmu_hv.c | 16 > arch/powerpc/kvm/book3s_hv.c| 22 ++ > 3 files changed, 42 insertions(+) I think I'd just squash this with the patch where you do the real implementation. Thomas
[PATCH 08/11] powerpc/kvm: KVM-HV HPT resizing stub implementation
This patch adds a stub (always failing) implementation of the ioctl()s for the HPT resizing PAPR extension. Signed-off-by: David Gibson--- arch/powerpc/include/asm/kvm_ppc.h | 4 arch/powerpc/kvm/book3s_64_mmu_hv.c | 16 arch/powerpc/kvm/book3s_hv.c| 22 ++ 3 files changed, 42 insertions(+) diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index 3b837bc..f8eaed0 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h @@ -215,6 +215,10 @@ extern void kvmppc_bookehv_exit(void); extern int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu); extern int kvm_vm_ioctl_get_htab_fd(struct kvm *kvm, struct kvm_get_htab_fd *); +extern long kvm_vm_ioctl_resize_hpt_prepare(struct kvm *kvm, + struct kvm_ppc_resize_hpt *rhpt); +extern long kvm_vm_ioctl_resize_hpt_commit(struct kvm *kvm, + struct kvm_ppc_resize_hpt *rhpt); int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq); diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c index cd145eb..ac0f18b 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_hv.c +++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c @@ -1160,6 +1160,22 @@ void kvmppc_unpin_guest_page(struct kvm *kvm, void *va, unsigned long gpa, } /* + * HPT resizing + */ + +long kvm_vm_ioctl_resize_hpt_prepare(struct kvm *kvm, +struct kvm_ppc_resize_hpt *rhpt) +{ + return -EIO; +} + +long kvm_vm_ioctl_resize_hpt_commit(struct kvm *kvm, + struct kvm_ppc_resize_hpt *rhpt) +{ + return -EIO; +} + +/* * Functions for reading and writing the hash table via reads and * writes on a file descriptor. * diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 957e473..d022322 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -3617,6 +3617,28 @@ static long kvm_arch_vm_ioctl_hv(struct file *filp, break; } + case KVM_PPC_RESIZE_HPT_PREPARE: { + struct kvm_ppc_resize_hpt rhpt; + + r = -EFAULT; + if (copy_from_user(, argp, sizeof(rhpt))) + break; + + r = kvm_vm_ioctl_resize_hpt_prepare(kvm, ); + break; + } + + case KVM_PPC_RESIZE_HPT_COMMIT: { + struct kvm_ppc_resize_hpt rhpt; + + r = -EFAULT; + if (copy_from_user(, argp, sizeof(rhpt))) + break; + + r = kvm_vm_ioctl_resize_hpt_commit(kvm, ); + break; + } + default: r = -ENOTTY; } -- 2.9.3
[PATCH 08/11] powerpc/kvm: KVM-HV HPT resizing stub implementation
This patch adds a stub (always failing) implementation of the ioctl()s for the HPT resizing PAPR extension. Signed-off-by: David Gibson --- arch/powerpc/include/asm/kvm_ppc.h | 4 arch/powerpc/kvm/book3s_64_mmu_hv.c | 16 arch/powerpc/kvm/book3s_hv.c| 22 ++ 3 files changed, 42 insertions(+) diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index 3b837bc..f8eaed0 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h @@ -215,6 +215,10 @@ extern void kvmppc_bookehv_exit(void); extern int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu); extern int kvm_vm_ioctl_get_htab_fd(struct kvm *kvm, struct kvm_get_htab_fd *); +extern long kvm_vm_ioctl_resize_hpt_prepare(struct kvm *kvm, + struct kvm_ppc_resize_hpt *rhpt); +extern long kvm_vm_ioctl_resize_hpt_commit(struct kvm *kvm, + struct kvm_ppc_resize_hpt *rhpt); int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq); diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c index cd145eb..ac0f18b 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_hv.c +++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c @@ -1160,6 +1160,22 @@ void kvmppc_unpin_guest_page(struct kvm *kvm, void *va, unsigned long gpa, } /* + * HPT resizing + */ + +long kvm_vm_ioctl_resize_hpt_prepare(struct kvm *kvm, +struct kvm_ppc_resize_hpt *rhpt) +{ + return -EIO; +} + +long kvm_vm_ioctl_resize_hpt_commit(struct kvm *kvm, + struct kvm_ppc_resize_hpt *rhpt) +{ + return -EIO; +} + +/* * Functions for reading and writing the hash table via reads and * writes on a file descriptor. * diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 957e473..d022322 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -3617,6 +3617,28 @@ static long kvm_arch_vm_ioctl_hv(struct file *filp, break; } + case KVM_PPC_RESIZE_HPT_PREPARE: { + struct kvm_ppc_resize_hpt rhpt; + + r = -EFAULT; + if (copy_from_user(, argp, sizeof(rhpt))) + break; + + r = kvm_vm_ioctl_resize_hpt_prepare(kvm, ); + break; + } + + case KVM_PPC_RESIZE_HPT_COMMIT: { + struct kvm_ppc_resize_hpt rhpt; + + r = -EFAULT; + if (copy_from_user(, argp, sizeof(rhpt))) + break; + + r = kvm_vm_ioctl_resize_hpt_commit(kvm, ); + break; + } + default: r = -ENOTTY; } -- 2.9.3