From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 CC02E1CB518 for ; Thu, 24 Apr 2025 18:04:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745517845; cv=none; b=kxp1Gr8CyQ3iwkR4I66eBAu4x9V5P3PEw17kLPXldhbonniMgTdXuF7PPLELCDhEeKZsJvfeToPYd8VhJq7Tfcm0RivIWVpcPUSS3+8+l/SB3gY1rSNvO2kOYWMW0qYsiWGqHbSNY08fxjTbG7H2NuBfbemsgJ80RuDfZ7HICoY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745517845; c=relaxed/simple; bh=uPn6plOz3AG5jrEfFpRZaDs6P0aP85UrPumlULvK+r8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=KEZfw+HGaD6SK2ap55QVjPFqMQt5gC2q3iNb8N1olRFl1Fsl8ILz9uAydTMQnLvnJYJ39ZmmQaGhtLnCRD9v3aVGwC5GK/j7LeKWcFxzYhTKGwUFzKxgdb6wvHAoO0hQSpRgcfOIqsau2YnVQP8M8we7uiJ7Z54ouhY2FryUIyI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b=BrzPX+ns; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b="BrzPX+ns" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2295d78b433so16307225ad.2 for ; Thu, 24 Apr 2025 11:04:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1745517843; x=1746122643; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=R+2ifGTP7Zuk1f3PGxpKoh8D1eRLE/ZHAefBGZIpiLo=; b=BrzPX+nsbBbhPpijNsceUyyDomfenzy/7GbMN64AroqKTxoylv2ovD6hn0CRWqBlxs ulrrWRaiMYzHEdGqjtf/3RqjjwY6kRG5bEvpPsloj2x6unflxrvd7OZeFcolPB3CVKBE eupWPZWQUEaGbsD7rKhdEueNm0qf1/qtRRW05uUzXnvTB3AKt5nuHzXOrHtTr5XnD6Ri jXZraAzv+36aPvl7LB8SMNA+JU/JJaS+pw30Qwz7cznpfAC76YlfziI4Qwx4v8iXAy2a O6FSsZL5LpnN3TihyjvB5S0s3dnYShOd4bWtKX7O65OT7pbg3b2/Gk0NB+qX7HIv4Jmr bHKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745517843; x=1746122643; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R+2ifGTP7Zuk1f3PGxpKoh8D1eRLE/ZHAefBGZIpiLo=; b=Iit7b00mAKh2zw5NjrGhajW7wnqmrNveTgNUHh7WEdXX6nmdf1Se607miPthrO9Dh8 Cl3maV+eJCkx3eiSPvpmjcIvlrrmFQptCS8BzdF3rGCSdd+31BUi9Nj9eE+I/NpeRKpb 07x3MZ4aYcuGFbW6nlZV71TMznAnCbuj9OXMA3380xa7JnA4ZUZu5GPhvV2l3UDwdWsT C/PFbEXiGGZCZxYJjh5HqvlABbh3joMc7DPXFvJRsaANvt1hq3Uj1WfdJ6BUXWzR2bFK MNHyPvRRg4nXijuEHBQyVJghCNj11rr/EVuJPNQgYZsJuYhN7GyYdEQ+/ANJ61r3zs/h Sb7w== X-Forwarded-Encrypted: i=1; AJvYcCVHRZBDg9eTVRqrUr1xO3+zRA8hezViEkFrY5dJ+YfeyfxJT5eUqSkh82kF4KXJFFXs/ypRdVvqI4po@vger.kernel.org X-Gm-Message-State: AOJu0YwDh5iH04hZAXxI1rWbOwVef4wtBVWP2Hrlo08VSD6rYAdNKeaC Axdex25t99AW67sKTI+QtEuCsmHPvcmuRiVp5PfQjyzmAnD/zmK8H3+8prHOQN8= X-Gm-Gg: ASbGnctNfmIX6qMRapImxc2vfi1ejea578mPjjq+plRK1xzjs3twiAmyYE1qfeI5L13 vjIEmR6D8ipXDrtC6bRqSGc1iNF+p3fYhhMQ6y3/3aSmMhoCPID0j0g/zdvNSTDBtVxCIDt04UB qIKaWFardOE/jVoSNoJS9WJLLDOF255sKjIpLqad0EOD+f0GY7qz2z015T1D8w1eYSVzFq1CVbU SduEkfmy4reKiPRuUk+HyXekARfaq/nxp9rcsjKZJU8ly4jyH1fvXzG41AZ8AW6CLbnFWvHQGi9 XKvtpe3tXpdMwhqXlgptK4Y0z1owNpfRJYXHZz6aUHjm5ZwpDGQ0yfanlUtElw== X-Google-Smtp-Source: AGHT+IEwApZFffChVQ3IgP8GwvBv+BNm7qJFv/s7tyP4mivow/7aAesEdu2H5hIh83xgouvcI3whKA== X-Received: by 2002:a17:902:cec8:b0:21f:4c8b:c514 with SMTP id d9443c01a7336-22dbd46edccmr5459035ad.45.1745517843026; Thu, 24 Apr 2025 11:04:03 -0700 (PDT) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7ec0bb2sm1513897a12.18.2025.04.24.11.04.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 11:04:02 -0700 (PDT) Date: Thu, 24 Apr 2025 11:03:59 -0700 From: Deepak Gupta To: Radim =?utf-8?B?S3LEjW3DocWZ?= Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , Paul Walmsley , Palmer Dabbelt , Albert Ou , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Christian Brauner , Peter Zijlstra , Oleg Nesterov , Eric Biederman , Kees Cook , Jonathan Corbet , Shuah Khan , Jann Horn , Conor Dooley , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, alistair.francis@wdc.com, richard.henderson@linaro.org, jim.shu@sifive.com, andybnac@gmail.com, kito.cheng@sifive.com, charlie@rivosinc.com, atishp@rivosinc.com, evan@rivosinc.com, cleger@rivosinc.com, alexghiti@rivosinc.com, samitolvanen@google.com, broonie@kernel.org, rick.p.edgecombe@intel.com, Zong Li , linux-riscv Subject: Re: [PATCH v12 05/28] riscv: usercfi state for task and save/restore of CSR_SSP on trap entry/exit Message-ID: References: <20250314-v5_user_cfi_series-v12-0-e51202b53138@rivosinc.com> <20250314-v5_user_cfi_series-v12-5-e51202b53138@rivosinc.com> Precedence: bulk X-Mailing-List: linux-arch@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Thu, Apr 24, 2025 at 02:16:32PM +0200, Radim Krčmář wrote: >2025-04-23T17:23:56-07:00, Deepak Gupta : >> On Thu, Apr 10, 2025 at 01:04:39PM +0200, Radim Krčmář wrote: >>>2025-03-14T14:39:24-07:00, Deepak Gupta : >>>> diff --git a/arch/riscv/kernel/entry.S b/arch/riscv/kernel/entry.S >>>> @@ -147,6 +147,20 @@ SYM_CODE_START(handle_exception) >>>> >>>> REG_L s0, TASK_TI_USER_SP(tp) >>>> csrrc s1, CSR_STATUS, t0 >>>> + /* >>>> + * If previous mode was U, capture shadow stack pointer and save it away >>>> + * Zero CSR_SSP at the same time for sanitization. >>>> + */ >>>> + ALTERNATIVE("nop; nop; nop; nop", >>>> + __stringify( \ >>>> + andi s2, s1, SR_SPP; \ >>>> + bnez s2, skip_ssp_save; \ >>>> + csrrw s2, CSR_SSP, x0; \ >>>> + REG_S s2, TASK_TI_USER_SSP(tp); \ >>>> + skip_ssp_save:), >>>> + 0, >>>> + RISCV_ISA_EXT_ZICFISS, >>>> + CONFIG_RISCV_USER_CFI) >>> >>>(I'd prefer this closer to the user_sp and kernel_sp swap, it's breaking >>> the flow here. We also already know if we've returned from userspace >>> or not even without SR_SPP, but reusing the information might tangle >>> the logic.) >> >> If CSR_SCRATCH was 0, then we would be coming from kernel else flow goes >> to `.Lsave_context`. If we were coming from kernel mode, then eventually >> flow merges to `.Lsave_context`. >> >> So we will be saving CSR_SSP on all kernel -- > kernel trap handling. That >> would be unnecessary. IIRC, this was one of the first review comments in >> early RFC series of these patch series (to not touch CSR_SSP un-necessarily) >> >> We can avoid that by ensuring when we branch by determining if we are coming >> from user to something like `.Lsave_ssp` which eventually merges into >> ".Lsave_context". And if we were coming from kernel then we would branch to >> `.Lsave_context` and thus skipping ssp save logic. But # of branches it >> introduces in early exception handling is equivalent to what current patches >> do. So I don't see any value in doing that. >> >> Let me know if I am missing something. > >Right, it's hard to avoid the extra branches. > >I think we could modify the entry point (STVEC), so we start at >different paths based on kernel/userspace trap and only jump once to the >common code, like: > > SYM_CODE_START(handle_exception_kernel) > /* kernel setup magic */ > j handle_exception_common > SYM_CODE_START(handle_exception_user) > /* userspace setup magic */ > handle_exception_common: Hmm... This can be done. But then it would require to constantly modify `stvec` When you're going back to user mode, you would have to write `stvec` with addr of `handle_exception_user`. But then you can easily get a NMI. It can become ugly. Needs much more thought and on first glance feels error prone. Only if we have an extension that allows different trap address depending on mode you're coming from (arm does that, right?, I think x86 FRED also does that) > >This is not a suggestion for this series. I would be perfectly happy >with just a cleaner code. > >Would it be possible to hide the ALTERNATIVE ugliness behind a macro and >move it outside the code block that saves pt_regs? Sure, I'll do something about it. > >Thanks. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from 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 2EC6BC369AB for ; Thu, 24 Apr 2025 18:04:17 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Ut6Muplu8L9dEOo/6MeOhKG5Axon+NPIzLgqV7gdl88=; b=qYdqTvovaDh2EF1iNQ+XJv6xq6 mzc4XTgGuHKMJw0i/9/eglWzIQqgm7bZCXdYkTvNVEYcPnTzcnLh7Eg7dqyx9k63SDazrdC65rwDc 9XbQf9kgHZ6YthKlfgLXG9ZasM/qZ7gW8CaZJ0KLlHCyHdTB/JsI4oj1UtFSD+hcjCO92UilJeH+O SKLCJZ990KQ08DIW4qrPjNsVvdVaV7sBxhKqCmbPymMUfKqQ4Hi3R0mX9TntZBZZPRxWtlc15eHe4 d+uamjepT6Lo6CuFylpgZwjlTwEsuHramnzqU19zQu9fzxkO0T+tUq+HAioXGAR1pzF6KhCthiSuL pO4PhHjQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u80vi-0000000Ey63-1FNa; Thu, 24 Apr 2025 18:04:10 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u80vg-0000000Ey5n-3YDJ for linux-riscv@bombadil.infradead.org; Thu, 24 Apr 2025 18:04:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=R+2ifGTP7Zuk1f3PGxpKoh8D1eRLE/ZHAefBGZIpiLo=; b=J+N2VVe4dZlADXSOrJZbmGxzV8 v67bF2Wx6M608W5Ebc865YGHBWw6H2ZwcdeFvzqfizQW5NUWwLb1SarbH6pWQpT8Om5pmjkxcZD0j zRHyRJu3brI2Yyb9nT5FM5m1NpanBVKPtX0QLvF7Ih09si7dZOi6a8gPL60i/4iXe6AIb2z6xhV4V 7+kHR7w82yVYCT2i6G+uPUEtI47fKL1ardGjWgl10zOSX6PZ7vT63pZ41HfAb4sc1R3k6x7Cty0xy kScSvpBqbu1xKS9BPMxlborGW8m516HOrU1ACmbmtuc68p3Mn1d0JioadCUXt5JW8Sy+AY8w2kgq/ OesN6AMQ==; Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by desiato.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u80vd-0000000BtX3-3G0i for linux-riscv@lists.infradead.org; Thu, 24 Apr 2025 18:04:07 +0000 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-223fd89d036so17814035ad.1 for ; Thu, 24 Apr 2025 11:04:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1745517843; x=1746122643; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=R+2ifGTP7Zuk1f3PGxpKoh8D1eRLE/ZHAefBGZIpiLo=; b=qFAtu/Q9ZcL7w8lLWCe8BVUYfZb84k/XXVAQziTasLMfY1kvNm8qPcgx84v/gquYbX p0A4Rak1n5qNFN7QniF+2mBWjB5UC1zWXFBz6LWIdIQ7rjPLypA3tCYhY8uhRG8GtuvJ xPZHwNsRB4Za1wh5lRLft8YQRkT2b2NKplWL4G6W8kdX3oLi4a3zDdgQg/R0LPYuwiq0 zgTSOsFAnJC7eLYYGCIIl7FLSxI4rpv6e+xBwMSAQ7c4TzG8MYHo4a7v2YN9oKhmB0Zp fZmuIBhEuUjuedJ8MVU3GQ0zRQwhnxRT82+Jw9WMLtdSRT2wjMGRzsSuh32xvfD+yMzu HQAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745517843; x=1746122643; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R+2ifGTP7Zuk1f3PGxpKoh8D1eRLE/ZHAefBGZIpiLo=; b=fhIGGmIziMrF23TxfdwZIPtQpya107QHxPy+uE4PnZjeqZuIZze2+66RLK0iu7b9Xo LyWPjokabJOc/Te0kutxuzvwZ0RixuCOO1XvTc9H1AeFlTa4X+FDx9hElW+vDlvUCK79 TXQdRtIK43W1N6Z/U5c2GoogFTB7fTww1Lq3v6AoeIWZ6o8pCPXCSqhpoFs1oP9l08R8 VZ9mZ95mW9x0jSEOn73ToR+kHfTjNSoqykrTeB4punZvVTJNvLAvE64eJ3gu4ImfDBki halB0Q8Rh3HqXwCrT2hu5k6YydoTS2qzRDxRrDZvloXTENQFMSuaUmPnHMakQSQiicdX CBjA== X-Forwarded-Encrypted: i=1; AJvYcCXTK59Er77mAA9QZdxJyHpzbAYdSkJVW2ZVqobMEi+U4T6zKYSaqGoEtWbXlnx5pdKiZfCWtne0xatdNA==@lists.infradead.org X-Gm-Message-State: AOJu0Yw2efJQ7L+1nM5yziSx30iZdFKBUG/LTbyBB+yBnV/T6P1CyEPF rndEDKDsoe8iqcXOHRagSrfBK7Pl6DnDufm+yhXZzGiFoNFQ4j0Sxi8PWwXbr0E= X-Gm-Gg: ASbGnctgO9OL8f9C5Br42qFPdJtzornfQCRjvB49go4fVUjP0BBGjhwa/RuzKodfzuE HsN20LyY8qn0zqSagmGIguAoLj+fJAuJpStrdBe+k0jAIAhyBT/FU7vt1ImyAjr2ZJwk16ahjIQ Z+vKoucq/rtppgoIHs67PwP0DYHUuAnAGATJK4qOh4Tr6XFvo2ZaAZ+h7C7ZO6o62QCoiF3TLZE vXvPNywPiA7E9+DO4N7ckY5PVy/vYgulTXWvD1TxCznRUjf1V26MAZ3bXeAMROxe/D3p0SPIpT2 XBO47k1TFzcwxfUqkfb46kP5lFaFiks6biLcP3QM8Bn9uyiNjfz7OHiRD4Tw2w== X-Google-Smtp-Source: AGHT+IEwApZFffChVQ3IgP8GwvBv+BNm7qJFv/s7tyP4mivow/7aAesEdu2H5hIh83xgouvcI3whKA== X-Received: by 2002:a17:902:cec8:b0:21f:4c8b:c514 with SMTP id d9443c01a7336-22dbd46edccmr5459035ad.45.1745517843026; Thu, 24 Apr 2025 11:04:03 -0700 (PDT) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7ec0bb2sm1513897a12.18.2025.04.24.11.04.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 11:04:02 -0700 (PDT) Date: Thu, 24 Apr 2025 11:03:59 -0700 From: Deepak Gupta To: Radim =?utf-8?B?S3LEjW3DocWZ?= Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , Paul Walmsley , Palmer Dabbelt , Albert Ou , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Christian Brauner , Peter Zijlstra , Oleg Nesterov , Eric Biederman , Kees Cook , Jonathan Corbet , Shuah Khan , Jann Horn , Conor Dooley , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, alistair.francis@wdc.com, richard.henderson@linaro.org, jim.shu@sifive.com, andybnac@gmail.com, kito.cheng@sifive.com, charlie@rivosinc.com, atishp@rivosinc.com, evan@rivosinc.com, cleger@rivosinc.com, alexghiti@rivosinc.com, samitolvanen@google.com, broonie@kernel.org, rick.p.edgecombe@intel.com, Zong Li , linux-riscv Subject: Re: [PATCH v12 05/28] riscv: usercfi state for task and save/restore of CSR_SSP on trap entry/exit Message-ID: References: <20250314-v5_user_cfi_series-v12-0-e51202b53138@rivosinc.com> <20250314-v5_user_cfi_series-v12-5-e51202b53138@rivosinc.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250424_190405_979661_F1276A66 X-CRM114-Status: GOOD ( 21.98 ) 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: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCBBcHIgMjQsIDIwMjUgYXQgMDI6MTY6MzJQTSArMDIwMCwgUmFkaW0gS3LEjW3DocWZ IHdyb3RlOgo+MjAyNS0wNC0yM1QxNzoyMzo1Ni0wNzowMCwgRGVlcGFrIEd1cHRhIDxkZWJ1Z0By aXZvc2luYy5jb20+Ogo+PiBPbiBUaHUsIEFwciAxMCwgMjAyNSBhdCAwMTowNDozOVBNICswMjAw LCBSYWRpbSBLcsSNbcOhxZkgd3JvdGU6Cj4+PjIwMjUtMDMtMTRUMTQ6Mzk6MjQtMDc6MDAsIERl ZXBhayBHdXB0YSA8ZGVidWdAcml2b3NpbmMuY29tPjoKPj4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9y aXNjdi9rZXJuZWwvZW50cnkuUyBiL2FyY2gvcmlzY3Yva2VybmVsL2VudHJ5LlMKPj4+PiBAQCAt MTQ3LDYgKzE0NywyMCBAQCBTWU1fQ09ERV9TVEFSVChoYW5kbGVfZXhjZXB0aW9uKQo+Pj4+Cj4+ Pj4gIAlSRUdfTCBzMCwgVEFTS19USV9VU0VSX1NQKHRwKQo+Pj4+ICAJY3NycmMgczEsIENTUl9T VEFUVVMsIHQwCj4+Pj4gKwkvKgo+Pj4+ICsJICogSWYgcHJldmlvdXMgbW9kZSB3YXMgVSwgY2Fw dHVyZSBzaGFkb3cgc3RhY2sgcG9pbnRlciBhbmQgc2F2ZSBpdCBhd2F5Cj4+Pj4gKwkgKiBaZXJv IENTUl9TU1AgYXQgdGhlIHNhbWUgdGltZSBmb3Igc2FuaXRpemF0aW9uLgo+Pj4+ICsJICovCj4+ Pj4gKwlBTFRFUk5BVElWRSgibm9wOyBub3A7IG5vcDsgbm9wIiwKPj4+PiArCQkJCV9fc3RyaW5n aWZ5KAkJCVwKPj4+PiArCQkJCWFuZGkgczIsIHMxLCBTUl9TUFA7CVwKPj4+PiArCQkJCWJuZXog czIsIHNraXBfc3NwX3NhdmU7CVwKPj4+PiArCQkJCWNzcnJ3IHMyLCBDU1JfU1NQLCB4MDsJXAo+ Pj4+ICsJCQkJUkVHX1MgczIsIFRBU0tfVElfVVNFUl9TU1AodHApOyBcCj4+Pj4gKwkJCQlza2lw X3NzcF9zYXZlOiksCj4+Pj4gKwkJCQkwLAo+Pj4+ICsJCQkJUklTQ1ZfSVNBX0VYVF9aSUNGSVNT LAo+Pj4+ICsJCQkJQ09ORklHX1JJU0NWX1VTRVJfQ0ZJKQo+Pj4KPj4+KEknZCBwcmVmZXIgdGhp cyBjbG9zZXIgdG8gdGhlIHVzZXJfc3AgYW5kIGtlcm5lbF9zcCBzd2FwLCBpdCdzIGJyZWFraW5n Cj4+PiB0aGUgZmxvdyBoZXJlLiAgV2UgYWxzbyBhbHJlYWR5IGtub3cgaWYgd2UndmUgcmV0dXJu ZWQgZnJvbSB1c2Vyc3BhY2UKPj4+IG9yIG5vdCBldmVuIHdpdGhvdXQgU1JfU1BQLCBidXQgcmV1 c2luZyB0aGUgaW5mb3JtYXRpb24gbWlnaHQgdGFuZ2xlCj4+PiB0aGUgbG9naWMuKQo+Pgo+PiBJ ZiBDU1JfU0NSQVRDSCB3YXMgMCwgdGhlbiB3ZSB3b3VsZCBiZSBjb21pbmcgZnJvbSBrZXJuZWwg ZWxzZSBmbG93IGdvZXMKPj4gdG8gYC5Mc2F2ZV9jb250ZXh0YC4gSWYgd2Ugd2VyZSBjb21pbmcg ZnJvbSBrZXJuZWwgbW9kZSwgdGhlbiBldmVudHVhbGx5Cj4+IGZsb3cgbWVyZ2VzIHRvIGAuTHNh dmVfY29udGV4dGAuCj4+Cj4+IFNvIHdlIHdpbGwgYmUgc2F2aW5nIENTUl9TU1Agb24gYWxsIGtl cm5lbCAtLSA+IGtlcm5lbCB0cmFwIGhhbmRsaW5nLiBUaGF0Cj4+IHdvdWxkIGJlIHVubmVjZXNz YXJ5LiBJSVJDLCB0aGlzIHdhcyBvbmUgb2YgdGhlIGZpcnN0IHJldmlldyBjb21tZW50cyBpbgo+ PiBlYXJseSBSRkMgc2VyaWVzIG9mIHRoZXNlIHBhdGNoIHNlcmllcyAodG8gbm90IHRvdWNoIENT Ul9TU1AgdW4tbmVjZXNzYXJpbHkpCj4+Cj4+IFdlIGNhbiBhdm9pZCB0aGF0IGJ5IGVuc3VyaW5n IHdoZW4gd2UgYnJhbmNoIGJ5IGRldGVybWluaW5nIGlmIHdlIGFyZSBjb21pbmcKPj4gZnJvbSB1 c2VyIHRvIHNvbWV0aGluZyBsaWtlIGAuTHNhdmVfc3NwYCB3aGljaCBldmVudHVhbGx5IG1lcmdl cyBpbnRvCj4+ICIuTHNhdmVfY29udGV4dCIuIEFuZCBpZiB3ZSB3ZXJlIGNvbWluZyBmcm9tIGtl cm5lbCB0aGVuIHdlIHdvdWxkIGJyYW5jaCB0bwo+PiBgLkxzYXZlX2NvbnRleHRgIGFuZCB0aHVz IHNraXBwaW5nIHNzcCBzYXZlIGxvZ2ljLiBCdXQgIyBvZiBicmFuY2hlcyBpdAo+PiBpbnRyb2R1 Y2VzIGluIGVhcmx5IGV4Y2VwdGlvbiBoYW5kbGluZyBpcyBlcXVpdmFsZW50IHRvIHdoYXQgY3Vy cmVudCBwYXRjaGVzCj4+IGRvLiBTbyBJIGRvbid0IHNlZSBhbnkgdmFsdWUgaW4gZG9pbmcgdGhh dC4KPj4KPj4gTGV0IG1lIGtub3cgaWYgSSBhbSBtaXNzaW5nIHNvbWV0aGluZy4KPgo+UmlnaHQs IGl0J3MgaGFyZCB0byBhdm9pZCB0aGUgZXh0cmEgYnJhbmNoZXMuCj4KPkkgdGhpbmsgd2UgY291 bGQgbW9kaWZ5IHRoZSBlbnRyeSBwb2ludCAoU1RWRUMpLCBzbyB3ZSBzdGFydCBhdAo+ZGlmZmVy ZW50IHBhdGhzIGJhc2VkIG9uIGtlcm5lbC91c2Vyc3BhY2UgdHJhcCBhbmQgb25seSBqdW1wIG9u Y2UgdG8gdGhlCj5jb21tb24gY29kZSwgbGlrZToKPgo+ICBTWU1fQ09ERV9TVEFSVChoYW5kbGVf ZXhjZXB0aW9uX2tlcm5lbCkKPiAgICAvKiBrZXJuZWwgc2V0dXAgbWFnaWMgKi8KPiAgICBqIGhh bmRsZV9leGNlcHRpb25fY29tbW9uCj4gIFNZTV9DT0RFX1NUQVJUKGhhbmRsZV9leGNlcHRpb25f dXNlcikKPiAgICAvKiB1c2Vyc3BhY2Ugc2V0dXAgbWFnaWMgKi8KPiAgaGFuZGxlX2V4Y2VwdGlv bl9jb21tb246CgpIbW0uLi4gVGhpcyBjYW4gYmUgZG9uZS4gQnV0IHRoZW4gaXQgd291bGQgcmVx dWlyZSB0byBjb25zdGFudGx5IG1vZGlmeSBgc3R2ZWNgCldoZW4geW91J3JlIGdvaW5nIGJhY2sg dG8gdXNlciBtb2RlLCB5b3Ugd291bGQgaGF2ZSB0byB3cml0ZSBgc3R2ZWNgIHdpdGggYWRkcgpv ZiBgaGFuZGxlX2V4Y2VwdGlvbl91c2VyYC4gQnV0IHRoZW4geW91IGNhbiBlYXNpbHkgZ2V0IGEg Tk1JLiBJdCBjYW4gYmVjb21lCnVnbHkuIE5lZWRzIG11Y2ggbW9yZSB0aG91Z2h0IGFuZCBvbiBm aXJzdCBnbGFuY2UgZmVlbHMgZXJyb3IgcHJvbmUuCgpPbmx5IGlmIHdlIGhhdmUgYW4gZXh0ZW5z aW9uIHRoYXQgYWxsb3dzIGRpZmZlcmVudCB0cmFwIGFkZHJlc3MgZGVwZW5kaW5nIG9uCm1vZGUg eW91J3JlIGNvbWluZyBmcm9tIChhcm0gZG9lcyB0aGF0LCByaWdodD8sIEkgdGhpbmsgeDg2IEZS RUQgYWxzbyBkb2VzCnRoYXQpCj4KPlRoaXMgaXMgbm90IGEgc3VnZ2VzdGlvbiBmb3IgdGhpcyBz ZXJpZXMuICBJIHdvdWxkIGJlIHBlcmZlY3RseSBoYXBweQo+d2l0aCBqdXN0IGEgY2xlYW5lciBj b2RlLgo+Cj5Xb3VsZCBpdCBiZSBwb3NzaWJsZSB0byBoaWRlIHRoZSBBTFRFUk5BVElWRSB1Z2xp bmVzcyBiZWhpbmQgYSBtYWNybyBhbmQKPm1vdmUgaXQgb3V0c2lkZSB0aGUgY29kZSBibG9jayB0 aGF0IHNhdmVzIHB0X3JlZ3M/CgpTdXJlLCBJJ2xsIGRvIHNvbWV0aGluZyBhYm91dCBpdC4KCj4K PlRoYW5rcy4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK