From patchwork Mon Mar 3 17:10:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuad Tabba X-Patchwork-Id: 13999273 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5E9DC282CD for ; Mon, 3 Mar 2025 17:11:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5A5AB28002C; Mon, 3 Mar 2025 12:10:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 554FC280016; Mon, 3 Mar 2025 12:10:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3F6D328002C; Mon, 3 Mar 2025 12:10:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 237F9280016 for ; Mon, 3 Mar 2025 12:10:37 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6FCB6A4ADB for ; Mon, 3 Mar 2025 17:10:36 +0000 (UTC) X-FDA: 83180878872.22.9BDF215 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf28.hostedemail.com (Postfix) with ESMTP id 0500AC0009 for ; Mon, 3 Mar 2025 17:10:33 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=TCcZAZvH; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of 3iOLFZwUKCKkcJKKJPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--tabba.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3iOLFZwUKCKkcJKKJPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--tabba.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741021834; a=rsa-sha256; cv=none; b=fYOzx606vyhx4ZtWrgoDo6VXProEiANeu/L6PZYBOlon/XmtOYFP0eHbjEmyDEx4wV6MMI 3vZCsdeoFYKT7gSNnvC8DPhcvoZNqVeqG90/oAEtYlznfKSHkDAn/MlG/eAKJ0NH12/U3u /0Cg9uiKiOmDnM1KXUVymma/JTY/C9A= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=TCcZAZvH; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of 3iOLFZwUKCKkcJKKJPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--tabba.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3iOLFZwUKCKkcJKKJPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--tabba.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741021834; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RV6G8AsPpZM1XsfZjeI6zZRAfM93BJc0/BH0p1ZFFrU=; b=abdavM1uKxH3OqJdw1sIy9ink+hsEHWHEL43xBxmWUrvO2IAw10itY3ZJAEQSrM7FxAJOi BDf/w9u5SDqrOLN+ny4CeehVpbNGq2cra6cVB1e0YwYigS+nt0Bwd0JIr86otOmNfvFUK4 bhcBH6Ibs0s8PhkrBiHgP0PWIiHrYb4= Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43935e09897so34315275e9.1 for ; Mon, 03 Mar 2025 09:10:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741021832; x=1741626632; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=RV6G8AsPpZM1XsfZjeI6zZRAfM93BJc0/BH0p1ZFFrU=; b=TCcZAZvH4/NUjNeNi5S6aNBafZTidOSKgTvl63yskaDpfP834mTj81Qm8W1DY57vCi i2Ib9sn1f7uWJd+IuNIt2ByAQB4SZGwPobLzrC4jr7KzPL15+9nscHfoLQUAhQAPqmBz lmbDI7mmfDCcEGz7KAARNHUDrBn4ZypJoR8RdowLwkH9A9OhMtCE2VnA44/mP1xkA8bH tuoAoQl7EfB8txmo1OeTIli/oTvpSHdZFhLZNZ5N+mtKCsCz7dHXAz3fPFMS7azKqsdE 88CaiHsU7fQsqIjBXW+aNNwYhMc8tLEBJkAGaLDgGF5NycltpDiWW/MUiat4ntS1Sbhv XtpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741021832; x=1741626632; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RV6G8AsPpZM1XsfZjeI6zZRAfM93BJc0/BH0p1ZFFrU=; b=G1V0pvIzcyOVlnS7vGz6Rf3QO3oxXXGRmd9Z4/M7OiwozMDEnQDiP0Kap6A+NuDj7e 043dRo2gPrtmJjLAN0oki4DD6i+FW3Bdk3c9ZlD8BTTUhQ7orLoX4DOnQv21e92+mZo3 +YBEY1IOkchadFrQJZaLFO7vDxX0LO/gozS0oeUd+k7+LyZbm7Ly2GntxeSiC+3G/+DY bgRTLXqGnwcsm0do6Z9g+a5dU6ht9tkNKXOu6qh03moPxvfj5MkAJSCGBmRQc8SjJmNr UVfBk4RZH2cwsqlSXO2xSQumShq2YH68t2Aq2BXuyMxYBFcNrB0V7beaXLsi+xmVHVWJ QHuQ== X-Forwarded-Encrypted: i=1; AJvYcCWc/hPjCUM6M5dAb5P0S0f+OCpsJfGM0Pqh+DCJjoDI+0ig/ZfM4vNxK6osyDnHkR/tuwhTk9QayQ==@kvack.org X-Gm-Message-State: AOJu0YyxkskPcPYHyPqOfq8TMIIpTggVYu8dHpJPzp2ZPl8gctQyAgup GtDkhOROh44sId8Ro0CFIEooZQe9Oj5M7D8oGkeUyuxNNMDzoWpG3Gks7h4qYnCOL+e7iVxKWw= = X-Google-Smtp-Source: AGHT+IEPkwrqgZz9F0LOCGix+An6bf7Do2qKk7ux4Yk25RiEez6hyNid1EwZjrwsbgErCWJs0vQG+9fB+w== X-Received: from wmbep24.prod.google.com ([2002:a05:600c:8418:b0:434:f1d0:7dc9]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:478a:b0:43b:c7bb:84ee with SMTP id 5b1f17b1804b1-43bc7bb85bfmr22679895e9.2.1741021832556; Mon, 03 Mar 2025 09:10:32 -0800 (PST) Date: Mon, 3 Mar 2025 17:10:12 +0000 In-Reply-To: <20250303171013.3548775-1-tabba@google.com> Mime-Version: 1.0 References: <20250303171013.3548775-1-tabba@google.com> X-Mailer: git-send-email 2.48.1.711.g2feabab25a-goog Message-ID: <20250303171013.3548775-9-tabba@google.com> Subject: [PATCH v5 8/9] KVM: arm64: Enable mapping guest_memfd in arm64 From: Fuad Tabba To: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org Cc: pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, david@redhat.com, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com, tabba@google.com X-Rspamd-Queue-Id: 0500AC0009 X-Stat-Signature: yy6qtiraiwdm17gww46b7mdn3skr8q18 X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1741021833-8591 X-HE-Meta: U2FsdGVkX18zl+VTpLj5Y2STHqo19XyohRZAyRrgkMG43Q8lTlyTlkbjoSQgGrjr1B5dF0aeQfHxZLT6qjp35RIlzlPQmgC3xGeyFa0iYwJxT+OzkEUuvEajKFC/WAluO2v+smgVzzQZ+RMvsPDGHic51KNOJsMy6tXwEjGX5Ynjr4miWaXJLWRP/DbqUGkcGcJLknG/fL9LeiaOFSw7N/hYLnsLkLWauL03aKbyA52eB0r4zJXrwIcGN47HR2hgTX68LAZW7DuvRWYYhUaihRD7k1PtiKUY9H+bQJ5aNJ3do404HYmPywdN0GkpE5tqTEvmVaEQDCDza/FWsAlddQF0eCnqvNnMwAwTvYYUsDfFjVY+c0K2EOaYf6aM6jMayfdTWL2uy1rUFWZ58gKSrg6hcdpAG8KZsdSF0fKaPQQD1JcbUv4FOTM3yt4gQAIHQhb2921UQ7/tGEf2wju6kflNU6mJZWpxDHoU+L8mM7A1j802zAAxnwYnKviZTBIqh1zgUl8LkWAczEucKe4lotWf7Fx2q0woq65cwr4tsjzcg2VhXtlrLG3o/ZT50e7wAxNm140ufePNNwvyMPWrmqH3iDUYK8GlouM2RFoESLZ23zg4BpvB65hUW9MUVnK/Ntf0oCY6lskmK0PaVUInPpbFkF5YdyNkJwftfUDnGHFPAGVnwcnijtqQu+KYMdlAGIOcRPG3EfOPWT7D/y+NOsQ/kyjuHzzB15mbVGyZGPXuyUUC08ZmcXqcewwH45toHY7VpSHjR6Qr1qiJgMesbRJI3MDtKWpmu8Z8RuwbAgkH0OHPRIUEkGErS3CEMTafuRvLQnU//fykhK1wUC9cF52TY+DKeaC+A0+USQPQDNegcp3XoNxPnekW/OPWRmC4fDcHWyVOy+5DYG3kh1DM97s7AA641VYpXuKx/BDQX7Iqqs4J3cvA1t86Jfd9N9V3ReKNeiDgf218b39ZKCD 7zYjIohX +8zYXW4MSfoltzEvKe1wl3FEs5xy6hx5xXd/nVjR2YfF5wK5MTbMGemn2RmO5kJUciSvPUwtH3CMziPL7sDvhRAnyptA/m26lkzxEPSMUNX0RdRJOlh0b16qoLGQ5sbVxJ0iAno3Vq9FnMgPziqrd5LehDhMSOapRYvNNBWtoVfEGKnA9h4ny5Q523Y54Tb4jY+m/FdRbjWF05xEzMwnRjGKaktoXArVqZRAcAChtNCyt1Q61NJlcRxPAgZIUC/T5R/PptFQpv9KmWlJor3uTGBMPNZmmCev85uZCLsWb2lXakWY8Ls/TA3WdMf8/1eeYhhECZ1ORwONl1buF9BiRAFEIh0tSVYuJyDWCgH3pNCvERdrQXbayP7vl/VEakk3njOARzivkUDNZXu3o8cIprGd4ibizicGAtB8pGX3t4zVjovhPqwqMFYHiIAJIZRRx8QJad0t1fQHq1t89bTNiFOk31cZutomFUCUDlnnRVUsiPxEBAik6lLJTeQSVJmsksYaZPgZ5KiOwzR4R1rsWtQoCENxAssXCOTHaWO+tMaluni7Cj3bPUv+MykXYMb7F1gW9ciECacDz4PeW2XI2dtBBpdkxYaU4Q5tb9Ly+1cKFZR6SONv3uyQMgqcWlz3U5sqAR42lXQK02ilOXbGcOWow0WznVCfFv37/OuyuJaZnJQZMqUjMbMzxO/159MjcZPFd X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Enable mapping guest_memfd in arm64. For now, it applies to all VMs in arm64 that use guest_memfd. In the future, new VM types can restrict this via kvm_arch_gmem_supports_shared_mem(). Signed-off-by: Fuad Tabba --- arch/arm64/include/asm/kvm_host.h | 10 ++++++++++ arch/arm64/kvm/Kconfig | 1 + 2 files changed, 11 insertions(+) diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index d919557af5e5..b3b154b81d97 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -1543,4 +1543,14 @@ void kvm_set_vm_id_reg(struct kvm *kvm, u32 reg, u64 val); #define kvm_has_s1poe(k) \ (kvm_has_feat((k), ID_AA64MMFR3_EL1, S1POE, IMP)) +static inline bool kvm_arch_has_private_mem(struct kvm *kvm) +{ + return IS_ENABLED(CONFIG_KVM_PRIVATE_MEM); +} + +static inline bool kvm_arch_gmem_supports_shared_mem(struct kvm *kvm) +{ + return IS_ENABLED(CONFIG_KVM_GMEM_SHARED_MEM); +} + #endif /* __ARM64_KVM_HOST_H__ */ diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig index ead632ad01b4..4830d8805bed 100644 --- a/arch/arm64/kvm/Kconfig +++ b/arch/arm64/kvm/Kconfig @@ -38,6 +38,7 @@ menuconfig KVM select HAVE_KVM_VCPU_RUN_PID_CHANGE select SCHED_INFO select GUEST_PERF_EVENTS if PERF_EVENTS + select KVM_GMEM_SHARED_MEM help Support hosting virtualized guest machines.