Received: by 2002:a25:d783:0:0:0:0:0 with SMTP id o125csp430447ybg; Thu, 19 Mar 2020 02:21:56 -0700 (PDT) X-Google-Smtp-Source: ADFU+vu2wCpxdcQZQv1jzQlZnMC6l9d8O4iQi5Cbud7BOF0mgF8AXxM/9KSioP34r5RV462wV7Dq X-Received: by 2002:a9d:c24:: with SMTP id 33mr1513853otr.355.1584609716341; Thu, 19 Mar 2020 02:21:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584609716; cv=none; d=google.com; s=arc-20160816; b=vJDyZcxNJrHAVecilo7GpurT7cYJgOeNoBAmXYEBYxqWlNqRhqVoP/kSDMs4ktuj5J CxQKl8xeZbxY6hdzpisEgctGn/niXGyXoyfIUCC545aZ9QLKtA/kyO77tLcPbEYTq+h1 EuT/0ydWUmke9lVtZJdohYZUoKPtAoDi3d0ZDZTylPKBthztwlpaN275H93YTMEjZY3D m2iT8bRMkwS1gbnzi4gE+jk8zka3O7anlp3D13ZCkNaDcvnuFrLn79H+9YKjMvExqYFY k9ve6/bNW1p3RKbQnlu/hS67MOoKXKwq4MlCzOkXlm2OchiMeYyV9ynuswK03Y4Rtb9F gySw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=2F4QKTcKC3zDnoNYCbsFq1Yw3DR2m1ta8MdpLbab0jU=; b=06QVmMljVzKjDDgQitOYz4goqbdd1bt2kNwTsowAtzvFvuLOYzzFw3YFSj9rDELYRk V5Q4x/GJtn8+kaDw1QvqRgampTYDOm7y6HZsLXH/ooBMRNd5/bqnAMvEFqEzYoddObPt HU9krqjjqR8z6N991fwHIMh3ksHwnb/AsRj/G+sFvQpXDYB2obSW1HYRpATpNuwSig8G PYJM7ptFP6u4/aTKvbNuywlWDhjVYHUikfy+acQRLiHRRosIVWSQxnCuvTB41vFuDS1i FI4Sgyl+9si+EgsVi7IWQj3I3W8DBu/v93jqUFiZCGBW1WmQmJv2bcx6nNN/HtvGdc7n wsQQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o7si991003otk.185.2020.03.19.02.21.44; Thu, 19 Mar 2020 02:21:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726979AbgCSJOJ (ORCPT + 99 others); Thu, 19 Mar 2020 05:14:09 -0400 Received: from poy.remlab.net ([94.23.215.26]:55514 "EHLO ns207790.ip-94-23-215.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726901AbgCSJOI (ORCPT ); Thu, 19 Mar 2020 05:14:08 -0400 Received: from basile.remlab.net (ip6-localhost [IPv6:::1]) by ns207790.ip-94-23-215.eu (Postfix) with ESMTP id 437B75FB07; Thu, 19 Mar 2020 10:14:07 +0100 (CET) From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= To: catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org Cc: mark.rutland@arm.com, james.morse@arm.com, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] arm64: clean up trampoline vector loads Date: Thu, 19 Mar 2020 11:14:05 +0200 Message-Id: <20200319091407.51449-1-remi@remlab.net> X-Mailer: git-send-email 2.26.0.rc2 In-Reply-To: <1938400.7m7sAWtiY1@basile.remlab.net> References: <1938400.7m7sAWtiY1@basile.remlab.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rémi Denis-Courmont This switches from custom instruction patterns to the regular large memory model sequence with ADRP and LDR. In doing so, the ADD instruction can be eliminated in the SDEI handler, and the code no longer assumes that the trampoline vectors and the vectors address both start on a page boundary. Signed-off-by: Rémi Denis-Courmont --- arch/arm64/kernel/entry.S | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index e5d4e30ee242..24f828739696 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -805,9 +805,9 @@ alternative_else_nop_endif 2: tramp_map_kernel x30 #ifdef CONFIG_RANDOMIZE_BASE - adr x30, tramp_vectors + PAGE_SIZE + adrp x30, tramp_vectors + PAGE_SIZE alternative_insn isb, nop, ARM64_WORKAROUND_QCOM_FALKOR_E1003 - ldr x30, [x30] + ldr x30, [x30, #:lo12:__entry_tramp_data_start] #else ldr x30, =vectors #endif @@ -953,9 +953,8 @@ SYM_CODE_START(__sdei_asm_entry_trampoline) 1: str x4, [x1, #(SDEI_EVENT_INTREGS + S_ORIG_ADDR_LIMIT)] #ifdef CONFIG_RANDOMIZE_BASE - adr x4, tramp_vectors + PAGE_SIZE - add x4, x4, #:lo12:__sdei_asm_trampoline_next_handler - ldr x4, [x4] + adrp x4, tramp_vectors + PAGE_SIZE + ldr x4, [x4, #:lo12:__sdei_asm_trampoline_next_handler] #else ldr x4, =__sdei_asm_handler #endif -- 2.26.0.rc2