From patchwork Mon Feb 17 08:45:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 13977301 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 379021A2630 for ; Mon, 17 Feb 2025 08:45:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781912; cv=none; b=a7/+x5Y9ikrOKIetUP3w9EukEx9qrryc5P6uiYLU3F4qe/QRVk6OHBes7DwcC9SDMiKa+/61AsU5rEetmIjmeed+JQiGc6TmqNsBbVIHWC+fgKU08zj7eWhIypVYJm50D7QTK9mRw/6vdy9tXNsw7cd2FlPUgSbrdysQyVWZgkk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781912; c=relaxed/simple; bh=2Tut0PY2upP5Cl+GzK2sIbXrM5UY9W46/YKCJOvbOiI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JLCI+plZx/7Bog0cdNtxae2vMx20RpfnHwSgvaRT25bpf4ZIFCULbqdiKWgmdVddBpULE4S0CSjhAtoNVnsTePPAzuuGpmIodb7allhVMuzYSZ6akJdDcgZtb4mGXa9i4t/knY3ZVb8W84FdzFwnVWmjLg+h8cj1O4qeVJdmFSs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=ooQ0KidS; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="ooQ0KidS" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-38f378498c9so1302185f8f.1 for ; Mon, 17 Feb 2025 00:45:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1739781909; x=1740386709; darn=vger.kernel.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=tmOiuBasU6JQWrtvlHuH5EGMnpuZux+G/rw1YW3ZnKQ=; b=ooQ0KidSvlEn95evQDZ9cPJ/0tijkYIsvqCm0cRqZmjlEEBYTlXGtiTig5vKFw359w PVm5zzg0YWFbeEjHjLhSyKo0YihJnC7rYcJWLAb5HkzZu7ekG7gBljwblhop4XIzpkRB tJazWF3r8GxdLr8Pfpj1zObNSdDymLh2mfBpM9VKYqktVKb4iid1A7G6Dmx3OKXhMFZR YkuDy8i3FXzGorqG0TRHHwg9mpOVItvTBEp6IPuz2TT/enRIAb8AtQtuPr5h1LmUiUSN N50beiV5+b1UHdu9eESGs8+3jFOyeo+YQ0VH9pRMG7AmN9F8F2Wcc91UbxKM0Klj+TDi KdjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739781909; x=1740386709; 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=tmOiuBasU6JQWrtvlHuH5EGMnpuZux+G/rw1YW3ZnKQ=; b=CFiuLc+7yrPQouRhZvYZ91CgedL2MX3ZhrR+IrMysNDZ4eCr95joMdne0DHoQln37r EfIq7bgORnFMsOOHpmJ50YjbSovZiKw50RsQL0aV9f2y0oQCkDger9iqgDXJ22+d44cY zgoLyBrvhKHZWCaetTzk2mBe954Pigk/cpsNjVnC8+i3L94L+Xi7uOWUF8E6BfPNpEVS /YqcvcD6w6H2CJ6T3AP96OIwzil9I9WAnm7Fp9R1yoMpe/Sxqvq25SzL+8/+SYz2cwA9 gU44Awp/I8SPMzAoiW3pQUroZbk2qZmEVmoszUnav2L6ncvMk/Yn7IDEdTK7+5y//mfd 6iEg== X-Gm-Message-State: AOJu0YwhS+E+J+WgUNRbEEJhD9v8b5gSYqPS3GHLjMElOIPMGIzIyDnB NamB1hCr/eOZF7PoL9lCx/TdzhqkLsPEDKiZVi41FjlqF3gFrSw7lZCGhj5r7/fiTb3oJrQ7yt8 X X-Gm-Gg: ASbGncurQ16O84Bo0cQRRfW7NNO+vEPR6KLj3It8/jHvU+Ls0eUOu+x4p7XnCy4RT+p LzbHisi18hImRP7sd7tsghzT3RR617Vv7wVs5Zq0Bx0lOhscQHdDrYnMCgxNMBo4sy7wtjKSLaw P9Ero+IlZaCPIITV8PQtx0K+PLwqGiorVESnIoLb5q+aaYuXSatlbvD9bGgupozf2V2y+v1IsE9 PlvHAZ6I9rQ5YTo+8q/0z8oSs33qz6vrpxnS+AIi8+jIZj1vnvN49oeL1e9Hun/ZHz3pjyvZHC6 Dpc= X-Google-Smtp-Source: AGHT+IG4XexX5u4a9ST4SKpxQS8lH/aGBNXid1q/a0drWF3aciYyLxMBoUybxw0lIHE5NbqdkQOXHQ== X-Received: by 2002:a5d:694b:0:b0:38e:65db:517d with SMTP id ffacd0b85a97d-38f33f5107dmr7035502f8f.40.1739781909479; Mon, 17 Feb 2025 00:45:09 -0800 (PST) Received: from localhost ([2a02:8308:a00c:e200::766e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f258f8c4bsm11630555f8f.46.2025.02.17.00.45.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 00:45:09 -0800 (PST) From: Andrew Jones To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: anup@brainfault.org, atishp@atishpatra.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, cleger@rivosinc.com Subject: [PATCH 1/5] riscv: KVM: Fix hart suspend status check Date: Mon, 17 Feb 2025 09:45:08 +0100 Message-ID: <20250217084506.18763-8-ajones@ventanamicro.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250217084506.18763-7-ajones@ventanamicro.com> References: <20250217084506.18763-7-ajones@ventanamicro.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 "Not stopped" means started or suspended so we need to check for a single state in order to have a chance to check for each state. Also, we need to use target_vcpu when checking for the suspend state. Fixes: 763c8bed8c05 ("RISC-V: KVM: Implement SBI HSM suspend call") Signed-off-by: Andrew Jones Reviewed-by: Anup Patel --- arch/riscv/kvm/vcpu_sbi_hsm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/riscv/kvm/vcpu_sbi_hsm.c b/arch/riscv/kvm/vcpu_sbi_hsm.c index dce667f4b6ab..13a35eb77e8e 100644 --- a/arch/riscv/kvm/vcpu_sbi_hsm.c +++ b/arch/riscv/kvm/vcpu_sbi_hsm.c @@ -79,12 +79,12 @@ static int kvm_sbi_hsm_vcpu_get_status(struct kvm_vcpu *vcpu) target_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, target_vcpuid); if (!target_vcpu) return SBI_ERR_INVALID_PARAM; - if (!kvm_riscv_vcpu_stopped(target_vcpu)) - return SBI_HSM_STATE_STARTED; - else if (vcpu->stat.generic.blocking) + if (kvm_riscv_vcpu_stopped(target_vcpu)) + return SBI_HSM_STATE_STOPPED; + else if (target_vcpu->stat.generic.blocking) return SBI_HSM_STATE_SUSPENDED; else - return SBI_HSM_STATE_STOPPED; + return SBI_HSM_STATE_STARTED; } static int kvm_sbi_ext_hsm_handler(struct kvm_vcpu *vcpu, struct kvm_run *run, From patchwork Mon Feb 17 08:45:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 13977302 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 621BD1A3145 for ; Mon, 17 Feb 2025 08:45:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781914; cv=none; b=f9c6EN+izNSstncN8GNDgjUQSJlrozpXlsjHBLcaHmYUHtHfUx/XVVeUgwTfhBpa8LzmNcWkIw1AWh2hovtfC4U6IaSCMZ2RTPKwU6G7GP6SR+Fg7hazbm0y/xpASogBDEkeENJwUBenfLH353mqMYYXustAZy5abNjVoOebx9A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781914; c=relaxed/simple; bh=X2YvBk0sQWUhmaaDDWvnziv02HZWlNRSqMxaaAdvPBo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FwSgK+uczhf7aa0WfzUweWx/hJnYgJ/z+qf3j31tghRzx1VPOer9eqMMsjEu3cxaW8C7HvuORhTlfL0Cac+kK90ncxAjfPAqw2Er5CRXVZO2UnofvDKOlWk5QxfukPbbgltdRXycL7qv/R8HRu16/db/V6OrVF4sgG0VScozM6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=mRc8ITRU; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="mRc8ITRU" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43948021a45so42291075e9.1 for ; Mon, 17 Feb 2025 00:45:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1739781911; x=1740386711; darn=vger.kernel.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=JiPZGt3cqKuKVygJ0gOXQMkedPlfCXA7o5CUpSUfKvM=; b=mRc8ITRU8dzxN4YKqZeOQll5vZ3CKnJm3ZR44ApEIoqTODHmdPMgD+lkb+agsdxzqn EdHlWbMPym3AaMf3OWuK2eX7HuDUK6fXIgK5baOfGeAbLZLlv7Eoq9WT7bIKVOpw1YGG BsjL+1GXKXFReZnFkSXr+D5QfCkYyEOi8TwNAioLJ1RCBE7h7JZycLh7+Nc+kfNP09kh VyUkeQBXtJ4AItRekxMvRblq/b7kRwhXA+LMmF3pejVdnsLGhJKs6No9e3AJqFqEA4Jl jrAbOBelFsXau8c7BqETgh1NW2+BzYF7gqFo2ia3N1y4erYLz794uWjdiP+ucG4yjjJg wAgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739781911; x=1740386711; 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=JiPZGt3cqKuKVygJ0gOXQMkedPlfCXA7o5CUpSUfKvM=; b=uOa2++oHQ8MqvFjA2+GShqE+Ix5cTMthTOrtSxc2O6X5/6/kvEMSGjFP7LLn0ULdnu Jk931Iwqoy2AB3VL0+iXXo00RzeOU9A6DTqrti3k+X1bvOwkG0dKcvDm5XW7sY/nIQ4k G+jAPA32PebQ1AdDSf+T3c5rsOP0I+jSCN6z+/HzwDsr5wNPWB8AiH+NUe1kHymcro2n UdBzUTRLRTr2eTgR53aKvliCWPkqRQWzdNp9CwPn9qEWiH6Wg+9XY7qzhB49KStf+h5i KFZ1EpWj0As7Dl/D7tUTklHutmKqqDVQFul3QXkrTwap4MbgIvvPSRWfeAthu8tBRgHy +yZA== X-Gm-Message-State: AOJu0Yx+YiQjDqhYJEpP2wrnsBEgIvMFFh3p4mSHXDmDNBu+E6hO/6nE Zk3sXmgfH0yEcxmXACYrTfCNbHrEssdBBjZpZuqFMQ2XVIkbp3ac4cR9v9LjxtnJXLJqdu9GeGT B X-Gm-Gg: ASbGncvOXqem+pqAybmFHaskbhaX27IlaBOlZ5D+Hx1yynbB0fxMPNwd6QcH1E5Rg5O wxGSaCc1iEN3Rvx9ACXlcfM+ELQHoieNoxP2c7VsH8WehF9nKBOLkffgtKZ2BGQq6AZ8A0xJ5gx dueNyeFwWuVWBkHodOqqNhALN+rFftDUejGl94iVeZzNuhZIXccO0fImQ0uLnoPao01Ll7KQSSk FVQ/2VoufertOgRgg3hWSOdicU+6vVvTCr4K755D1g+Niz5c3a1Njh65jarStBV16YdJdwWx+GS alE= X-Google-Smtp-Source: AGHT+IE+AUAR1iy2Ln8DmzcEm5nnGqOi/Plq/QkgSq3ISWZGeoiGgqYDSZCBPokxQUbiUvFLMTErfQ== X-Received: by 2002:a05:600c:1c24:b0:439:6304:e28a with SMTP id 5b1f17b1804b1-4396e5b56e7mr95001465e9.0.1739781910716; Mon, 17 Feb 2025 00:45:10 -0800 (PST) Received: from localhost ([2a02:8308:a00c:e200::766e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439858741e9sm14517775e9.1.2025.02.17.00.45.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 00:45:10 -0800 (PST) From: Andrew Jones To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: anup@brainfault.org, atishp@atishpatra.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, cleger@rivosinc.com Subject: [PATCH 2/5] riscv: KVM: Fix hart suspend_type use Date: Mon, 17 Feb 2025 09:45:09 +0100 Message-ID: <20250217084506.18763-9-ajones@ventanamicro.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250217084506.18763-7-ajones@ventanamicro.com> References: <20250217084506.18763-7-ajones@ventanamicro.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The spec says suspend_type is 32 bits wide and "In case the data is defined as 32bit wide, higher privilege software must ensure that it only uses 32 bit data." Mask off upper bits of suspend_type before using it. Fixes: 763c8bed8c05 ("RISC-V: KVM: Implement SBI HSM suspend call") Signed-off-by: Andrew Jones Reviewed-by: Anup Patel --- arch/riscv/kvm/vcpu_sbi_hsm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vcpu_sbi_hsm.c b/arch/riscv/kvm/vcpu_sbi_hsm.c index 13a35eb77e8e..3070bb31745d 100644 --- a/arch/riscv/kvm/vcpu_sbi_hsm.c +++ b/arch/riscv/kvm/vcpu_sbi_hsm.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -109,7 +110,7 @@ static int kvm_sbi_ext_hsm_handler(struct kvm_vcpu *vcpu, struct kvm_run *run, } return 0; case SBI_EXT_HSM_HART_SUSPEND: - switch (cp->a0) { + switch (lower_32_bits(cp->a0)) { case SBI_HSM_SUSPEND_RET_DEFAULT: kvm_riscv_vcpu_wfi(vcpu); break; From patchwork Mon Feb 17 08:45:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 13977303 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8846C1A83EB for ; Mon, 17 Feb 2025 08:45:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781915; cv=none; b=n19EBLelx8vV14DuH+FBmt+Focpxe236Hf9syk2ZeM4KuzcNHIB4tKEg4d9WIselG5dTxn36CMZD8V2X4X61XE+Pbk6IjS6AO5BdqSxi+1jUzhD+6jEU5YbdEQ4Z8yeAR8dGoGXDLVG0uROy/oZ0W1XEG+im3Hvy7rV9+6E0l44= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781915; c=relaxed/simple; bh=QoNKwm0QNeOBdMCU6xE83bRH5pRe22ZWzqS6Q+iNQVI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l5NdnxSidMluFUsIXPT2VaedJoTFipaZL9YDmSqR5wkByy3bqjq/kYVZUacSJfYKju5sbgBnAa+d4QCAfcUANrvUErhcfRrsYHEaHloZTqfS5W6q7yjow1biuNN3+iumF2Malh8W1ys3k0eESRnwQuCUfF4VBXdr1KhLqlrW5mE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=dBElo0Sp; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="dBElo0Sp" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-38f2f391864so1499801f8f.3 for ; Mon, 17 Feb 2025 00:45:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1739781912; x=1740386712; darn=vger.kernel.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=VZ3VO18adCEYhhZu71Kqt+W1Lctj7LPPm0C4PWap/Pc=; b=dBElo0Sp4C7qWDmXAnCqqCNvTMgnvRre1PgYs/YrLAtnvySNLhwrSJZInnRGkQJLUP W0SskwmSjW26EaYVtk0VHvJ/bM9e0XY2VMUlUAPeps3KXn04RBmHxAXR8b2ZmOkR2b3U 4WqpGQ5PrecGob4EaoMH+wLoOMZtuBdYM0iaVDLy30MVS2yGS5/o5K5tmQND5B6McvJW o+PZn5wyMs0WWhqYMuO54TXTauAzDLaXIkRWEwIIUWSs4BpZR7ogVA9M0mIwmiO8+/D9 A1x+eseCUL/jIJD2akcBNqyteNrMsAThv3VjFFPeOeR4YpZMWdbwMi8dmoPu0CuyVe4y Hpjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739781912; x=1740386712; 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=VZ3VO18adCEYhhZu71Kqt+W1Lctj7LPPm0C4PWap/Pc=; b=nbK5fpsSWGbsBh7mBAS+scT13iYyVTqbHQ0Cx2IfgHdDtwFaBmwnXAm4+AyJ8XqRLx prNqI6YO4/kHaoWB//1/h9tdRer37IZNerbNyCBW5H4gA8uHWmWOARNY325/rvsDD051 pQMd/4X/WypVDdWvv9Ua4qvou0SqgPSBFY+tlbl1Q4c/c5J/zYx34Hi+BUM9Ts5aeKId 1luEODKq+52naUgm0xWygT+5JjOPR/6DLQrApjWZFsQGFUkywENAN89jaZTzOuMjX+Al zDe0QfMfcfDl8W2MFXFVXCJMPtCZCVFIXw4PzonjVKj+onzQAF2zAFUi98xrZ0SoDSVJ UXgQ== X-Gm-Message-State: AOJu0YyOmn57KGZGPKu612IzSSdnF8VczzyX2eRHjwC8ovJPebzY1roo eXRm77Jzq/RjWgpotY3AmNrndnXcKFYRy41yzQMstyOsV3dHi364dYm6v7kH2szW9pMvv6oNamc 7 X-Gm-Gg: ASbGncu1JhCuxkE5MAE6wJ77CRIF8I56xx7xr7H8h2Kzc0MYhayprAH+UA+WQyt6hHM VmbpegAc0JZZ8f1pUfLg0HyTRLKx94JUd6cIGueVW5IzB2XXDSnyGQ9D4NmEAsGThfZWkBL2KlE iDm43LqD0AFyCZaXhEV3z+eTA3jTjkdVd+e3WmNebXG51WpWginUAdvirLNkuPH9roYFBqqTKwn hyr1oAzlhEsn1Kfi3IVg3kdDsbsQtogTOHKOGxQ6vknjhzZB+M+eKETKnOR55gXjC0pryxeuzTJ 86c= X-Google-Smtp-Source: AGHT+IFjCjQDRbtQRRPY7ND3UbrR6FOcJiCBfSPf1KsHHS/VGqmXJkoBgEpraPdPyIlzSWNaqsOAIg== X-Received: by 2002:a05:6000:1548:b0:38f:4251:597b with SMTP id ffacd0b85a97d-38f42515b99mr2778376f8f.8.1739781911976; Mon, 17 Feb 2025 00:45:11 -0800 (PST) Received: from localhost ([2a02:8308:a00c:e200::766e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f259fe1efsm11711548f8f.97.2025.02.17.00.45.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 00:45:11 -0800 (PST) From: Andrew Jones To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: anup@brainfault.org, atishp@atishpatra.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, cleger@rivosinc.com Subject: [PATCH 3/5] riscv: KVM: Fix SBI IPI error generation Date: Mon, 17 Feb 2025 09:45:10 +0100 Message-ID: <20250217084506.18763-10-ajones@ventanamicro.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250217084506.18763-7-ajones@ventanamicro.com> References: <20250217084506.18763-7-ajones@ventanamicro.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 When an invalid function ID of an SBI extension is used we should return not-supported, not invalid-param. Also, when we see that at least one hartid constructed from the base and mask parameters is invalid, then we should return invalid-param. Finally, rather than relying on overflowing a left shift to result in zero and then using that zero in a condition which [correctly] skips sending an IPI (but loops unnecessarily), explicitly check for overflow and exit the loop immediately. Fixes: 5f862df5585c ("RISC-V: KVM: Add v0.1 replacement SBI extensions defined in v0.2") Signed-off-by: Andrew Jones Reviewed-by: Anup Patel --- arch/riscv/kvm/vcpu_sbi_replace.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/arch/riscv/kvm/vcpu_sbi_replace.c b/arch/riscv/kvm/vcpu_sbi_replace.c index 9c2ab3dfa93a..74e3a38c6a29 100644 --- a/arch/riscv/kvm/vcpu_sbi_replace.c +++ b/arch/riscv/kvm/vcpu_sbi_replace.c @@ -51,9 +51,10 @@ static int kvm_sbi_ext_ipi_handler(struct kvm_vcpu *vcpu, struct kvm_run *run, struct kvm_cpu_context *cp = &vcpu->arch.guest_context; unsigned long hmask = cp->a0; unsigned long hbase = cp->a1; + unsigned long hart_bit = 0, sentmask = 0; if (cp->a6 != SBI_EXT_IPI_SEND_IPI) { - retdata->err_val = SBI_ERR_INVALID_PARAM; + retdata->err_val = SBI_ERR_NOT_SUPPORTED; return 0; } @@ -62,15 +63,23 @@ static int kvm_sbi_ext_ipi_handler(struct kvm_vcpu *vcpu, struct kvm_run *run, if (hbase != -1UL) { if (tmp->vcpu_id < hbase) continue; - if (!(hmask & (1UL << (tmp->vcpu_id - hbase)))) + hart_bit = tmp->vcpu_id - hbase; + if (hart_bit >= __riscv_xlen) + goto done; + if (!(hmask & (1UL << hart_bit))) continue; } ret = kvm_riscv_vcpu_set_interrupt(tmp, IRQ_VS_SOFT); if (ret < 0) break; + sentmask |= 1UL << hart_bit; kvm_riscv_vcpu_pmu_incr_fw(tmp, SBI_PMU_FW_IPI_RCVD); } +done: + if (hbase != -1UL && (hmask ^ sentmask)) + retdata->err_val = SBI_ERR_INVALID_PARAM; + return ret; } From patchwork Mon Feb 17 08:45:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 13977304 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E75361A9B52 for ; Mon, 17 Feb 2025 08:45:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781916; cv=none; b=doZs74g6hPZVJ1kxToPju8rqgYhUah7UR/2iHBdQNKH2Vonuijm6SqlZ7jnyM8ibQllRFojxlFeIuydKcF92N1j7rmucx6uH1r4GP5HptuUhYGI+iSpTpE7SY2vQWxmW8XIT9GumfANikq1Z/EadxCkLHQJXg7DzidiSXkQ20hI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781916; c=relaxed/simple; bh=TsyxZ34/uk8jH+7pi9gkNKFwME87qom8rRAB+x7I9U0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fBl/OihVcffiLRJswFGFsHmYurYJl+G9wA07v599/EwhlJ8cgkV6JtiN4pIuaQTGzwMawmKX8BVsfeqTx528VWRNKYSqD1nxJ35n63vNBi3AsA9cZODvw6aIYMOX2p42pROnKcUCbBoiZz2uaugP1LE8h6PeziLxTCW0fwyGgpA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=P7a1/1M1; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="P7a1/1M1" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-38f1e8efe82so4454595f8f.0 for ; Mon, 17 Feb 2025 00:45:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1739781913; x=1740386713; darn=vger.kernel.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=DPqGeqDxSe+aOIAEww9m1M//H8GA90MJiJy6W/MxoXw=; b=P7a1/1M1pYDRLeKVNPY0ep4MJaHT2Jhcs8cF7xKDEaPngx4NcBtJk4h9uv8HlC9qVc S6vHpkjQrouh/7iELXVSacCqyRbmRlWBpBC/7z+oQuTcS5zrAufDChgovbV+AhZ7Wk81 IKmi36GG4iWtQxsN708WH4RSlQGKiQ9XhcQnA3+95ANm9CtOlqTKoQHeyVNQOC2ZVVrv 1ZqevJCTwgYCUQ+j1JVEewKVVr7dEkDhGZa44yBcSZwJBaGjC89Kyzg974EmymOTRMfS zSUXrjlg8O5v03KqwMdig2MkBVNUxg/HSZvCezaa8H0Q2Z2iGxO1NlCELmdmSEO3lq2y mBaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739781913; x=1740386713; 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=DPqGeqDxSe+aOIAEww9m1M//H8GA90MJiJy6W/MxoXw=; b=YjJfQsIjrtRUjRl/QeN6u7ZtdppXY/lajNQIYnvWFR3HsfTb6VdsZABnJrGd5CuJy2 qi/2HLw+uwWWVDzZGoACEggfOH5lDk1QrkSmfREwje/zicPrTX6tUvMr+o1ScXgDOE1b rchHdmsoE9HIozUX7tym4LftQZZrkxj5iqVWVSaEIYGVbVwCJS0iZcsLaA+PMqOcicWH Ue8oI9tLfFl2PAyo5lS7Kwg0M77lbq3iN5dBoha0MRhya+uhLhzOV9WU+azWU4Ii7hSU K3TxRk6L/sAgQV5Wxma6YALbFe5b+WmteCMQVOLQtebwuL3n3QkYplM4ucURJkvoHiR5 42/Q== X-Gm-Message-State: AOJu0Ywpvl38SIXeHr3vMQOB+dDIh0nqkzv6CWtyK75Wvw26u3Hfqqun hTkoBXrpR92soFVK4qt2uG1A1jzdT5AquucXLg3abNsqLeWQEWTwYI+obDtTtKqTP1nYnAEqzWY o X-Gm-Gg: ASbGncv3hzFEJrjSOmLfQxoW2tF3/IZoAoll27NST004k2elXRxcsBijZ9VJhkPx1v8 u4YN+IFHLOfqzxSMZ0bTfoMsl3iLSq/+4pUwmpd6//wo84cV8PyhnivuT088sP4ukVoMAiDR0VX ZlgfFwjmsgANdvG1gLV7HJ4AMvZUb6sPwYQdgizr3YnTYBR14H1D/syKgla0kyrigjfvT856IFc FrPp2hRQLAWjBDqcSjgiISEHRyyz3SlWZcL+GHviCThd+UupcOKEK64i0TdbFRm0JqN2HhEK9V5 jos= X-Google-Smtp-Source: AGHT+IFw2SQlG3mEiHsZKLXfCIe42+z2FtTbwXKzNb64tTScHuV6pXuwf02llElP/bUJfKsa7cfpqA== X-Received: by 2002:a5d:648b:0:b0:38f:31fe:6d12 with SMTP id ffacd0b85a97d-38f33f295f7mr8268862f8f.19.1739781913174; Mon, 17 Feb 2025 00:45:13 -0800 (PST) Received: from localhost ([2a02:8308:a00c:e200::766e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f258ccdccsm11661079f8f.24.2025.02.17.00.45.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 00:45:12 -0800 (PST) From: Andrew Jones To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: anup@brainfault.org, atishp@atishpatra.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, cleger@rivosinc.com Subject: [PATCH 4/5] riscv: KVM: Fix SBI TIME error generation Date: Mon, 17 Feb 2025 09:45:11 +0100 Message-ID: <20250217084506.18763-11-ajones@ventanamicro.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250217084506.18763-7-ajones@ventanamicro.com> References: <20250217084506.18763-7-ajones@ventanamicro.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 When an invalid function ID of an SBI extension is used we should return not-supported, not invalid-param. Fixes: 5f862df5585c ("RISC-V: KVM: Add v0.1 replacement SBI extensions defined in v0.2") Signed-off-by: Andrew Jones Reviewed-by: Anup Patel --- arch/riscv/kvm/vcpu_sbi_replace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vcpu_sbi_replace.c b/arch/riscv/kvm/vcpu_sbi_replace.c index 74e3a38c6a29..5fbf3f94f1e8 100644 --- a/arch/riscv/kvm/vcpu_sbi_replace.c +++ b/arch/riscv/kvm/vcpu_sbi_replace.c @@ -21,7 +21,7 @@ static int kvm_sbi_ext_time_handler(struct kvm_vcpu *vcpu, struct kvm_run *run, u64 next_cycle; if (cp->a6 != SBI_EXT_TIME_SET_TIMER) { - retdata->err_val = SBI_ERR_INVALID_PARAM; + retdata->err_val = SBI_ERR_NOT_SUPPORTED; return 0; } From patchwork Mon Feb 17 08:45:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 13977305 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1430B1AAE01 for ; Mon, 17 Feb 2025 08:45:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781917; cv=none; b=O5n5KC5qLLWbax6sjZffU3OdWFC0G1//u6dlbqVvd3evlx2JOzFd+R7eK6q/8ot9xPB1XTsujZ9buWzDtmJhc6eSsFaLqvZFq3hp/Ir4t8clCg2JCt3Y8mmXXjPkNkb/3UAwg4ftzCHjzKC7aoYrsZs6C6sL4a54J4jmrfImGrs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739781917; c=relaxed/simple; bh=4KWL7WT4m2P9Gzuj6XBNp3VWAe3nw+1IhcUCc4X7DHc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DAg18iUUVY1LK9WeyOTSn0i+DKdMNvRrNBODVAQTAFDEQOMldPl4bpU4QBrYKSdTxNYM3HcXrxKIErXdh4K6hxyVvkR6OaTARNKzZXU4t/i3KsI7OetY4KNBWwfkpyQmeo8nTilh0cRvudIwPdIZQ06GjR9+J6AbL/wa8T9euw8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=CxbrPuFE; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="CxbrPuFE" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-4396e9ee133so8576035e9.0 for ; Mon, 17 Feb 2025 00:45:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1739781914; x=1740386714; darn=vger.kernel.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=tUiohrMXynF4IhELzrFmGh0geLQ0Ng2lOgwpKuwejQg=; b=CxbrPuFE5cerjU+oX0UCAN6SJlWfaT4dtNFADNy9//P0fK8FV1y/bzJntSwlQD9wSt Yl34LsKS91cH8ma9PYaSo1qsY99yz9TPxslCvW0ZaJU3tWX+eRV2pIHwqLkLT9VGmaYH molh6ZwTLG2WPSnjSJbsTiB2ZBvuQqac0i12lE478Uj6Edvf2pZa8wuE70P2kRRy3RPu n2s+igJ6YDEQvEHa9XDlFGXE0K2VkE3tnOynClSCw+FKiObkJi+vf2xIpkETdo7VY1qR vgtNcK2o0bgvVTuweXHt9cHvGH1lZHOVSVhtp9040a1hL95uO/mBuf1IovF8qoWs5mCE 3MKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739781914; x=1740386714; 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=tUiohrMXynF4IhELzrFmGh0geLQ0Ng2lOgwpKuwejQg=; b=wOpRQ+ORsOEJk1qTkpjjILojDnDKkZZqTuJZ52awZAAwq9b8omiNV31QVaVDZZYiaQ KLbQxzZB1YbNUPypwhvOuQbc7ryPB19KVn4Fe/nYn7VUdiva0/BC9eCuxpG5tqVC5hzv wvBEcKA4G7TRsVN2R7oC64jXZCRL+HuTAuMjwKpenrtRLsFw07AHtz5wP6QhEolNYcN9 QW3n3MkYgO1ay46jPxi1BIUL8cORXmZdUUUp/2CdDIkNtzXGPLTKRV2XWU0O4wATnMsf S9s3Eig+jjsfsuwYwAObWGSPfmdIc735RUa1E6d0IJspqR7hUwzTRvBOtGDfr61jI2tS xuCw== X-Gm-Message-State: AOJu0YxkTdBHAtfucTa8e6CYMJ8JRhrPQnM24Wq44MAkRX8ayMNIzx/z nGwlt122bXpBaY1tW3EBN+Q7hB2Cp3X2SsVse81eD5TvaCNXzdvh8NnTJkIAjbl0qthr1gegpxB j X-Gm-Gg: ASbGncvBn1NZXQ6YMyEAC5xJmkutCGyHnUbwQXFrRobS8Qgkr9WqGuBeBwDz0RSc4jo XQ81JvVLQPJ4NIO+qK757tln8rgJwy0HdavR0gxioHeA4ZecD1mdj0DRlUPNw00wBsCvVFgKEA1 +IxWm7r6+5PHZ4+LTxcBERK7ZX+rF5t98Mmg6r0a5JpR8JtzWuIzPHaJwv/RcoIz2uwD1W5Vc+E 6IXFn33+1gC3R3YGoIGn+CDnenzTL1X5f0bDo4BgelUn+h5J53MkRSCzAQXCP6NQO4wkF/sUEKX j8o= X-Google-Smtp-Source: AGHT+IELeloq+YGu7jeWFNzVErrIwYQyO3BkZOQqDo2NauOC4G+f26bXlMmY85lR2Dzf3d+ItLp71w== X-Received: by 2002:a5d:64a7:0:b0:38d:ae1e:2f3c with SMTP id ffacd0b85a97d-38f33c2886emr8174108f8f.25.1739781914336; Mon, 17 Feb 2025 00:45:14 -0800 (PST) Received: from localhost ([2a02:8308:a00c:e200::766e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f258b4491sm11387499f8f.7.2025.02.17.00.45.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 00:45:14 -0800 (PST) From: Andrew Jones To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: anup@brainfault.org, atishp@atishpatra.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, cleger@rivosinc.com Subject: [PATCH 5/5] riscv: KVM: Fix SBI sleep_type use Date: Mon, 17 Feb 2025 09:45:12 +0100 Message-ID: <20250217084506.18763-12-ajones@ventanamicro.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250217084506.18763-7-ajones@ventanamicro.com> References: <20250217084506.18763-7-ajones@ventanamicro.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The spec says sleep_type is 32 bits wide and "In case the data is defined as 32bit wide, higher privilege software must ensure that it only uses 32 bit data." Mask off upper bits of sleep_type before using it. Fixes: 023c15151fbb ("RISC-V: KVM: Add SBI system suspend support") Signed-off-by: Andrew Jones Reviewed-by: Anup Patel --- arch/riscv/kvm/vcpu_sbi_system.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vcpu_sbi_system.c b/arch/riscv/kvm/vcpu_sbi_system.c index 5d55e08791fa..bc0ebba89003 100644 --- a/arch/riscv/kvm/vcpu_sbi_system.c +++ b/arch/riscv/kvm/vcpu_sbi_system.c @@ -4,6 +4,7 @@ */ #include +#include #include #include @@ -19,7 +20,7 @@ static int kvm_sbi_ext_susp_handler(struct kvm_vcpu *vcpu, struct kvm_run *run, switch (funcid) { case SBI_EXT_SUSP_SYSTEM_SUSPEND: - if (cp->a0 != SBI_SUSP_SLEEP_TYPE_SUSPEND_TO_RAM) { + if (lower_32_bits(cp->a0) != SBI_SUSP_SLEEP_TYPE_SUSPEND_TO_RAM) { retdata->err_val = SBI_ERR_INVALID_PARAM; return 0; }