From patchwork Thu Jan 12 19:43:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099348 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CBB6C63797 for ; Thu, 12 Jan 2023 20:15:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DB558E0006; Thu, 12 Jan 2023 15:15:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 265988E0001; Thu, 12 Jan 2023 15:15:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 01B448E0006; Thu, 12 Jan 2023 15:15:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E576B8E0001 for ; Thu, 12 Jan 2023 15:15:10 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9931740E46 for ; Thu, 12 Jan 2023 20:15:10 +0000 (UTC) X-FDA: 80347251180.24.76B680B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id AD52140008 for ; Thu, 12 Jan 2023 20:15:08 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=tvBa36On; spf=none (imf01.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673554508; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:references:dkim-signature; bh=el0CIt1mM51BvZPcHKbhuF9lp1fNYUjgpLSAPy3Ccmg=; b=HG8VRoRM4087x+vyGmQA36e7Xn4YXVLRJBM8OnI30DIbuBRlLv7QO7tQRZx16ewegSXVDu luFjy9ahJTdZFcNNKtHL6D44Tk6vIXcEmp1V6IuMPszFd8h8rLPCPQ7zNP0QjR53+3fiCA fr5jmAcxvjk6Q/Bcrmi5XWN2nTBDZV8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=tvBa36On; spf=none (imf01.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673554508; a=rsa-sha256; cv=none; b=D5KQS4fcxOXvKLlYuVfSODT5M3UjUdJ/mtdsouImGip1KAx0mQcg7+2Dgya0frqiyMMPj9 frsGKRUx+cZOMkslpIc27ITKV4U8oyTNXWXPN7sy0gJDmBLXo9pqPaJoGlfM3O/+4euUcQ KG2LHwaI9MBfnZv1W9NTHdAuJtN/HVE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Type:MIME-Version:References: Subject:Cc:To:From:Date:Message-ID:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:In-Reply-To; bh=el0CIt1mM51BvZPcHKbhuF9lp1fNYUjgpLSAPy3Ccmg=; b=tvBa36On1tgPpOho7ahgpRDeA7 VD3Q9HQ4f3Ej4oPbH9YxtMDqs5HyC7lkDZn5vZGB8d3WSo7Z1P9FBFIVms0pz6CgWqRMwrRb15Bsd lcLK8h29qqcDlNe6qJc92nfUkYJF7ntrSRabmmAT0/kBKe4lowjWasVtTUzitfMJgum2PFTCW7aib lFuw51y9ho3hcp236ghfxyTUTs/4QMwB9E3vY+71ARt47IMDlRnGyVA8rTrEzFDXZ7wxABkQRw7/I LNpFhK1ipzOKKwI7x97Ns9z0W+cf/xTT0i7yl5EA14WEDj8/hFqG3cHumvt8KUylgEvg9o+NcZc6z iBVAM65A==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1pG3hc-005Oen-Qk; Thu, 12 Jan 2023 19:57:32 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id AD27A303443; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 24C2C2CCF62B5; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.171918174@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:44 +0100 From: Peter Zijlstra To: peterz@infradead.org Cc: richard.henderson@linaro.org, ink@jurassic.park.msu.ru, mattst88@gmail.com, vgupta@kernel.org, linux@armlinux.org.uk, nsekhar@ti.com, brgl@bgdev.pl, ulli.kroll@googlemail.com, linus.walleij@linaro.org, shawnguo@kernel.org, Sascha Hauer , kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, tony@atomide.com, khilman@kernel.org, krzysztof.kozlowski@linaro.org, alim.akhtar@samsung.com, catalin.marinas@arm.com, will@kernel.org, guoren@kernel.org, bcain@quicinc.com, chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org, sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de, dinguyen@kernel.org, jonas@southpole.se, stefan.kristiansson@saunalahti.fi, shorne@gmail.com, James.Bottomley@HansenPartnership.com, deller@gmx.de, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org, davem@davemloft.net, richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, acme@kernel.org, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org, namhyung@kernel.org, jgross@suse.com, srivatsa@csail.mit.edu, amakhalov@vmware.com, pv-drivers@vmware.com, boris.ostrovsky@oracle.com, chris@zankel.net, jcmvbkbc@gmail.com, rafael@kernel.org, lenb@kernel.org, pavel@ucw.cz, gregkh@linuxfoundation.org, mturquette@baylibre.com, sboyd@kernel.org, daniel.lezcano@linaro.org, lpieralisi@kernel.org, sudeep.holla@arm.com, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, anup@brainfault.org, thierry.reding@gmail.com, jonathanh@nvidia.com, jacob.jun.pan@linux.intel.com, atishp@atishpatra.org, Arnd Bergmann , yury.norov@gmail.com, andriy.shevchenko@linux.intel.com, linux@rasmusvillemoes.dk, dennis@kernel.org, tj@kernel.org, cl@linux.com, rostedt@goodmis.org, mhiramat@kernel.org, frederic@kernel.org, paulmck@kernel.org, pmladek@suse.com, senozhatsky@chromium.org, john.ogness@linutronix.de, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, Andrew Morton , jpoimboe@kernel.org, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-omap@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, openrisc@lists.librecores.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-perf-users@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-xtensa@linux-xtensa.org, linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-tegra@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, kasan-dev@googlegroups.com, "Rafael J. Wysocki" , Ulf Hansson Subject: [PATCH v3 30/51] cpuidle,xenpv: Make more PARAVIRT_XXL noinstr clean References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: o86fj6e8cd8dp536y5yn4ffwquq8wgqn X-Rspam-User: X-Rspamd-Queue-Id: AD52140008 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554508-385242 X-HE-Meta: U2FsdGVkX18GJo1l74gzlbFkDHFnVVo/A3gvJFuGco6ubG5+cZ2+wOYMo8pQ9xGfbzqFAnqqgBv68YX20cYR4BxWNw1Oecm/Kxc6sSUC78Dwslrar1a50LWyZBZtT5gPyEFGx9H2ogSRlZdafgsjilPBrJiq+ybP+DsSJS6cTPzI5o6+mQdAAse3pjugvzY26x+Kzbh3xuGKCvKu6zswliOc99/XZCI6VDgppWvELT5ZjZyZVkI161G8ERa+HnhZaW8chN/jkFISGpFd3KSFZjoOl73lR/gVJEd41sNm7U1NIBVqLwczgQbdXctlhEwtVFZE3BsZpHxhL541HNOMvHZP7GMLqTQrWPEqai1dRFDyHRatK/GNGh/HN32ZmAKUTK0TM7xFCRUYsHRbzKcVjt7R8EjtMT1MpY8yF+h89DYCZbuisvUR9zs5/X7jCytSgM0IXJOyz0B21moz/b5hQsBHtzPoEgxbvtzJMmupa6KIUN5Kvk4ZNmgE3SODYxDz+kQqDiB0eAGZ5/AYUPf+L3l9hV+ajWtmE9NBAlVuSPNFAxlmWS6xh85r2m8kxWLS+8FCby7+dDQPTtD36Mj1eYD2EYhJ17GOlePtKYJp41qYQf1Ciw+9LzdqqG6iNsY6MEIr3VT0pFs9B7I6rT4t7WJmCmC00/Qt3nuJutGjQ0er23n/fP8LAfR3QYAmgAFUBXo8mLKy5OfV9Y4SS5yx2k+nRAdVoAqIvprUV8wcAvFe7s45RqcjGRQZxPLcNGN04mVmd/P2DeFQI+UW6KS4rBfTQ1I46It00IiG0wG9fNynwWryxXo4CTjSHjpF7DZEB1zISji7iLlHqqyNxYAZZUEUqfEmBkNqJEm+Gp3ytu/2+aq47P7hZwXLF6yApqbNsQZ7+QoW4DFRb88FveHfZ+tOCJ4UeozsHno51WXvUkIm1psvLHg4GLvXMnw3bEFSAZWdOM4qH3YKlkxNJQX t2YRPTaN OfJ5MgqKB73iw53OzTxfazJYWu4LylqIcyGvAedAktu+Y1+++0KhCijVjavoGY9CoXLjoXb7XrQ/f25KzBrBInLEOyDkMr7XV1ZO5Z+sh8+9qR/Ldy+KEwP96fABmQtVYCgeii1MTz6GfTilKijtfu2SyMN88NJrN3/WcJtJY29K35cStgKG68gNUBspQTwb/F9+GzAqx0ohUHkCi71MzkUVyzjlK+I3FsII3yFJtG8h/r6ut4TVdePZIVnsJrWfnvUk5O2aR2LYIMe2klrFNIcALdNqeWrA90o2rkSZA45N+VNs+x6QY4jKQTttTw/VpkX5pF5xO7zWFgnxIR7qaHr9gQazmUPIgDJNz/tfJiNiUoqiyRcWZV89t5ROGSzNHOOaDA6jmugRWf96C7VqQXME74cJ4ljqChwFp2ko8Ljnv/a5HMgHVJ1V2maCTnk1GLZnxG/fzPberUdxbDDvm30+ow3IrOioALnksc8sEk+9P8lVDu0LFi5PsOhWSC94AehxNLDUkwyC4rC47PWQVXoYUriWhInoE+GzsXfzadsaa+XAoKE/mG+DuNQ+eaPy0+OsgZToAlHptkWS/EnWhOcg+hYTMgKVB0SG7BULp+Q739a8qvtHzCHYqBbYqmctQ8tjVHyC2LNb1Z75zqszzagRJe8tpu9zJIJ5ldc3H2pzxWy53FpU7t6QiWgLDD+wDxPBHEVQmIs2uoz2bYXfm6EjaGpxArhXrzAmgokxC4aAYW6h+vmqyzsjpzqDm0MrfteLSdPEQyRBxPA2w1ZXHwcZGaRhnAEA2P+OwXpNEhL4XBpolF0gl9wfhSu6t07wIxEzkCADGgzOsk2nAynVoGVUbtHDslW1LIJ019cFhZa+uFnLF34v9laqnAxXDqCbqkRtcENPyTylSukDBDPNm1Tq4Pkrhet3cb6m/a63g9d9ad0KWjsUheWCMnyHNoeLtHzB7WF19D+Eml0NKD2FDlZX9zdZM YHpvOCkk 8VWJsRGXWtx9uQ46MQAv4Xy4GRkxnGH3zUyypwH/3EXJTx/ryO3tQkLyg1rmpxOXjm2Egv8WnlcvTsx0ZfCSpIoAothtArnYJBUsLANLTbhOyoJGpE2uDur7ujNPPDgvQXhfClkX5mYFN+3dKOhTooYLymuCY8RtyXoCowT5PV0/Gcwmai2Ixm/F5CfLuJcaP3DyNvgR2+bUtE1Q2CLtcNSLveuakLPPg8rUOvSSWe8AkYwCTNWmqQBPeHpTn0ZD3bh/2t6fnsBbOUpdCXrjhNml/YuNAZ8QELDFx8DkPbRkcM0SQNZMf8Icx2PWwuiZqcB6DC2i2mA7RFJ2/XshKUmhuSTOctZq8/1iZ9qrMG5Xu4BalqHB1C+hqHMRyX7WwTwfxLjM15mGRsx/0Rhpl81/XNar9LYGtrGw0062De5AKt57X2/exkYZ4YDF7t3MQ/8gpYBi8HsPaTjrwWh9zAuFhPYVj3gurcU/Ud8rpTI8nlLivagLV0GI37ZuZ7JBrYwVn3HBQYfo0qMSJYfIPYR+bEMa9nSWOtKZoRTCMzHr9Mndd0I5YnpCOQ10HNSkFOGFP2YZrqy2VE+7sNKWnB7mwfN68V+32sry+0rTeMN6xVbHrPleh1FGIRyePTubdvXgJf9N2efO/DP/9Rck5jEq/UMdpRr3yp6n+bEzna+Ga+gW3reP9AH37BRHc4CecrFAVRNTKb85pQL/OeGTwwoIA6deomcpxJ+cVtU7b0ICk0qNen2txrG+mcXDaIXkoj40CSe6OniWasP4hwrMbIWnQM6Etw5JMt6rTbRqnLgEJ+AbhToikCcEKZ69LCu9BDB8yiOpspunHgaIUfot1pfHWBY4QUgnveHra8usfTfPKzpaoDYUPMTmw6Tj4vpaTGTgpJRGtxF1z9bJ7EaPnrj5LUfHOHAEPld4vidb4a8ymTirjXNMQNL7MHW0nGJjrYz6nyMlwRIyNgAQhU80L35JzC+j9 tUcO2Aqk rb4B0vdPhB+aFixsHNwA4mkC/hnPM+92OE1Pby9hZxNu7PlnfHqh5w1DtOc/Ez0M0f59yuJixsDyHvrUw1rto5xWy2euxGfEvgmWjEOvoLtJzEHUgrtPs/OumV5eDe19HOmOY4XGnqvrR4BqHvXRoq3IlVCin0LdIYeSDRmrP/PurWitZfc5o8dJi2BkuTKdlfqqgC8/QYS/4RgEC5UCeKL8o3iaUgSo9D3mRjgqXt7I5WOWQGYrXzFtAvLGM+vtEPnHxyW3OteMm6lIoWtbBUsO5LM1JeLNxKYgfHCSIsQGgC1UR6C4Sr+V8be27HmM2L/4lU12ouzsHf0tCzCKdEIRDtYS8U1ZAhEdxpcn18gDvPOcXl9H5FGcuADan+ubWgpfE61b5o3W1Ywfk6WEH0nrq7C2ET8qRR3urW3Ev5UxmmVfgwsEG6ghoCEZmk6NvrEN7i9iBh2rzoBUtf9LQqQvsuAA0KWwD2dr7fkT/vqB0sq08pl8nEJaffsuKtC8kUi4nDZJ7jxNZ15SdX3v4tYm9wSokgci0y6HLiStdh+yeEWiZO1gpPybPAaFHWj4QhuimJIzylvz2/X78dJy/dqKdH47QcbGeYhMwyw5EmKUSXiosXhX0AOrhOeBmkdxSO4y1wds1Kv259zmU4cH725UzTGrXeRDkGRUlXmXsvncRRZSGP5gukoY29c6XL84E3rixKpLfMVahiclFJz07zf9u2A8XmpAHGoTgWAiHEtWhZoW2GF5olwa7K/MMLX0U1JwsHnXjmL1rgvV90Hr0nFYLaerOzY3YMRDhb/s++83XZWxj1dGeT0rxVJq+SxBCpnf1/RjatislFa1SUVujAVhUKHH4E5SvYuxrI9S6xvCUYmdOJqXa8rPMjN1HBlV61GFFbyRHDPjtNWgLKItmcSsukQmo4qkUTfVmUt81v/NZGLMYYpjfPTet3w4GJ4rtF3/OyIc/8xp+vmLfMOwFDvQbTZq9 chDvaz4B J1IEtYSO8pZSKCIj3dV+LyWMrITJ4vVV7zQ1/eKYA5npge3APm3BUxV08zNzOFuMC9btcqxwRXA+IAiSGUQ3UEdysXGwy1eT64dQZ2klWOtwTe7Z8fLIVN/vnrivwN80ArDb4e6Q3lP2Q86UZUlICC X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: vmlinux.o: warning: objtool: acpi_idle_enter_s2idle+0xde: call to wbinvd() leaves .noinstr.text section vmlinux.o: warning: objtool: default_idle+0x4: call to arch_safe_halt() leaves .noinstr.text section vmlinux.o: warning: objtool: xen_safe_halt+0xa: call to HYPERVISOR_sched_op.constprop.0() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Srivatsa S. Bhat (VMware) Reviewed-by: Juergen Gross Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/include/asm/paravirt.h | 6 ++++-- arch/x86/include/asm/special_insns.h | 4 ++-- arch/x86/include/asm/xen/hypercall.h | 2 +- arch/x86/kernel/paravirt.c | 14 ++++++++++++-- arch/x86/xen/enlighten_pv.c | 2 +- arch/x86/xen/irq.c | 2 +- 6 files changed, 21 insertions(+), 9 deletions(-) --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -168,7 +168,7 @@ static inline void __write_cr4(unsigned PVOP_VCALL1(cpu.write_cr4, x); } -static inline void arch_safe_halt(void) +static __always_inline void arch_safe_halt(void) { PVOP_VCALL0(irq.safe_halt); } @@ -178,7 +178,9 @@ static inline void halt(void) PVOP_VCALL0(irq.halt); } -static inline void wbinvd(void) +extern noinstr void pv_native_wbinvd(void); + +static __always_inline void wbinvd(void) { PVOP_ALT_VCALL0(cpu.wbinvd, "wbinvd", ALT_NOT(X86_FEATURE_XENPV)); } --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -115,7 +115,7 @@ static inline void wrpkru(u32 pkru) } #endif -static inline void native_wbinvd(void) +static __always_inline void native_wbinvd(void) { asm volatile("wbinvd": : :"memory"); } @@ -179,7 +179,7 @@ static inline void __write_cr4(unsigned native_write_cr4(x); } -static inline void wbinvd(void) +static __always_inline void wbinvd(void) { native_wbinvd(); } --- a/arch/x86/include/asm/xen/hypercall.h +++ b/arch/x86/include/asm/xen/hypercall.h @@ -382,7 +382,7 @@ MULTI_stack_switch(struct multicall_entr } #endif -static inline int +static __always_inline int HYPERVISOR_sched_op(int cmd, void *arg) { return _hypercall2(int, sched_op, cmd, arg); --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -233,6 +233,11 @@ static noinstr void pv_native_set_debugr native_set_debugreg(regno, val); } +noinstr void pv_native_wbinvd(void) +{ + native_wbinvd(); +} + static noinstr void pv_native_irq_enable(void) { native_irq_enable(); @@ -242,6 +247,11 @@ static noinstr void pv_native_irq_disabl { native_irq_disable(); } + +static noinstr void pv_native_safe_halt(void) +{ + native_safe_halt(); +} #endif enum paravirt_lazy_mode paravirt_get_lazy_mode(void) @@ -273,7 +283,7 @@ struct paravirt_patch_template pv_ops = .cpu.read_cr0 = native_read_cr0, .cpu.write_cr0 = native_write_cr0, .cpu.write_cr4 = native_write_cr4, - .cpu.wbinvd = native_wbinvd, + .cpu.wbinvd = pv_native_wbinvd, .cpu.read_msr = native_read_msr, .cpu.write_msr = native_write_msr, .cpu.read_msr_safe = native_read_msr_safe, @@ -307,7 +317,7 @@ struct paravirt_patch_template pv_ops = .irq.save_fl = __PV_IS_CALLEE_SAVE(native_save_fl), .irq.irq_disable = __PV_IS_CALLEE_SAVE(pv_native_irq_disable), .irq.irq_enable = __PV_IS_CALLEE_SAVE(pv_native_irq_enable), - .irq.safe_halt = native_safe_halt, + .irq.safe_halt = pv_native_safe_halt, .irq.halt = native_halt, #endif /* CONFIG_PARAVIRT_XXL */ --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -1019,7 +1019,7 @@ static const typeof(pv_ops) xen_cpu_ops .write_cr4 = xen_write_cr4, - .wbinvd = native_wbinvd, + .wbinvd = pv_native_wbinvd, .read_msr = xen_read_msr, .write_msr = xen_write_msr, --- a/arch/x86/xen/irq.c +++ b/arch/x86/xen/irq.c @@ -24,7 +24,7 @@ noinstr void xen_force_evtchn_callback(v (void)HYPERVISOR_xen_version(0, NULL); } -static void xen_safe_halt(void) +static noinstr void xen_safe_halt(void) { /* Blocking includes an implicit local_irq_enable(). */ if (HYPERVISOR_sched_op(SCHEDOP_block, NULL) != 0)