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 X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CBDCC433DB for ; Mon, 15 Mar 2021 13:31:27 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8AF9564EEE for ; Mon, 15 Mar 2021 13:31:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8AF9564EEE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=csgroup.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Dzcl06YGGz300V for ; Tue, 16 Mar 2021 00:31:24 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=93.17.236.30; helo=pegase1.c-s.fr; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from pegase1.c-s.fr (pegase1.c-s.fr [93.17.236.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4DzckZ4jwnz2xxn for ; Tue, 16 Mar 2021 00:30:59 +1100 (AEDT) Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4DzckL6NQJz9tyRv; Mon, 15 Mar 2021 14:30:50 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id m8eqvnVRQOMs; Mon, 15 Mar 2021 14:30:50 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4DzckL5WTWz9tyRs; Mon, 15 Mar 2021 14:30:50 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 04AED8B776; Mon, 15 Mar 2021 14:30:56 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id 9RJe7BqbhXbz; Mon, 15 Mar 2021 14:30:55 +0100 (CET) Received: from [172.25.230.100] (po15451.idsi0.si.c-s.fr [172.25.230.100]) by messagerie.si.c-s.fr (Postfix) with ESMTP id B3A958B779; Mon, 15 Mar 2021 14:30:55 +0100 (CET) Subject: Re: [PATCH 03/10] powerpc/64e/interrupt: use new interrupt return To: Nicholas Piggin , linuxppc-dev@lists.ozlabs.org References: <20210315031716.3940350-1-npiggin@gmail.com> <20210315031716.3940350-4-npiggin@gmail.com> From: Christophe Leroy Message-ID: Date: Mon, 15 Mar 2021 14:30:53 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <20210315031716.3940350-4-npiggin@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Scott Wood Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Le 15/03/2021 à 04:17, Nicholas Piggin a écrit : > Update the new C and asm interrupt return code to account for 64e > specifics, switch over to use it. > > The now-unused old ret_from_except code, that was moved to 64e after the > 64s conversion, is removed. > > Signed-off-by: Nicholas Piggin > --- > arch/powerpc/include/asm/asm-prototypes.h | 2 - > arch/powerpc/kernel/entry_64.S | 9 +- > arch/powerpc/kernel/exceptions-64e.S | 321 ++-------------------- > arch/powerpc/kernel/interrupt.c | 27 +- > arch/powerpc/kernel/irq.c | 76 ----- > 5 files changed, 56 insertions(+), 379 deletions(-) > > diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c > index fbabb49888d3..ae7b058b2970 100644 > --- a/arch/powerpc/kernel/interrupt.c > +++ b/arch/powerpc/kernel/interrupt.c > @@ -235,6 +235,10 @@ static notrace void booke_load_dbcr0(void) > #endif > } > > +/* temporary hack for context tracking, removed in later patch */ > +#include > +asmlinkage __visible void __sched schedule_user(void); > + > /* > * This should be called after a syscall returns, with r3 the return value > * from the syscall. If this function returns non-zero, the system call > @@ -292,7 +296,11 @@ notrace unsigned long syscall_exit_prepare(unsigned long r3, > while (unlikely(ti_flags & (_TIF_USER_WORK_MASK & ~_TIF_RESTORE_TM))) { > local_irq_enable(); > if (ti_flags & _TIF_NEED_RESCHED) { > +#ifdef CONFIG_PPC_BOOK3E_64 > + schedule_user(); > +#else > schedule(); > +#endif > } else { > /* > * SIGPENDING must restore signal handler function > @@ -360,7 +368,6 @@ notrace unsigned long syscall_exit_prepare(unsigned long r3, > return ret; > } > > -#ifndef CONFIG_PPC_BOOK3E_64 /* BOOK3E not yet using this */ > notrace unsigned long interrupt_exit_user_prepare(struct pt_regs *regs, unsigned long msr) > { > unsigned long ti_flags; > @@ -372,7 +379,9 @@ notrace unsigned long interrupt_exit_user_prepare(struct pt_regs *regs, unsigned > BUG_ON(!(regs->msr & MSR_PR)); > BUG_ON(!FULL_REGS(regs)); > BUG_ON(arch_irq_disabled_regs(regs)); > +#ifdef CONFIG_PPC_BOOK3S_64 Shouldn't this go away in patch 6 as well ? Or is that needed at all ? In syscall_exit_prepare() it is not ifdefed . > CT_WARN_ON(ct_state() == CONTEXT_USER); > +#endif > > /* > * We don't need to restore AMR on the way back to userspace for KUAP.