From patchwork Tue Oct 10 17:04:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 13415764 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9045BCD8CAC for ; Tue, 10 Oct 2023 17:05:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=N6Eq6ePnmgUEFGHR7njKwHGJjW34OI7D44Wf2oWb37w=; b=Ir5vhyQtwRBx8a COkCZEIFBmkF3qFWXeY8jZIPQkKv0q2ke8z2gfswGiS+db2xw9XepfXyV1eJ/uPVwywulBiApIpTF slmWEs0mKbZXp5+9JcdkLDcxCtqJy5ytPMYUQPdUqVw1XJRIWt7zHXMRfxhJXx/rOpQ5SSkgdV5Xb PtyU27NvsztoGvmLce+uV3ownLxPMSvmN3ITQZCkOqA0WwbheuEOE4YM2DR7JgmBLclbf5+sai3Vf 47VfBf//fESBSNE06kczHa7rGTmqBfvRpigraiXwcXO5EWJficC9lp4K/mvZiTqJ4yexeDdFPzryN bByZ4IkUUk29PMnqyTog==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAf-00DoKA-10; Tue, 10 Oct 2023 17:05:25 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAZ-00DoHA-2j for linux-riscv@lists.infradead.org; Tue, 10 Oct 2023 17:05:23 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1c9b95943beso5620675ad.1 for ; Tue, 10 Oct 2023 10:05:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1696957519; x=1697562319; darn=lists.infradead.org; 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=B8bTrDTugOefVQ1gZ31VUL3xKHXyC/9v3hCQTi2FF0M=; b=Q8b433TPIU7uv/WJUUvS6dWItJ0AN/y69E4tZGj7mv/nQGDBI2aWJESKTrGDUyYVRn RjvbOu03pDmo+p+HMtiPe/WuHI/EkEieNnaIpQ8NNn+PkJ92ecGYEXBmyXl8Gbb+SVpD CqEUr/Kh7nPR5F8fbqVnay6qjQT8ff6pnhX1UT4Ttxpor8ixGYWE0aLpqZna0+IEQXoq SzTHvM5HYhrgjLuuTzloC4h47XiAp6b/v+FxseYcexGhjwZwB0aqXV1nTIAJ/UExP5sx MUuOefy4F4IB54EXsN5e2gXeyEFiYAnWTxmuD5e1GZ1l7i5i+AfVnUioivi/CWv/FBpR JGgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696957519; x=1697562319; 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=B8bTrDTugOefVQ1gZ31VUL3xKHXyC/9v3hCQTi2FF0M=; b=kGsm84Ue2KCd2lC6pCtHk1D/mLofBPUTLwVCa4fZxWdCndkjpwK2AJ1SG0QSpJ3Oo/ vF2xba7d0vDuSPfOmfJ+Q/fl6apyWNG3PJD8ZRIL8qwZsx6QEZb0kVdVQrnkLYmwCiZJ 4Iqsfj4YIv94qJ2LDu6rupYmtwQeTgS9tsxt5YTUJXDMV/FZc0Z38aMCk/nm1mnH8+fd j3yi3uxxcIUenhMj3xeTDm5bnJurtPARRoFuI/+IDY4tDM+t0NKwEZxWTc0YiBCiu8LE EYeKh7Hl7UfieHSsCijCGeI2obfTUGMTLlmeWAF67JkFScIY1gAz7XZGcCZpx0z8gFZc 6NzA== X-Gm-Message-State: AOJu0Yz5vi4AUaC/AAMVYY2p6CeWW5ukEZsulxzVjar6rnRiGbcFjpR/ HqeUXGd60r+5oH6+yXgS+Kj+JQ== X-Google-Smtp-Source: AGHT+IFL7+0d+NQPD7h5kg3nJxB/J3VP1OkPOJXtOKdl/WfOH7Q9zbTJf6UkIcSLTxobmxIUYWGImA== X-Received: by 2002:a17:902:ea0a:b0:1bb:598a:14e5 with SMTP id s10-20020a170902ea0a00b001bb598a14e5mr24227444plg.43.1696957519183; Tue, 10 Oct 2023 10:05:19 -0700 (PDT) Received: from anup-ubuntu-vm.localdomain ([103.97.165.210]) by smtp.gmail.com with ESMTPSA id w19-20020a1709027b9300b001b89536974bsm11979868pll.202.2023.10.10.10.05.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 10:05:18 -0700 (PDT) From: Anup Patel To: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Greg Kroah-Hartman , Jiri Slaby Cc: Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Anup Patel Subject: [PATCH 1/6] RISC-V: Add defines for SBI debug console extension Date: Tue, 10 Oct 2023 22:34:58 +0530 Message-Id: <20231010170503.657189-2-apatel@ventanamicro.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010170503.657189-1-apatel@ventanamicro.com> References: <20231010170503.657189-1-apatel@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231010_100519_885372_15BDED27 X-CRM114-Status: UNSURE ( 8.87 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org We add SBI debug console extension related defines/enum to the asm/sbi.h header. Signed-off-by: Anup Patel --- arch/riscv/include/asm/sbi.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h index 5b4a1bf5f439..12dfda6bb924 100644 --- a/arch/riscv/include/asm/sbi.h +++ b/arch/riscv/include/asm/sbi.h @@ -30,6 +30,7 @@ enum sbi_ext_id { SBI_EXT_HSM = 0x48534D, SBI_EXT_SRST = 0x53525354, SBI_EXT_PMU = 0x504D55, + SBI_EXT_DBCN = 0x4442434E, /* Experimentals extensions must lie within this range */ SBI_EXT_EXPERIMENTAL_START = 0x08000000, @@ -236,6 +237,12 @@ enum sbi_pmu_ctr_type { /* Flags defined for counter stop function */ #define SBI_PMU_STOP_FLAG_RESET (1 << 0) +enum sbi_ext_dbcn_fid { + SBI_EXT_DBCN_CONSOLE_WRITE = 0, + SBI_EXT_DBCN_CONSOLE_READ = 1, + SBI_EXT_DBCN_CONSOLE_WRITE_BYTE = 2, +}; + #define SBI_SPEC_VERSION_DEFAULT 0x1 #define SBI_SPEC_VERSION_MAJOR_SHIFT 24 #define SBI_SPEC_VERSION_MAJOR_MASK 0x7f From patchwork Tue Oct 10 17:04:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 13415766 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E9579CD8CAD for ; Tue, 10 Oct 2023 17:05:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1Wv87bO5mUJcOUq11eiO+8vIsfFKGzPp/ZPnVZbVObk=; b=AHgrrx8l4MBbGE RnwSu0KjKGeLdHr4au3A477rHgSXkCSaPtXN/TNs7agB7S9cy0L29xsMHDEMe3daH0RR8Ry0Wpguj H6/HUwQFjcRzwFHP7xKw/TG1PVEKOjDG73DeiySk45ZN3jaJtb7hAM8CD18Of+h8zgmoaKV56JxK5 ASenSxDeObfe3dRs6AaRduqk9Qp7jzK21JAn/Ak8osODZqbP/pUznWNuCNLfr6A004nkY9Uy3+a8W NzXrERWORVDKTD2dosBzavG8XmOoJNEplonIIchvM34+ZyxzXXRdLtH+FAQgdNRUQp9oET27uXtb8 rW1LpyPTIibxHkHZ35dQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAl-00DoOd-1S; Tue, 10 Oct 2023 17:05:31 +0000 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAj-00DoJN-06 for linux-riscv@lists.infradead.org; Tue, 10 Oct 2023 17:05:30 +0000 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1c7373cff01so251075ad.1 for ; Tue, 10 Oct 2023 10:05:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1696957525; x=1697562325; darn=lists.infradead.org; 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=l3lhlJZP7U6sfVX0rlDY0S8d2x8DhhVnWXy5WEJL0wg=; b=gMHp+n2B3x2B2UYrPGyjpz6SnWiJTaq8NMGyU6+PzFmLKT95mmdq03e5wmLYoPijep yr7OFdIHVchHBk5uj/zFLZ0y1zeErbG2iQHGc86NvuUFTAV06ZJzGC8v4cA1qJkJzBBQ fsCPqX7yKvROQOKfcS6GeuzwVo8IX1S5M6q+mJxIdnqdJR/4BtxLkpOTQYRcNJ9wDsy4 EzsXI2RyU0/uD+8DJ5WUVtnmchcKZZXujYWRnMY0NuDf3VvjplC7siV7051RheioVn9J kPBVr7DnbOI1GDdPFujRgGx6hDBGD6tUA0+/8rGQwOFIaqUNlDzOSPZ+HJB/cu6wbbXc 7w2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696957525; x=1697562325; 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=l3lhlJZP7U6sfVX0rlDY0S8d2x8DhhVnWXy5WEJL0wg=; b=fGJdvg32voim5FZJ0raiV2SGwxU4CO/myML8M4AarYt7pjEvGH0wiaE1l5xhZ3kdeg Ep9dO+UYlz1rIvezLgqkU1wnu+bFzOsKSL+mg7lWw4vMTuU2SgKXT1+JRl5F+U+B+OdW eUQEZIIzityplzB51MJP7cz1IH7c1/2twzElLxmpXgtWhaHDeMrdIPL6LBZHQ+tyATHo UTIVgp0jf0gyomwM8vVT7S1OizTaBpqpqWKlMZEbUmXXSo3fRj8lMhjJffwPQfdPZEQy UDC+FDA7MDq5AHSy5SDFeNhy7EXjhHEoruPleDngf14Z+NdQJJ8Kbm9dKv2sDPEij9qy JxTQ== X-Gm-Message-State: AOJu0YygjJ9QHWxcLbPqvUTozn1hMw5QhY4w/zfzCrMdFgguNTMuV6Nb c737T1UgpUQxh45r08ir+qqtnQ== X-Google-Smtp-Source: AGHT+IG+mbNrQmt2GEYzZRkORnAD/EBo6KEPWJykcTVHm9mjjc11kbkmKKhIYwMGoWp8ra4yRmdzoQ== X-Received: by 2002:a17:902:d352:b0:1c6:de6:5eb4 with SMTP id l18-20020a170902d35200b001c60de65eb4mr18397397plk.13.1696957524587; Tue, 10 Oct 2023 10:05:24 -0700 (PDT) Received: from anup-ubuntu-vm.localdomain ([103.97.165.210]) by smtp.gmail.com with ESMTPSA id w19-20020a1709027b9300b001b89536974bsm11979868pll.202.2023.10.10.10.05.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 10:05:24 -0700 (PDT) From: Anup Patel To: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Greg Kroah-Hartman , Jiri Slaby Cc: Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Anup Patel Subject: [PATCH 2/6] RISC-V: KVM: Change the SBI specification version to v2.0 Date: Tue, 10 Oct 2023 22:34:59 +0530 Message-Id: <20231010170503.657189-3-apatel@ventanamicro.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010170503.657189-1-apatel@ventanamicro.com> References: <20231010170503.657189-1-apatel@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231010_100529_068089_934483BD X-CRM114-Status: GOOD ( 10.41 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org We will be implementing SBI DBCN extension for KVM RISC-V so let us change the KVM RISC-V SBI specification version to v2.0. Signed-off-by: Anup Patel --- arch/riscv/include/asm/kvm_vcpu_sbi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/include/asm/kvm_vcpu_sbi.h b/arch/riscv/include/asm/kvm_vcpu_sbi.h index cdcf0ff07be7..8d6d4dce8a5e 100644 --- a/arch/riscv/include/asm/kvm_vcpu_sbi.h +++ b/arch/riscv/include/asm/kvm_vcpu_sbi.h @@ -11,7 +11,7 @@ #define KVM_SBI_IMPID 3 -#define KVM_SBI_VERSION_MAJOR 1 +#define KVM_SBI_VERSION_MAJOR 2 #define KVM_SBI_VERSION_MINOR 0 enum kvm_riscv_sbi_ext_status { From patchwork Tue Oct 10 17:05:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 13415768 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3C691CD8CA9 for ; Tue, 10 Oct 2023 17:05:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=giVZMkjqeXBFocxKUcDs2KPQsa4Y9YDmykBqIy8ywiY=; b=IxNs85HxAbXYNT lzzSiw3EoxVkj0IemN7HGL9TkGUY1AmKolrGYvEVCiWt7uD/DwMdeHsVIRGC9YgYyDXfTumdXjyNR 5bpoFy6ZRK7M+FPmkLzhZa9lwMPYJItjxrdIIR1QjYxn7kY3D2tX4J6dgGGDTaV+VHwl6Ri44gXxD Q36XRWXmqUbMulWaR9oUg+cMp1TmRDL2+7QJzxwHr6v1AudUzAjDeQP0zxmAwrMW7E0UW2v36j77O V5kAneGbx8EEIloCtv6ju+bpmsTdJsn+OoxhoYa6JrGXfJCmVkxRdyh4er5WkmoFKg+tD7+ax3WL2 lUJrLahQWw8+KsXu/khw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAy-00DoVO-20; Tue, 10 Oct 2023 17:05:44 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAw-00DoNz-18 for linux-riscv@lists.infradead.org; Tue, 10 Oct 2023 17:05:43 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1c8a1541233so19472285ad.1 for ; Tue, 10 Oct 2023 10:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1696957530; x=1697562330; darn=lists.infradead.org; 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=4smwE6VqfYxKvfF0tqu7jNc/7OXpVUXHc/+OAD0MBRk=; b=kv3+A1BPBInvFjsw2F2KpSfaiW6FcMU8+Hto2S1W6i7MpI8w1xJPKj5FTfaZ9Ee9G5 zPKHlJvXQ3K/3nUa1K5vLlsBv4ZnZO/iIWq+UZrBb1B53iU9VYBSNtXykbGromoWOy10 UjNBCxgZzhRR4CVRWgV6A2GlwbIhkkcgtPhoixnmb6OkuaSYoArjoNcExiKBx2hp8GIH y0H8hE7KSnTO+ogUnrQ5uG47+Oj3b/c20argYE0jt0VLdTEgQKd5jacwmqoCFOTljQlK 4UfrQ/9qlE3AC60ULQb74TNWev9mz817T0dD+P3AEH69zQz/NVKYN0GRRu83tPrfhgkc wt9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696957530; x=1697562330; 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=4smwE6VqfYxKvfF0tqu7jNc/7OXpVUXHc/+OAD0MBRk=; b=qvXhsUfRyU8D6yPRYeeVWYURft+8kor+ItNeUL84xVKhMMIzt5Gf7LNe7vguSSqqxz qqwr3fx5mrxEwM6lFm8QpUzfq6jmSqtQnc8+Bt/siXgnwPwhYU/k5qQga36ch2bqpiHZ PvxTNHHnhef04OBkUFvH1QUs6BWJWBmKiW9IkowAII90Az4+DUA2BpHDIvBxSM+Jx2JB WNMcMZAaKZgaMkjIOkuMerv0wIeGVE0pYn6LBtfxx4SVkT9iG7s1Chehy8H4l6b5jVXs M5sCWMdz9uMOcCMQXDG6ov02PFdhZoC1L6EteKTRbSD2QW4oASYqgwFFOyFbonguYXMT 9fsQ== X-Gm-Message-State: AOJu0Yx+jR/g5BHHh6i9k4wMOvRhd9BAkRrptIvMQYGwrWfsrFcpJJGF o0sUS2xZbDaDhvEFF0Kb5d00fg== X-Google-Smtp-Source: AGHT+IFYY1cb953bXOW6ABKFWxZoUNl8/jrL5sgqvn5jtayOnZj/D//5h5O6D4FNJ+IJsn/Z4jFWDA== X-Received: by 2002:a17:902:a402:b0:1c7:7e00:809e with SMTP id p2-20020a170902a40200b001c77e00809emr15730697plq.67.1696957529924; Tue, 10 Oct 2023 10:05:29 -0700 (PDT) Received: from anup-ubuntu-vm.localdomain ([103.97.165.210]) by smtp.gmail.com with ESMTPSA id w19-20020a1709027b9300b001b89536974bsm11979868pll.202.2023.10.10.10.05.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 10:05:29 -0700 (PDT) From: Anup Patel To: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Greg Kroah-Hartman , Jiri Slaby Cc: Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Anup Patel Subject: [PATCH 3/6] RISC-V: KVM: Forward SBI DBCN extension to user-space Date: Tue, 10 Oct 2023 22:35:00 +0530 Message-Id: <20231010170503.657189-4-apatel@ventanamicro.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010170503.657189-1-apatel@ventanamicro.com> References: <20231010170503.657189-1-apatel@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231010_100542_390654_2A1440BD X-CRM114-Status: GOOD ( 12.89 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org The SBI DBCN extension needs to be emulated in user-space so let us forward console_puts() call to user-space. Signed-off-by: Anup Patel --- arch/riscv/include/asm/kvm_vcpu_sbi.h | 1 + arch/riscv/include/uapi/asm/kvm.h | 1 + arch/riscv/kvm/vcpu_sbi.c | 4 ++++ arch/riscv/kvm/vcpu_sbi_replace.c | 31 +++++++++++++++++++++++++++ 4 files changed, 37 insertions(+) diff --git a/arch/riscv/include/asm/kvm_vcpu_sbi.h b/arch/riscv/include/asm/kvm_vcpu_sbi.h index 8d6d4dce8a5e..a85f95eb6e85 100644 --- a/arch/riscv/include/asm/kvm_vcpu_sbi.h +++ b/arch/riscv/include/asm/kvm_vcpu_sbi.h @@ -69,6 +69,7 @@ extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_ipi; extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_rfence; extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_srst; extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_hsm; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_dbcn; extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_experimental; extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_vendor; diff --git a/arch/riscv/include/uapi/asm/kvm.h b/arch/riscv/include/uapi/asm/kvm.h index 917d8cc2489e..60d3b21dead7 100644 --- a/arch/riscv/include/uapi/asm/kvm.h +++ b/arch/riscv/include/uapi/asm/kvm.h @@ -156,6 +156,7 @@ enum KVM_RISCV_SBI_EXT_ID { KVM_RISCV_SBI_EXT_PMU, KVM_RISCV_SBI_EXT_EXPERIMENTAL, KVM_RISCV_SBI_EXT_VENDOR, + KVM_RISCV_SBI_EXT_DBCN, KVM_RISCV_SBI_EXT_MAX, }; diff --git a/arch/riscv/kvm/vcpu_sbi.c b/arch/riscv/kvm/vcpu_sbi.c index 9cd97091c723..b54fe52c915a 100644 --- a/arch/riscv/kvm/vcpu_sbi.c +++ b/arch/riscv/kvm/vcpu_sbi.c @@ -66,6 +66,10 @@ static const struct kvm_riscv_sbi_extension_entry sbi_ext[] = { .ext_idx = KVM_RISCV_SBI_EXT_PMU, .ext_ptr = &vcpu_sbi_ext_pmu, }, + { + .ext_idx = KVM_RISCV_SBI_EXT_DBCN, + .ext_ptr = &vcpu_sbi_ext_dbcn, + }, { .ext_idx = KVM_RISCV_SBI_EXT_EXPERIMENTAL, .ext_ptr = &vcpu_sbi_ext_experimental, diff --git a/arch/riscv/kvm/vcpu_sbi_replace.c b/arch/riscv/kvm/vcpu_sbi_replace.c index 7c4d5d38a339..347c5856347e 100644 --- a/arch/riscv/kvm/vcpu_sbi_replace.c +++ b/arch/riscv/kvm/vcpu_sbi_replace.c @@ -175,3 +175,34 @@ const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_srst = { .extid_end = SBI_EXT_SRST, .handler = kvm_sbi_ext_srst_handler, }; + +static int kvm_sbi_ext_dbcn_handler(struct kvm_vcpu *vcpu, + struct kvm_run *run, + struct kvm_vcpu_sbi_return *retdata) +{ + struct kvm_cpu_context *cp = &vcpu->arch.guest_context; + unsigned long funcid = cp->a6; + + switch (funcid) { + case SBI_EXT_DBCN_CONSOLE_WRITE: + case SBI_EXT_DBCN_CONSOLE_READ: + case SBI_EXT_DBCN_CONSOLE_WRITE_BYTE: + /* + * The SBI debug console functions are unconditionally + * forwarded to the userspace. + */ + kvm_riscv_vcpu_sbi_forward(vcpu, run); + retdata->uexit = true; + break; + default: + retdata->err_val = SBI_ERR_NOT_SUPPORTED; + } + + return 0; +} + +const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_dbcn = { + .extid_start = SBI_EXT_DBCN, + .extid_end = SBI_EXT_DBCN, + .handler = kvm_sbi_ext_dbcn_handler, +}; From patchwork Tue Oct 10 17:05:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 13415767 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A77BBCD8CAD for ; Tue, 10 Oct 2023 17:05:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AI5cVJkeV3QfIBp8Keiy+e+8XQGwEq1v+BS6PPSlTtA=; b=ZLe1zuqOhRoQW9 D8jSjAUhSdiheun+XFqStXkCoE8GPlV7SOFgY0hYutnsJ4x8sUUSJyUrnvvH18KUdkOWr0Aq9lb0P EhDY9jAH/jfp2FfVEPXy//TOXgXsyLIXICEx61bY/zISFGBtFwvRo+KfhcGCnyG1y70dK2R8rciu/ 9jO+GoWJVCYcoQUWXxJpUIueLh1VK0XBLshJ6NLUMVPI+uphipxJyrS1zIDBJ4S/uSbe7FW25CIks MOZ8yRbthnPHCPTywbQ3WJ4Wh3NgXUxdjmmYJL+B5f1MYl14Z1iEQCSGxpVdmocOGzXGPi2Bzog0T Rhf6XTVj9TkAWiYxyZ9g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAu-00DoT9-2t; Tue, 10 Oct 2023 17:05:40 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqGAq-00DoQP-0R for linux-riscv@lists.infradead.org; Tue, 10 Oct 2023 17:05:38 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1c5db4925f9so318615ad.1 for ; Tue, 10 Oct 2023 10:05:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1696957535; x=1697562335; darn=lists.infradead.org; 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=XoCkBvDoaE+G9yGkJwlCtJkOL/TuRqipkz8zh1jvWHI=; b=P8XzMIy9E8CvWkmDrOSvHdT5bA5fD/Ao/aG7U2W5YM8tH8pcVr2qobvXI/cThj6ZND EkcHjkmdCFxPHZBm1kSBxHKEiNIl3fP//DFrbUaXwUREPaOppuOOhhA340JP8xpnisUM aSEAbCgKAybMInDAYDdWvSRkheofd5xK/zzGd2Uq77GYoH65oS52fVeOwueNhdy8i441 CQxQX04R3KgYTYPzrZZeHjzPtAU32x0cqDmFv7/8oA9/vJxSlLHTKmPJARR2Pu2bugLY wBKjaMB4Ro0DvjxPjrCk4GU89O1HHCbgOWpPO0eoneTfnWpjhFy5p4gKKUKUMFx2n6F3 VmoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696957535; x=1697562335; 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=XoCkBvDoaE+G9yGkJwlCtJkOL/TuRqipkz8zh1jvWHI=; b=FeYPYFgEx+NwQf6/ulqdx9/pBA3Kg2ckCgF+9pYoSB2xug22Naok7TtgwG6ism23bt 2/HVpRI9iQc3LuKPHvDnaMB2BJLicY53uPlwCePi/mYHc54GKFEsYWZa+Pi7IJVnZ/+O Dfv9sM/yLBaDCIc8CR+iwsOB1z8Hb2+6OoOiwbsE/swPC4xNpglwv32u01HEB1IhERW6 1QX/b5tLxffGA8A2k4MgYujLIlvYB5PM8Y5cDVNeYVawRTpUuAnleAaPnp25+Qa7qEnx zAmaPxdzAfZOqZ7TAjnBNMvRignqCUOW2il0YzGGHBLcwvRP3luHgz48kaYlITEnyZC1 2c7w== X-Gm-Message-State: AOJu0Yyc0n7gmqJ20rnLPvleWlsUfkv01rK1fU0m35mFvccpwAeR3Vqd 23464+FoSIKeK98nypzac1frqQ== X-Google-Smtp-Source: AGHT+IHpTSgdyOa/WMmXoVeNp80pjqgJQqPCX1bVN2+pKlqZykfXt/hGxysni37Tvg40ZjWZcGGrLw== X-Received: by 2002:a17:902:d2ca:b0:1c3:76c4:7242 with SMTP id n10-20020a170902d2ca00b001c376c47242mr26123429plc.22.1696957535339; Tue, 10 Oct 2023 10:05:35 -0700 (PDT) Received: from anup-ubuntu-vm.localdomain ([103.97.165.210]) by smtp.gmail.com with ESMTPSA id w19-20020a1709027b9300b001b89536974bsm11979868pll.202.2023.10.10.10.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 10:05:34 -0700 (PDT) From: Anup Patel To: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Greg Kroah-Hartman , Jiri Slaby Cc: Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Anup Patel Subject: [PATCH 4/6] tty/serial: Add RISC-V SBI debug console based earlycon Date: Tue, 10 Oct 2023 22:35:01 +0530 Message-Id: <20231010170503.657189-5-apatel@ventanamicro.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010170503.657189-1-apatel@ventanamicro.com> References: <20231010170503.657189-1-apatel@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231010_100536_173402_6A0D28DD X-CRM114-Status: GOOD ( 13.92 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org We extend the existing RISC-V SBI earlycon support to use the new RISC-V SBI debug console extension. Signed-off-by: Anup Patel --- drivers/tty/serial/Kconfig | 2 +- drivers/tty/serial/earlycon-riscv-sbi.c | 35 ++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index bdc568a4ab66..cec46091a716 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -87,7 +87,7 @@ config SERIAL_EARLYCON_SEMIHOST config SERIAL_EARLYCON_RISCV_SBI bool "Early console using RISC-V SBI" - depends on RISCV_SBI_V01 + depends on RISCV_SBI select SERIAL_CORE select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON diff --git a/drivers/tty/serial/earlycon-riscv-sbi.c b/drivers/tty/serial/earlycon-riscv-sbi.c index 27afb0b74ea7..b1da34e8d8cd 100644 --- a/drivers/tty/serial/earlycon-riscv-sbi.c +++ b/drivers/tty/serial/earlycon-riscv-sbi.c @@ -10,22 +10,49 @@ #include #include +#ifdef CONFIG_RISCV_SBI_V01 static void sbi_putc(struct uart_port *port, unsigned char c) { sbi_console_putchar(c); } -static void sbi_console_write(struct console *con, - const char *s, unsigned n) +static void sbi_0_1_console_write(struct console *con, + const char *s, unsigned int n) { struct earlycon_device *dev = con->data; uart_console_write(&dev->port, s, n, sbi_putc); } +#endif + +static void sbi_dbcn_console_write(struct console *con, + const char *s, unsigned int n) +{ + phys_addr_t pa = __pa(s); + + sbi_ecall(SBI_EXT_DBCN, SBI_EXT_DBCN_CONSOLE_WRITE, +#ifdef CONFIG_32BIT + n, pa, (u64)pa >> 32, +#else + n, pa, 0, +#endif + 0, 0, 0); +} static int __init early_sbi_setup(struct earlycon_device *device, const char *opt) { - device->con->write = sbi_console_write; - return 0; + int ret = 0; + + if ((sbi_spec_version >= sbi_mk_version(2, 0)) && + (sbi_probe_extension(SBI_EXT_DBCN) > 0)) + device->con->write = sbi_dbcn_console_write; + else +#ifdef CONFIG_RISCV_SBI_V01 + device->con->write = sbi_0_1_console_write; +#else + ret = -ENODEV; +#endif + + return ret; } EARLYCON_DECLARE(sbi, early_sbi_setup); From patchwork Tue Oct 10 17:05:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 13415769 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1A398CD8CAC for ; Tue, 10 Oct 2023 17:05:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=9KmtOtgXXZU6tYeHteSY57A1uxtQddPGOZt59cHevcU=; b=e/0/BRO58yiBL1 R1+Vku/lKnwPRY2HLbb0wkcYc3HBD84E92GW0hgyNy43TvYRiKultPA/Jvd956tvmNcyl4HS7pn6O ZUw7y5DCZYbGhy5+sWVmT+T2aSkuRZgvewOkKR6xFPZCVXQcGI5FeXA50/3mdRIxYQMaHqxvusVbn StXK7FPqKJC9NqVrNhSGs9fQJwgt6RDw5rh8xZvYXrxYUXv0UNmk6QZ2HUoixk5w1A8WwCKDR4mjA g+3ADIeOb5TkeJnHJDPG2tCMxXphYT8KYhv3HrSOd/J6XPxuDv7X/beE55Z38gKu0aQY5Ka22rDfC Lb46jTITDpA7U23ptoww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqGB7-00Doah-1K; Tue, 10 Oct 2023 17:05:53 +0000 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqGB3-00DoTv-1S for linux-riscv@lists.infradead.org; Tue, 10 Oct 2023 17:05:51 +0000 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1c60cec8041so36498555ad.3 for ; Tue, 10 Oct 2023 10:05:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1696957541; x=1697562341; darn=lists.infradead.org; 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=5Qqy4Lq8gbERMmKNa3SsbrCy4B07mso/bpWy+ieX3+w=; b=nxM9Gk+YKa2LT9B0uBpsZh6d9eyCxDTAnHa1FxLZ3W3++Bd4LABjzFveyB/VrmQ2ca YNFg9XOAGkJV2Cxcm6lsQPGjg6uSrrNiD8Dh8u1aIgF0YNv7ThafFxpxaGJrUS0VzoEO nj9JTKt+CHCnVSjQEXKDb0PriPELulZz30IGzTbB1stWJU7xz5ECqESTZPIBgqf4+XbQ 1Rs3QvrtUH07oA9mV+d57T+sqAcNlQKYYmGrYO4TzYCEN3qsbuIWeJhI+tMs04Des4/0 l22Kp9ukLRd9jlcmpnA+E+6j0ymFlArTUXHxaCtlGyreyX28k2tx5AXJwxGB1fAoHC8x J5uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696957541; x=1697562341; 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=5Qqy4Lq8gbERMmKNa3SsbrCy4B07mso/bpWy+ieX3+w=; b=VXua6HbbwCNmYoJxs6WXjkw1n0VTMj2ou4NtuYRA72en6IM2V2Yw59F2FxkeJ4fsCB hvO2lHpouQ5JwJHZq7CIa1vsyGkMoQKBwNEAy0lWKFNaJ53WakqtQ773LzGt1r+m3Nye uKljQJ7D15F1YJ9bftMJyLR/QJ+sDFEIVaPko5q1BckoO6mbZDHtrBVEMAU55d/cVdcg M82ol14tP5TNcnb/CkDAnFAF5UxihM/n9XRn7ORDD1gMmLOSY1VbGzAk6gH/xiiRXLm2 aU76dkndPM/1c1zdSKVyyZDlZdDBu8Y8YtTAg2av63ouuLaaDi7pvjb7bfs5isSBwfSq guMg== X-Gm-Message-State: AOJu0Yx5CaWxg0oB9JKgG91pCU8/+zTP4/OGvs/vNLbIFbjaam7Y6pJu x0XrvqNzYLO7wY9RYJ9cxnEXBg== X-Google-Smtp-Source: AGHT+IERB4pxUt5nWI40xusQqE+9WUh0dFLmx7F6EOp9LBym2k+moLv9bgQcH5zXgP5QADPNDZuBnw== X-Received: by 2002:a17:902:da89:b0:1c7:3aad:305e with SMTP id j9-20020a170902da8900b001c73aad305emr19217128plx.27.1696957541145; Tue, 10 Oct 2023 10:05:41 -0700 (PDT) Received: from anup-ubuntu-vm.localdomain ([103.97.165.210]) by smtp.gmail.com with ESMTPSA id w19-20020a1709027b9300b001b89536974bsm11979868pll.202.2023.10.10.10.05.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 10:05:40 -0700 (PDT) From: Anup Patel To: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Greg Kroah-Hartman , Jiri Slaby Cc: Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Atish Patra , Anup Patel Subject: [PATCH 5/6] tty: Add SBI debug console support to HVC SBI driver Date: Tue, 10 Oct 2023 22:35:02 +0530 Message-Id: <20231010170503.657189-6-apatel@ventanamicro.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010170503.657189-1-apatel@ventanamicro.com> References: <20231010170503.657189-1-apatel@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231010_100549_491680_2A1FCD02 X-CRM114-Status: GOOD ( 16.38 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org From: Atish Patra RISC-V SBI specification supports advanced debug console support via SBI DBCN extension. Extend the HVC SBI driver to support it. Signed-off-by: Atish Patra Signed-off-by: Anup Patel --- drivers/tty/hvc/Kconfig | 2 +- drivers/tty/hvc/hvc_riscv_sbi.c | 80 ++++++++++++++++++++++++++++++--- 2 files changed, 74 insertions(+), 8 deletions(-) diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig index 4f9264d005c0..6e05c5c7bca1 100644 --- a/drivers/tty/hvc/Kconfig +++ b/drivers/tty/hvc/Kconfig @@ -108,7 +108,7 @@ config HVC_DCC_SERIALIZE_SMP config HVC_RISCV_SBI bool "RISC-V SBI console support" - depends on RISCV_SBI_V01 + depends on RISCV_SBI select HVC_DRIVER help This enables support for console output via RISC-V SBI calls, which diff --git a/drivers/tty/hvc/hvc_riscv_sbi.c b/drivers/tty/hvc/hvc_riscv_sbi.c index 31f53fa77e4a..be8b7e351840 100644 --- a/drivers/tty/hvc/hvc_riscv_sbi.c +++ b/drivers/tty/hvc/hvc_riscv_sbi.c @@ -15,6 +15,7 @@ #include "hvc_console.h" +#ifdef CONFIG_RISCV_SBI_V01 static int hvc_sbi_tty_put(uint32_t vtermno, const char *buf, int count) { int i; @@ -39,21 +40,86 @@ static int hvc_sbi_tty_get(uint32_t vtermno, char *buf, int count) return i; } -static const struct hv_ops hvc_sbi_ops = { +static const struct hv_ops hvc_sbi_v01_ops = { .get_chars = hvc_sbi_tty_get, .put_chars = hvc_sbi_tty_put, }; +#endif -static int __init hvc_sbi_init(void) +static int hvc_sbi_dbcn_tty_put(uint32_t vtermno, const char *buf, int count) { - return PTR_ERR_OR_ZERO(hvc_alloc(0, 0, &hvc_sbi_ops, 16)); + phys_addr_t pa; + struct sbiret ret; + + if (is_vmalloc_addr(buf)) + pa = page_to_phys(vmalloc_to_page(buf)) + offset_in_page(buf); + else + pa = __pa(buf); + + ret = sbi_ecall(SBI_EXT_DBCN, SBI_EXT_DBCN_CONSOLE_WRITE, +#ifdef CONFIG_32BIT + count, pa, (u64)pa >> 32, +#else + count, pa, 0, +#endif + 0, 0, 0); + + if (ret.error) + return 0; + + return count; } -device_initcall(hvc_sbi_init); -static int __init hvc_sbi_console_init(void) +static int hvc_sbi_dbcn_tty_get(uint32_t vtermno, char *buf, int count) { - hvc_instantiate(0, 0, &hvc_sbi_ops); + phys_addr_t pa; + struct sbiret ret; + + if (is_vmalloc_addr(buf)) + pa = page_to_phys(vmalloc_to_page(buf)) + offset_in_page(buf); + else + pa = __pa(buf); + + ret = sbi_ecall(SBI_EXT_DBCN, SBI_EXT_DBCN_CONSOLE_READ, +#ifdef CONFIG_32BIT + count, pa, (u64)pa >> 32, +#else + count, pa, 0, +#endif + 0, 0, 0); + + if (ret.error) + return 0; + + return ret.value; +} + +static const struct hv_ops hvc_sbi_dbcn_ops = { + .put_chars = hvc_sbi_dbcn_tty_put, + .get_chars = hvc_sbi_dbcn_tty_get, +}; + +static int __init hvc_sbi_init(void) +{ + int err; + + if ((sbi_spec_version >= sbi_mk_version(2, 0)) && + (sbi_probe_extension(SBI_EXT_DBCN) > 0)) { + err = PTR_ERR_OR_ZERO(hvc_alloc(0, 0, &hvc_sbi_dbcn_ops, 16)); + if (err) + return err; + hvc_instantiate(0, 0, &hvc_sbi_dbcn_ops); + } else { +#ifdef CONFIG_RISCV_SBI_V01 + err = PTR_ERR_OR_ZERO(hvc_alloc(0, 0, &hvc_sbi_v01_ops, 16)); + if (err) + return err; + hvc_instantiate(0, 0, &hvc_sbi_v01_ops); +#else + return -ENODEV; +#endif + } return 0; } -console_initcall(hvc_sbi_console_init); +device_initcall(hvc_sbi_init); From patchwork Tue Oct 10 17:05:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 13415770 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E000ECD8CAD for ; Tue, 10 Oct 2023 17:06:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=VdCr8B7oHr25iajIgSqX/0oKpOg19tUluZV/6H0VBuo=; b=dNNRCOSseg5pCO DWulSQnSlKMpq3FYM3Z0qNnXp6zqlanx6Fe6p5hRaEzfJSyjI525N9DflXw7kUN+5C1JCcxFsoMS0 HsuDeP6Lo8N7SzPcyMVZ1WtmAtwefhK2wFWfqYgLfkSRJm6hNsaVu5MrWpNK+v7jp1zvsMww6yL0m OSUsofBAx8/JAxlzuO0QkVg75A6ZK1Cn/hBi4qk539hhQ5W3Jm3KHnET+Ax3zMKWjqVy0FHGeVB/M WR8fr6uhGOcB9b71GMPtuuXdtIG1V7LIQJbShP4qevHmh/dwi/OUWsOYKbImAEFc4Q156VQpDPbiS /VmlUycLh0/QvUEhp+Zg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqGB8-00DobD-0B; Tue, 10 Oct 2023 17:05:54 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqGB3-00DoWI-3C for linux-riscv@lists.infradead.org; Tue, 10 Oct 2023 17:05:52 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1c737d61a00so46484165ad.3 for ; Tue, 10 Oct 2023 10:05:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1696957546; x=1697562346; darn=lists.infradead.org; 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=OF/0DZOVOE1sZojsrN9hmq2DR3MNn3xhzg86O8Xb4xI=; b=VVtTzkP86Hq0nO/Ys4OM9sLKhXet1e8M9plvUqqWZNyWJC30/ZntsyzE57HgkkCKq9 Pr+yEpLVgDmLwdxA5znKH/O+ROKryZOZSQpqOv/udetxv5B732ia6HmDZTYnnS4zCUSw EnDW+OyDbWRWA8gRXW93krhb5APId78YA2w/lOjCGktZieSb1Uqom3yOREFgRfEwTWNH T0ye0OPWjIDIiwJYks8aEF6nXc9B98af1bVlNAf2ksJEJ7dVoDPczlrMXCLFNl7vKkvu BF8OqpTCGCvBTjbYgWOtDdszYpvCbXEo8wHtbeo6rXMO/itGWT8BVv28up9b30lKxXvJ hyxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696957546; x=1697562346; 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=OF/0DZOVOE1sZojsrN9hmq2DR3MNn3xhzg86O8Xb4xI=; b=X9AFBQAgV6uZjNUe0nv89dfssSa2LrNnF6NHs9YW/IMaoB3WGhC7L/U8+diOvdszTf dfBHaVgWSaZ7kQIBvLHQ4YE51nTGh/GiN5kzD2h5ty53p1bZnceT+NVnngwh+WBgp9mx uDi3++uxDJNQ89QtCc1mz06GC+x8Wr2AjI9jNFHF44ZDo8oPfyHeHmFq/TSio6bzfQld 81EA/nLmdBqeCMZRSppC3YizmXMsIu3yrp5Wz3iPoQ1HRIU8AWLanTBOKt+afn/tpSmM az4WljUmagbNOsr5HhQI8idK/nsr4fxPvFlmFpV133q0EARKT1XM4Mvq/wcADGXTXrtK dysA== X-Gm-Message-State: AOJu0YxTQjFs1AmTXBmGLN5U/EJlIxw5aDFLzmecc1iEmvRHWZvskOcX yQNXHZpWxwftVNc27kmvSa0MSA== X-Google-Smtp-Source: AGHT+IEFOyqePTNhMFtIG9Pkb5PdZI4JBTY0AeRn/RM9+tKVmMklIxkKeQjOcYyUz8tcYu0GN0YOAQ== X-Received: by 2002:a17:903:230a:b0:1c7:7e00:8075 with SMTP id d10-20020a170903230a00b001c77e008075mr23570340plh.66.1696957546442; Tue, 10 Oct 2023 10:05:46 -0700 (PDT) Received: from anup-ubuntu-vm.localdomain ([103.97.165.210]) by smtp.gmail.com with ESMTPSA id w19-20020a1709027b9300b001b89536974bsm11979868pll.202.2023.10.10.10.05.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 10:05:45 -0700 (PDT) From: Anup Patel To: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Greg Kroah-Hartman , Jiri Slaby Cc: Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Anup Patel Subject: [PATCH 6/6] RISC-V: Enable SBI based earlycon support Date: Tue, 10 Oct 2023 22:35:03 +0530 Message-Id: <20231010170503.657189-7-apatel@ventanamicro.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010170503.657189-1-apatel@ventanamicro.com> References: <20231010170503.657189-1-apatel@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231010_100550_029219_8CA69045 X-CRM114-Status: UNSURE ( 8.60 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Let us enable SBI based earlycon support in defconfigs for both RV32 and RV64 so that "earlycon=sbi" can be used again. Signed-off-by: Anup Patel --- arch/riscv/configs/defconfig | 1 + arch/riscv/configs/rv32_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index ab86ec3b9eab..f82700da0056 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -132,6 +132,7 @@ CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig index 89b601e253a6..5721af39afd1 100644 --- a/arch/riscv/configs/rv32_defconfig +++ b/arch/riscv/configs/rv32_defconfig @@ -66,6 +66,7 @@ CONFIG_INPUT_MOUSEDEV=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y