Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp108911ybk; Thu, 14 May 2020 17:48:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxpZSTEScIa5YxvTGjD9apqN81aLDofR288RMCtsiTB7Cb9y/TPGwrK08uyBBRiqFw54LvV X-Received: by 2002:a17:906:4bc9:: with SMTP id x9mr582769ejv.27.1589503730810; Thu, 14 May 2020 17:48:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589503730; cv=none; d=google.com; s=arc-20160816; b=BRBsT4VB2s3amZJxLLtvkgy8ykgvW1P9eyof85TclEqssYL1pK7OLeWiTGbz1Q451Z nNZfUAkjJNpVdMxxDnrgXvZ7Z3tg3gpIYwQuye0b8CO7Cqu/t7oImSOZjt1moqWX9PP5 W+tDE2DhDUyTcMrhwBMphk9VV5uZmZ2P6/lwF7pw4pVLcrxIBsBsBEbFjxpIrERslKFn lq/Igk54NiXPQKL8IzCkPnUGO5UKAIxIVj15KwJuTyVtSpKzJJLTIl8a+J0MEiQQEw2w 6by0ZFqe8YmxzLNxm/AX6ec7TEQsB7irlafZcubC5L0qThbQTANMMK/0PveomcogMa+G Lo1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:from:references:cc:to:subject:dkim-signature; bh=umDp7p1T9nEBG4TIEpE4INBrfox1xmvT/JBIVUL9WcQ=; b=yQGsmHVo9C+0cmhSnQgkQt3uE0FNcMQvKKm8mzK9+6+a/9XXjxrApgx3OjU3IvyuQG w/XyTz6VfrzJinisZ2iCnFd5IbQfSUIZOhzAyE4rXGx22ez2PBxt8NcnPJSlVAQiyli0 wBBv/2jlhr6z526IK3E7Di37Xo2vKNSCnJB4CZgml3pDksP9oqkWiAhvu12e5Ub7Jur5 9MgUehTC5o/zTikxtNXW5FDwkP7NsGMe2ciQwpYuZ58oH2dq7RRF6BId++hTcFl2GacI xYq5t5dKBIkGZ4SOMcYSVjiIebreJxe559Yu5DEjdv7UvD5H7M+X08kUkHNszho90iZB Q/Mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=cNgnYHuP; 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=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v5si290393eji.392.2020.05.14.17.48.26; Thu, 14 May 2020 17:48:50 -0700 (PDT) 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=@oracle.com header.s=corp-2020-01-29 header.b=cNgnYHuP; 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=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728027AbgEOAU1 (ORCPT + 99 others); Thu, 14 May 2020 20:20:27 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:38798 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726287AbgEOAU0 (ORCPT ); Thu, 14 May 2020 20:20:26 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04F0GXlE082222; Fri, 15 May 2020 00:19:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=umDp7p1T9nEBG4TIEpE4INBrfox1xmvT/JBIVUL9WcQ=; b=cNgnYHuPcU5YBCc7Wj174CZY8vYJNK3xwSUCQdtkut05TWv8/VfU2YOX3442wmXNqkL4 oAv2EjmTI9A+h8kfYhVaUzRjRNY7QQS9H3LCveF1lbkWr2m7I09avkvePmbptClzVrOd T4jSFAEko4UXPL8yhr2dlvinLLCSs5Q+Sl4JuH7Co+UEGUjtpKBfoONz4eNUQ9Nhx3PC 8TkNo/qGr8VqGzi5Mz9Oe0SmFU91lZwA8ojhTvzrPrJeisDFgjBIb87eMyz1HOW1sT7i XIyFRfmpkT6RaWcIHZ39JR4EZMwi5NCsRqYWvUwyb3iluJPbowhNUH+UbPPERjjfxyS8 6g== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 3100yg5v3a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 15 May 2020 00:19:17 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04ENwiE1021625; Fri, 15 May 2020 00:17:16 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 310vjub1ed-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 May 2020 00:17:16 +0000 Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 04F0H3F2031646; Fri, 15 May 2020 00:17:03 GMT Received: from [10.39.198.115] (/10.39.198.115) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 14 May 2020 17:17:02 -0700 Subject: Re: [patch V5 24/38] x86/entry: Provide IDTENTRY_SYSVEC To: Thomas Gleixner , LKML Cc: x86@kernel.org, "Paul E. McKenney" , Andy Lutomirski , Alexandre Chartre , Frederic Weisbecker , Paolo Bonzini , Sean Christopherson , Masami Hiramatsu , Petr Mladek , Steven Rostedt , Joel Fernandes , Juergen Gross , Brian Gerst , Mathieu Desnoyers , Josh Poimboeuf , Will Deacon , Tom Lendacky , Wei Liu , Michael Kelley , Jason Chen CJ , Zhao Yakui , "Peter Zijlstra (Intel)" References: <20200512210059.056244513@linutronix.de> <20200512213811.844041484@linutronix.de> From: Boris Ostrovsky Autocrypt: addr=boris.ostrovsky@oracle.com; keydata= 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 Jg6OxFYd01z+a+oL Message-ID: <78bf7499-b810-4e71-46c0-3d86f6c6d3d7@oracle.com> Date: Thu, 14 May 2020 20:16:52 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200512213811.844041484@linutronix.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9621 signatures=668687 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 phishscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005140204 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9621 signatures=668687 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 adultscore=0 cotscore=-2147483648 mlxscore=0 suspectscore=0 spamscore=0 impostorscore=0 mlxlogscore=999 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005150000 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/12/20 5:01 PM, Thomas Gleixner wrote: > + > +/** > + * DEFINE_IDTENTRY_SYSVEC - Emit code for system vector IDT entry points > + * @func: Function name of the entry point > + * > + * idtentry_enter/exit() and irq_enter/exit_rcu() are invoked before the > + * function body. KVM L1D flush request is set. This is used for entry points for Xen and hyperV as well. Even though it's harmless at the moment, do we still want to set this flag for non-KVM? -boris > + * > + * Runs the function on the interrupt stack if the entry hit kernel mode > + */ > +#define DEFINE_IDTENTRY_SYSVEC(func) \ > +static void __##func(struct pt_regs *regs); \ > + \ > +__visible noinstr void func(struct pt_regs *regs) \ > +{ \ > + idtentry_enter(regs); \ > + instrumentation_begin(); \ > + irq_enter_rcu(); \ > + kvm_set_cpu_l1tf_flush_l1d(); \ > + if (!irq_needs_irq_stack(regs)) \ > + __##func (regs); \ > + else \ > + run_on_irqstack(__##func, regs); \ > + irq_exit_rcu(); \ > + lockdep_hardirq_exit(); \ > + instrumentation_end(); \ > + idtentry_exit(regs); \ > +} \ > + \ > +static noinline void __##func(struct pt_regs *regs)