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=-14.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 5AC2FC4707F for ; Thu, 27 May 2021 17:28:44 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 265BE6128B for ; Thu, 27 May 2021 17:28:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 265BE6128B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Maxgcqcw4535LAYlHS+Ez5Co/loX+W2Nxy3g6gPngFI=; b=u2I2GZbnl1p2j8 qQwk1nrBB075YOrqCqspCTRne9aNAh6V2R333nga5NPtiMHIYJZYMRU1w4CACb7xEhC+JubWmAD27 oWeHG8s+4XhqlP98meq+LJFIvd2gIO0U20icQrt+s7lt1BL4Ukb5iEPZLca5NFypfSj1YR5eJ5myF a86kxT6l6pz+eRVOURnTyOzDHMoy5pbXSmVjFNH1f/6zJRMycrBkyU6y+j42DVYwdMhSU+Qq647BT 7BfIIHzEg7W5n8znre34oXmU+6hJwPGTBF8O0MK74yXssiA3DTa8xrK7I7kvoJeX4CBBBtD5WFqe4 Vy/+XR+CUisKYtRUKKxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lmJmE-0084db-0c; Thu, 27 May 2021 17:26:34 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lmILC-007O8K-U3; Thu, 27 May 2021 15:54:36 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9395F613BF; Thu, 27 May 2021 15:54:34 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1lmILA-003z3x-Ni; Thu, 27 May 2021 16:54:32 +0100 Date: Thu, 27 May 2021 16:54:31 +0100 Message-ID: <87sg28rx3c.wl-maz@kernel.org> From: Marc Zyngier To: Pavel Tatashin Cc: jmorris@namei.org, sashal@kernel.org, ebiederm@xmission.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, james.morse@arm.com, vladimir.murzin@arm.com, matthias.bgg@gmail.com, linux-mm@kvack.org, mark.rutland@arm.com, steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de, selindag@gmail.com, tyhicks@linux.microsoft.com, kernelfans@gmail.com, akpm@linux-foundation.org, madvenka@linux.microsoft.com Subject: Re: [PATCH 03/18] arm64: hyp-stub: Move elx_sync into the vectors In-Reply-To: <20210527150526.271941-4-pasha.tatashin@soleen.com> References: <20210527150526.271941-1-pasha.tatashin@soleen.com> <20210527150526.271941-4-pasha.tatashin@soleen.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, ebiederm@xmission.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, james.morse@arm.com, vladimir.murzin@arm.com, matthias.bgg@gmail.com, linux-mm@kvack.org, mark.rutland@arm.com, steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de, selindag@gmail.com, tyhicks@linux.microsoft.com, kernelfans@gmail.com, akpm@linux-foundation.org, madvenka@linux.microsoft.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210527_085435_054369_FCD3F695 X-CRM114-Status: GOOD ( 19.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, 27 May 2021 16:05:11 +0100, Pavel Tatashin wrote: > > The hyp-stub's elx_sync code fits in the vector. > > With this, all of the hyp-stubs behaviour is contained in its vectors. > This lets kexec and hibernate copy the hyp-stub when they need its > behaviour, instead of re-implementing it. > > Co-developed-by: James Morse > Signed-off-by: Pavel Tatashin > --- > arch/arm64/kernel/hyp-stub.S | 64 +++++++++++++++++++----------------- > 1 file changed, 33 insertions(+), 31 deletions(-) > > diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S > index 18a97bee3779..86af6c4e52b9 100644 > --- a/arch/arm64/kernel/hyp-stub.S > +++ b/arch/arm64/kernel/hyp-stub.S > @@ -21,6 +21,37 @@ SYM_CODE_START_LOCAL(\label) > .align 7 > b \label > SYM_CODE_END(\label) > +.endm > + > +.macro elx_sync_vector label > +SYM_CODE_START_LOCAL(\label) > + .align 7 > + cmp x0, #HVC_SET_VECTORS > + b.ne 1f > + msr vbar_el2, x1 > + b 9f > + > +1: cmp x0, #HVC_VHE_RESTART > + b.eq mutate_to_vhe Now that this has turned into a macro, what are the guarantees that mutate_to_vhe will be within reach of the site where this macro is expanded? It does work here, but what about the other expansion sites that will show up later in the series? What was wrong with directly branching to the original call site? Nothing in the commit message explains it. Thanks, M. -- Without deviation from the norm, progress is not possible. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel