From owner-dev-commits-src-all@freebsd.org Mon Aug 16 13:02:25 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 566C2674B74; Mon, 16 Aug 2021 13:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GpDpT1fWPz4RGb; Mon, 16 Aug 2021 13:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 204C51BD3; Mon, 16 Aug 2021 13:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 17GD2PJf092801; Mon, 16 Aug 2021 13:02:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 17GD2PHn092800; Mon, 16 Aug 2021 13:02:25 GMT (envelope-from git) Date: Mon, 16 Aug 2021 13:02:25 GMT Message-Id: <202108161302.17GD2PHn092800@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 034eea1ee5dd - stable/13 - vmm: Make iommu ops tables const MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 034eea1ee5dd25c6a3ff2ce544a990fdd04458fb Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 13:02:25 -0000 The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=034eea1ee5dd25c6a3ff2ce544a990fdd04458fb commit 034eea1ee5dd25c6a3ff2ce544a990fdd04458fb Author: Mark Johnston AuthorDate: 2021-08-09 17:28:27 +0000 Commit: Mark Johnston CommitDate: 2021-08-16 13:01:20 +0000 vmm: Make iommu ops tables const While here, use designated initializers and rename some AMD iommu method implementations to match the corresponding op names. No functional change intended. Reviewed by: grehan Sponsored by: The FreeBSD Foundation (cherry picked from commit 41335c6b7f636f9ca59d0afba5728cf90020d6b1) --- sys/amd64/vmm/amd/amdvi_hw.c | 28 ++++++++++++++-------------- sys/amd64/vmm/intel/vtd.c | 24 ++++++++++++------------ sys/amd64/vmm/io/iommu.c | 2 +- sys/amd64/vmm/io/iommu.h | 4 ++-- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/sys/amd64/vmm/amd/amdvi_hw.c b/sys/amd64/vmm/amd/amdvi_hw.c index e488c5fd5f6a..57386b6bea88 100644 --- a/sys/amd64/vmm/amd/amdvi_hw.c +++ b/sys/amd64/vmm/amd/amdvi_hw.c @@ -1181,7 +1181,7 @@ amdvi_create_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, } static uint64_t -amdvi_destroy_mapping(void *arg, vm_paddr_t gpa, uint64_t len) +amdvi_remove_mapping(void *arg, vm_paddr_t gpa, uint64_t len) { struct amdvi_domain *domain; @@ -1360,7 +1360,7 @@ amdvi_disable(void) } static void -amdvi_inv_tlb(void *arg) +amdvi_invalidate_tlb(void *arg) { struct amdvi_domain *domain; @@ -1369,16 +1369,16 @@ amdvi_inv_tlb(void *arg) amdvi_do_inv_domain(domain->id, false); } -struct iommu_ops iommu_ops_amd = { - amdvi_init, - amdvi_cleanup, - amdvi_enable, - amdvi_disable, - amdvi_create_domain, - amdvi_destroy_domain, - amdvi_create_mapping, - amdvi_destroy_mapping, - amdvi_add_device, - amdvi_remove_device, - amdvi_inv_tlb +const struct iommu_ops iommu_ops_amd = { + .init = amdvi_init, + .cleanup = amdvi_cleanup, + .enable = amdvi_enable, + .disable = amdvi_disable, + .create_domain = amdvi_create_domain, + .destroy_domain = amdvi_destroy_domain, + .create_mapping = amdvi_create_mapping, + .remove_mapping = amdvi_remove_mapping, + .add_device = amdvi_add_device, + .remove_device = amdvi_remove_device, + .invalidate_tlb = amdvi_invalidate_tlb }; diff --git a/sys/amd64/vmm/intel/vtd.c b/sys/amd64/vmm/intel/vtd.c index f47e2b56bdce..8f06dc823364 100644 --- a/sys/amd64/vmm/intel/vtd.c +++ b/sys/amd64/vmm/intel/vtd.c @@ -761,16 +761,16 @@ vtd_destroy_domain(void *arg) free(dom, M_VTD); } -struct iommu_ops iommu_ops_intel = { - vtd_init, - vtd_cleanup, - vtd_enable, - vtd_disable, - vtd_create_domain, - vtd_destroy_domain, - vtd_create_mapping, - vtd_remove_mapping, - vtd_add_device, - vtd_remove_device, - vtd_invalidate_tlb, +const struct iommu_ops iommu_ops_intel = { + .init = vtd_init, + .cleanup = vtd_cleanup, + .enable = vtd_enable, + .disable = vtd_disable, + .create_domain = vtd_create_domain, + .destroy_domain = vtd_destroy_domain, + .create_mapping = vtd_create_mapping, + .remove_mapping = vtd_remove_mapping, + .add_device = vtd_add_device, + .remove_device = vtd_remove_device, + .invalidate_tlb = vtd_invalidate_tlb, }; diff --git a/sys/amd64/vmm/io/iommu.c b/sys/amd64/vmm/io/iommu.c index 3fe4d299a497..6a589f153815 100644 --- a/sys/amd64/vmm/io/iommu.c +++ b/sys/amd64/vmm/io/iommu.c @@ -59,7 +59,7 @@ static int iommu_enable = 1; SYSCTL_INT(_hw_vmm_iommu, OID_AUTO, enable, CTLFLAG_RDTUN, &iommu_enable, 0, "Enable use of I/O MMU (required for PCI passthrough)."); -static struct iommu_ops *ops; +static const struct iommu_ops *ops; static void *host_domain; static eventhandler_tag add_tag, delete_tag; diff --git a/sys/amd64/vmm/io/iommu.h b/sys/amd64/vmm/io/iommu.h index f8003a5d4552..090415b57505 100644 --- a/sys/amd64/vmm/io/iommu.h +++ b/sys/amd64/vmm/io/iommu.h @@ -60,8 +60,8 @@ struct iommu_ops { iommu_invalidate_tlb_t invalidate_tlb; }; -extern struct iommu_ops iommu_ops_intel; -extern struct iommu_ops iommu_ops_amd; +extern const struct iommu_ops iommu_ops_intel; +extern const struct iommu_ops iommu_ops_amd; void iommu_cleanup(void); void *iommu_host_domain(void);