From nobody Fri Dec 19 17:38:49 2025 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (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 206E01DF273 for ; Fri, 13 Dec 2024 11:33:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734089601; cv=none; b=JKxNgMJOuh50JkvdELsezMZbH06idBKIklZR9f++aymqi+e9ZnlOa0II8puZJMSOKV7ucqCVW9BJC/CBA+nytwM8zP++ez3EIFUXUgJhfJe9+EeAVW4iQ3KEnhS/jdSRHmCkdga4eZhPb1EwIzQdEi53M/rL96ubCvkT4GZDRrc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734089601; c=relaxed/simple; bh=xbIhDp8oO/WOy54HbWEh0DC1K4YkZwzlD2oINXShTDI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tkHo1aTe7BH1fBQCalFlrHwF8JI9gteLRp4WFoVxA6ingwczs6oUxhH3PzGDULpc8u60d8OY1M0/SF71dY0BnSXYa7SikEfSUR9b/oYCeSxB80OFlA74OLrkSN95Sg7VLVyb0Wvn/nKPVKR7y/aDG+UcyOsyzjCjnaNvHngSL3U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=h0+UIcqJ; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="h0+UIcqJ" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-21145812538so16513005ad.0 for ; Fri, 13 Dec 2024 03:33:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1734089599; x=1734694399; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=icgAGsVOjevpWNQPqv7Ss8LxbqZxAhRJ45E0lQlPi0I=; b=h0+UIcqJeL6avbhJmsL2RWM6yBYea32f5AvroSCAZYYqcTFiKgzRsRasy71LKq14Db CRm/SJkqMv6mIXKN53P6JGOk9pwFK/z17sQFC+2xAEgLdMDo69Uvwcv5YXhTyolM8gtk Lj828gDdObZdoSkEiOx0NcDufAJ0DjQW2ejlgcFWVzJDNgF9KOWK4+yBvW/7Aw1rnueo VyX43YK/UJp1ONmpf5xmtZSK9UV7m722C3JE230BTCM0yI6SNUB9ht3KgnAK7N2J9v2H HwoCMgbapUtFf8siKGnTCLMTPPfov1zDsPG4QLP5CRoiQB5k6ggJIVc5nuUZ7/pozWdF Q6ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734089599; x=1734694399; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=icgAGsVOjevpWNQPqv7Ss8LxbqZxAhRJ45E0lQlPi0I=; b=OBafJhoOPSuQKgugy1wZwjZxeak4XICNjkDyIe7M9GArAzHVrFoSra89FfDRoNGjtS 3zTUC9clN2NheRVW3eacPtABIyFryoelb3WmW86Q9kcB7UqZsWb0BALT6+S57QSzbI+5 JlnW5keJVKTjJ4eTM0l8/gMrE6ipeEf08edWkrIJCaG1Yl5/xG9ZSb7Djq5c4Wy/fS4p /8FjokqlrTfLrtzbz5CZ6fUBeyOTaBsaUATJDNApH/PLwE2rGoJPDSig2CBbv8WfV1zO jUOAqwzid5V3yNzroh8mQok4E62VzPw/ASa2ZtC36dsKTB715cUChJl3pNtfwF6JPUuw iyPg== X-Forwarded-Encrypted: i=1; AJvYcCUN5W50XHuDHUlmUyqF0gtbMpizYENjAFZY5t1zLJdyXSuedVQrj6bTveEUVVegGiIk+v094mefjNDjNZI=@vger.kernel.org X-Gm-Message-State: AOJu0YwgTBZaLoL56fVLsjPh7LRM30bXXYsaqPaAiZSMG9GhwYZuqops wW2Ev9wss533Qi45VsWdeYZvq6LZTE7KElk4z5ycPyynbHr2AOsjnOF9tbjv9Q0zR6kDyUfMYhL uFSlnq29BwL50Ii/Mfvs3Lbz1DbTTk0iJq6LK9S6Lti4WA7tfamoM31dyGmBKGKu5nDauYGr8YW 6TCn6exoEAQpAi3egjUnpjjxE3zPuWUTUgqL+UCXycmsB9Iw== X-Gm-Gg: ASbGncs+0ORhOPRuonmNjVF8WRg5GJGDjveGfoVScbJCv41A1IEqfMq3tcc4KEy37/g UED+dcFwowI0Kj9MdfhMdSGHyutGubD+VQx/yNwAjE+X2CbDqnmOw2oRlCX9l4uzVFaCn3wAtSE oa8r6ywqgnZU90EJZKraJubVvYfSQnmVtQaNq9C1JSEfE6XoEwq8yrvxiI8HaBfslE6/nxauH+i SzJx83JVHDNGq2gbIbGke5pM5pwd0om6gdsBv9DyVEwSYkpTeUO+NA= X-Google-Smtp-Source: AGHT+IH2nEHURvGX68aXCJdkw52YFqLvsUkNAPq2G06B97z/rQ/3gyN8DcjgMGnawbesNCdYSpjEag== X-Received: by 2002:a17:903:944:b0:216:356b:2685 with SMTP id d9443c01a7336-21892997a65mr37133475ad.11.1734089598772; Fri, 13 Dec 2024 03:33:18 -0800 (PST) Received: from [127.0.1.1] ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21631bd2c2dsm103327125ad.263.2024.12.13.03.33.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 03:33:18 -0800 (PST) From: Max Hsu Date: Fri, 13 Dec 2024 19:33:07 +0800 Subject: [PATCH RFC v4 1/3] dt-bindings: riscv: Add Svukte entry Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20241213-dev-maxh-svukte-v4-v4-1-92762c67f743@sifive.com> References: <20241213-dev-maxh-svukte-v4-v4-0-92762c67f743@sifive.com> In-Reply-To: <20241213-dev-maxh-svukte-v4-v4-0-92762c67f743@sifive.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra Cc: Palmer Dabbelt , Conor Dooley , devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, Max Hsu , Samuel Holland , Deepak Gupta , Alexandre Ghiti X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1527; i=max.hsu@sifive.com; h=from:subject:message-id; bh=xbIhDp8oO/WOy54HbWEh0DC1K4YkZwzlD2oINXShTDI=; b=owEB7QES/pANAwAKAdID/Z0HeUC9AcsmYgBnXBt33aT8cTBv8JfrlGJUVUqAqLodDIB5ZxZhE 4P4NvcJji6JAbMEAAEKAB0WIQTqXmcbOhS2KZE9X2jSA/2dB3lAvQUCZ1wbdwAKCRDSA/2dB3lA vQgKC/0X8yRuSVKFECTI3UVo5o8Yu8z7bDY6iBTo9p0YPcST9UEA2hm3B1sYvcLLIPqJfY/FHfm fDxqXZbAHlkAc9PlOwh13cx1ruE81roJ/R0HQ+cwtti1f63c9NKk/j6+jUZa2vc3WV58HGhR2ia +75mY06ejduOZ5ZIZOzxsQb5zRV6MHMGvYZEE/6jlgImAIKuiPjk+jPlNPRKvQ1hgej0mCWsDeo 2EBIaKveoleQgmZOH9bTY/AiU6QtofpWkhUCjKyMWVgSpRzvKEAMSS/e4FiVPNRagaEjZMUSKPR nNZADAPlSHPkXUqZ8IiCyaTC2CgzPqLG011MoG6NF3foWxxC3uUWITrw4V0wX7LhuGRsN1Da3b4 7SxHbyHtkMzmlqoVc+QfBpB0T9klnw/P91dVZFAXotI/gM4mQwPk40KLHBvwdJytvabCH1ZWvs7 5NMae2znE4oN066eZIGKaIZYBHUC9VSkEEpSJM4fGNrnsYrd3sgCSaRHh4t2pUZqwtMA0= X-Developer-Key: i=max.hsu@sifive.com; a=openpgp; fpr=EA5E671B3A14B629913D5F68D203FD9D077940BD Add an entry for the Svukte extension to the riscv,isa-extensions property. Reviewed-by: Samuel Holland Reviewed-by: Deepak Gupta Reviewed-by: Alexandre Ghiti Signed-off-by: Max Hsu Reviewed-by: Anup Patel --- Documentation/devicetree/bindings/riscv/extensions.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Docu= mentation/devicetree/bindings/riscv/extensions.yaml index 9c7dd7e75e0ca35f76eb666cdacfc297a7570958..b5d90765a376e065797ffdddf35= 302ed51ca7df1 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -217,6 +217,15 @@ properties: memory types as ratified in the 20191213 version of the privil= eged ISA specification. =20 + - const: svukte + description: + The standard Svukte supervisor-level extension for making user= -mode + accesses to supervisor memory raise page faults in constant ti= me, + mitigating attacks that attempt to discover the supervisor + software's address-space layout. Currently under review as Pull + Request number 1564 at commit 932cfa4 ("Move senvcfg.UKTE to c= orrect + position") of riscv-isa-manual. + - const: svvptc description: The standard Svvptc supervisor-level extension for --=20 2.43.2 From nobody Fri Dec 19 17:38:49 2025 Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) (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 E678B1DFD91 for ; Fri, 13 Dec 2024 11:33:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734089604; cv=none; b=PCGlLGPzBjui678a5ATNSeOREfb6Eu5ZFqh/APwliZEfUfXbNaot7FiHCwJVh9i4LwusJ8wXbaMZ2Io8M86VGg5FYMet0oMej2plbkFFiS8UVq2KbfT2C25cvoS/kFbiJCjqWb8kd6wfuqFa8AJnPJt3TAxVH/c0wpESpvOzjBQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734089604; c=relaxed/simple; bh=LdPuysx21Ofb0xvFzV8QxmW+nt/zKZ5xS3FFhbJOK4c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nHvdpClSDTw95RF1uk5+h4dnKszSbsO+EN/FrDiB8uUAwLk/FUgPJf+9iivqY2OuXnkCGq6kgXupRS2bjQmEzhxa49wQMmamstTsLgq69Ae7no/7/8hoI/zWKehUWAPQNp245dH173DKsoL1h+QRpsgRHB/9J6li7J6Z5eRS1LY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=exXTi5/Q; arc=none smtp.client-ip=209.85.214.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="exXTi5/Q" Received: by mail-pl1-f194.google.com with SMTP id d9443c01a7336-2156e078563so12714895ad.2 for ; Fri, 13 Dec 2024 03:33:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1734089602; x=1734694402; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nuxCIDMe8qbaOgSvtMiepAGljhokMOIMslTwK0Fvg2s=; b=exXTi5/QRHd/lEdEifeOHCnKjtgTnt3L7VvJ2iDvhP28GkCTqvnin2GKCqq96Gamzv NCGb7mFHqxRFzJbUOqJ75JTe1aEFnK5eKfWMWmlFaSAG0NlZHpe0cEaqqMX/5sfgDiul BLwdhYUbZTyktfluljG6Oy8jvdepvwnb4rbsLWYud4HDyymN2J3sx4YgrD49HXQduU/I kZ/HhqnG6CeEpVTEhyRvx/1tMPqkY40LopTjoPANXqFSnGUu78nY02P3juPRf49EzvxF N8gt3C+rBbeHQgSkla92VIS5/6+HClh7a2N+2b2Pi+SS+sf3WB5EHU3ywIzQN8e8Mwda lNVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734089602; x=1734694402; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nuxCIDMe8qbaOgSvtMiepAGljhokMOIMslTwK0Fvg2s=; b=V4hnrSANoAD6j5rYHFOVtUp5Cz5SrJB/FWENKKA4cfLgpSdpErpzedyDFN/oDSKEVL wjralontTpWfvrTnn0eaPTeOoY/1PfpTxNU4rokvDSnq2u9p7yhoYE6GbDQ2nXXi7Lo+ Zif6UCciZ7nZYnV8A7GqHpe+aMqcmiU8xECUPJDrFFZAcAfQ8lYAo/CXWd6kM3X4aaGY KGWIquhtuweB7bZhiQ+gqOAlll0Qp6viGHjcwulEUtmoPMup4Cp9wxeZI6MU++fqWuKw rt8DZO8sV82oS70A2mSCZ4Yw+MoxK4wJcMxABjuCjiHYwT4w75MocqcGX/vb4jXz1ofm J4hg== X-Forwarded-Encrypted: i=1; AJvYcCUXZCnmGvgBKBOhTfuwbFaRPyzwwfd69dHknFyodWJbwTf+Jh1gOxi8TqHqt7rCObVVGa5ONgMQVQAsw6k=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5qROEsQ1VjMJ3aHyCFuW1xT/3yofT/y6ldTR3lU6RC+OxkTTr 4qC7KFq/Dai4Kz08KCoSr0O7BDU/g+fwX8Np2lQSJnjyvQb1vhARr0HYdOk0+5Y= X-Gm-Gg: ASbGncvd1uxXk2CtT8ckukQ0PIGsTH0v2VC7ec9JvAe4I8L2YL8quFSSAvdVvBPjgmW EQgQnruPxcggIbm3WRqxtXJKHeolTsEH1YIqBEotEE23KH1PLa0DI5rXDIFCSFsNnuKu1aLMYah ZHEVV7pj0ZrB2mqoM00q4xB/BWjs33K6afdMGT9FBfykA8eDs8IuEpAUU32tBOTHnfBzL+fm/BV l/HVLKNvgOWn43azS8TggtVjXJHdXokH3wdFfzKdZifUIdUhdtut4U= X-Google-Smtp-Source: AGHT+IFZ6i4b8fOxVCmjx+lwckw8Xv1f0ANQiCeNQYxiBu6aqzxk8+O3BUIvgfb3ruaR891H/Kr1qA== X-Received: by 2002:a17:902:f68c:b0:216:48f4:4f1a with SMTP id d9443c01a7336-218929c3556mr29884975ad.16.1734089602210; Fri, 13 Dec 2024 03:33:22 -0800 (PST) Received: from [127.0.1.1] ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21631bd2c2dsm103327125ad.263.2024.12.13.03.33.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 03:33:21 -0800 (PST) From: Max Hsu Date: Fri, 13 Dec 2024 19:33:08 +0800 Subject: [PATCH RFC v4 2/3] riscv: Add Svukte extension support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20241213-dev-maxh-svukte-v4-v4-2-92762c67f743@sifive.com> References: <20241213-dev-maxh-svukte-v4-v4-0-92762c67f743@sifive.com> In-Reply-To: <20241213-dev-maxh-svukte-v4-v4-0-92762c67f743@sifive.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra Cc: Palmer Dabbelt , Conor Dooley , devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, Max Hsu , Samuel Holland , Deepak Gupta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3057; i=max.hsu@sifive.com; h=from:subject:message-id; bh=LdPuysx21Ofb0xvFzV8QxmW+nt/zKZ5xS3FFhbJOK4c=; b=owEB7QES/pANAwAKAdID/Z0HeUC9AcsmYgBnXBt3eMXow98+LeyNOGLt9sRJUeftUptMMHTfr LOMd2baOgWJAbMEAAEKAB0WIQTqXmcbOhS2KZE9X2jSA/2dB3lAvQUCZ1wbdwAKCRDSA/2dB3lA vaLCC/96w2hpgaZxW2gTD9xyx+m6UFTOHkHPCwOB9gPWzgxY2+SUx/wcYgE/0qnki6dxvO1o6+N a/HfwfIcN+EIHHdaN7OYoZvY0uvVQ/DCw0dH41jsZwrYVsQ3KxwlVEsAFx4LJwxQrNy8LdY60dJ JxZEVae+hLwZeVx/SUSvJzOaJ4L27NOpqHYHY65QgH7ZIKK9GA1ZygKrV1g/kKvSmfzH3Ad56xm JW7gvRfQrEpDAxOlc1vr2GwzlrbbrrfWgli5HiqmnFqVQZ6SyodaYuY6N+TDzBm/Knwy8HtrvRP QU2/h4B2NbuNNfAsfVFFo/oySwbEsxhnRR7oYGmSWgNt6eDsGZVZiW9y7XGlv5pNhpHDsYvGqNA e7GIv9NuLmxirqBSseZQ+C9Yd7W4q2oSdG/LNp9IEmI1zoGDGRB/TZByvI+6Kj6iww3XACvuVc6 NeyaIAIonLUhLS4GCs9hP0CITzjlY4DKMbut0ZR/t+ZgzDaGKMhdbgQ1KVicEZ4VP+6Jo= X-Developer-Key: i=max.hsu@sifive.com; a=openpgp; fpr=EA5E671B3A14B629913D5F68D203FD9D077940BD Svukte extension introduce senvcfg.UKTE, hstatus.HUKTE. This patch add CSR bit definition, and detects if Svukte ISA extension is available, cpufeature will set the correspond bit field so the svukte-qualified memory accesses are protected in a manner that is timing-independent of the faulting virtual address. Since hstatus.HU is not enabled by linux, enabling hstatus.HUKTE will not be affective. Reviewed-by: Samuel Holland Reviewed-by: Deepak Gupta Signed-off-by: Max Hsu Reviewed-by: Anup Patel --- arch/riscv/include/asm/csr.h | 2 ++ arch/riscv/include/asm/hwcap.h | 1 + arch/riscv/kernel/cpufeature.c | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h index 37bdea65bbd8a1a313cc7ba00b80fc5071b9809a..aeb62e9901452f8ded56961ab31= dabbb2fd22cc6 100644 --- a/arch/riscv/include/asm/csr.h +++ b/arch/riscv/include/asm/csr.h @@ -126,6 +126,7 @@ #define HSTATUS_VSXL _AC(0x300000000, UL) #define HSTATUS_VSXL_SHIFT 32 #endif +#define HSTATUS_HUKTE _AC(0x01000000, UL) #define HSTATUS_VTSR _AC(0x00400000, UL) #define HSTATUS_VTW _AC(0x00200000, UL) #define HSTATUS_VTVM _AC(0x00100000, UL) @@ -204,6 +205,7 @@ #define ENVCFG_PMM_PMLEN_0 (_AC(0x0, ULL) << 32) #define ENVCFG_PMM_PMLEN_7 (_AC(0x2, ULL) << 32) #define ENVCFG_PMM_PMLEN_16 (_AC(0x3, ULL) << 32) +#define ENVCFG_UKTE (_AC(1, UL) << 8) #define ENVCFG_CBZE (_AC(1, UL) << 7) #define ENVCFG_CBCFE (_AC(1, UL) << 6) #define ENVCFG_CBIE_SHIFT 4 diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h index 869da082252a460559c9beea3829cc90860d6e9a..811c34d64df88dff116abb52e05= 054715a474dc5 100644 --- a/arch/riscv/include/asm/hwcap.h +++ b/arch/riscv/include/asm/hwcap.h @@ -100,6 +100,7 @@ #define RISCV_ISA_EXT_ZICCRSE 91 #define RISCV_ISA_EXT_SVADE 92 #define RISCV_ISA_EXT_SVADU 93 +#define RISCV_ISA_EXT_SVUKTE 94 =20 #define RISCV_ISA_EXT_XLINUXENVCFG 127 =20 diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index c0916ed318c20e2e2f6354a3a4be1f4437f7f564..932774350de42ec9b66fd7d00ef= b478ad55856f4 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -402,6 +402,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] =3D { __RISCV_ISA_EXT_DATA(svinval, RISCV_ISA_EXT_SVINVAL), __RISCV_ISA_EXT_DATA(svnapot, RISCV_ISA_EXT_SVNAPOT), __RISCV_ISA_EXT_DATA(svpbmt, RISCV_ISA_EXT_SVPBMT), + __RISCV_ISA_EXT_SUPERSET(svukte, RISCV_ISA_EXT_SVUKTE, riscv_xlinuxenvcfg= _exts), __RISCV_ISA_EXT_DATA(svvptc, RISCV_ISA_EXT_SVVPTC), }; =20 @@ -944,6 +945,10 @@ void __init riscv_user_isa_enable(void) current->thread.envcfg |=3D ENVCFG_CBZE; else if (any_cpu_has_zicboz) pr_warn("Zicboz disabled as it is unavailable on some harts\n"); + + if (riscv_has_extension_unlikely(RISCV_ISA_EXT_SVUKTE)) + current->thread.envcfg |=3D ENVCFG_UKTE; + } =20 #ifdef CONFIG_RISCV_ALTERNATIVE --=20 2.43.2 From nobody Fri Dec 19 17:38:49 2025 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 59F181DFE13 for ; Fri, 13 Dec 2024 11:33:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734089607; cv=none; b=b5Wf9ZuYsbWIw7Ug5vsLEeDk6KyJ39x9Q0oOOnYfqLGDw+G3jIxDWAVCHVg256hzv+rB9OId0bI/HQzSWdHlgf8MJA7XTecWLWQepzzsWgtq5KhiHON8sEbx5b8wSYmuKzerF3rI9vVkGXUL/OGBQCnO82W7mvmy9V0jt/Iv57M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734089607; c=relaxed/simple; bh=dkJiuVnAYPALmPp61+7Ff1id1Mwaw6rbYo70OgRM4jg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hx2I6QA1f8QgbRVDpZp6TwIPanrSdMCk8SXs1Kted7ZTJACJuqvyn5KVtIeELJmrACf1YCh8t2CHtF1RWwEI3nTuVxjtSky/2owdeJLvyW/rOmZ2lZ8tlneFom7kbNe9Eu5Ei8VrkW7Q22wIbbxM1g2iMmdZIXXvMIJ4KafskKE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=TDHYwHqU; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="TDHYwHqU" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-21636268e43so21062065ad.2 for ; Fri, 13 Dec 2024 03:33:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1734089605; x=1734694405; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NEtptHTU3kr3P35YLmk81GIPaJu3IDUx/dDsQSqkBrs=; b=TDHYwHqUVtmP5626+IALUU49ujdgxq0aGbdfhUfNtvLsu2ImX3hnOPD9Ryo62qX3ij vyMoERxBaHtIxZoUemp3F95bV0YWY3WUhZ5Fbz3616y4ijsln0eSZf7BLuoZsJ3Eyixo JAEwo8cJc+yVq82TCdb3MxTgS0j60AAxej2jftImBdyUjONsWFC320PCVjHVzaFX0rqy MJaxNgPuJBolPf682aJkIsMluWY1rcSVGsXAkapnwbgVrFYP3BQIHMJA7WdexFOFf8ql jAbmEUH0lBOwNeywtK/IfnM7L1nJXApVueD9Bu6z4C5GQfxnKTomlpQzSrrVdgLnzqcH mRcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734089605; x=1734694405; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NEtptHTU3kr3P35YLmk81GIPaJu3IDUx/dDsQSqkBrs=; b=hpgXqGgmGdn2CpMRNg7Fa7Ny2mcDGzaEtveWjQaOxquRkDGnQ6iuDBuXzILMSJEwxa qyKg0ahisvkFdnu6xpTwnD3Q54BeBMwraqMK90gNsS48HzGRPXA1x3SoYKM3sC/vFCC0 A21pyJ6zIZPJcVfu3IWNGNCHL6AZCXXjq6639LeC5BbgB6U7j6AWF0qJybbk/0gAbujO FHj/v6Sl2/O2qqBPMyhjeYmKCzt7Wn3wzt4FRz30t2uh8aLFypxssDeTx9ZYiDdXmhyz e6AOW3s2dfSVedM45/H5aPVrNQAS4Ppjb6Kh4EY9nieuQm8nM+1L2qFeJi3aOWOUoTes XONA== X-Forwarded-Encrypted: i=1; AJvYcCWzTdbP7yzT4tFsC4CaK+M3Tin8STqbGshSzN3NL2P6qTJWidEymAsYseIK50aDZmoSSRwlCBq4jn8N6ig=@vger.kernel.org X-Gm-Message-State: AOJu0YxmB30/dQawkBDr9Tn8qDR6PFJHEsyth7GfkFUx1Iv7wMZPbc/9 U7JWtmYKjPI7OwxRlEM4Oto78UWjx7rUrBPyiUWGSp8fnon3/5rHKZOzXgYuQBc= X-Gm-Gg: ASbGncsZ3nbOTRqNtIazZYqgEEcGFV4x5+EnVeT9Ck8OIWwkjPLMoth0sf5hmRbYZuZ K1yOKpdUjHxftlcoRWQNXNwoUoMztc8YZWPMGP3rHEpj6a0gFRf5uAxFcISf8LIbXX60Pe5kYxS E395PnXBHRbRIXMc744E0hSO4BZjR7OrshYNLV3svMTaNXSrwQqDiEFW7bNlpaUyAhdZXCwWcme sXk66Tdxe+saoYpL5C2xZDZUfMUdjObqzMr/PG71maXyKbSDIQZeTI= X-Google-Smtp-Source: AGHT+IGqLFD7+ohjLCw5KHfPU8C+4COV+XiGB8UR/WxQfVhsIQvvpPgvT8BLHFS9OjcnFJAe1uWA+w== X-Received: by 2002:a17:903:191:b0:212:55c0:7e80 with SMTP id d9443c01a7336-218929b9b15mr27260825ad.20.1734089605533; Fri, 13 Dec 2024 03:33:25 -0800 (PST) Received: from [127.0.1.1] ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21631bd2c2dsm103327125ad.263.2024.12.13.03.33.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 03:33:25 -0800 (PST) From: Max Hsu Date: Fri, 13 Dec 2024 19:33:09 +0800 Subject: [PATCH RFC v4 3/3] riscv: KVM: Add Svukte extension support for Guest/VM Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20241213-dev-maxh-svukte-v4-v4-3-92762c67f743@sifive.com> References: <20241213-dev-maxh-svukte-v4-v4-0-92762c67f743@sifive.com> In-Reply-To: <20241213-dev-maxh-svukte-v4-v4-0-92762c67f743@sifive.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra Cc: Palmer Dabbelt , Conor Dooley , devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, Max Hsu , Samuel Holland X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1889; i=max.hsu@sifive.com; h=from:subject:message-id; bh=dkJiuVnAYPALmPp61+7Ff1id1Mwaw6rbYo70OgRM4jg=; b=owEB7QES/pANAwAKAdID/Z0HeUC9AcsmYgBnXBt3hKCUiKWCXnJ+7Ph45oRx31ZpZbzWBP7Ga j9uhhsDjAiJAbMEAAEKAB0WIQTqXmcbOhS2KZE9X2jSA/2dB3lAvQUCZ1wbdwAKCRDSA/2dB3lA vewBDACLJG8wmLy2oyopVjS0Gh86DuPlouo7WZyKUbQtzArWQ+Ar+yE2dNY2VOstAKk6TnsyA9e V9qsd8G9KerwiJMf1Zfq1DM6cw/JsErLXMQ5aFnKT0UcbnFK6g2vx0VsF4yRF5T7xhXHJfOZ7Yh gMIRyvjrb7G+98hgjec4LDP4snG4/wDt+DDc2hXR096zGtsmpNUSBTC3GWz2YZGUyVs4buSoHaI OQ6dViZ4g/If+kSyd9w+i8ivWppTY8O3Chuermdf1DUAj7cBLDHnRiDTxWY7odfEt3F/FuTavRU VDp1vrJt4MJErbMJ5Z0v+cbh0Rw7Dv+QxGR5ozvJTxs4g6eRQl3T8CPRkW5e7mezG4Jly5XE5bQ FPiATWmhpzvKkqJWIaPUKMyIDsik7dapDN5adPUKa8HPpCwJtVS7Au09SAGzfPIiUiph74LCF/L Py+0lp5CJ9El/UnUBZBQZLr5wR3ZJSNsF9uVdYEuWeTuD9hT8dDXWcpsD9SdQB3UFYIWw= X-Developer-Key: i=max.hsu@sifive.com; a=openpgp; fpr=EA5E671B3A14B629913D5F68D203FD9D077940BD Add KVM_RISCV_ISA_EXT_SVUKTE for VMM to detect the enablement for the Svukte extension on Guest/VM. Since the Guest OS may utilize the Svukte extension simply by setting the senvcfg.UKTE without any trap to host. In the view of VMM, the Svukte extension should be always presented. Therefore adding an extra entry kvm_riscv_vcpu_isa_disable_allowed(). Reviewed-by: Samuel Holland Signed-off-by: Max Hsu Reviewed-by: Anup Patel --- arch/riscv/include/uapi/asm/kvm.h | 1 + arch/riscv/kvm/vcpu_onereg.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/arch/riscv/include/uapi/asm/kvm.h b/arch/riscv/include/uapi/as= m/kvm.h index 3482c9a73d1b644385182436192914f34b50b997..57b3abfbbabd967721f140b65f5= 8f002e770eb6a 100644 --- a/arch/riscv/include/uapi/asm/kvm.h +++ b/arch/riscv/include/uapi/asm/kvm.h @@ -179,6 +179,7 @@ enum KVM_RISCV_ISA_EXT_ID { KVM_RISCV_ISA_EXT_SSNPM, KVM_RISCV_ISA_EXT_SVADE, KVM_RISCV_ISA_EXT_SVADU, + KVM_RISCV_ISA_EXT_SVUKTE, KVM_RISCV_ISA_EXT_MAX, }; =20 diff --git a/arch/riscv/kvm/vcpu_onereg.c b/arch/riscv/kvm/vcpu_onereg.c index 753f66c8b70a72e76210075b4e07849741f614d4..50fbbe5bade6af83977bac6d381= 688fea80e7945 100644 --- a/arch/riscv/kvm/vcpu_onereg.c +++ b/arch/riscv/kvm/vcpu_onereg.c @@ -46,6 +46,7 @@ static const unsigned long kvm_isa_ext_arr[] =3D { KVM_ISA_EXT_ARR(SVINVAL), KVM_ISA_EXT_ARR(SVNAPOT), KVM_ISA_EXT_ARR(SVPBMT), + KVM_ISA_EXT_ARR(SVUKTE), KVM_ISA_EXT_ARR(ZACAS), KVM_ISA_EXT_ARR(ZAWRS), KVM_ISA_EXT_ARR(ZBA), @@ -145,6 +146,7 @@ static bool kvm_riscv_vcpu_isa_disable_allowed(unsigned= long ext) case KVM_RISCV_ISA_EXT_SSTC: case KVM_RISCV_ISA_EXT_SVINVAL: case KVM_RISCV_ISA_EXT_SVNAPOT: + case KVM_RISCV_ISA_EXT_SVUKTE: case KVM_RISCV_ISA_EXT_ZACAS: case KVM_RISCV_ISA_EXT_ZAWRS: case KVM_RISCV_ISA_EXT_ZBA: --=20 2.43.2