From mboxrd@z Thu Jan 1 00:00:00 1970 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 ADCC1C77B75 for ; Wed, 19 Apr 2023 22:24:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4ADBA900034; Wed, 19 Apr 2023 18:24:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 45D6C900002; Wed, 19 Apr 2023 18:24:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D933900034; Wed, 19 Apr 2023 18:24:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1C9DA900002 for ; Wed, 19 Apr 2023 18:24:15 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F02C2C01BE for ; Wed, 19 Apr 2023 22:24:14 +0000 (UTC) X-FDA: 80699570028.23.CA99F20 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf20.hostedemail.com (Postfix) with ESMTP id 342921C0012 for ; Wed, 19 Apr 2023 22:24:12 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=h8qvhmk4; spf=pass (imf20.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681943053; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=E81F/sZHqFlmC4PTTDxmyvFtDAnkdcxCBJVjUmPx/Qw=; b=lJrCo6d3vPHn0TfOzYAOpoE4FqJiJjGtaqeTIsP+GYHiAFePsRfkp+hHGAjOqUSaK41Mqw vyugYCRAQLncVxrjIOkDmdoWkBK5Cl9VrKTuA3ZeEPIQ0DkP47eoJRdTEntRLsMA/ei9s/ A7Y6KGCfjccQGL5ATjqozS5A8yfa2HU= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=h8qvhmk4; spf=pass (imf20.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681943053; a=rsa-sha256; cv=none; b=c3KtqHIH3vb2fCavghDkqRh8OKgSV+p5nY9MeIOURSaPnudrT2UNfJ2x8YNm+u923yp+0h C4CbmGPv2mxyqpBZgnD+Nmecm5gFRHpJqd18jLPCQcA5hNe85ix5IZA4toqrXPBQq9wLv2 uK4BBwkcJZ7+hvnEkKnpXupwSlyaezg= Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1a80d827179so4535935ad.3 for ; Wed, 19 Apr 2023 15:24:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1681943052; x=1684535052; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E81F/sZHqFlmC4PTTDxmyvFtDAnkdcxCBJVjUmPx/Qw=; b=h8qvhmk4lDaY4kQIaAqeKrnT156suhglOdhOFhlubu1kF8monJSVNUgUE+j1dG31u3 2u4SpVYqZ4tfegebKpsL38KKycJWXvEDDTgK8UNr6JRmWeQLZM10VY51+CKxQiNgddvl jVlFZj35wrKDUORGT0J+qOCCKpjlGHzbKe/sGfoeSgQinTk47q9jptfvuPOOM2rG+CYr zwGu3oFCrdRFjF7E7+wb2JbG1bH3s5tlAZXNHsT/M1j9N2DMFEV+pbXVFPMwgsNs8Fq+ +9F3bZPSaGt+4fI+77DT77iqb04ZT/uOhlexxfDhgZPl/024tDlCe5TFxeig37XFSsp8 WtKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681943052; x=1684535052; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E81F/sZHqFlmC4PTTDxmyvFtDAnkdcxCBJVjUmPx/Qw=; b=NvI7bUOaxpbVHOGvYgDuG1CCQu+XxIzhiIVKLOi4ACdW555cAms7ZJPA4ztVenrJrf ZSNaoszAboKgYoXf1ltY0TiOxjPc/EaCZNEoRuvzBv3AzDn2QGSzA8tbaOF11Ns6uZyq VLt5oBLVCGU0oSgw6Ifu/AFiVOYJLE/oWTPeRu+HzhnN1qvi9OK81K8rvHbzpqjlY3kM h74gn8ZJsYvhk4wPh8rfMBbvq+fEQv32s+CCHqyp3OwEjKRKOftE20Nwg3b3U9zTy9Fk zMeZ89GKSPxP8Do8lrY2btkFVn9wmbLOrO8lTPoOrypiYzvC+/vi/9mQ4PPYNK2A5w6r 7w9A== X-Gm-Message-State: AAQBX9enu1LE3KaVQyNpArYMSGbDrPlBSxetJ0AuGn2dPLwOj8+6ya// zxTtf7pojwmqERH+uV+lNBLEIA== X-Google-Smtp-Source: AKy350ZDizFV7lhpli0WrCYYrT6iDsFp55kYpsDPb3wO0+TsDTvsM5wAJ/jQ030A1Tz0V9swMbp+9w== X-Received: by 2002:a17:902:da8a:b0:1a6:97fd:29e7 with SMTP id j10-20020a170902da8a00b001a697fd29e7mr8449012plx.27.1681943051998; Wed, 19 Apr 2023 15:24:11 -0700 (PDT) Received: from atishp.ba.rivosinc.com ([66.220.2.162]) by smtp.gmail.com with ESMTPSA id e4-20020a170902744400b001a681fb3e77sm11867810plt.44.2023.04.19.15.24.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 15:24:11 -0700 (PDT) From: Atish Patra To: linux-kernel@vger.kernel.org Cc: Atish Patra , Alexandre Ghiti , Andrew Jones , Andrew Morton , Anup Patel , Atish Patra , Suzuki K Poulose , Will Deacon , Marc Zyngier , Sean Christopherson , linux-coco@lists.linux.dev, Dylan Reid , abrestic@rivosinc.com, Samuel Ortiz , Jiri Slaby , kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , Paolo Bonzini , Rajnesh Kanwal , Uladzislau Rezki Subject: [RFC kvmtool 05/10] riscv: Do not create APLIC for TVMs Date: Wed, 19 Apr 2023 15:23:45 -0700 Message-Id: <20230419222350.3604274-6-atishp@rivosinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230419222350.3604274-1-atishp@rivosinc.com> References: <20230419222350.3604274-1-atishp@rivosinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 342921C0012 X-Stat-Signature: mxn5w5xthjet76e6f5jrwkozb5oawdbr X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1681943052-707170 X-HE-Meta: U2FsdGVkX1/Q/DvVbJgvAJC04pPYM8tovBHmOAUVbmv9u51BuokvMIpWRT0IseP8J1cJlP+J/0OK0YIWmBxLiHVNz/EN4gjsQezZTWxFJS8KrsB3Nu1iC+tHL19xx0lwnSKTdVV36KW3JmF/ZHt5dLNLxEEvjfv1OatczYN4NvjeTAtkfSLN/zZX9diw9t+O0h3vJGPZiZ9x12Z/wLUSXulGeS+Fh2VoMuTmriCIcF712Sg+3ljExJ+YkQtsjbIfM+addMpX5X+nnU7axuCLKLTi2v+K8zjQp+rRPfI4QQm/B/6N1dl7mVyuUCkexo/8ciCnM1MaEdaWvxuOnAMPcjJ2hsvvh28PVVqmF9s0w6We+UF6v/NRMVoqiH0VYdMXrWKlcL3TmFi/jptFaozAAxW5e5YVBIFcW+5KDqdPctL4U+OeX2+cWqSrtS+tIyZZs3Fg/cBDLAMekL4xb9bx48mKvEBBS+t1eZX3i4sDlUZe0rdy0Wf/bFCfY0Wo0v7A0evvH0fG0lNFj18wuAqaC3WKTYqmlTAtaiPc7Gfm1P2TDXY5l0e1/cWZckIDTJCGSYi1y1rYk1J7UtdrXc/5B7MTUgyrEkyp+iD5+SULOYJUdkjxh/c+CSOIU1ZPgw0JwWEQyvbBshI+S8WatY87Kcw5rKJAAwGVZ+Woo9JUvVcPZOEkaR1SsRolW+uheeULPMOfLxORyZ7FC7O1M3RuSZKRCQIH5WfsF1fyW1V0Mf067Wtmt248xV+RKhqm8gQ7pswEgwoi3KE3R3McH1dE18xf28Oi10a2X8kx3CwndgCb+MZcVdhUcl7v+yQ9bbhVAkrMK/kCISDjjDHcOEPAm1w41+WY7i8uVgOj9OzpOc4VZ8TgDVIFYaN4lFNSyon6j3NJNz+MRY3xPTmg8fBgQr6Hg9PYHw7eZ/hBa2Jf4ukMCC2UE4Pl1Tr1w22zKtk+ITw158l/+q+/q2s3f4W wdGehb4o r1wyJKusRBTSYCBBjlrfoyNnGRpWjp33CjEkvzZd7j3KYb7SqUqgVeizmE4XxabRtdM7IDVeLdCthE1jVi8yb0dppPc7Ng7eaKdIt/6xYxFjaXd503+eMR4ox0IOdMFB2oWoeCq6jp2fYcuWyw7UOkRAVdFT2CDuUpP2BtxetoVsZHfT4iQ/5FQKa7hMXxBOpSPT4s2WB94VMfAolxWxE9t2D0amLD44QNXFzd369ZHCcdTtgf7Qv+tuy8Oz0HQKi/ZRU91geQU8wtd8Ft9oFMTUUAE/ty9XEEGpeVVd2Ty6IsSRYpKYCbvrsFRV5WyCrgwQR0sh2jhYOr7tKALuMOvuzyOXiLhjZuEco0ZPq/xWzUHsW3NwlgW3L7uqvDskT2Ol8IFEISuAQEYu1fXxWrYHxX6LpsO7J4PIbseyLYMQpa4WLtJcM/a13nRL53Alv5QztIi7bcLGwYavbx11qNSLStQ== 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: The CoVE VMs do not support wired interrupts. Thus no need of APLIC at this point. Signed-off-by: Atish Patra --- riscv/aia.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/riscv/aia.c b/riscv/aia.c index 8c85b3f..a3b8618 100644 --- a/riscv/aia.c +++ b/riscv/aia.c @@ -143,6 +143,11 @@ static int aia__init(struct kvm *kvm) .attr = KVM_DEV_RISCV_AIA_CTRL_INIT, }; + + /* CoVE VM only supports hardware with physical guest interrupt file */ + if (kvm->cfg.arch.cove_vm) + aia_mode = KVM_DEV_RISCV_AIA_MODE_HWACCEL; + /* Setup global device attribute variables */ aia_mode_attr.addr = (u64)(unsigned long)&aia_mode; aia_nr_ids_attr.addr = (u64)(unsigned long)&aia_nr_ids; @@ -160,10 +165,7 @@ static int aia__init(struct kvm *kvm) ret = ioctl(aia_fd, KVM_GET_DEVICE_ATTR, &aia_nr_ids_attr); if (ret) return ret; - aia_nr_sources = irq__get_nr_allocated_lines(); - ret = ioctl(aia_fd, KVM_SET_DEVICE_ATTR, &aia_nr_sources_attr); - if (ret) - return ret; + aia_hart_bits = fls_long(kvm->nrcpus); ret = ioctl(aia_fd, KVM_SET_DEVICE_ATTR, &aia_hart_bits_attr); if (ret) @@ -172,12 +174,21 @@ static int aia__init(struct kvm *kvm) /* Save number of HARTs for FDT generation */ aia_nr_harts = kvm->nrcpus; - /* Set AIA device addresses */ - aia_addr = AIA_APLIC_ADDR(aia_nr_harts); - aia_addr_attr.attr = KVM_DEV_RISCV_AIA_ADDR_APLIC; - ret = ioctl(aia_fd, KVM_SET_DEVICE_ATTR, &aia_addr_attr); - if (ret) - return ret; + /* CoVE VMs do not support APLIC yet */ + if (!kvm->cfg.arch.cove_vm) { + aia_nr_sources = irq__get_nr_allocated_lines(); + ret = ioctl(aia_fd, KVM_SET_DEVICE_ATTR, &aia_nr_sources_attr); + if (ret) + return ret; + + /* Set AIA device addresses */ + aia_addr = AIA_APLIC_ADDR(aia_nr_harts); + aia_addr_attr.attr = KVM_DEV_RISCV_AIA_ADDR_APLIC; + ret = ioctl(aia_fd, KVM_SET_DEVICE_ATTR, &aia_addr_attr); + if (ret) + return ret; + } + for (i = 0; i < kvm->nrcpus; i++) { aia_addr = AIA_IMSIC_ADDR(i); aia_addr_attr.attr = KVM_DEV_RISCV_AIA_ADDR_IMSIC(i); -- 2.25.1