Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp108383pxb; Tue, 9 Mar 2021 17:35:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJzKf0gxl9FS+wcjC5LWTrh21vHw53WRpDNKaHpXQkyAK0jlbq96JuXN7HXLQCrJQai+FZ5A X-Received: by 2002:aa7:c0cd:: with SMTP id j13mr517606edp.41.1615340115111; Tue, 09 Mar 2021 17:35:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615340115; cv=none; d=google.com; s=arc-20160816; b=Gb9oMifZDNLTygqmtW/4VxS3SFTrb6Po8EBaa5U5SC0lEza/u1iU0sDZzoAqslekDs cJTRLRWM13NnRMaD9q5QxKuROypSiEkh4L0IaLTEEhpiosVazl21BYNPk3hHTYmRY9E6 8fW07FaSSTtXUqmqpaXf5xQGaTCaj7KapBtpju8N71rfDFIAnBrn/Pogn0Iu7fG4us2x JBl3q4NC0VWg/Fvif3rkfePdZ17gcgJEA3WtzjKFL9OIQ4POWiLqsPt7iy07r0udGper G8UmK2BwsQWXyk/ah5jXNPm0IlAUK3proiW1xa4SpeXz8AaCt+B9DPoIp40PLHKqatbt 4LhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:message-id :mime-version:in-reply-to:references:cc:to:subject:from:date :dkim-signature; bh=bk2gbXj7lVPQspVhwjnWs8ssO+83Zc6YrCjiO0hiGow=; b=r3HKGjnduyS0PwAi1qjMMhfbTXe1CuQ55zOE63+oIjP1w2Vy9DOgoCnJIZft/aTMd0 UR2yrkSdnaf4K5JGlPAJeW/EuPOh6piPPogHrryFyBvulPu+z6CPeNATGokolQ8jwTkE 5OJi8o6IvlJyzC+KePDgT4sFE4dbdsK/Gllz4P5uRTj7BUdvK/wivmjx6+d/ePptFJiC ZNzDLwArN7+y7ZPFUF1D21EUccgaioR1ywoCW8WSlohJUTjBcCpUskOIY8JbP1xS2JVS kf8LbWtu6zVrxoiJD0kSp3IVGlBjX5n0jZ791HJ8svmQoLUP/RMhzl/Gvvd4Mw+ifjtS DYzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZK7yoTO7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bx25si10990467edb.242.2021.03.09.17.34.52; Tue, 09 Mar 2021 17:35:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZK7yoTO7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231252AbhCJBdy (ORCPT + 99 others); Tue, 9 Mar 2021 20:33:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33314 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231590AbhCJBdy (ORCPT ); Tue, 9 Mar 2021 20:33:54 -0500 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1257EC06174A for ; Tue, 9 Mar 2021 17:33:54 -0800 (PST) Received: by mail-pl1-x635.google.com with SMTP id u18so7636474plc.12 for ; Tue, 09 Mar 2021 17:33:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:subject:to:cc:references:in-reply-to:mime-version :message-id:content-transfer-encoding; bh=bk2gbXj7lVPQspVhwjnWs8ssO+83Zc6YrCjiO0hiGow=; b=ZK7yoTO7YgUN2ikGdYvBBxnFHZlkxpq4eADMqVD4AZknTxG4DhR/6WXNzfVDudcqwZ F8jjnKdMoVDM7Neo/fOY5tGOXHRVMkaFlh5nZI91TiTJgkRZ8PJEj+AwXJFnEAsHA0P8 SmT2+cJ9jGCj4Zl96a4JnxB8HHdFLK1H1x5ylKrfN19rVvHyCKYv+XGLo6PYHCFAo1Zy 3PW9xT3GWIHFiaU0DLWA8AO43RPQ96ZRjnYb6I8clypkojZfem69/CNOmOI/GuaQ5oJN sT+0cQcPfPvfw0kSWgNa8W2KpTDw1XkyfuAiIHcrMKfh/m2xxUg+1DjQtds9BBlSBUEU FNkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:subject:to:cc:references:in-reply-to :mime-version:message-id:content-transfer-encoding; bh=bk2gbXj7lVPQspVhwjnWs8ssO+83Zc6YrCjiO0hiGow=; b=k2YSipTyNGzN6OyxSpT3LZRCDm9G5kE0RiZ293WwODo3G2NBjpVox1fsuqDBuf7RqU Tn3XMSrPAhg/kQATBVNMOElsTWa2HTkfOQYpH3xulxOISGxnJ9nlFPWX1KV4Qr6w6GMy W16LirCmmcpEvXy2ZbuJtAQFRB/clez6ZbZPiKkCXBzdAZn7uh07yeTzdq4X+J10jesX bDy6ElzH/jwfNCg4GHwP9m4+U8VRPYAeYQkELjxNJJytrpCnYiAffx07aMlHXI2Fyrc4 jZouC7NHcdkhYHR63fj5pP4alTUggXVdrS+41Gu0cnWeVnB6PDSfMfMx98eKIc1nQuEK 0YMw== X-Gm-Message-State: AOAM533EspwJvX3Kh3qHK2q+ZGIU7qphPSxQXkrZ4AW5nX6HpQevLJu2 IEu2FE5PFTTyVyWVypb/tgw= X-Received: by 2002:a17:90b:3550:: with SMTP id lt16mr802543pjb.47.1615340033713; Tue, 09 Mar 2021 17:33:53 -0800 (PST) Received: from localhost (58-6-239-121.tpgi.com.au. [58.6.239.121]) by smtp.gmail.com with ESMTPSA id s10sm14061433pgl.90.2021.03.09.17.33.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 17:33:53 -0800 (PST) Date: Wed, 10 Mar 2021 11:33:47 +1000 From: Nicholas Piggin Subject: Re: [PATCH v2 36/43] powerpc/32: Set current->thread.regs in C interrupt entry To: Benjamin Herrenschmidt , Christophe Leroy , Michael Ellerman , Paul Mackerras Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org References: <8d523f9ecee1de0515cc31d43030c12ab171a670.1615291474.git.christophe.leroy@csgroup.eu> In-Reply-To: <8d523f9ecee1de0515cc31d43030c12ab171a670.1615291474.git.christophe.leroy@csgroup.eu> MIME-Version: 1.0 Message-Id: <1615339900.vmbtzuirqw.astroid@bobo.none> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Excerpts from Christophe Leroy's message of March 9, 2021 10:10 pm: > No need to do that is assembly, do it in C. Hmm. No issues with the patch as such, but why does ppc32 need this but=20 not 64? AFAIKS 64 sets this when a thread is created. Thanks, Nick >=20 > Signed-off-by: Christophe Leroy > --- > arch/powerpc/include/asm/interrupt.h | 4 +++- > arch/powerpc/kernel/entry_32.S | 3 +-- > 2 files changed, 4 insertions(+), 3 deletions(-) >=20 > diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/= asm/interrupt.h > index 861e6eadc98c..e6d71c2e3aa2 100644 > --- a/arch/powerpc/include/asm/interrupt.h > +++ b/arch/powerpc/include/asm/interrupt.h > @@ -33,8 +33,10 @@ static inline void interrupt_enter_prepare(struct pt_r= egs *regs, struct interrup > if (!arch_irq_disabled_regs(regs)) > trace_hardirqs_off(); > =20 > - if (user_mode(regs)) > + if (user_mode(regs)) { > + current->thread.regs =3D regs; > account_cpu_user_entry(); > + } > #endif > /* > * Book3E reconciles irq soft mask in asm > diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_3= 2.S > index 8fe1c3fdfa6e..815a4ff1ba76 100644 > --- a/arch/powerpc/kernel/entry_32.S > +++ b/arch/powerpc/kernel/entry_32.S > @@ -52,8 +52,7 @@ > prepare_transfer_to_handler: > andi. r0,r9,MSR_PR > addi r12, r2, THREAD > - beq 2f /* if from user, fix up THREAD.regs */ > - stw r3,PT_REGS(r12) > + beq 2f > #ifdef CONFIG_PPC_BOOK3S_32 > kuep_lock r11, r12 > #endif > --=20 > 2.25.0 >=20 >=20