From: Steven Price <steven.price@arm.com> To: Marc Zyngier <maz@kernel.org>, Will Deacon <will@kernel.org>, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu Cc: "Steven Price" <steven.price@arm.com>, "Catalin Marinas" <catalin.marinas@arm.com>, "Paolo Bonzini" <pbonzini@redhat.com>, "Radim Krčmář" <rkrcmar@redhat.com>, "Russell King" <linux@armlinux.org.uk>, "James Morse" <james.morse@arm.com>, "Julien Thierry" <julien.thierry.kdev@gmail.com>, "Suzuki K Pouloze" <suzuki.poulose@arm.com>, "Mark Rutland" <mark.rutland@arm.com>, kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 06/10] KVM: Allow kvm_device_ops to be const Date: Fri, 30 Aug 2019 09:42:51 +0100 [thread overview] Message-ID: <20190830084255.55113-7-steven.price@arm.com> (raw) In-Reply-To: <20190830084255.55113-1-steven.price@arm.com> Currently a kvm_device_ops structure cannot be const without triggering compiler warnings. However the structure doesn't need to be written to and, by marking it const, it can be read-only in memory. Add some more const keywords to allow this. Signed-off-by: Steven Price <steven.price@arm.com> --- include/linux/kvm_host.h | 4 ++-- virt/kvm/kvm_main.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index bf0ae1825b9c..4e65f7566913 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -1260,7 +1260,7 @@ extern unsigned int halt_poll_ns_grow_start; extern unsigned int halt_poll_ns_shrink; struct kvm_device { - struct kvm_device_ops *ops; + const struct kvm_device_ops *ops; struct kvm *kvm; void *private; struct list_head vm_node; @@ -1313,7 +1313,7 @@ struct kvm_device_ops { void kvm_device_get(struct kvm_device *dev); void kvm_device_put(struct kvm_device *dev); struct kvm_device *kvm_device_from_filp(struct file *filp); -int kvm_register_device_ops(struct kvm_device_ops *ops, u32 type); +int kvm_register_device_ops(const struct kvm_device_ops *ops, u32 type); void kvm_unregister_device_ops(u32 type); extern struct kvm_device_ops kvm_mpic_ops; diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index c6a91b044d8d..75488ebb87c9 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -3046,14 +3046,14 @@ struct kvm_device *kvm_device_from_filp(struct file *filp) return filp->private_data; } -static struct kvm_device_ops *kvm_device_ops_table[KVM_DEV_TYPE_MAX] = { +static const struct kvm_device_ops *kvm_device_ops_table[KVM_DEV_TYPE_MAX] = { #ifdef CONFIG_KVM_MPIC [KVM_DEV_TYPE_FSL_MPIC_20] = &kvm_mpic_ops, [KVM_DEV_TYPE_FSL_MPIC_42] = &kvm_mpic_ops, #endif }; -int kvm_register_device_ops(struct kvm_device_ops *ops, u32 type) +int kvm_register_device_ops(const struct kvm_device_ops *ops, u32 type) { if (type >= ARRAY_SIZE(kvm_device_ops_table)) return -ENOSPC; @@ -3074,7 +3074,7 @@ void kvm_unregister_device_ops(u32 type) static int kvm_ioctl_create_device(struct kvm *kvm, struct kvm_create_device *cd) { - struct kvm_device_ops *ops = NULL; + const struct kvm_device_ops *ops = NULL; struct kvm_device *dev; bool test = cd->flags & KVM_CREATE_DEVICE_TEST; int type; -- 2.20.1
next prev parent reply other threads:[~2019-08-30 8:43 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-30 8:42 [PATCH v4 00/10] arm64: Stolen time support Steven Price 2019-08-30 8:42 ` [PATCH v4 01/10] KVM: arm64: Document PV-time interface Steven Price 2019-08-30 14:47 ` Andrew Jones 2019-08-30 15:25 ` Steven Price 2019-09-02 12:52 ` Andrew Jones 2019-09-04 13:55 ` Steven Price 2019-09-04 14:22 ` Andrew Jones 2019-09-04 15:07 ` Steven Price 2019-08-30 8:42 ` [PATCH v4 02/10] KVM: arm/arm64: Factor out hypercall handling from PSCI code Steven Price 2019-09-02 7:06 ` kbuild test robot 2019-09-04 15:05 ` Steven Price 2019-09-02 13:07 ` kbuild test robot 2019-08-30 8:42 ` [PATCH v4 03/10] KVM: arm64: Implement PV_FEATURES call Steven Price 2019-08-30 8:42 ` [PATCH v4 04/10] KVM: Implement kvm_put_guest() Steven Price 2019-08-30 8:42 ` [PATCH v4 05/10] KVM: arm64: Support stolen time reporting via shared structure Steven Price 2019-08-30 9:42 ` Christoffer Dall 2019-08-30 9:52 ` Steven Price 2019-09-03 9:14 ` Zenghui Yu 2019-09-04 15:53 ` Steven Price 2019-08-30 8:42 ` Steven Price [this message] 2019-08-30 8:42 ` [PATCH v4 07/10] KVM: arm64: Provide VCPU attributes for stolen time Steven Price 2019-08-30 10:02 ` Marc Zyngier 2019-08-30 15:04 ` Steven Price 2019-08-30 8:42 ` [PATCH v4 08/10] arm/arm64: Provide a wrapper for SMCCC 1.1 calls Steven Price 2019-08-30 8:42 ` [PATCH v4 09/10] arm/arm64: Make use of the SMCCC 1.1 wrapper Steven Price 2019-08-30 8:42 ` [PATCH v4 10/10] arm64: Retrieve stolen time as paravirtualized guest Steven Price 2019-09-03 8:47 ` Andrew Jones 2019-09-04 16:01 ` Steven Price 2019-09-03 8:03 ` [PATCH v4 00/10] arm64: Stolen time support Andrew Jones 2019-09-03 8:49 ` Andrew Jones 2019-09-04 16:02 ` Steven Price
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190830084255.55113-7-steven.price@arm.com \ --to=steven.price@arm.com \ --cc=catalin.marinas@arm.com \ --cc=james.morse@arm.com \ --cc=julien.thierry.kdev@gmail.com \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=maz@kernel.org \ --cc=pbonzini@redhat.com \ --cc=rkrcmar@redhat.com \ --cc=suzuki.poulose@arm.com \ --cc=will@kernel.org \ --subject='Re: [PATCH v4 06/10] KVM: Allow kvm_device_ops to be const' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).